home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / source / drvrnstl.sit / driver.h < prev   
Text File  |  1991-01-16  |  1KB  |  36 lines

  1. /* driver.h - Useful declarations for driver.c. By Pete Resnick */
  2.  
  3. typedef enum {
  4.     open = 0x01,        /* Open the driver after installed */
  5.     thinkDATA = 0x02,    /* Driver uses THINK C global data DATA rsrc */
  6.     thinkMultSeg = 0x04    /* Driver uses THINK C multi-segment DCOD rsrc's */
  7. } drvrInstFlagBits;
  8.  
  9. typedef struct {
  10.     short drvrFlags;
  11.     short drvrDelay;
  12.     short drvrEMask;
  13.     short drvrMenu;
  14.     short drvrOpen;
  15.     short drvrPrime;
  16.     short drvrCtl;
  17.     short drvrStatus;
  18.     short drvrClose;
  19.     Str255 drvrName;
  20.     unsigned char drvrRoutines[];
  21. } DriverStruct, *DriverPtr, **DriverHandle;
  22.  
  23. /* These two documented in Technical Note 184 */
  24. pascal OSErr DrvrInstall(Handle drvrHandle, short refNum);
  25. pascal OSErr DrvrRemove(short refNum);
  26.  
  27. /* These three routines are the ones you want to call */
  28. OSErr InstallRAMDriver(Str255 drvrName, short *refNum, Byte drvrInstFlags);
  29. OSErr RemoveRAMDriver(short refNum, Boolean dcodRemove);
  30. short GetDrvrRefNum(Str255 drvrName);
  31.  
  32. /* These are used internally and might be useful in unusual circumstances */
  33. OSErr GrowUTable(short newEntries);
  34. OSErr DriverAvail(short *unitNum);
  35. void ReleaseDrvrSegments(Handle *dcodHList, short rsrcID, Boolean detach);
  36.