home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mmoshead.zip / mmdrvos2.h < prev    next >
Text File  |  1994-02-13  |  6KB  |  165 lines

  1. /****************************************/
  2. /* mmdrvos2.h -- Multimedia for emx 1.0 */
  3. /*                                      */
  4. /*                                      */
  5. /* Marc E.E. van Woerkom, 2/94          */
  6. /*                                      */
  7. /****************************************/
  8.  
  9.  
  10. /* nested header management */
  11. #ifndef _MMDRVOS2_H
  12. #define _MMDRVOS2_H
  13.  
  14. /* use 8-bit alignment */
  15. #pragma pack(1)
  16.  
  17.  
  18. /***********/
  19. /* defines */
  20. /***********/
  21.  
  22. #define FIXEDSINGLECONTEXT                   0x0001
  23. #define DYNAMICSINGLECONTEXT                 0x0002
  24. #define LIMITEDMULTIPLECONTEXT               0x0003
  25. #define UNLIMITEDMULTIPLECONTEXT             0x0004
  26.  
  27. #define MCIDRV_SAVE                          900
  28. #define MCIDRV_RESTORE                       901
  29. #define MCIDRV_SYNC                          902
  30. #define MCIDRV_CHANGERESOURCE                903
  31.  
  32. #define MCIDRV_SYNC_ENABLE                   0x0100L
  33. #define MCIDRV_SYNC_DISABLE                  0x0200L
  34. #define MCIDRV_SYNC_REC_PULSE                0x0400L
  35. #define MCIDRV_SYNC_MASTER                   0x0800L
  36. #define MCIDRV_SYNC_SET_MASTER               0x1000L
  37.  
  38. #define MCI_INTERNAL_MESSAGES_START          1000
  39. #define MCI_INTERNAL_MESSAGES_END            1999
  40.  
  41. #define MCI_CLOSE_EXIT                       0x10000000L
  42.  
  43. #define MCI_COMMAND_HEAD                     0x0001L
  44. #define MCI_END_COMMAND                      0x0002L
  45. #define MCI_END_COMMAND_LIST                 0x0003L
  46. #define MCI_RETURN                           0x0004L
  47. #define MCI_STRING                           0x0005L
  48. #define MCI_FLAG                             0x0006L
  49. #define MCI_INTEGER                          0x0007L
  50. #define MCI_CONSTANT                         0x0008L
  51. #define MCI_CONSTANT_INTEGER                 0x0009L
  52. #define MCI_CONSTANT_STRING                  0x000AL
  53. #define MCI_END_CONSTANT                     0x000BL
  54. #define MCI_DEFAULT_STRING                   0x000CL
  55. #define MCI_DEFAULT_INTEGER                  0x000DL
  56. #define MCI_RETURN_TYPE                      0x000EL
  57. #define MCI_RETURN_TYPE_STRING               0x000FL
  58. #define MCI_END_RETURN_TYPE                  0x0010L
  59. #define MCI_CONSTANT_2                       0x0011L
  60. #define MCI_END_CONSTANT_2                   0x0012L
  61. #define MCI_CONSTANT_PAIR                    0x0013L
  62. #define MCI_END_CONSTANT_PAIR                0x0014L
  63. #define MCI_CONSTANT_INTEGER_PAIR            0x0015L
  64. #define MCI_CONSTANT_STRING_PAIR             0x0016L
  65. #define MCI_RECTL                            0x0017L
  66. #define MCI_CONSTANT_4                       0x0018L
  67. #define MCI_END_CONSTANT_4                   0x0019L
  68. #define MCI_FOURCC                           0x001AL
  69. #define MCI_OR                               0x001BL
  70. #define MCI_END_OR                           0x001CL
  71. #define MCI_STRING_LIST                      0x001DL
  72.  
  73. #define MCI_INTEGER_RETURNED                 0x1000
  74. #define MCI_COLONIZED2_RETURN                0x2000
  75. #define MCI_COLONIZED3_RETURN                0x3000
  76. #define MCI_COLONIZED4_RETURN                0x4000
  77. #define MCI_TRUE_FALSE_RETURN                0x5000
  78. #define MCI_ON_OFF_RETURN                    0x6000
  79. #define MCI_DEVICENAME_RETURN                0x7000
  80. #define MCI_TIME_FORMAT_RETURN               0x8000
  81. #define MCI_SPEED_FORMAT_RETURN              0x9000
  82. #define MCI_MODE_RETURN                      0xA000
  83. #define MCI_MEDIA_TYPE_RETURN                0xB000
  84. #define MCI_TRACK_TYPE_RETURN                0xC000
  85. #define MCI_CONNECTOR_TYPE_RETURN            0xD000
  86. #define MCI_CDXA_CHANNEL_DESTINATION_RETURN  0xE000
  87. #define MCI_PREROLL_TYPE_RETURN              0xF000
  88. #define MCI_FORMAT_TAG_RETURN                0xF100
  89. #define MCI_SEQ_SYNCHRONIZATION_RETURN       0xF200
  90. #define MCI_VIDEO_QUALITY_RETURN             0xF300
  91. #define MCI_AUDIO_QUALITY_RETURN             0xF400
  92. #define MCI_IMAGE_QUALITY_RETURN             0xF500
  93. #define MCI_VIDEO_COMPRESSION_RETURN         0xF600
  94. #define MCI_AUDIO_COMPRESSION_RETURN         0xF700
  95. #define MCI_IMAGE_COMPRESSION_RETURN         0xF800
  96. #define MCI_RECTL_RETURN                     0xF900
  97. #define MCI_FOURCC_RETURN                    0xFA00
  98. #define MCI_USER_RETURN                      0xFF01
  99.  
  100. #define MCIERR_MSG_TABLE_END                 MCIERR_BASE + 7000
  101.  
  102. #define MMERROR_TABLE_BASE                   500
  103.  
  104.  
  105. /************/
  106. /* typedefs */
  107. /************/
  108.  
  109. typedef struct _MCIDRV_CHANGERESOURCE_PARMS {
  110.     PVOID  pInstance;
  111.     USHORT usResourceUnits;
  112.     USHORT usResourceClass;
  113.     USHORT usResourcePriority;
  114. } MCIDRV_CHANGERESOURCE_PARMS;
  115.  
  116. typedef struct _MCIDRV_SYNC_PARMS {
  117.     HSTREAM*   hStreams;
  118.     ULONG      ulNumStreams;
  119.     MMTIME     mmTime;
  120.     BOOL       NonStreamMaster;
  121.     PSYNC_EVCB pevcbSyncPulse;
  122.     HID        hidMaster;
  123.     ULONG      ulReserved1;
  124.     ULONG      ulReserved2;
  125. } MCIDRV_SYNC_PARMS;
  126.  
  127. typedef struct __MMDRV_OPEN_PARMS {
  128.     HWND   hwndCallback;
  129.     USHORT usDeviceID;
  130.     USHORT usDeviceType;
  131.     USHORT usDeviceOrd;
  132.     PVOID  pInstance;
  133.     CHAR   szDevDLLName[260];
  134.     PSZ    pszElementName;
  135.     USHORT usDevParmLen;
  136.     PVOID  pDevParm;
  137.     PVOID  Reserved0;
  138.     USHORT usResourceUnitsRequired;
  139.     USHORT usResourceClass;
  140.     USHORT usResourcePriority;
  141.     ULONG  ulParam2;
  142. } MMDRV_OPEN_PARMS;
  143.  
  144.  
  145. typedef USHORT                       GID;
  146. typedef MCIDRV_CHANGERESOURCE_PARMS* PMCIDRV_CHANGERESOURCE_PARMS;
  147. typedef MCIDRV_SYNC_PARMS*           PMCIDRV_SYNC_PARMS;
  148. typedef MMDRV_OPEN_PARMS*            PMMDRV_OPEN_PARMS;
  149.  
  150.  
  151. /*******/
  152. /* API */
  153. /*******/
  154.  
  155. ULONG mdmDriverNotify(USHORT usDeviceID, HWND hwnd, USHORT usMsgType,
  156.                       USHORT usUserParm, ULONG ulMsgParm);
  157.  
  158.  
  159. /* set default alignment */
  160. #pragma pack()
  161.  
  162. /* nested header management */
  163. #endif
  164.  
  165.