home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / header45.zip / vfdpfd.h < prev    next >
C/C++ Source or Header  |  1999-03-15  |  4KB  |  151 lines

  1. /***************************************************************************
  2. *
  3. * Module Name: VFDPDF.H
  4. *
  5. * OS/2 public header file.
  6. *
  7. * Copyright (c) 1993  IBM Corporation
  8. *
  9. * Virtual Floppy Device Driver VDD/PDD Communication Interface
  10. *
  11. */
  12.  
  13. /* NOINC */
  14. #if __IBMC__ || __IBMCPP__
  15.    #pragma info( none )
  16.       #ifndef __CHKHDR__
  17.          #pragma info( none )
  18.       #endif
  19.    #pragma info( restore )
  20. #endif
  21. /* INC */
  22.  
  23. #ifndef __VFDPFD__
  24. #define __VFDPFD__
  25.  
  26. /* Floppy PDD component definitions */
  27.  
  28. #define FLPY_NAME       "FLPY$"
  29.  
  30.  
  31. /***    PDD function commands
  32.  *
  33.  *  Format:
  34.  *      (*fpfnPFDProc)(PFDCMD_*, ul1, ul2);
  35.  *
  36.  *  PFDCMD_REGISTER:
  37.  *      ENTRY
  38.  *          ul1 == segment of 16:32 VDD entry point
  39.  *          ul2 ==  offset of 16:32 VDD entry point
  40.  *      EXIT
  41.  *          Returns TRUE
  42.  *      CONTEXT
  43.  *          Init-time
  44.  *
  45.  *  PFDCMD_DEREGISTER:
  46.  *      ENTRY
  47.  *          ul1 == 0                    //not used
  48.  *          ul2 == 0                    //not used
  49.  *      EXIT
  50.  *          Returns TRUE
  51.  *      CONTEXT
  52.  *          Task-time
  53.  *
  54.  *  PFDCMD_REQFLOPPY:
  55.  *      ENTRY
  56.  *          ul1 == 0                    //not used
  57.  *          ul2 == 0                    //not used
  58.  *      EXIT-SUCCESS
  59.  *          returns TRUE - ownership granted
  60.  *      EXIT-FAILURE
  61.  *          return FALSE - floppy currently busy
  62.  *                         delay ownership notification required
  63.  *      CONTEXT
  64.  *          VDM Task-time
  65.  *      NOTE
  66.  *          This request is non-blocking.
  67.  *
  68.  *  PFDCMD_FREEFLOPPY:
  69.  *      ENTRY
  70.  *          ul1 == 0                    //not used
  71.  *          ul2 == 0                    //not used
  72.  *      EXIT
  73.  *          Returns TRUE
  74.  *      CONTEXT
  75.  *          VDM Task-time
  76.  *      NOTE
  77.  *          VFD may call PFD to free the floppy even if PFD has never
  78.  *          requested it.  This may occur if the VDM owner has died
  79.  *          in which case the ownership is returned to the PFD.
  80.  */
  81.  
  82.  
  83. #define PFDCMD_REGISTER         PDDCMD_REGISTER         /* register VDD          */
  84. #define PFDCMD_DEREGISTER       (PFDCMD_REGISTER+1)     /* de-register of VDD    */
  85. #define PFDCMD_REQFLOPPY        (PFDCMD_REGISTER+2)     /* req. floppy ownership */
  86. #define PFDCMD_FREEFLOPPY       (PFDCMD_REGISTER+3)     /* free floppy ownership */
  87. #define PFDCMD_HOOKIRQ6         (PFDCMD_REGISTER+4)     /* HOOK IRQ6 INTS */
  88.  
  89. #define PFDCMD_LASTEVENT        PFDCMD_FREEFLOPPY
  90.  
  91.  
  92. /***    VDD function commands
  93.  *
  94.  *  Format:
  95.  *      (*fpfnVFDProc)(VFDCMD_*, ul1, ul2);
  96.  *
  97.  *  VFDCMD_REQFLOPPY:
  98.  *      ENTRY
  99.  *          ul1 == 0
  100.  *          ul2 == 0
  101.  *      EXIT-SUCCESS
  102.  *          returns TRUE - ownership granted
  103.  *      EXIT-FAILURE
  104.  *          returns FALSE - floppy currently busy
  105.  *                          delay ownership notification required
  106.  *      CONTEXT
  107.  *          Task-time
  108.  *          Interrupt-time
  109.  *      NOTE
  110.  *          This request is non-blocking.
  111.  *
  112.  *  VFDCMD_FREEFLOPPY:
  113.  *      ENTRY
  114.  *          ul1 == 0
  115.  *          ul2 == 0
  116.  *      EXIT-SUCCESS
  117.  *          Returns TRUE
  118.  *      EXIT-FAILURE
  119.  *          Returns FALSE - ownership not accepted because requester has died
  120.  *      CONTEXT
  121.  *          Task-time
  122.  *          Interrupt-time
  123.  *
  124.  *  VFDCMD_INTERRUPTEVENT:
  125.  *      ENTRY
  126.  *          ul1 == 0
  127.  *          ul2 == 0
  128.  *      EXIT
  129.  *          Returns TRUE
  130.  *      CONTEXT
  131.  *          Interrupt-time
  132.  */
  133.  
  134. #define VFDCMD_REQFLOPPY        0x00
  135. #define VFDCMD_FREEFLOPPY       0x01
  136. #define VFDCMD_INTERRUPTEVENT   0x02
  137.  
  138. #define VFDCMD_LASTEVENT        VFDCMD_INTERRUPTEVENT
  139.  
  140. #endif /* __VFDPFD__ */
  141.  
  142. /* NOINC */
  143. #if __IBMC__ || __IBMCPP__
  144.    #pragma info( none )
  145.       #ifndef __CHKHDR__
  146.          #pragma info( restore )
  147.       #endif
  148.    #pragma info( restore )
  149. #endif
  150. /* INC */
  151.