home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR24 / EDMI5.ZIP / IFSR3.ZIP / R0R3SHAR.H < prev    next >
C/C++ Source or Header  |  1993-07-06  |  1KB  |  52 lines

  1. /******************************************************************************
  2. *******************************************************************************
  3. **
  4. ** EXR0R3 - A ring 0/ring 3 IFS skeleton
  5. ** Copyright (C) 1993 by Andre Asselin
  6. **
  7. ** R0R3SHAR.H - Shared structures between the ring 0 and ring 3 piece
  8. **
  9. ** History:
  10. ** 6/22/93 - created
  11. **
  12. *******************************************************************************
  13. ******************************************************************************/
  14.  
  15. enum { FSCTL_FUNC_INIT = 0x9000, FSCTL_FUNC_NEXT };
  16.  
  17. #if defined (__OS2__)
  18. typedef void *LINADDR;
  19. #endif
  20.  
  21. typedef struct InitStruc {
  22.    LINADDR OpData;
  23.    LINADDR Buf;
  24. } INITSTRUC;
  25.  
  26. // Make enumerations take a byte or word if possible
  27. #pragma option -b-
  28.  
  29. typedef enum CPFUNCCODES {
  30.    CPFC_ATTACH = 0x8000, 
  31.    CPFC_CHDIR
  32. } CPFUNCCODES;
  33.  
  34. typedef struct OpData {
  35.    union {
  36.       CPFUNCCODES funccode;
  37.       unsigned short rc;
  38.    };
  39.    union {
  40.       struct {
  41.          unsigned short flag;
  42.          struct vpfsd vpfsd;
  43.          struct cdfsd cdfsd;
  44.          unsigned short Len;
  45.          char Dev[CCHMAXPATH];
  46.       } attach;
  47.       struct {
  48.          long b;
  49.       } op2;
  50.    };
  51. } OPDATA;
  52.