zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

mmsyscom.h (4922B) - Raw


      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 
      7 #include <winapifamily.h>
      8 
      9 #ifndef _INC_MMSYSCOM
     10 #define _INC_MMSYSCOM
     11 
     12 #include <pshpack1.h>
     13 
     14 #ifdef __cplusplus
     15 extern "C" {
     16 #endif
     17 
     18 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
     19 
     20 #ifndef _WINMM_
     21 #define WINMMAPI DECLSPEC_IMPORT
     22 #else
     23 #define WINMMAPI
     24 #endif
     25 #define _loadds
     26 #define _huge
     27 
     28 #define MAXPNAMELEN 32
     29 #define MAXERRORLENGTH 256
     30 #define MAX_JOYSTICKOEMVXDNAME 260
     31 
     32 #ifndef MM_MICROSOFT
     33 #define MM_MICROSOFT 1
     34 #endif
     35 
     36 #ifndef MM_MIDI_MAPPER
     37 #define MM_MIDI_MAPPER 1
     38 #define MM_WAVE_MAPPER 2
     39 #define MM_SNDBLST_MIDIOUT 3
     40 #define MM_SNDBLST_MIDIIN 4
     41 #define MM_SNDBLST_SYNTH 5
     42 #define MM_SNDBLST_WAVEOUT 6
     43 #define MM_SNDBLST_WAVEIN 7
     44 #define MM_ADLIB 9
     45 #define MM_MPU401_MIDIOUT 10
     46 #define MM_MPU401_MIDIIN 11
     47 #define MM_PC_JOYSTICK 12
     48 #endif
     49 
     50 typedef UINT MMVERSION;
     51 
     52 typedef UINT MMRESULT;
     53 #define _MMRESULT_
     54 typedef UINT *LPUINT;
     55 
     56 typedef struct mmtime_tag {
     57   UINT wType;
     58   union {
     59     DWORD ms;
     60     DWORD sample;
     61     DWORD cb;
     62     DWORD ticks;
     63     struct {
     64       BYTE hour;
     65       BYTE min;
     66       BYTE sec;
     67       BYTE frame;
     68       BYTE fps;
     69       BYTE dummy;
     70       BYTE pad[2];
     71     } smpte;
     72     struct {
     73       DWORD songptrpos;
     74     } midi;
     75   } u;
     76 } MMTIME, *PMMTIME, *NPMMTIME, *LPMMTIME;
     77 
     78 #define TIME_MS 0x0001
     79 #define TIME_SAMPLES 0x0002
     80 #define TIME_BYTES 0x0004
     81 #define TIME_SMPTE 0x0008
     82 #define TIME_MIDI 0x0010
     83 #define TIME_TICKS 0x0020
     84 
     85 #define MAKEFOURCC(ch0, ch1, ch2, ch3) ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
     86 
     87 #define MM_JOY1MOVE 0x3A0
     88 #define MM_JOY2MOVE 0x3A1
     89 #define MM_JOY1ZMOVE 0x3A2
     90 #define MM_JOY2ZMOVE 0x3A3
     91 #define MM_JOY1BUTTONDOWN 0x3B5
     92 #define MM_JOY2BUTTONDOWN 0x3B6
     93 #define MM_JOY1BUTTONUP 0x3B7
     94 #define MM_JOY2BUTTONUP 0x3B8
     95 
     96 #define MM_MCINOTIFY 0x3B9
     97 
     98 #define MM_WOM_OPEN 0x3BB
     99 #define MM_WOM_CLOSE 0x3BC
    100 #define MM_WOM_DONE 0x3BD
    101 
    102 #define MM_WIM_OPEN 0x3BE
    103 #define MM_WIM_CLOSE 0x3BF
    104 #define MM_WIM_DATA 0x3C0
    105 
    106 #define MM_MIM_OPEN 0x3C1
    107 #define MM_MIM_CLOSE 0x3C2
    108 #define MM_MIM_DATA 0x3C3
    109 #define MM_MIM_LONGDATA 0x3C4
    110 #define MM_MIM_ERROR 0x3C5
    111 #define MM_MIM_LONGERROR 0x3C6
    112 
    113 #define MM_MOM_OPEN 0x3C7
    114 #define MM_MOM_CLOSE 0x3C8
    115 #define MM_MOM_DONE 0x3C9
    116 
    117 #ifndef MM_DRVM_OPEN
    118 #define MM_DRVM_OPEN 0x3D0
    119 #define MM_DRVM_CLOSE 0x3D1
    120 #define MM_DRVM_DATA 0x3D2
    121 #define MM_DRVM_ERROR 0x3D3
    122 #endif
    123 
    124 #define MM_STREAM_OPEN 0x3D4
    125 #define MM_STREAM_CLOSE 0x3D5
    126 #define MM_STREAM_DONE 0x3D6
    127 #define MM_STREAM_ERROR 0x3D7
    128 
    129 #define MM_MOM_POSITIONCB 0x3CA
    130 
    131 #ifndef MM_MCISIGNAL
    132 #define MM_MCISIGNAL 0x3CB
    133 #endif
    134 
    135 #define MM_MIM_MOREDATA 0x3CC
    136 
    137 #define MM_MIXM_LINE_CHANGE 0x3D0
    138 #define MM_MIXM_CONTROL_CHANGE 0x3D1
    139 
    140 #define MMSYSERR_BASE 0
    141 #define WAVERR_BASE 32
    142 #define MIDIERR_BASE 64
    143 #define TIMERR_BASE 96
    144 #define JOYERR_BASE 160
    145 #define MCIERR_BASE 256
    146 #define MIXERR_BASE 1024
    147 
    148 #define MCI_STRING_OFFSET 512
    149 #define MCI_VD_OFFSET 1024
    150 #define MCI_CD_OFFSET 1088
    151 #define MCI_WAVE_OFFSET 1152
    152 #define MCI_SEQ_OFFSET 1216
    153 
    154 #define MMSYSERR_NOERROR 0
    155 #define MMSYSERR_ERROR (MMSYSERR_BASE + 1)
    156 #define MMSYSERR_BADDEVICEID (MMSYSERR_BASE + 2)
    157 #define MMSYSERR_NOTENABLED (MMSYSERR_BASE + 3)
    158 #define MMSYSERR_ALLOCATED (MMSYSERR_BASE + 4)
    159 #define MMSYSERR_INVALHANDLE (MMSYSERR_BASE + 5)
    160 #define MMSYSERR_NODRIVER (MMSYSERR_BASE + 6)
    161 #define MMSYSERR_NOMEM (MMSYSERR_BASE + 7)
    162 #define MMSYSERR_NOTSUPPORTED (MMSYSERR_BASE + 8)
    163 #define MMSYSERR_BADERRNUM (MMSYSERR_BASE + 9)
    164 #define MMSYSERR_INVALFLAG (MMSYSERR_BASE + 10)
    165 #define MMSYSERR_INVALPARAM (MMSYSERR_BASE + 11)
    166 #define MMSYSERR_HANDLEBUSY (MMSYSERR_BASE + 12)
    167 #define MMSYSERR_INVALIDALIAS (MMSYSERR_BASE + 13)
    168 #define MMSYSERR_BADDB (MMSYSERR_BASE + 14)
    169 #define MMSYSERR_KEYNOTFOUND (MMSYSERR_BASE + 15)
    170 #define MMSYSERR_READERROR (MMSYSERR_BASE + 16)
    171 #define MMSYSERR_WRITEERROR (MMSYSERR_BASE + 17)
    172 #define MMSYSERR_DELETEERROR (MMSYSERR_BASE + 18)
    173 #define MMSYSERR_VALNOTFOUND (MMSYSERR_BASE + 19)
    174 #define MMSYSERR_NODRIVERCB (MMSYSERR_BASE + 20)
    175 #define MMSYSERR_MOREDATA (MMSYSERR_BASE + 21)
    176 #define MMSYSERR_LASTERROR (MMSYSERR_BASE + 21)
    177 
    178 DECLARE_HANDLE(HDRVR);
    179 
    180 #define CALLBACK_TYPEMASK __MSABI_LONG(0x00070000)
    181 #define CALLBACK_NULL __MSABI_LONG(0x00000000)
    182 #define CALLBACK_WINDOW __MSABI_LONG(0x00010000)
    183 #define CALLBACK_TASK __MSABI_LONG(0x00020000)
    184 #define CALLBACK_FUNCTION __MSABI_LONG(0x00030000)
    185 #define CALLBACK_THREAD (CALLBACK_TASK)
    186 #define CALLBACK_EVENT __MSABI_LONG(0x00050000)
    187 typedef void (CALLBACK DRVCALLBACK)(HDRVR hdrvr, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2);
    188 
    189 typedef DRVCALLBACK *LPDRVCALLBACK;
    190 typedef DRVCALLBACK *PDRVCALLBACK;
    191 
    192 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
    193 
    194 #ifdef __cplusplus
    195 }
    196 #endif
    197 
    198 #include <poppack.h>
    199 
    200 #endif /* _INC_MMSYSCOM */