home *** CD-ROM | disk | FTP | other *** search
/ AMIGA PD 1 / AMIGA-PD-1.iso / Programme_zum_Heft / Programmieren / Kurztests / PascalPCQ / Include / Libraries / ConfigVars.i < prev    next >
Text File  |  1990-08-28  |  2KB  |  87 lines

  1. {
  2.     ConfigVars.i for PCQ Pascal
  3.  
  4.     software structures for configuration subsystem
  5. }
  6.  
  7. {$I "Include:Exec/Nodes.i"}
  8. {$I "Include:Libraries/ConfigRegs.i"}
  9.  
  10.  
  11. Type
  12.  
  13.     ConfigDev = record
  14.     cd_Node        : Node;
  15.     cd_Flags    : Byte;
  16.     cd_Pad        : Byte;
  17.     cd_Rom        : ExpansionRom;    { image of expansion rom area }
  18.     cd_BoardAddr    : Address;    { where in memory the board is }
  19.     cd_BoardSize    : Integer;    { size in bytes }
  20.     cd_SlotAddr    : Short;    { which slot number }
  21.     cd_SlotSize    : Short;    { number of slots the board takes }
  22.     cd_Driver    : Address;    { pointer to node of driver }
  23.     cd_NextCD    : ^ConfigDev;    { linked list of drivers to config }
  24.     cd_Unused    : Array [0..3] of Integer;
  25.                     { for whatever the driver whats }
  26.     end;
  27.     ConfigDevPtr = ^ConfigDev;
  28.  
  29.  
  30. Const
  31.  
  32. { cd_Flags }
  33.     CDB_SHUTUP        = 0;    { this board has been shut up }
  34.     CDB_CONFIGME    = 1;    { this board needs a driver to claim it }
  35.  
  36.     CDF_SHUTUP        = $01;
  37.     CDF_CONFIGME    = $02;
  38.  
  39. Type
  40.  
  41. { this structure is used by GetCurrentBinding() and SetCurrentBinding() }
  42.  
  43.     CurrentBinding = record
  44.     cb_ConfigDev    : ConfigDevPtr;        { first configdev in chain }
  45.     cb_FileName    : String;        { file name of driver }
  46.     cb_ProductString : String;        { product # string }
  47.     cb_ToolTypes    : Address;        { tooltypes from disk object }
  48.     end;
  49.     CurrentBindingPtr = ^CurrentBinding;
  50.  
  51. Procedure AddConfigDev(configDev : ConfigDevPtr);
  52.     External;
  53.  
  54. Function AllocConfigDev : ConfigDevPtr;
  55.     External;
  56.  
  57. Function ConfigBoard(board : Address; configDev : ConfigDevPtr) : Boolean;
  58.     External;
  59.  
  60. Function ConfigChain(baseAddr : Address) : Boolean;
  61.     External;
  62.  
  63. Function FindConfigDev(oldConfigDev : ConfigDevPtr;
  64.             manufacturer, product : Integer) : ConfigDevPtr;
  65.     External;
  66.  
  67. Procedure FreeConfigDev(configDev : ConfigDevPtr);
  68.     External;
  69.  
  70. Function GetCurrentBinding(currentBinding : CurrentBindingPtr;
  71.                 size : Short) : Short;
  72.     External;
  73.  
  74. Procedure ObtainConfigBinding;
  75.     External;
  76.  
  77. Procedure ReleaseConfigBinding;
  78.     External;
  79.  
  80. Procedure RemConfigDev(configDev : ConfigDevPtr);
  81.     External;
  82.  
  83. Procedure SetCurrentBinding(currentBinding : CurrentBindingPtr;
  84.                 size : Short);
  85.     External;
  86.  
  87.