#ifndef LIBRARIES_CONFIGVARS_H #define LIBRARIES_CONFIGVARS_H /* ** $Filename: libraries/configvars.h $ ** $Release: 2.04 Includes, V37.4 $ ** $Revision: 36.14 $ ** $Date: 91/04/22 $ ** ** Software structures used by AutoConfig (tm) boards ** ** (C) Copyright 1985-1999 Amiga, Inc. ** All Rights Reserved */ #ifndef EXEC_TYPES_H #include "exec/types.h" #endif /* EXEC_TYPES_H */ #ifndef EXEC_NODES_H #include "exec/nodes.h" #endif /* EXEC_NODES_H */ #ifndef LIBRARIES_CONFIGREGS_H #include "libraries/configregs.h" #endif /* LIBRARIES_CONFIGREGS_H */ /* ** At early system startup time, one ConfigDev structure is created for ** each board found in the system. Software may seach for ConfigDev ** structures by vendor & product ID number. For debugging and diagnostic ** use, the entire list can be accessed. See the expansion.library document ** for more information. */ struct ConfigDev { struct Node cd_Node; UBYTE cd_Flags; /* (read/write) */ UBYTE cd_Pad; /* reserved */ struct ExpansionRom cd_Rom; /* copy of board's expansion ROM */ APTR cd_BoardAddr; /* where in memory the board was placed */ ULONG cd_BoardSize; /* size of board in bytes */ UWORD cd_SlotAddr; /* which slot number (PRIVATE) */ UWORD cd_SlotSize; /* number of slots (PRIVATE) */ APTR cd_Driver; /* pointer to node of driver */ struct ConfigDev * cd_NextCD; /* linked list of drivers to config */ ULONG cd_Unused[4]; /* for whatever the driver wants */ }; /* cd_Flags */ #define CDB_SHUTUP 0 /* this board has been shut up */ #define CDB_CONFIGME 1 /* this board needs a driver to claim it */ #define CDB_BADMEMORY 2 /* this board contains bad memory */ #define CDB_PROCESSED 3 /* private flag */ #define CDF_SHUTUP 0x01 #define CDF_CONFIGME 0x02 #define CDF_BADMEMORY 0x04 #define CDF_PROCESSED 0x08 /* ** Boards are usually "bound" to software drivers. ** This structure is used by GetCurrentBinding() and SetCurrentBinding() */ struct CurrentBinding { struct ConfigDev * cb_ConfigDev; /* first configdev in chain */ UBYTE * cb_FileName; /* file name of driver */ UBYTE * cb_ProductString; /* product # string */ UBYTE ** cb_ToolTypes; /* tooltypes from disk object */ }; #endif /* LIBRARIES_CONFIGVARS_H */