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

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /* Module Name: DCB.H                                                       */
  4. /*                                                                          */
  5. /* OS/2 2.0 Multimedia Extensions Sync/Stream Manager Device Control        */
  6. /* Block defintitions.                                                      */
  7. /*                                                                          */
  8. /* Copyright (c) International Business Machines Corporation 1991, 1992     */
  9. /*                        All Rights Reserved                               */
  10. /*                                                                          */
  11. /****************************************************************************/
  12. /* NOINC */
  13. #ifdef __cplusplus
  14.    extern "C" {
  15. #endif
  16. /* INC */
  17.  
  18.  
  19. /* XLATOFF */
  20. #pragma pack(1)
  21. /* XLATON */
  22.  
  23. /***************************************************************************
  24.  *
  25.  * DCB - Common Device Control Block
  26.  *               (*** PACKED STRUCTURE ***)
  27.  ***************************************************************************/
  28. typedef struct _DCB { /* dcb  -  Device Control Block                      */
  29.    ULONG   ulDCBLen;                /* length of structure                 */
  30.    SZ      szDevName[MAX_SPI_NAME]; /* device driver name                  */
  31.    } DCB;
  32. typedef DCB  FAR *PDCB;
  33.  
  34.  
  35. /***************************************************************************
  36.  *
  37.  * E_DCB - Extended Device Control Block
  38.  *
  39.  *         This structure will grow over time as new fields are added
  40.  *         to the end of the structure.  If you manipulate the structure,
  41.  *         be sure to check the length field.
  42.  *
  43.  *               (*** PACKED STRUCTURE ***)
  44.  ***************************************************************************/
  45. typedef struct E_DCB { /* e_dcb  -  Extended Device Control Block          */
  46.  
  47.    ULONG   ulDCBLen;                /* length of structure                 */
  48.    SZ      szDevName[MAX_SPI_NAME]; /* device driver name                  */
  49.    ULONG   ulSysFileNum;            /* file handle number                  */
  50.  
  51.    /*    new fields will be added here                                     */
  52.  
  53.    } E_DCB, DCB_AUDIOSH;
  54.  
  55. typedef E_DCB  FAR  *PE_DCB;
  56. typedef E_DCB  FAR  *PDCB_AUDIOSH;
  57.  
  58.  
  59. /***************************************************************************
  60.  *
  61.  * VSD_DCB - VSD Device Control Block
  62.  *
  63.  *         This structure will allow stream handlers to use the VSD DLL
  64.  *         by using by the additional fields in the structure.
  65.  *
  66.  *               (*** PACKED STRUCTURE ***)
  67.  ***************************************************************************/
  68. typedef struct _VSD_DCB { /* vsd_dcb - VSD Device Control Block            */
  69.  
  70.    ULONG   ulDCBLen;                /* length of structure                 */
  71.    SZ      szDevName[MAX_SPI_NAME]; /* device driver name                  */
  72.    ULONG   ulSysFileNum;            /* file handle number                  */
  73.    ULONG   hvsd;                    /* Handle to VSD instance              */
  74.    PFN     pfnvsdEntryPoint;        /* Address of VSD entry point          */
  75.    ULONG   ulReserved1;             /* Reserved for system                 */
  76.    ULONG   ulReserved2;             /* Reserved for system                 */
  77.  
  78.    } VSD_DCB;
  79.  
  80. typedef VSD_DCB FAR *PVSD_DCB;
  81.  
  82.  
  83. /* XLATOFF */
  84. #pragma pack()
  85. /* XLATON */
  86.  
  87. /* NOINC */
  88. #ifdef __cplusplus
  89. }
  90. #endif
  91. /* INC */
  92.  
  93.