home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v5.zip / DDKX86 / SRC / DEV / DASD / OS2DASD / DMPROTO.H < prev    next >
C/C++ Source or Header  |  1995-04-14  |  8KB  |  180 lines

  1. /*DDK*************************************************************************/
  2. /*                                                                           */
  3. /* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
  4. /*                                                                           */
  5. /*    The following IBM OS/2 WARP source code is provided to you solely for  */
  6. /*    the purpose of assisting you in your development of OS/2 WARP device   */
  7. /*    drivers. You may use this code in accordance with the IBM License      */
  8. /*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
  9. /*    Copyright statement may not be removed.                                */
  10. /*                                                                           */
  11. /*****************************************************************************/
  12. /*static char *SCCSID = "src/dev/dasd/os2dasd/dmproto.h, dsdm, r205apar 93/05/28";*/
  13.  
  14. /**************************************************************************
  15.  *
  16.  * SOURCE FILE NAME = DMPROTO.H
  17.  *
  18.  * DESCRIPTIVE NAME = OS2DASD.DMD - OS/2 DASD Device Manager
  19.  *
  20.  *
  21.  *
  22.  * VERSION = V2.0
  23.  *
  24.  * DATE
  25.  *
  26.  * DESCRIPTION : C function prototypes for OS/2 DASD Mgr
  27.  *
  28.  *
  29.  *
  30. */
  31. /*---------------------------------------*/
  32. /* Function declarations - Static Code   */
  33. /*---------------------------------------*/
  34. USHORT NEAR DriveInit (PRPINITIN, NPVOLCB);
  35.  
  36. VOID   NEAR DMStrat1 (void);
  37. USHORT NEAR MediaCheck (PRP_MEDIACHECK, NPVOLCB);
  38. USHORT NEAR BuildBPB (PRP_BUILDBPB, NPVOLCB);
  39. USHORT NEAR SetLogicalGeometry(NPVOLCB);
  40. USHORT FAR  f_SetLogicalGeometry(NPVOLCB);
  41. USHORT NEAR ReadWriteV (PRP_RWV, NPVOLCB);
  42. USHORT NEAR RemovableMedia (PRPH, NPVOLCB);
  43. USHORT NEAR DriveGenIOCTL (PRP_GENIOCTL, NPVOLCB);
  44. USHORT NEAR ResetMedia (PRPH, NPVOLCB);
  45. USHORT NEAR GetLogDriveMap (PRPH, NPVOLCB);
  46. USHORT NEAR SetLogDriveMap (PRPH, NPVOLCB);
  47. USHORT NEAR PartFixedDisks (PRP_PARTFIXEDDISKS, NPVOLCB);
  48. USHORT NEAR GetUnitMap (PRP_GETUNITMAP, NPVOLCB);
  49. USHORT NEAR GetDriverCaps (PRP_GETDRIVERCAPS, NPVOLCB);
  50. USHORT NEAR CmdErr (PRPH, NPVOLCB);
  51. USHORT NEAR StatusDevReady (PRPH, NPVOLCB);
  52. USHORT NEAR StatusComplete (PRPH, NPVOLCB);
  53. USHORT NEAR StatusError (PRPH, USHORT);
  54.  
  55. VOID   _loadds FAR  DMStrat2 (void);
  56. USHORT _loadds FAR  DD_SetFSDInfo (void);
  57.  
  58. USHORT NEAR DiskIO (PBYTE, NPVOLCB);
  59. USHORT NEAR DiskIO_Wait (PBYTE, NPVOLCB);
  60. USHORT FAR  f_DiskIO_Wait (PBYTE, NPVOLCB);
  61. USHORT NEAR Get_VolCB_Addr (USHORT, NPVOLCB FAR *);
  62. USHORT FAR  f_Get_VolCB_Addr (USHORT, NPVOLCB FAR *);
  63. VOID   NEAR SetupIORB (NPUNITCB, PBYTE, NPIORBH);
  64. VOID   NEAR SubmitIORB (PIORBH);
  65. ULONG  NEAR CHS_to_RBA (NPVOLCB, USHORT, UCHAR, UCHAR);
  66. ULONG  FAR  f_CHS_to_RBA (NPVOLCB, USHORT, UCHAR, UCHAR);
  67. USHORT NEAR ReadSecInScratch_RBA (NPVOLCB, ULONG, USHORT);
  68. USHORT FAR  f_ReadSecInScratch_RBA (NPVOLCB, ULONG, USHORT);
  69. USHORT NEAR ReadSecInScratch_CHS (NPVOLCB, USHORT, UCHAR, UCHAR);
  70. USHORT FAR  f_ReadSecInScratch_CHS (NPVOLCB, USHORT, UCHAR, UCHAR);
  71. USHORT NEAR CheckPseudoChange (USHORT, NPVOLCB);
  72. USHORT FAR  f_CheckPseudoChange (USHORT, NPVOLCB);
  73. VOID   NEAR Update_Owner (NPVOLCB);
  74. VOID   _loadds FAR  NotifyDoneIORB(PIORB);
  75. VOID   NEAR NotifyRLE (PPB_Read_Write);
  76. USHORT NEAR AllocIORB(NPUNITCB, NPIORBH FAR *);
  77. VOID   NEAR AllocIORB_Wait(NPUNITCB, NPIORBH FAR *);
  78. VOID   NEAR FreeIORB(NPUNITCB, NPIORBH);
  79. UCHAR  NEAR MapADDError(USHORT);
  80. USHORT NEAR GetPrtyQIndex(NPUNITCB,UCHAR);                           /*@V74404*/
  81. VOID   NEAR PutPriorityQueue (NPUNITCB, PBYTE);
  82. VOID   FAR  f_PutPriorityQueue (NPUNITCB, PBYTE);
  83. VOID   NEAR PutPriorityQueue_RP (NPUNITCB, PBYTE);
  84. VOID   FAR  f_PutPriorityQueue_RLE (NPUNITCB, PPB_Read_Write);
  85. VOID   NEAR PutPriorityQueue_RLE (NPUNITCB, PPB_Read_Write);
  86. USHORT NEAR PullPriorityQueue (NPUNITCB, PBYTE FAR *);
  87. USHORT NEAR RemovePriorityQueue (NPUNITCB, PPB_Read_Write);
  88.  
  89.  
  90. VOID   NEAR AbortReqList (PReq_List_Header);
  91. VOID   NEAR SubmitRequestsToADD (NPUNITCB);
  92. VOID   FAR  f_SubmitRequestsToADD (NPUNITCB);
  93. USHORT NEAR CheckWithinPartition (NPVOLCB, ULONG, ULONG);
  94. ULONG  FAR  f_VirtToPhys(PBYTE);
  95. ULONG  NEAR VirtToPhys(PBYTE);
  96.  
  97. USHORT NEAR BPBFromBoot (NPVOLCB, PDOSBOOTREC);
  98. USHORT FAR  f_BPBFromBoot (NPVOLCB, PDOSBOOTREC);
  99. USHORT NEAR BPBFromScratch (NPVOLCB);
  100. USHORT FAR  f_BPBFromScratch (NPVOLCB);
  101. VOID   NEAR BootBPB_To_MediaBPB (NPVOLCB, PDOSBOOTREC);
  102. VOID   FAR  f_BPBFromGeom (NPVOLCB, NPBPB, PGEOMETRY);               /*@V63867*/
  103. USHORT NEAR Is_BPB_Boot (NPVOLCB,PDOSBOOTREC);                       /*@V64818*/
  104. USHORT NEAR GetBootVersion (PDOSBOOTREC);
  105. USHORT NEAR Process_Partition (NPVOLCB, PULONG, PULONG);
  106. USHORT NEAR Process_Boot (NPVOLCB, ULONG);
  107. USHORT NEAR w_MediaCheck (UCHAR, NPVOLCB);
  108. USHORT NEAR CheckChangeSignal (USHORT, NPVOLCB);
  109.  
  110. /*-------------------------------------*/
  111. /* Function declarations - SwapCode    */
  112. /*-------------------------------------*/
  113. USHORT FAR  f_DriveGenIOCTL (PRP_GENIOCTL, NPVOLCB);
  114. #pragma alloc_text(SwapCode, f_DriveGenIOCTL)
  115.  
  116. VOID   NEAR FT_PutPriorityQueue (NPUNITCB,PBYTE,NPUNITCB FAR *,NPUNITCB FAR *);
  117. VOID   FAR  f_FT_PutPriorityQueue (NPUNITCB,PBYTE,NPUNITCB FAR *,NPUNITCB FAR *);
  118. #pragma alloc_text(SwapCode, FT_PutPriorityQueue)
  119. #pragma alloc_text(SwapCode, f_FT_PutPriorityQueue)
  120.  
  121. USHORT NEAR FT_NotifyDoneIORB_RLE(NPIORB,PPB_Read_Write,PPB_Read_Write FAR *);
  122. USHORT FAR  f_FT_NotifyDoneIORB_RLE(NPIORB,PPB_Read_Write,PPB_Read_Write FAR *);
  123. #pragma alloc_text(SwapCode, FT_NotifyDoneIORB_RLE)
  124. #pragma alloc_text(SwapCode, f_FT_NotifyDoneIORB_RLE)
  125.  
  126. USHORT NEAR FT_NotifyDoneIORB_RP (NPIORB, PRP_RWV, PRP_RWV FAR *);
  127. USHORT FAR  f_FT_NotifyDoneIORB_RP (NPIORB, PRP_RWV, PRP_RWV FAR *);
  128. #pragma alloc_text(SwapCode, FT_NotifyDoneIORB_RP)
  129. #pragma alloc_text(SwapCode, f_FT_NotifyDoneIORB_RP)
  130.  
  131. USHORT NEAR FT_CheckFTSupport (NPUNITCB, PBYTE);
  132. USHORT FAR  f_FT_CheckFTSupport (NPUNITCB, PBYTE);
  133. #pragma alloc_text(SwapCode, FT_CheckFTSupport)
  134. #pragma alloc_text(SwapCode, f_FT_CheckFTSupport)
  135.  
  136. USHORT NEAR FT_Get_VolCB_Addr (USHORT, NPVOLCB FAR *);
  137. USHORT FAR  f_FT_Get_VolCB_Addr (USHORT, NPVOLCB FAR *);
  138. #pragma alloc_text(SwapCode, FT_Get_VolCB_Addr)
  139. #pragma alloc_text(SwapCode, f_FT_Get_VolCB_Addr)
  140.  
  141. VOID NEAR FT_ExecReqList (PReq_List_Header, NPUNITCB);
  142. VOID FAR  f_FT_ExecReqList (PReq_List_Header, NPUNITCB);
  143. #pragma alloc_text(SwapCode, FT_ExecReqList)
  144. #pragma alloc_text(SwapCode, f_FT_ExecReqList)
  145.  
  146.  
  147. /*-----------------------------------------------*/
  148. /* Function declarations for Assembler routines  */
  149. /*-----------------------------------------------*/
  150. USHORT FAR  f_FSD_AccValidate (USHORT);
  151. VOID   FAR  f_ZeroCB (PBYTE, USHORT);
  152. VOID   FAR  f_BlockCopy (PBYTE, PBYTE, USHORT);
  153. ULONG  FAR  f_add32(ULONG, ULONG);
  154. VOID   FAR  f_SWait (PVOID);
  155. VOID   NEAR SWait (PVOID);
  156. VOID   FAR  f_SSig (PVOID);
  157. VOID   NEAR SSig (PVOID);
  158. VOID   NEAR SortPriorityQueue  (PRTYQ *, PBYTE);
  159. VOID   NEAR FSD_Notify (PBYTE, PVOID, USHORT);
  160. VOID   NEAR FSD_EndofInt (VOID);
  161. USHORT FAR  f_FT_Request (USHORT, USHORT, PBYTE FAR *, PBYTE FAR *);
  162. USHORT FAR  f_FT_Done (USHORT, USHORT, ULONG);
  163. VOID   FAR  DD_ChgPriority_asm (VOID);
  164.  
  165.  
  166. /*-----------------------------------*/
  167. /* Pragma declarations - DevHelps    */
  168. /*-----------------------------------*/
  169. #pragma alloc_text(Code, DevHelp_VMUnLock)
  170. #pragma alloc_text(Code, DevHelp_VMLock)
  171. #pragma alloc_text(Code, DevHelp_VirtToLin)
  172. #pragma alloc_text(Code, DevHelp_AllocReqPacket)
  173. #pragma alloc_text(Code, DevHelp_FreeReqPacket)
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.