home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / cbm / nduk-v37.lha / V37 / include / libraries / configvars.h < prev    next >
C/C++ Source or Header  |  1991-11-27  |  2KB  |  72 lines

  1. #ifndef LIBRARIES_CONFIGVARS_H
  2. #define LIBRARIES_CONFIGVARS_H
  3. /*
  4. **    $Filename: libraries/configvars.h $
  5. **    $Release: 2.04 Includes, V37.4 $
  6. **    $Revision: 36.14 $
  7. **    $Date: 91/04/22 $
  8. **
  9. **    Software structures used by AutoConfig (tm) boards
  10. **
  11. **    (C) Copyright 1985-1991 Commodore-Amiga, Inc.
  12. **        All Rights Reserved
  13. */
  14.  
  15. #ifndef    EXEC_TYPES_H
  16. #include "exec/types.h"
  17. #endif    /* EXEC_TYPES_H */
  18.  
  19. #ifndef EXEC_NODES_H
  20. #include "exec/nodes.h"
  21. #endif /* EXEC_NODES_H */
  22.  
  23. #ifndef LIBRARIES_CONFIGREGS_H
  24. #include "libraries/configregs.h"
  25. #endif /* LIBRARIES_CONFIGREGS_H */
  26.  
  27. /*
  28. ** At early system startup time, one ConfigDev structure is created for
  29. ** each board found in the system.  Software may seach for ConfigDev
  30. ** structures by vendor & product ID number.  For debugging and diagnostic
  31. ** use, the entire list can be accessed.  See the expansion.library document
  32. ** for more information.
  33. */
  34. struct ConfigDev {
  35.     struct Node        cd_Node;
  36.     UBYTE        cd_Flags;    /* (read/write) */
  37.     UBYTE        cd_Pad;        /* reserved */
  38.     struct ExpansionRom    cd_Rom;        /* copy of board's expansion ROM */
  39.     APTR        cd_BoardAddr; /* where in memory the board was placed */
  40.     ULONG        cd_BoardSize;    /* size of board in bytes */
  41.     UWORD        cd_SlotAddr;    /* which slot number (PRIVATE) */
  42.     UWORD        cd_SlotSize;    /* number of slots (PRIVATE) */
  43.     APTR        cd_Driver;    /* pointer to node of driver */
  44.     struct ConfigDev *    cd_NextCD;    /* linked list of drivers to config */
  45.     ULONG        cd_Unused[4];    /* for whatever the driver wants */
  46. };
  47.  
  48. /* cd_Flags */
  49. #define    CDB_SHUTUP    0    /* this board has been shut up */
  50. #define    CDB_CONFIGME    1    /* this board needs a driver to claim it */
  51. #define    CDB_BADMEMORY    2    /* this board contains bad memory */
  52. #define    CDB_PROCESSED    3    /* private flag */
  53.  
  54. #define    CDF_SHUTUP    0x01
  55. #define    CDF_CONFIGME    0x02
  56. #define    CDF_BADMEMORY    0x04
  57. #define    CDF_PROCESSED    0x08
  58.  
  59. /*
  60. ** Boards are usually "bound" to software drivers.
  61. ** This structure is used by GetCurrentBinding() and SetCurrentBinding()
  62. */
  63. struct CurrentBinding {
  64.     struct ConfigDev *    cb_ConfigDev;        /* first configdev in chain */
  65.     UBYTE *        cb_FileName;        /* file name of driver */
  66.     UBYTE *        cb_ProductString;    /* product # string */
  67.     UBYTE **        cb_ToolTypes;        /* tooltypes from disk object */
  68. };
  69.  
  70.  
  71. #endif /* LIBRARIES_CONFIGVARS_H */
  72.