home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / H / DCB.H < prev    next >
C/C++ Source or Header  |  1995-08-24  |  4KB  |  80 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.  
  13. /* XLATOFF */
  14. #pragma pack(1)
  15. /* XLATON */
  16.  
  17. /***************************************************************************
  18.  *
  19.  * DCB - Common Device Control Block
  20.  *               (*** PACKED STRUCTURE ***)
  21.  ***************************************************************************/
  22. typedef struct _DCB { /* dcb  -  Device Control Block                      */
  23.    ULONG   ulDCBLen;                /* length of structure                 */
  24.    SZ      szDevName[MAX_SPI_NAME]; /* device driver name                  */
  25.    } DCB;
  26. typedef DCB  FAR *PDCB;
  27.  
  28.  
  29. /***************************************************************************
  30.  *
  31.  * E_DCB - Extended Device Control Block
  32.  *
  33.  *         This structure will grow over time as new fields are added
  34.  *         to the end of the structure.  If you manipulate the structure,
  35.  *         be sure to check the length field.
  36.  *
  37.  *               (*** PACKED STRUCTURE ***)
  38.  ***************************************************************************/
  39. typedef struct E_DCB { /* e_dcb  -  Extended Device Control Block          */
  40.  
  41.    ULONG   ulDCBLen;                /* length of structure                 */
  42.    SZ      szDevName[MAX_SPI_NAME]; /* device driver name                  */
  43.    ULONG   ulSysFileNum;            /* file handle number                  */
  44.  
  45.    /*    new fields will be added here                                     */
  46.  
  47.    } E_DCB, DCB_AUDIOSH;
  48.  
  49. typedef E_DCB  FAR  *PE_DCB;
  50. typedef E_DCB  FAR  *PDCB_AUDIOSH;
  51.  
  52.  
  53. /***************************************************************************
  54.  *
  55.  * VSD_DCB - VSD Device Control Block
  56.  *
  57.  *         This structure will allow stream handlers to use the VSD DLL
  58.  *         by using by the additional fields in the structure.
  59.  *
  60.  *               (*** PACKED STRUCTURE ***)
  61.  ***************************************************************************/
  62. typedef struct _VSD_DCB { /* vsd_dcb - VSD Device Control Block            */
  63.  
  64.    ULONG   ulDCBLen;                /* length of structure                 */
  65.    SZ      szDevName[MAX_SPI_NAME]; /* device driver name                  */
  66.    ULONG   ulSysFileNum;            /* file handle number                  */
  67.    ULONG   hvsd;                    /* Handle to VSD instance              */
  68.    PFN     pfnvsdEntryPoint;        /* Address of VSD entry point          */
  69.    ULONG   ulReserved1;             /* Reserved for system                 */
  70.    ULONG   ulReserved2;             /* Reserved for system                 */
  71.  
  72.    } VSD_DCB;
  73.  
  74. typedef VSD_DCB FAR *PVSD_DCB;
  75.  
  76.  
  77. /* XLATOFF */
  78. #pragma pack()
  79. /* XLATON */
  80.