home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v1.zip / DDKX86 / H / VFDPFD.H < prev    next >
Text File  |  1995-04-14  |  5KB  |  152 lines

  1. /*DDK*************************************************************************/
  2. /*                                                                           */
  3. /* COPYRIGHT (C) Microsoft Corporation, 1989                                 */
  4. /* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
  5. /*                                                                           */
  6. /*    The following IBM OS/2 WARP source code is provided to you solely for  */
  7. /*    the purpose of assisting you in your development of OS/2 WARP device   */
  8. /*    drivers. You may use this code in accordance with the IBM License      */
  9. /*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
  10. /*    Copyright statement may not be removed.                                */
  11. /*                                                                           */
  12. /*****************************************************************************/
  13. /*static char *SCCSID = "@(#)vfdpfd.h    6.9 91/10/31";*/
  14. /***    Virtual Floppy Device Driver VDD/PDD Communication Interface
  15.  *
  16.  *      SCCSID = @(#)vfdpfd.h    6.9 91/10/31
  17.  *
  18.  *
  19.  *
  20.  *
  21.  *      DESCRIPTION
  22.  *      Floppy VDD/PDD shared structures/constants
  23.  *
  24.  *      MODIFICATION HISTORY
  25.  *      --------------------
  26.  *      06/13/90 MTS  Created.
  27.  *
  28.  *      05/07/91 RCW  Changed all occurences of the single line comment
  29.  *                    notation to the standard notation to allow users to
  30.  *                    maintain ANSI compatibility.  This is in response to
  31.  *                    PTR B718526.  All future updates to this and all other
  32.  *                    header files should use the standard commenting format.
  33.  *
  34.  */
  35.  
  36. /* Floppy PDD component definitions */
  37.  
  38. #define FLPY_NAME       "FLPY$"
  39.  
  40.  
  41. /***    PDD function commands
  42.  *
  43.  *  Format:
  44.  *      (*fpfnPFDProc)(PFDCMD_*, ul1, ul2);
  45.  *
  46.  *  PFDCMD_REGISTER:
  47.  *      ENTRY
  48.  *          ul1 == segment of 16:32 VDD entry point
  49.  *          ul2 ==  offset of 16:32 VDD entry point
  50.  *      EXIT
  51.  *          Returns TRUE
  52.  *      CONTEXT
  53.  *          Init-time
  54.  *
  55.  *  PFDCMD_DEREGISTER:
  56.  *      ENTRY
  57.  *          ul1 == 0                    //not used
  58.  *          ul2 == 0                    //not used
  59.  *      EXIT
  60.  *          Returns TRUE
  61.  *      CONTEXT
  62.  *          Task-time
  63.  *
  64.  *  PFDCMD_REQFLOPPY:
  65.  *      ENTRY
  66.  *          ul1 == 0                    //not used
  67.  *          ul2 == 0                    //not used
  68.  *      EXIT-SUCCESS
  69.  *          returns TRUE - ownership granted
  70.  *      EXIT-FAILURE
  71.  *          return FALSE - floppy currently busy
  72.  *                         delay ownership notification required
  73.  *      CONTEXT
  74.  *          VDM Task-time
  75.  *      NOTE
  76.  *          This request is non-blocking.
  77.  *
  78.  *  PFDCMD_FREEFLOPPY:
  79.  *      ENTRY
  80.  *          ul1 == 0                    //not used
  81.  *          ul2 == 0                    //not used
  82.  *      EXIT
  83.  *          Returns TRUE
  84.  *      CONTEXT
  85.  *          VDM Task-time
  86.  *      NOTE
  87.  *          VFD may call PFD to free the floppy even if PFD has never
  88.  *          requested it.  This may occur if the VDM owner has died
  89.  *          in which case the ownership is returned to the PFD.
  90.  */
  91.  
  92. //masm-begin
  93. //PDDCMD_REGISTER      EQU     0
  94. //masm-end
  95.  
  96. #define PFDCMD_REGISTER         PDDCMD_REGISTER         /* register VDD          */
  97. #define PFDCMD_DEREGISTER       (PFDCMD_REGISTER+1)     /* de-register of VDD    */
  98. #define PFDCMD_REQFLOPPY        (PFDCMD_REGISTER+2)     /* req. floppy ownership */
  99. #define PFDCMD_FREEFLOPPY       (PFDCMD_REGISTER+3)     /* free floppy ownership */
  100. #define PFDCMD_HOOKIRQ6         (PFDCMD_REGISTER+4)     /* HOOK IRQ6 INTS */
  101.  
  102. #define PFDCMD_LASTEVENT        PFDCMD_FREEFLOPPY
  103.  
  104.  
  105. /***    VDD function commands
  106.  *
  107.  *  Format:
  108.  *      (*fpfnVFDProc)(VFDCMD_*, ul1, ul2);
  109.  *
  110.  *  VFDCMD_REQFLOPPY:
  111.  *      ENTRY
  112.  *          ul1 == 0                    //not used
  113.  *          ul2 == 0                    //not used
  114.  *      EXIT-SUCCESS
  115.  *          returns TRUE - ownership granted
  116.  *      EXIT-FAILURE
  117.  *          returns FALSE - floppy currently busy
  118.  *                          delay ownership notification required
  119.  *      CONTEXT
  120.  *          Task-time
  121.  *          Interrupt-time
  122.  *      NOTE
  123.  *          This request is non-blocking.
  124.  *
  125.  *  VFDCMD_FREEFLOPPY:
  126.  *      ENTRY
  127.  *          ul1 == 0                    //not used
  128.  *          ul2 == 0                    //not used
  129.  *      EXIT-SUCCESS
  130.  *          Returns TRUE
  131.  *      EXIT-FAILURE
  132.  *          Returns FALSE - ownership not accepted because requester has died
  133.  *      CONTEXT
  134.  *          Task-time
  135.  *          Interrupt-time
  136.  *
  137.  *  VFDCMD_INTERRUPTEVENT:
  138.  *      ENTRY
  139.  *          ul1 == 0                    //not used
  140.  *          ul2 == 0                    //not used
  141.  *      EXIT
  142.  *          Returns TRUE
  143.  *      CONTEXT
  144.  *          Interrupt-time
  145.  */
  146.  
  147. #define VFDCMD_REQFLOPPY        0x00
  148. #define VFDCMD_FREEFLOPPY       0x01
  149. #define VFDCMD_INTERRUPTEVENT   0x02
  150.  
  151. #define VFDCMD_LASTEVENT        VFDCMD_INTERRUPTEVENT
  152.