home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cset21v6.zip / MMPM2TK / TK / INC / MMIO.INC < prev    next >
Text File  |  1993-04-23  |  26KB  |  628 lines

  1. ;****************************************************************************
  2. ; Module Name: MMIO.H
  3. ;
  4. ; OS/2 2.0 Multimedia Extensions Input/Output Manager Definitions file
  5. ;  NOTE:  All structures are UNPACKED!!
  6. ;
  7. ; Copyright (c) International Business Machines Corporation 1990,1991,1992
  8. ;                         All Rights Reserved
  9. ;
  10. ;
  11. ;***************************************************************************  
  12. ifndef _MMIO_H_
  13. _MMIO_H_    EQU    1
  14.  
  15. ;* MMIO symbols.
  16. ;  
  17. ifndef _OS2MEDEF_H
  18. endif
  19. ;* MS compat defines.
  20. ;  
  21. ifndef _OS2MEDEF_H
  22. LPSTR    EQU    PSZ
  23. endif
  24. HPSTR    EQU    PSZ
  25. ;* Define MMIO public data structures.
  26. ;  
  27.  
  28. MMCKINFO    STRUC
  29. mmckinfo_ckid    DD    ?             ;  Chunk id (FOURCC)                      
  30. mmckinfo_ckSize    DD    ?           ;  Chunk Size (bytes)                     
  31. mmckinfo_fccType    DD    ?          ;  FourCC Type (if ckid RIFF or LIST)     
  32. mmckinfo_dwDataOffset    DD    ?     ;  File Offset of data portion of chunk   
  33. mmckinfo_dwFlags    DD    ?          ;  MMIO_DIRTY (if new chunk)              
  34. MMCKINFO    ENDS
  35. LPMMCKINFO    EQU    PMMCKINFO     ;  MS compat define   
  36. LPMMIOPROC    EQU    PMMIOPROC     ;  MS compat define   
  37.  
  38. MMIOINFO    STRUC
  39. mmioinfo_dwFlags    DD    ?          ;  Open flags                    
  40. mmioinfo_fccIOProc    DD    ?        ;  FOURCC of the IOProc to use   
  41. mmioinfo_pIOProc    DD    ?          ;  Function Pointer to IOProc to use   
  42. mmioinfo_dwErrorRet    DD    ?       ;  Extended Error return code    
  43. mmioinfo_cchBuffer    DD    ?        ;  I/O buff size (if used), Fsize if MEM   
  44. mmioinfo_pchBuffer    DD    ?        ;  Start of I/O buff             
  45. mmioinfo_pchNext    DD    ?          ;  Next char to read or write in buff   
  46. mmioinfo_pchEndRead    DD    ?       ;  Last char in buff can be read + 1    
  47. mmioinfo_pchEndWrite    DD    ?      ;  Last char in buff can be written + 1   
  48. mmioinfo_lBufOffset    DD    ?       ;  Offset in buff to pchNext   
  49. mmioinfo_lDiskOffset    DD    ?      ;  Disk offset in file         
  50. mmioinfo_adwInfo    DD    4 DUP (?)       ;  IOProc specific fields      
  51. mmioinfo_lLogicalFilePos    DD    ?  ;  Actual file position, buffered or not   
  52. mmioinfo_dwTranslate    DD    ?      ;  Translation field           
  53. mmioinfo_fccChildIOProc    DD    ?   ;  FOURCC of Child IOProc      
  54. mmioinfo_pExtraInfoStruct    DD    ? ;  Pointer to a structure of related data   
  55. mmioinfo_hmmio    DD    ?            ;  Handle to media element     
  56. MMIOINFO    ENDS
  57. LPMMIOINFO    EQU    PMMIOINFO     ;  MS compat define   
  58.  
  59. MMCFINFO    STRUC
  60. mmcfinfo_dwHeaderSize    DD    ?        ;  CTOC header size            
  61. mmcfinfo_dwEntriesTotal    DD    ?      ;  Num of CTOC table entries   
  62. mmcfinfo_dwEntriesDeleted    DD    ?    ;  Num of CTOC table entries deleted   
  63. mmcfinfo_dwEntriesUnused    DD    ?     ;  Num of unused CTOC entries   
  64. mmcfinfo_dwBytesTotal    DD    ?        ;  Combined byte size of all CGRP elements   
  65. mmcfinfo_dwBytesDeleted    DD    ?      ;  Byte size of all deleted CGRP elements   
  66. mmcfinfo_dwHeaderFlags    DD    ?       ;  Info about entire compound file (CF)    
  67. mmcfinfo_wEntrySize    DW    ?          ;  Size of each CTOC table entry   
  68. mmcfinfo_wNameSize    DW    ?           ;  Size of name field in entry, default 13   
  69. mmcfinfo_wExHdrFields    DW    ?        ;  Num CTOC header extra fields   
  70. mmcfinfo_wExEntFields    DW    ?        ;  Num CTOC entry extra fields    
  71. MMCFINFO    ENDS
  72. ;* Note:  The are variable length DWORD arrays that may be present
  73. ;*        at the end of the MMCFINFO structure.
  74. ;  
  75. ;    DWORD    (*adwExHdrFldUsage)[];  /* Array of header extra usage fields   
  76. ;    DWORD    (*adwExtEntFldUsage)[]; /* Array of entry extra usage fields    
  77. ;    DWORD    (*adwExHdrField)[];     /* Array of header extra fields         
  78. LPMMCFINFO    EQU    PMMCFINFO     ;  MS compat define   
  79.  
  80. MMCTOCENTRY    STRUC
  81. mmctocentry_dwOffset    DD    ?            ;  Offset of element within CGRP   
  82. mmctocentry_dwSize    DD    ?              ;  Size of element                 
  83. mmctocentry_dwMedType    DD    ?           ;  Fourcc of element               
  84. mmctocentry_dwMedUsage    DD    ?          ;  Possible sub type               
  85. mmctocentry_dwCompressTech    DD    ?      ;  Compression technique used      
  86. mmctocentry_dwUncompressBytes    DD    ?   ;  Actual size of uncompressed element   
  87. MMCTOCENTRY    ENDS
  88. ;* Note:  A variable length name field and possibly a DWORD array may
  89. ;*        be present at the end of the MMCTOCENTRY structure.
  90. ;  
  91. ;    DWORD    (*adwExEntField)[];  /* Array of entry extra fields   
  92. ;    PSZ      pszElementName[];    /* Name of element, variable length   
  93. LPMMCTOCENTRY    EQU    PMMCTOCENTRY ;  MS compat define   
  94. ;* Conversion Flags/Data Structures:
  95. ;  
  96. MMIO_MEDIATYPE_IMAGE    EQU    00000001H   ;  Image media   
  97. MMIO_MEDIATYPE_AUDIO    EQU    00000002H   ;  Audio media   
  98. MMIO_MEDIATYPE_MIDI    EQU    00000004H   ;  MIDI media    
  99. MMIO_MEDIATYPE_COMPOUND    EQU    00000008H   ;  Cmpd media    
  100. MMIO_MEDIATYPE_OTHER    EQU    00000010H   ;  Other media   
  101. MMIO_MEDIATYPE_UNKNOWN    EQU    00000020H   ;  Unknown media   
  102. MMIO_MEDIATYPE_DIGITALVIDEO    EQU    00000040H   ;  Digital Video   
  103. MMIO_MEDIATYPE_ANIMATION    EQU    00000080H   ;  Future: Not Supported   
  104. MMIO_MEDIATYPE_MOVIE    EQU    00000100H   ;  Movie File   
  105. MMIO_CANREADTRANSLATED    EQU    00000001H  ; IOProc Cpbilty Flgs  
  106. MMIO_CANWRITETRANSLATED    EQU    00000002H  ;  "       "       "   
  107. MMIO_CANREADWRITETRANSLATED    EQU    00000004H  ;  "       "       "   
  108. MMIO_CANREADUNTRANSLATED    EQU    00000008H  ;  "       "       "   
  109. MMIO_CANWRITEUNTRANSLATED    EQU    00000010H  ;  "       "       "   
  110. MMIO_CANREADWRITEUNTRANSLATED    EQU    00000020H  ;  "       "       "   
  111. MMIO_CANSEEKTRANSLATED    EQU    00000040H  ;  "       "       "   
  112. MMIO_CANSEEKUNTRANSLATED    EQU    00000080H  ;  "       "       "   
  113. MMIO_CANINSERTUNTRANSLATED    EQU    00000100H  ;  "       "       "   
  114. MMIO_CANSAVEUNTRANSLATED    EQU    00000200H  ;  "       "       "   
  115. MMIO_CANINSERTTRANSLATED    EQU    00000400H  ;  "       "       "   
  116. MMIO_CANSAVETRANSLATED    EQU    00000800H  ;  "       "       "   
  117. MMIO_CANMULTITRACKREADTRANSLATED    EQU    00001000H  ;  "       "       "   
  118. MMIO_CANMULTITRACKREADUNTRANSLATED    EQU    00002000H  ;  "       "       "   
  119. MMIO_CANMULTITRACKWRITETRANSLATED    EQU    00004000H  ;  "       "       "   
  120. MMIO_CANMULTITRACKWRITEUNTRANSLATED    EQU    00008000H  ;  "       "       "   
  121. MMIO_CANTRACKSEEKTRANSLATED    EQU    00010000H  ;  "       "       "   
  122. MMIO_CANTRACKSEEKUNTRANSLATED    EQU    00020000H  ;  "       "       "   
  123. MMIO_CANTRACKREADTRANSLATED    EQU    00040000H  ;  "       "       "   
  124. MMIO_CANTRACKREADUNTRANSLATED    EQU    00080000H  ;  "       "       "   
  125. MMIO_CANTRACKWRITETRANSLATED    EQU    00100000H  ;  "       "       "   
  126. MMIO_CANTRACKWRITEUNTRANSLATED    EQU    00200000H  ;  "       "       "   
  127. MMIO_IOPROC_STORAGESYSTEM    EQU    00000001H   ;  IOProc Types   
  128. MMIO_IOPROC_FILEFORMAT    EQU    00000002H 
  129. MMIO_IOPROC_DATAFORMAT    EQU    00000004H 
  130.  
  131. MMFORMATINFO    STRUC
  132. mmformatinfo_dwStructLen    DD    ?               ;  Length of this structure   
  133. mmformatinfo_fccIOProc    DD    ?                 ;  IOProc identifier          
  134. mmformatinfo_dwIOProcType    DD    ?              ;  Type of IOProc             
  135. mmformatinfo_dwMediaType    DD    ?               ;  Media Type                 
  136. mmformatinfo_dwFlags    DD    ?                   ;  IOProc capability flags    
  137. mmformatinfo_achDefaultFormatExt    DB    SIZE   FOURCC  + 1 DUP (?)
  138.                                        ;  Default extension 4 + null   
  139. mmformatinfo_dwCodePage    DD    ?                ;  Code Page                    
  140. mmformatinfo_dwLanguage    DD    ?                ;  Language                     
  141. mmformatinfo_lNameLength    DD    ?               ;  length of identifier string   
  142. MMFORMATINFO    ENDS
  143. MMIO_IMAGE_UNKNOWN    EQU    00000000H   ;  Unknown image content   
  144. MMIO_IMAGE_DRAWING    EQU    00000001H   ;  Simple drawing          
  145. MMIO_IMAGE_GRAPH    EQU    00000002H   ;  Graphs & Cartoons       
  146. MMIO_IMAGE_PHOTO    EQU    00000004H   ;  Varying Color & Shades   
  147. ifdef INCL_GPI
  148. ifdef INCL_GPIBITMAPS
  149. MAX_PALETTE    EQU    256 
  150.  
  151. XDIBHDR_PREFIX    STRUC
  152. XDIB_ulMemSize    DD    ?                          ;  Length of bitmap     
  153. XDIB_ulPelFormat    DD    ?
  154. XDIB_usTransType    DW    ?
  155. XDIB_ulTransVal    DD    ?
  156. XDIBHDR_PREFIX    ENDS
  157.  
  158. MMXDIBHEADER    STRUC
  159. XDIB_XDIBHeaderPrefix    DB    SIZE XDIBHDR_PREFIX DUP (?)
  160. XDIB_BMPInfoHeader2    DB    SIZE BITMAPINFOHEADER2 DUP (?)
  161. MMXDIBHEADER    ENDS
  162.  
  163. MMIMAGEHEADER    STRUC
  164. mmimageheader_dwHeaderLength    DD    ?         ;  Length in Bytes   
  165. mmimageheader_dwContentType    DD    ?          ;  Image content     
  166. mmimageheader_dwMediaType    DD    ?            ;  Media Type        
  167. mmimageheader_mmXDIBHeader    DB    SIZE MMXDIBHEADER DUP (?)           ;  OS/2 2.0 PM compat header   
  168. mmimageheader_bmiColors    DB    SIZE RGB2 * MAX_PALETTE DUP (?) ;  PM compatible palette   
  169. MMIMAGEHEADER    ENDS
  170. endif
  171. endif
  172. MMIO_AUDIO_UNKNOWN    EQU    00000000H   ;  Unknown image content    
  173. MMIO_AUDIO_VOICE    EQU    00000001H   ;  Limited Range            
  174. MMIO_AUDIO_MUSIC    EQU    00000002H   ;  FM Radio or equivalent   
  175. MMIO_AUDIO_HIFI    EQU    00000004H   ;  High quality recording   
  176.  
  177. WAVE_HEADER    STRUC
  178. waveheader_usFormatTag    DW    ?              ;  Type of wave format   
  179. waveheader_usChannels    DW    ?               ;  Number of channels    
  180. waveheader_ulSamplesPerSec    DD    ?          ;  Sampling rate         
  181. waveheader_ulAvgBytesPerSec    DD    ?         ;  Avg bytes per sec     
  182. waveheader_usBlockAlign    DW    ?             ;  Block Alignment in bytes   
  183. waveheader_usBitsPerSample    DW    ?          ;  Bits per sample       
  184. WAVE_HEADER    ENDS
  185.  
  186. XWAV_HEADERINFO    STRUC
  187. xwaveheader_ulAudioLengthInMS    DD    ?        ;  Audio data in millisecs   
  188. xwaveheader_ulAudioLengthInBytes    DD    ?     ;  Audio data in bytes       
  189. xwaveheader_ulReserved    DD    ?               ;  reserved                  
  190. XWAV_HEADERINFO    ENDS
  191.  
  192. MMXWAV_HEADER    STRUC
  193. mmxwaveheader_WAVEHeader    DB    SIZE WAVE_HEADER DUP (?)               ;  Per RIFF WAVE Definition   
  194. mmxwaveheader_XWAVHeaderInfo    DB    SIZE XWAV_HEADERINFO DUP (?)           ;  Extended wave definition   
  195. MMXWAV_HEADER    ENDS
  196.  
  197. MMAUDIOHEADER    STRUC
  198. mmaudioheader_dwHeaderLength    DD    ?           ;  Length in Bytes   
  199. mmaudioheader_dwContentType    DD    ?            ;  Image content     
  200. mmaudioheader_dwMediaType    DD    ?              ;  Media Type        
  201. mmaudioheader_mmXWAVHeader    DB    SIZE MMXWAV_HEADER DUP (?)             ;  header            
  202. MMAUDIOHEADER    ENDS
  203. MMIO_MIDI_UNKNOWN    EQU    00000000H   ;  Unknown midi content     
  204. MMIO_MIDI_VOICE    EQU    00000001H   ;  Limited Range            
  205. MMIO_MIDI_MUSIC    EQU    00000002H   ;  FM Radio or equivalent   
  206. MMIO_MIDI_HIFI    EQU    00000004H   ;  High quality recording   
  207. ;* MMPMMMIO.INI file structure and definitions.
  208. ;  
  209. DLLNAME_SIZE    EQU    CCHMAXPATH
  210. PROCNAME_SIZE    EQU    32 
  211. MAX_EXTENSION_NAME    EQU    4 
  212.  
  213. MMINIFILEINFO    STRUC
  214. mminifileinfo_fccIOProc    DD    ?                     ;  IOProc identifier        
  215. mminifileinfo_szDLLName    DB    DLLNAME_SIZE DUP (?)       ;  DLL name string          
  216. mminifileinfo_szProcName    DB    PROCNAME_SIZE DUP (?)     ;  Procedure name string    
  217. mminifileinfo_dwFlags    DD    ?                       ;  Flags for Preload        
  218. mminifileinfo_dwExtendLen    DD    ?                   ;  Length of ext fields     
  219. mminifileinfo_dwMediaType    DD    ?                   ;  Media type               
  220. mminifileinfo_dwIOProcType    DD    ?                  ;  Type of IOProc           
  221. mminifileinfo_szDefExt    DB    SIZE   MAX_EXTENSION_NAME  DUP (?)
  222.                                               ;  Default file extension   
  223. MMINIFILEINFO    ENDS
  224. ;* CODEC Structures and type definitions for Rel. 1.1
  225. ;  
  226. CODEC_INFO_SIZE    EQU    8 
  227. CODEC_HW_NAME_SIZE    EQU    32 
  228. ifdef INCL_MMIO_CODEC
  229.  
  230. CODECINIFILEINFO    STRUC
  231. codecinifileinfo_ulStructLen    DD    ?                  ;  length of this structure      
  232. codecinifileinfo_fcc    DD    ?                          ;  File Format ID                
  233. codecinifileinfo_szDLLName    DB    DLLNAME_SIZE DUP (?)      ;  DLL name string               
  234. codecinifileinfo_szProcName    DB    PROCNAME_SIZE DUP (?)    ;  Procedure name string         
  235. codecinifileinfo_ulCompressType    DD    ?               ;  Compression Type              
  236. codecinifileinfo_ulCompressSubType    DD    ?            ;  Compression SubType           
  237. codecinifileinfo_ulMediaType    DD    ?                  ;  Media type                    
  238. codecinifileinfo_ulCapsFlags    DD    ?                  ;  capabilities flags            
  239. codecinifileinfo_ulFlags    DD    ?                      ;  flags                         
  240. codecinifileinfo_szHWID    DB    CODEC_HW_NAME_SIZE DUP (?)   ;  specific information          
  241. codecinifileinfo_ulMaxSrcBufLen    DD    ?               ;  max source buffer length      
  242. codecinifileinfo_ulSyncMethod    DD    ?                 ;  Synchronization method        
  243. codecinifileinfo_ulReserved1    DD    ?                  ;  Reserved1                     
  244. codecinifileinfo_ulXalignment    DD    ?                 ;  x alignment - video only      
  245. codecinifileinfo_ulYalignment    DD    ?                 ;  y alignment - video only      
  246. codecinifileinfo_ulSpecInfo    DD    CODEC_INFO_SIZE DUP (?)  ;  specific information          
  247. CODECINIFILEINFO    ENDS
  248. ;* CODECINIFILEINFO synchronization method (ulSyncMethod) values.
  249. ;  
  250. CODEC_SYNC_METHOD_NO_DROP_FRAMES    EQU    0 
  251. CODEC_SYNC_METHOD_DROP_FRAMES_IMMEDIATELY    EQU    1 
  252. CODEC_SYNC_METHOD_DROP_FRAMES_PRECEDING_KEY    EQU    2 
  253. ;* CODECINIFILEINFO capabilities (ulCapsFlags) values.
  254. ;  
  255. CODEC_COMPRESS    EQU    00000001H 
  256. CODEC_DECOMPRESS    EQU    00000002H 
  257. CODEC_WINDOW_CLIPPING    EQU    00000004H 
  258. CODEC_PALETTE_TRANS    EQU    00000008H 
  259. CODEC_SELFHEAL    EQU    00000010H 
  260. CODEC_SCALE_PEL_DOUBLE    EQU    00000020H 
  261. CODEC_SCALE_PEL_HALVED    EQU    00000040H 
  262. CODEC_SCALE_CONTINUOUS    EQU    00000080H 
  263. CODEC_MULAPERTURE    EQU    00000100H 
  264. CODEC_4_BIT_COLOR    EQU    00000200H 
  265. CODEC_8_BIT_COLOR    EQU    00000400H 
  266. CODEC_16_BIT_COLOR    EQU    00000800H 
  267. CODEC_24_BIT_COLOR    EQU    00001000H 
  268. CODEC_HARDWARE    EQU    00002000H 
  269. CODEC_SYMMETRIC    EQU    00004000H 
  270. CODEC_ASYMMETRIC    EQU    00008000H 
  271. CODEC_DIRECT_DISPLAY    EQU    00010000H 
  272. CODEC_DEFAULT    EQU    00020000H 
  273. CODEC_ORIGIN_LOWERLEFT    EQU    00040000H 
  274. CODEC_ORIGIN_UPPERLEFT    EQU    00080000H 
  275. CODEC_SET_QUALITY    EQU    00100000H   ;  quality level is settable   
  276. CODEC_DATA_CONSTRAINT    EQU    00200000H   ;  data constraint supported   
  277. ;* CODECINIFILEINFO Flag Values (ulFlags) values.
  278. ;  
  279. ;  Bit definitions for mmioSet()   
  280. MMIO_SET_EXTENDEDINFO    EQU    0001H 
  281. MMIO_QUERY_EXTENDEDINFO_BASE    EQU    0002H 
  282. MMIO_QUERY_EXTENDEDINFO_ALL    EQU    0004H 
  283. ;  CODECASSOC structure   
  284.  
  285. CODECASSOC    STRUC
  286. codec_pCodecOpen    DD    ?                    ;  codec specific open header   
  287. codec_pCODECIniFileInfo    DD    ?  ;  codecinifileinfo             
  288. CODECASSOC    ENDS
  289. ;  PCODECASSOC definition   
  290. ;  MMEXTENDINFO structure   
  291.  
  292. MMEXTENDINFO    STRUC
  293. extended_ulStructLen    DD    ?              ;  length of this structure    
  294. extended_ulBufSize    DD    ?                ;  total buffer size   
  295. extended_ulFlags    DD    ?                  ;  flags   
  296. extended_ulTrackID    DD    ?                ;  track ID   
  297. extended_ulNumCODECs    DD    ?              ;  number of codec entries   
  298. extended_pCODECAssoc    DD    ?              ;  pointer to codec info array   
  299. MMEXTENDINFO    ENDS
  300. ;  PMMEXTENDINFO definition   
  301. ;* MMEXTENDINFO operation (ulFlags) values.
  302. ;  
  303. MMIO_TRACK    EQU    00000001H 
  304. MMIO_NORMAL_READ    EQU    00000002H 
  305. MMIO_SCAN_READ    EQU    00000004H 
  306. MMIO_REVERSE_READ    EQU    00000008H 
  307. MMIO_CODEC_ASSOC    EQU    00000100H 
  308. MMIO_RESETTRACKS    EQU    -1        ;   Turns off the active track number.   
  309. CODEC_START    EQU    0EC0H 
  310. CODEC_END    EQU    0EFFH 
  311. MMIOM_CODEC_CLOSE    EQU    CODEC_START + 1 
  312. MMIOM_CODEC_OPEN    EQU    CODEC_START + 2 
  313. MMIOM_CODEC_QUERYNAME    EQU    CODEC_START + 3 
  314. MMIOM_CODEC_QUERYNAMELENGTH    EQU    CODEC_START + 4 
  315. MMIOM_CODEC_COMPRESS    EQU    CODEC_START + 5 
  316. MMIOM_CODEC_DECOMPRESS    EQU    CODEC_START + 6 
  317. endif
  318. ;  End CODEC include   
  319. ;* Flags:
  320. ;  
  321. MMIO_CREATE    EQU    00000001H        ;  Open   
  322. MMIO_CTOCFIRST    EQU    00000002H        ;  Open   
  323. MMIO_READ    EQU    00000004H        ;  Open   
  324. MMIO_WRITE    EQU    00000008H        ;  Open   
  325. MMIO_READWRITE    EQU    00000010H        ;  Open   
  326. MMIO_COMPAT    EQU    00000020H        ;  Open   
  327. MMIO_EXCLUSIVE    EQU    00000040H        ;  Open   
  328. MMIO_DENYWRITE    EQU    00000080H        ;  Open   
  329. MMIO_DENYREAD    EQU    00000100H        ;  Open   
  330. MMIO_DENYNONE    EQU    00000200H        ;  Open   
  331. MMIO_ALLOCBUF    EQU    00000400H        ;  Open   
  332. MMIO_DELETE    EQU    00000800H        ;  Open   
  333. MMIO_USE_TEMP    EQU    00001000H        ;  Open/Close/Save   
  334. MMIO_INSERTON    EQU    00000001H        ;  Insert   
  335. MMIO_INSERTOFF    EQU    00000002H        ;  Insert   
  336. MMIO_RWMODE    EQU    00001000H        ;  Open   
  337. MMIO_SHAREMODE    EQU    00002000H        ;  Open   
  338. MMIO_DIRTY    EQU    00004000H        ;  Write   
  339. MMIO_VERTBAR    EQU    00008000H        ;  Open   
  340. MMIO_BUFSHARED    EQU    00010000H        ;  Open   
  341. MMIO_APPEND    EQU    00020000H        ;  Open   
  342. MMIO_NOIDENTIFY    EQU    00040000H        ;  Open   
  343. MMIO_FINDFIRST    EQU    00000001H        ;  CF Find Entry   
  344. MMIO_FINDNEXT    EQU    00000002H        ;  CF Find Entry   
  345. MMIO_FINDUNUSED    EQU    00000004H        ;  CF Find Entry   
  346. MMIO_FINDDELETED    EQU    00000008H        ;  CF Find Entry   
  347. MMIO_CHANGEDELETED    EQU    0001H          ;  CF Change Entry   
  348. MMIO_CF_FQNAME    EQU    0001H          ;  CF Compact        
  349. MMIO_FHOPEN    EQU    0001H            ;  Close   
  350. MMIO_EMPTYBUF    EQU    0001H            ;  Flush   
  351. MMIO_CREATERIFF    EQU    0001H            ;  CreateChunk   
  352. MMIO_CREATELIST    EQU    0002H            ;  CreateChunk   
  353. MMIO_FINDCHUNK    EQU    0004H            ;  Descend       
  354. MMIO_FINDRIFF    EQU    0008H            ;  Descend       
  355. MMIO_FINDLIST    EQU    0010H            ;  Descend       
  356. CTOC_HF_SEQUENTIAL    EQU    00000001H     ;  CTOC dwHeaderFlags   
  357. CTOC_HF_MEDSUBTYPE    EQU    00000002H     ;  CTOC dwHeaderFlags   
  358. CTOC_EFU_UNUSED    EQU    00000000H  ;  CTOC extra usage code   
  359. CTOC_EFU_LASTMODTIME    EQU    00000001H  ;  CTOC extra usage code   
  360. CTOC_EFU_CODEPAGE    EQU    00000002H  ;  CTOC extra usage code   
  361. CTOC_EFU_LANGUAGE    EQU    00000003H  ;  CTOC extra usage code   
  362. CTOC_EFU_COMPRESSPARAM0    EQU    00000005H  ;  CTOC extra usage code   
  363. CTOC_EFU_COMPRESSPARAM1    EQU    00000006H  ;  CTOC extra usage code   
  364. CTOC_EFU_COMPRESSPARAM2    EQU    00000007H  ;  CTOC extra usage code   
  365. CTOC_EFU_COMPRESSPARAM3    EQU    00000008H  ;  CTOC extra usage code   
  366. CTOC_EFU_COMPRESSPARAM4    EQU    00000009H  ;  CTOC extra usage code   
  367. CTOC_EFU_COMPRESSPARAM5    EQU    0000000AH  ;  CTOC extra usage code   
  368. CTOC_EFU_COMPRESSPARAM6    EQU    0000000BH  ;  CTOC extra usage code   
  369. CTOC_EFU_COMPRESSPARAM7    EQU    0000000CH  ;  CTOC extra usage code   
  370. CTOC_EFU_COMPRESSPARAM8    EQU    0000000DH  ;  CTOC extra usage code   
  371. CTOC_EFU_COMPRESSPARAM9    EQU    0000000EH  ;  CTOC extra usage code   
  372. CTOC_CHARSET_STANDARD    EQU    00000000H  ;  CTOC charset value      
  373. MMIO_INSTALLPROC    EQU    00000001H  ;  Install IO Proc   
  374. MMIO_REMOVEPROC    EQU    00000002H  ;  Install IO Proc   
  375. MMIO_FINDPROC    EQU    00000004H  ;  Install IO Proc   
  376. MMIO_MATCHFIRST    EQU    00000010H  ;  Ini File Handler   
  377. MMIO_MATCHNEXT    EQU    00000020H  ;  Ini File Handler   
  378. MMIO_MATCHFOURCC    EQU    00000040H  ;  Ini File Handler   
  379. MMIO_MATCHDLL    EQU    00000080H  ;  Ini File Handler   
  380. MMIO_MATCHPROCEDURENAME    EQU    00000100H  ;  Ini File Handler   
  381. MMIO_FULLPATH    EQU    00000200H  ;  Ini File Handler   
  382. MMIO_NOVERIFY    EQU    00000400H  ;  Ini File Handler   
  383. MMIO_MATCHCOMPRESSTYPE    EQU    00000800H  ;  Ini File Handler   
  384. MMIO_EXTENDED_STRUCT    EQU    00001000H  ;  Ini File ulFlags   
  385. MMIO_MATCHCOMPRESSSUBTYPE    EQU    00002000H  ;  Ini File Handler   
  386. MMIO_MATCHHWID    EQU    00004000H  ;  Ini File Handler   
  387. MMIO_MATCHCAPSFLAGS    EQU    00008000H  ;  Ini File Handler   
  388. MMIO_SKIPMATCH    EQU    00010000H  ;  Ini/Load Handler   
  389. MMIO_TOUPPER    EQU    0001H       ;  StringToFourcc   
  390. MMIO_CF_ENTRY_EXISTS    EQU    00000001H  ;  Add CGRP element   
  391. MMIO_FORCE_IDENTIFY_SS    EQU    00000001H  ;  Identify   
  392. MMIO_FORCE_IDENTIFY_FF    EQU    00000002H  ;  Identify   
  393. MMIO_NOTRANSLATE    EQU    00000000H  ;  Translation   
  394. MMIO_TRANSLATEDATA    EQU    00000001H  ;  Translation   
  395. MMIO_TRANSLATEHEADER    EQU    00000002H  ;  Translation   
  396. MMIO_DECOMPRESS    EQU    00000004H  ;  CODEC Decompress   
  397. MMIO_DEFAULTBUFFER    EQU    8192     ;  two pages under OS/2 2.0   
  398. MMIO_SEEK_IFRAME    EQU    00010000H   ;  Seek to nearest previous IFRAME   
  399. ;* Messages :
  400. ;  
  401. MMIOM_START    EQU    0E00H 
  402. MMIOM_END    EQU    0EFFH 
  403. MMIOM_GETCF    EQU    MMIOM_START + 1 
  404. MMIOM_GETCFENTRY    EQU    MMIOM_START + 2 
  405. MMIOM_CLOSE    EQU    MMIOM_START + 3 
  406. MMIOM_OPEN    EQU    MMIOM_START + 4 
  407. MMIOM_READ    EQU    MMIOM_START + 5 
  408. MMIOM_SEEK    EQU    MMIOM_START + 6 
  409. MMIOM_WRITE    EQU    MMIOM_START + 7 
  410. MMIOM_IDENTIFYFILE    EQU    MMIOM_START + 8 
  411. MMIOM_GETHEADER    EQU    MMIOM_START + 9 
  412. MMIOM_SETHEADER    EQU    MMIOM_START + 10 
  413. MMIOM_QUERYHEADERLENGTH    EQU    MMIOM_START + 11 
  414. MMIOM_GETFORMATNAME    EQU    MMIOM_START + 12 
  415. MMIOM_GETFORMATINFO    EQU    MMIOM_START + 13 
  416. MMIOM_SEEKBYTIME    EQU    MMIOM_START + 14 
  417. MMIOM_TEMPCHANGE    EQU    MMIOM_START + 15 
  418. MMIOM_BEGININSERT    EQU    MMIOM_START + 16 
  419. MMIOM_ENDINSERT    EQU    MMIOM_START + 17 
  420. MMIOM_SAVE    EQU    MMIOM_START + 18 
  421. MMIOM_SET    EQU    MMIOM_START + 19 
  422. MMIOM_COMPRESS    EQU    MMIOM_START + 20 
  423. MMIOM_DECOMPRESS    EQU    MMIOM_START + 21 
  424. MMIOM_MULTITRACKREAD    EQU    MMIOM_START + 22 
  425. MMIOM_MULTITRACKWRITE    EQU    MMIOM_START + 23 
  426. MMIOM_DELETE    EQU    MMIOM_START + 24 
  427. MMIOM_BEGINGROUP    EQU    MMIOM_START + 25 
  428. MMIOM_ENDGROUP    EQU    MMIOM_START + 26 
  429. MMIOM_UNDO    EQU    MMIOM_START + 27 
  430. MMIOM_REDO    EQU    MMIOM_START + 28 
  431. MMIOM_BEGINSTREAM    EQU    MMIOM_START + 29 
  432. MMIOM_ENDSTREAM    EQU    MMIOM_START + 30 
  433. MMIOM_USER    EQU    0F00H 
  434. MMIOM_USER_END    EQU    0FFFH 
  435. ;* Include error codes for MMIO only.
  436. ;  
  437. ifndef _MEERROR_H_
  438. INCL_MMIO_ERRORS    EQU    1
  439.  
  440. INCLUDE meerror.INC
  441. endif
  442. MMIO_SUCCESS    EQU    0 
  443. MMIO_WARNING    EQU    2 
  444. MMIO_ERROR    EQU    -1 
  445. MMIOERR_UNSUPPORTED_MESSAGE    EQU    -2 
  446. MMIO_CF_SUCCESS    EQU    0 
  447. MMIO_CF_FAILURE    EQU    1 
  448. FOURCC_RIFF    EQU    mmioFOURCC( 'R', 'I', 'F', 'F' )
  449. FOURCC_LIST    EQU    mmioFOURCC( 'L', 'I', 'S', 'T' )
  450. FOURCC_MEM    EQU    mmioFOURCC( 'M', 'E', 'M', ' ' )
  451. FOURCC_DOS    EQU    mmioFOURCC( 'D', 'O', 'S', ' ' )
  452. FOURCC_BND    EQU    mmioFOURCC( 'B', 'N', 'D', ' ' )
  453. FOURCC_FREE    EQU    mmioFOURCC( 'F', 'R', 'E', 'E' )
  454. FOURCC_DEL    EQU    mmioFOURCC( 'D', 'E', 'L', ' ' )
  455. FOURCC_CTOC    EQU    mmioFOURCC( 'C', 'T', 'O', 'C' )
  456. FOURCC_CGRP    EQU    mmioFOURCC( 'C', 'G', 'R', 'P' )
  457. FOURCC_CF    EQU    mmioFOURCC( 'C', 'F', ' ', ' ' )
  458. MMIO_NLS_CHARSET_INFO    EQU    8000    ;  RCDATA Name ID for NLS            
  459. MMIO_IOPROC_NAME_TABLE    EQU    8500    ;  RCDATA Name ID for string table   
  460. MMIO_CODEC_NAME_TABLE    EQU    9000    ;  RCDATA Name ID for Codec  table   
  461. ;* Numeric equivalents of fourcc's.  These are needed for the resource
  462. ;* compiler.
  463. ;  
  464. HEX_FOURCC_DOS    EQU    20534f44H 
  465. HEX_FOURCC_MEM    EQU    204d454dH 
  466. HEX_FOURCC_BND    EQU    20444e42H 
  467. HEX_FOURCC_CF    EQU    20204643H 
  468. ;* Country codes (CC), languages (LC), and dialects (DC).
  469. ;  
  470. MMIO_DEFAULT_CODE_PAGE    EQU    437 
  471. MMIO_CC_NONE    EQU    00Q 
  472. MMIO_CC_USA    EQU    01Q 
  473. MMIO_CC_CANADA    EQU    02Q 
  474. MMIO_CC_LATIN_AMERICA    EQU    03Q 
  475. MMIO_CC_GREECE    EQU    30Q 
  476. MMIO_CC_NETHERLANDS    EQU    31Q 
  477. MMIO_CC_BELGIUM    EQU    32Q 
  478. MMIO_CC_FRANCE    EQU    33Q 
  479. MMIO_CC_SPAIN    EQU    34Q 
  480. MMIO_CC_ITALY    EQU    3Q 9 
  481. MMIO_CC_SWITZERLAND    EQU    41Q 
  482. MMIO_CC_AUSTRIA    EQU    43Q 
  483. MMIO_CC_UNITED_KINGDOM    EQU    44Q 
  484. MMIO_CC_DENMARK    EQU    45Q 
  485. MMIO_CC_SWEDEN    EQU    46Q 
  486. MMIO_CC_NORWAY    EQU    47Q 
  487. MMIO_CC_WEST_GERMANY    EQU    4Q 9 
  488. MMIO_CC_MEXICO    EQU    52Q 
  489. MMIO_CC_BRAZIL    EQU    55Q 
  490. MMIO_CC_AUSTRALIA    EQU    61Q 
  491. MMIO_CC_NEW_ZEALAND    EQU    64Q 
  492. MMIO_CC_JAPAN    EQU    081 
  493. MMIO_CC_KOREA    EQU    082 
  494. MMIO_CC_CHINA    EQU    086 
  495. MMIO_CC_TAIWAN    EQU    088 
  496. MMIO_CC_TURKEY    EQU    090 
  497. MMIO_CC_PORTUGAL    EQU    351 
  498. MMIO_CC_LUXEMBOURG    EQU    352 
  499. MMIO_CC_ICELAND    EQU    354 
  500. MMIO_CC_FINLAND    EQU    358 
  501. MMIO_LC_NONE    EQU    0 
  502. MMIO_DC_NONE    EQU    0 
  503. MMIO_LC_ARABIC    EQU    1 
  504. MMIO_DC_ARABIC    EQU    1 
  505. MMIO_LC_BULGARIAN    EQU    2 
  506. MMIO_DC_BULGARIAN    EQU    1 
  507. MMIO_LC_CATALAN    EQU    3 
  508. MMIO_DC_CATALAN    EQU    1 
  509. MMIO_LC_TRADITIONAL_CHINESE    EQU    4 
  510. MMIO_DC_TRADITIONAL_CHINESE    EQU    1 
  511. MMIO_LC_SIMPLE_CHINESE    EQU    4 
  512. MMIO_DC_SIMPLE_CHINESE    EQU    2 
  513. MMIO_LC_CZECH    EQU    5 
  514. MMIO_DC_CZECH    EQU    1 
  515. MMIO_LC_DANISH    EQU    6 
  516. MMIO_DC_DANISH    EQU    1 
  517. MMIO_LC_GERMAN    EQU    7 
  518. MMIO_DC_GERMAN    EQU    1 
  519. MMIO_LC_SWISS_GERMAN    EQU    7 
  520. MMIO_DC_SWISS_GERMAN    EQU    2 
  521. MMIO_LC_GREEK    EQU    8 
  522. MMIO_DC_GREEK    EQU    1 
  523. MMIO_LC_US_ENGLISH    EQU    9 
  524. MMIO_DC_US_ENGLISH    EQU    1 
  525. MMIO_LC_UK_ENGLISH    EQU    9 
  526. MMIO_DC_UK_ENGLISH    EQU    2 
  527. MMIO_LC_SPANISH    EQU    10 
  528. MMIO_DC_SPANISH    EQU    1 
  529. MMIO_LC_SPANISH_MEXICAN    EQU    10 
  530. MMIO_DC_SPANISH_MEXICAN    EQU    2 
  531. MMIO_LC_FINNISH    EQU    11 
  532. MMIO_DC_FINNISH    EQU    1 
  533. MMIO_LC_FRENCH    EQU    12 
  534. MMIO_DC_FRENCH    EQU    1 
  535. MMIO_LC_BELGIAN_FRENCH    EQU    12 
  536. MMIO_DC_BELGIAN_FRENCH    EQU    2 
  537. MMIO_LC_CANADIAN_FRENCH    EQU    12 
  538. MMIO_DC_CANADIAN_FRENCH    EQU    3 
  539. MMIO_LC_SWISS_FRENCH    EQU    12 
  540. MMIO_DC_SWISS_FRENCH    EQU    4 
  541. MMIO_LC_HEBREW    EQU    13 
  542. MMIO_DC_HEBREW    EQU    1 
  543. MMIO_LC_HUNGARIAN    EQU    14 
  544. MMIO_DC_HUNGARIAN    EQU    1 
  545. MMIO_LC_ICELANDIC    EQU    15 
  546. MMIO_DC_ICELANDIC    EQU    1 
  547. MMIO_LC_ITALIAN    EQU    16 
  548. MMIO_DC_ITALIAN    EQU    1 
  549. MMIO_LC_SWISS_ITALIAN    EQU    16 
  550. MMIO_DC_SWISS_ITALIAN    EQU    2 
  551. MMIO_LC_JAPANESE    EQU    17 
  552. MMIO_DC_JAPANESE    EQU    1 
  553. MMIO_LC_KOREAN    EQU    18 
  554. MMIO_DC_KOREAN    EQU    1 
  555. MMIO_LC_DUTCH    EQU    19 
  556. MMIO_DC_DUTCH    EQU    1 
  557. MMIO_LC_BELGIAN_DUTCH    EQU    19 
  558. MMIO_DC_BELGIAN_DUTCH    EQU    2 
  559. MMIO_LC_NORWEGIAN_BOKMAL    EQU    20 
  560. MMIO_DC_NORWEGIAN_BOKMAL    EQU    1 
  561. MMIO_LC_NORWEGIAN_NYNORSK    EQU    20 
  562. MMIO_DC_NORWEGIAN_NYNORSK    EQU    2 
  563. MMIO_LC_POLISH    EQU    21 
  564. MMIO_DC_POLISH    EQU    1 
  565. MMIO_LC_BRAZILIAN_PORTUGUESE    EQU    22 
  566. MMIO_DC_BRAZILIAN_PORTUGUESE    EQU    1 
  567. MMIO_LC_PORTUGUESE    EQU    22 
  568. MMIO_DC_PORTUGUESE    EQU    2 
  569. MMIO_LC_RHAETO_ROMANIC    EQU    23 
  570. MMIO_DC_RHAETO_ROMANIC    EQU    1 
  571. MMIO_LC_ROMANIAN    EQU    24 
  572. MMIO_DC_ROMANIAN    EQU    1 
  573. MMIO_LC_RUSSIAN    EQU    25 
  574. MMIO_DC_RUSSIAN    EQU    1 
  575. MMIO_LC_SERBO_CROATIAN_LATIN    EQU    26 
  576. MMIO_DC_SERBO_CROATIAN_LATIN    EQU    1 
  577. MMIO_LC_SERBO_CROATIAN_CYRILLIC    EQU    26 
  578. MMIO_DC_SERBO_CROATIAN_CYRILLIC    EQU    2 
  579. MMIO_LC_SLOVAK    EQU    27 
  580. MMIO_DC_SLOVAK    EQU    1 
  581. MMIO_LC_ALBANIAN    EQU    28 
  582. MMIO_DC_ALBANIAN    EQU    1 
  583. MMIO_LC_SWEDISH    EQU    29 
  584. MMIO_DC_SWEDISH    EQU    1 
  585. MMIO_LC_THAI    EQU    30 
  586. MMIO_DC_THAI    EQU    1 
  587. MMIO_LC_TURKISH    EQU    31 
  588. MMIO_DC_TURKISH    EQU    1 
  589. MMIO_LC_URDU    EQU    32 
  590. MMIO_DC_URDU    EQU    1 
  591. MMIO_LC_BAHASA    EQU    33 
  592. MMIO_DC_BAHASA    EQU    1 
  593. ;* Base function prototypes:
  594. ;  
  595. ;* Compound File function prototypes:
  596. ;  
  597. ;* Conversion Utility function prototypes:
  598. ;  
  599. ;* MMPMMMIO.INI file migration utility
  600. ;  
  601. ;* MMIO CODEC APIs
  602. ;  
  603. ifdef INCL_MMIO_CODEC
  604. endif
  605. endif ;  _MMIO_H_   
  606.