home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1999 May / pcp151c.iso / misc / src / install / devices.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-11  |  2.0 KB  |  71 lines

  1. #ifndef H_DEVICES
  2. #define H_DEVICES
  3.  
  4. enum deviceTypes { DEVICE_NONE = 0, DEVICE_HD, DEVICE_FD, DEVICE_CDROM, 
  5.             DEVICE_TAPE };
  6. enum driverTypes { DRIVER_SCSI = 0, DRIVER_NET = 1, DRIVER_CDROM = 2,
  7.            DRIVER_PCMCIA = 3, DRIVER_FS = 4, 
  8.            DRIVER_PREREQ = 4, DRIVER_OTHER = 1000};
  9. enum driverMinor { DRIVER_MINOR_NONE = 0, DRIVER_MINOR_ETHERNET,
  10.            DRIVER_MINOR_PLIP, DRIVER_MINOR_TR };
  11.  
  12. struct driver;
  13.  
  14. #define PERSIST_ALIAS    (1 << 0)
  15. #define PERSIST_OPTIONS    (1 << 1)
  16.  
  17. struct deviceInfo {
  18.     char * deviceName;
  19.     char * info;
  20.     int id;
  21.     int bus;
  22.     int type;
  23. };
  24.  
  25. struct driversLoaded {
  26.     struct driversLoaded * next;
  27.     char ** argv;
  28.     int argc;
  29.     char * module;
  30.     enum driverTypes type;
  31.     enum driverMinor minor;
  32.     int persistFlags;
  33. } ;
  34.  
  35. typedef int (*driverOkayFn)(struct driver * dev);
  36.  
  37. const char * getModuleDescription(char * module);
  38. int devMakeInode(char * name, char * path);
  39. void devRemoveInode(char * path);
  40.  
  41. #define DEVICE_JUSTPROBE    (1 << 0)
  42. #define DEVICE_NOPAUSE        (1 << 1)
  43. #define DEVICE_NOPROBE        (1 << 2)
  44.  
  45. int loadDeviceDriver(enum driverTypes type, struct driversLoaded ** drlist,
  46.              int flags);
  47. int removeDeviceDriver(enum driverTypes type, struct driversLoaded ** drlist);
  48. int writeModuleConf(char * prefix, struct driversLoaded * dl, int append);
  49. int readModuleConf(char * prefix, struct driversLoaded ** drlist);
  50. int readModuleConfPersist(char * prefix, struct driversLoaded * drlist);
  51. int loadModule(char * modName, enum driverTypes type, enum driverMinor minor,
  52.            struct driversLoaded ** drlist);
  53. int removeModule(char * module);
  54. int setupCDdevice(char ** cddev, struct driversLoaded ** dl);
  55. int removeCDmodule(struct driversLoaded ** dl);
  56. int loadFilesystem(char * modname, char * fsname, 
  57.            struct driversLoaded ** drlist);
  58.  
  59. /* returns a list of cd devices, NULL terminated */
  60. char ** getCDnames(void);
  61.  
  62. /* hack -- plip is broken */
  63. char * getPlipDeviceName(void);
  64.  
  65. #ifndef __sparc__
  66. int findAtapi(char ** cddev);
  67. #endif
  68. int findSCSIcdrom(char ** cddev);
  69.  
  70. #endif
  71.