home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.2 (Developer) / NS_dev_3.2.iso / NextDeveloper / Headers / driverkit / IOConfigTable.h < prev    next >
Text File  |  1993-08-06  |  2KB  |  83 lines

  1. /*     Copyright (c) 1993 NeXT Computer, Inc.  All rights reserved. 
  2.  * 
  3.  * IOConfigTable object. Usable both in the kernel and user space.
  4.  *
  5.  * HISTORY
  6.  * 29-Jan-93    Doug Mitchell at NeXT
  7.  *      Created. 
  8.  */
  9.  
  10. #import <objc/Object.h>
  11. #ifndef    KERNEL
  12. #import <objc/List.h>
  13. #import <objc/NXBundle.h>
  14. #endif    KERNEL
  15.  
  16. @interface IOConfigTable : Object
  17. {
  18. @private
  19.     /*
  20.      * In the kernel, this will be a char * to the contents of the
  21.      * relevant file. In user space, this will be an id of 
  22.      * an NXStringTable.
  23.      */
  24.     void     *_private;
  25. }
  26.  
  27. /*
  28.  * Obtain the system-wide configuration table.
  29.  */
  30. + newFromSystemConfig;
  31.  
  32. #ifndef    KERNEL
  33.  
  34. /*
  35.  * Obtain the configuration table for a specified driver and unit number. 
  36.  */
  37. + newForDriver                : (const char *)driverName
  38.                       unit : (int)unit;
  39.     
  40. /*
  41.  * Obtain default configuration table for specified driver.
  42.  */
  43. + newDefaultTableForDriver        : (const char *)driverName;
  44.  
  45. /*
  46.  * Obtain a list of instances of IOConfigTable, one per active device on 
  47.  * the system.
  48.  */
  49. + (List *) tablesForInstalledDrivers;
  50.  
  51. /*
  52.  * Obtain a list of instances of IOConfigTable, one per driver
  53.  * loaded by the booter.
  54.  */
  55. + (List *) tablesForBootDrivers;
  56.  
  57. /*
  58.  * Obtain an NXBundle for a driver associated with current IOConfigTable
  59.  * instance.
  60.  */
  61. - (NXBundle *)driverBundle;
  62.  
  63. #endif    KERNEL
  64.  
  65. /*
  66.  * Obtain value for specified string key. Returns NULL if key not found.
  67.  */
  68. - (const char *)valueForStringKey:(const char *)key;
  69.  
  70. - free;
  71.  
  72. #ifdef    KERNEL
  73.  
  74. /*
  75.  * Free a string obtained by -stringValueForStringKey:
  76.  */
  77. + (void)freeString : (const char *)string;
  78. - (void)freeString : (const char *)string;
  79.  
  80. #endif    KERNEL
  81.  
  82. @end
  83.