home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v5.zip / DDKX86 / SRC / DEV / DASD / OS2SCSI / SCPROTO.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-14  |  4.3 KB  |  135 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/os2scsi/scproto.h, scsy, ddk_subset, b_bdd.032 93/03/19";*/
  13. /**************************************************************************
  14.  *
  15.  * SOURCE FILE NAME = SCPROTO.H
  16.  *
  17.  * DESCRIPTIVE NAME = OS2SCSI.DMD - OS/2 SCSI.SYS Emulation
  18.  *
  19.  *
  20.  *
  21.  * VERSION = V2.0
  22.  *
  23.  * DATE
  24.  *
  25.  * DESCRIPTION : C function prototype statements
  26.  *
  27.  *
  28.  *
  29. */
  30.  
  31. /*--------------------------------*/
  32. /* OS2SCSI Entry Point Prototypes */
  33. /*--------------------------------*/
  34.  
  35.  
  36. /*--------------------*/
  37. /* Strategy 1 Router  */
  38. /*--------------------*/
  39.  
  40. void near DDStrat1Entry();
  41. void near IDCEntry();
  42. void near DDRoute(PRPH, USHORT);
  43.  
  44.  
  45. /*----------------------------*/
  46. /* Strategy 1 Worker Routines */
  47. /*----------------------------*/
  48.  
  49. USHORT near CmdErr(PRPH);
  50.  
  51.  
  52. /*----------*/
  53. /* SCINIT.C */
  54. /*----------*/
  55.  
  56. USHORT far  f_DriveInit(PRPINITIN);
  57. USHORT near Build_UnitCBs();
  58.  
  59.  
  60. /*------------*/
  61. /* SCGIOCTL.C */
  62. /*------------*/
  63. USHORT near DriveGenIOCtl(USHORT,PRPH);
  64. USHORT far  f_DriveGenIOCtl(USHORT,PRPH);
  65.  
  66. USHORT near AllocDev(     PRP_GENIOCTL);
  67. USHORT near ReadDevParms( PRP_GENIOCTL);
  68. USHORT near Reset_Init(   PRP_GENIOCTL);
  69. USHORT near SetTimeout(   PRP_GENIOCTL);
  70. USHORT near ReadTimeout(  PRP_GENIOCTL);
  71. USHORT near DeallocDev(   PRP_GENIOCTL);
  72. USHORT near RetTypeCnt(   PRP_GENIOCTL);
  73. USHORT near SendAbort(    PRP_GENIOCTL, USHORT);
  74. USHORT near XferSCB(      PRP_GENIOCTL);
  75.  
  76. /*------------*/
  77. /* SCXFRSCB.C */
  78. /*------------*/
  79. BOOL   near DistributeCommand(   NPUCB                );
  80. BOOL   near SendOtherSCSI(       NPUCB, PBYTE, USHORT );
  81. BOOL   near SendSCB(             NPUCB                );
  82. BOOL   near SendExecuteIO(       NPUCB, USHORT, USHORT);
  83. BOOL   near SendFormat(          NPUCB                );
  84. BOOL   near GetCmdCmpStatus(     NPUCB                );
  85. BOOL   near MakeReqSenseCDB(     NPUCB                );
  86. BOOL   near MakeReadDevCapCDB(   NPUCB                );
  87. BOOL   near MakeDevInquiryCDB(   NPUCB                );
  88. BOOL   near MakeReassignBlockCDB(NPUCB                );
  89.  
  90. void   _loadds far  GetNotification( PIORBH );
  91. void   _loadds far  NotifyIORBDone(  PIORBH );
  92.  
  93. /*------------*/
  94. /* SCCRTTSB.C */
  95. /*------------*/
  96. void   near CreateTSB(   NPUCB, PTSB);
  97. void   far  f_CreateTSB( NPUCB, PTSB);
  98.  
  99. /*------------*/
  100. /* SCSUBRS.C  */
  101. /*------------*/
  102. USHORT       near SetAdditionalData();
  103.  
  104. VOID         near WaitOtherIORB(    NPUCB);
  105. VOID         near ReleaseOtherIORB( NPUCB);
  106.  
  107. USHORT       near WaitIORB(           PRP_GENIOCTL, USHORT);
  108. VOID         near ReleaseIORB(        PRP_GENIOCTL);
  109. USHORT       near HoldInTimeOutQ(     NPUCB, PRP_GENIOCTL);
  110. NPQELE       near AddToTimeOutQ(      NPUCB, PRP_GENIOCTL);
  111. USHORT       near RemoveFromTimeOutQ( NPUCB, NPQELE      );
  112.  
  113. BOOL         near ValidateUserPacket( PRP_GENIOCTL, NPUCB, USHORT);
  114. VOID         near UnlockUserPacket(   NPUCB);
  115.  
  116. VOID         near FlushReqPkt( NPUCB);
  117.  
  118. USHORT       near CheckIORBError(   NPUCB, NPIORBH);
  119. USHORT       far  f_CheckIORBError( NPUCB, NPIORBH);
  120.  
  121. USHORT       near AllocateGDTSel(VOID);
  122. VOID         near DeallocateGDTSel(USHORT);
  123.  
  124. ULONG        near MS_to_S(ULONG);
  125. ULONG        near S_to_MS(ULONG);
  126.  
  127. /*--------------------*/
  128. /* pragma definition  */
  129. /*--------------------*/
  130.  
  131. #pragma alloc_text(InitCode, f_DriveInit)
  132. #pragma alloc_text(InitCode, Build_UnitCBs)
  133. #pragma alloc_text(InitCode, SetAdditionalData)
  134.  
  135.