home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v5.zip / DDKX86 / SRC / DEV / DASD / OS2DASD / DMDATA.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-14  |  6.6 KB  |  122 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/dmdata.h, dsdm, r207 93/10/08";*/
  13. /**************************************************************************
  14.  *
  15.  * SOURCE FILE NAME = DMDATA.H
  16.  *
  17.  * DESCRIPTIVE NAME = OS2DASD.DMD - OS/2 DASD Device Manager
  18.  *
  19.  *
  20.  *
  21.  * VERSION = V2.0
  22.  *
  23.  * DATE
  24.  *
  25.  * DESCRIPTION     Externs for data defined in DMDATA.C
  26.  *
  27.  *
  28.  *
  29. */
  30.  
  31. /*--------------------------------------------*/
  32. /* External data declarations in DMDATA.C     */
  33. /*--------------------------------------------*/
  34. extern UCHAR       ScratchBuffer[512];  /* Scratch buffer for I/O         */
  35. extern PFN         Device_Help;         /* far ptr to devhelp function    */
  36. extern PBYTE       pSysInfoSeg;         /* Pointer to sys info seg        */
  37. extern PBYTE       pSIS_mec_table;      /* Pointer to RAS MEC Trace Table */
  38. extern PVOID       pDataSeg;            /* virt ptr of our data segment   */
  39. extern ULONG       ppDataSeg;           /* phys addr of our data segment  */
  40. extern ULONG       plDataSeg;           /* linear addr of our data seg    */
  41. extern ULONG       ppScratchBuffer;     /* Phys addr of ScratchBuffer     */
  42. extern USHORT      ScratchBufSem;       /* Semaphore for ScratchBuffer    */
  43. extern USHORT      DDFlags;             /* Global driver flags            */
  44. extern USHORT      DefaultQueueMethod;  /* Queuing - priority/nopriority  */ /*@V74404*/
  45. extern USHORT      DefaultSortMethod;   /* Sorting - fifo/elevator        */ /*@V74404*/
  46. extern NPUNITCB    UnitCB_Head;         /* near ptr to first UnitCB       */
  47. extern NPVOLCB     VolCB_Head;          /* near ptr to first VolCB        */
  48. extern NPVOLCB     pVolCB_DriveA;       /* Pointer to A: VolCB            */
  49. extern NPVOLCB     pVolCB_DriveB;       /* Pointer to B: VolCB            */
  50. extern NPVOLCB     pVolCB_DriveC;       /* Pointer to C: VolCB            */
  51. extern NPVOLCB     pVolCB_80;           /* Pointer to VolCB for drive 80H */
  52. extern USHORT      NextLogDriveNum;     /* next logical drive number      */
  53. extern NPBYTE      pNextFreeCB;         /* ptr to next free control blk   */
  54. extern NPVOLCB     pLastLogVolCB;
  55. extern USHORT      NextLogDriveNum;
  56. extern USHORT      NumDrivers;          /* number of adapter drivers      */
  57. extern USHORT      NumUnitCBs;          /* number of unit control blocks  */
  58. extern USHORT      NumVolCBs;           /* number of volume control blocks*/
  59. extern USHORT      NumLogDrives;        /* number of logical drives       */
  60. extern USHORT      NumRemovableDisks;   /* number of removable disk drives*/
  61. extern USHORT      NumFixedDisks;       /* number of fixed disk drives    */
  62. extern USHORT      NumPartitions;       /* number of fixed disk partitions*/
  63. extern USHORT      NumFTPartitions;     /* number of fault tol. partitions*/
  64. extern NPVOLCB     pExtraVolCBs;        /* pointer to extra volcbs        */
  65. extern USHORT      NumExtraVolCBs;      /* number of extra volcbs         */
  66. extern USHORT      NumAdapters;         /* number of adapters             */
  67. extern USHORT      NumReqsInProgress;   /* num requests in progress       */
  68. extern USHORT      NumReqsWaiting;      /* num requests on waiting queues */
  69. extern USHORT      TraceFlags;          /* Trace Flags                    */
  70. extern NPBYTE      pDMTraceBuf;         /* pointer to internal trace buffer*/
  71. extern NPBYTE      pDMTraceHead;        /* pointer to head of trace buffer */
  72. extern NPBYTE      pDMTraceEnd;         /* pointer to end of trace buffer */
  73. extern NPBYTE      CB_FreeList;         /* Control Block Free List for    */
  74.                                         /*  IORBs and CWAs                */
  75. extern USHORT      PoolSem;             /* Pool semaphore                 */
  76. extern USHORT      PoolSize;            /* Size of control block pool     */
  77. extern USHORT      FreePoolSpace;       /* Free space left in data segment*/
  78. extern UCHAR       fBigFat;             /* flags for drives               */
  79. extern UCHAR       XActPDrv;
  80. extern PVOID       pFSD_EndofInt;       /* FSD's End of interrupt routine */
  81. extern PVOID       pFSD_AccValidate;    /* FSD's Access Validation routine*/
  82. extern PVOID       pDiskFT_Request;     /* DISKFT's Request routine       */
  83. extern PVOID       pDiskFT_Done;        /* DISKFT's Done routine          */
  84. extern USHORT      DiskFT_DS;           /* DISKFT's DS selector           */
  85.  
  86. extern PRTYQ       DeferredQRP;         /* Queue for Deferred FT Requests */
  87. extern PRTYQ       DeferredQRLE;        /* Queue for Deferred FT Requests */
  88. extern USHORT      NumReqsDeferred;     /* num requests on Deferred queues*/
  89.  
  90. extern DriverCaps  DriverCapabilities;  /* Driver Capabilities structure  */
  91. extern DISKTABLE_ENTRY DiskTable[];
  92.  
  93. extern BPB         BPB_Minimum;
  94. extern BPB         BPB_160KB;
  95. extern BPB         BPB_180KB;
  96. extern BPB         BPB_320KB;
  97. extern BPB         BPB_360KB;
  98. extern BPB         BPB_12MB;
  99. extern BPB         BPB_720KB;
  100. extern BPB         BPB_144MB;
  101. extern BPB         BPB_288MB;
  102.  
  103. extern PBPB        DummyBPB;            /* Pointer to BPB for drive aliasing */
  104. extern NPBPB       InitBPBArray[30];    /* BPB array returned in INIT packet */
  105. extern CMDTABLE    CmdTable[20];                                     /*@V84908*/
  106. extern HDRIVER     hRMOS2DASD;
  107.  
  108.  
  109. extern UNITCB      FirstUnitCB[1];      /* First UnitCB allocated here       */
  110. extern UCHAR       CBPool[];            /* Start of Pool                     */
  111.  
  112.  
  113. extern USHORT      InitData;            /* Start of Init data                */
  114. extern BYTE        PFV_PreviousState;   /* Was Perfview just reconfigured?   */ /*@V55646*/
  115.  
  116. extern UCHAR       RMFixed_Txt[];
  117. extern UCHAR       RMRemovable_Txt[];
  118. extern UCHAR       RMDskt_Txt[];
  119. extern UCHAR       RMSysName_Txt[];
  120.  
  121. extern DRIVERSTRUCT RMDASDDesc;
  122.