| ... | ... | @@ -0,0 +1,73 @@ |
| 1 | // SPDX-License-Identifier: MIT |
| 2 | // Copyright (c) 2015-2021 Zig Contributors |
| 3 | // This file is part of [zig](https://ziglang.org/), which is MIT licensed. |
| 4 | // The MIT license requires this copyright notice to be included in all copies |
| 5 | // and substantial portions of the software. |
| 6 | usingnamespace @import("bits.zig"); |
| 7 | |
| 8 | pub const MMRESULT = UINT; |
| 9 | pub const MMSYSERR_BASE = 0; |
| 10 | pub const TIMERR_BASE = 96; |
| 11 | pub const MMSYSERR_ERROR = MMSYSERR_BASE + 1; |
| 12 | pub const MMSYSERR_BADDEVICEID = MMSYSERR_BASE + 2; |
| 13 | pub const MMSYSERR_NOTENABLED = MMSYSERR_BASE + 3; |
| 14 | pub const MMSYSERR_ALLOCATED = MMSYSERR_BASE + 4; |
| 15 | pub const MMSYSERR_INVALHANDLE = MMSYSERR_BASE + 5; |
| 16 | pub const MMSYSERR_NODRIVER = MMSYSERR_BASE + 6; |
| 17 | pub const MMSYSERR_NOMEM = MMSYSERR_BASE + 7; |
| 18 | pub const MMSYSERR_NOTSUPPORTED = MMSYSERR_BASE + 8; |
| 19 | pub const MMSYSERR_BADERRNUM = MMSYSERR_BASE + 9; |
| 20 | pub const MMSYSERR_INVALFLAG = MMSYSERR_BASE + 10; |
| 21 | pub const MMSYSERR_INVALPARAM = MMSYSERR_BASE + 11; |
| 22 | pub const MMSYSERR_HANDLEBUSY = MMSYSERR_BASE + 12; |
| 23 | pub const MMSYSERR_INVALIDALIAS = MMSYSERR_BASE + 13; |
| 24 | pub const MMSYSERR_BADDB = MMSYSERR_BASE + 14; |
| 25 | pub const MMSYSERR_KEYNOTFOUND = MMSYSERR_BASE + 15; |
| 26 | pub const MMSYSERR_READERROR = MMSYSERR_BASE + 16; |
| 27 | pub const MMSYSERR_WRITEERROR = MMSYSERR_BASE + 17; |
| 28 | pub const MMSYSERR_DELETEERROR = MMSYSERR_BASE + 18; |
| 29 | pub const MMSYSERR_VALNOTFOUND = MMSYSERR_BASE + 19; |
| 30 | pub const MMSYSERR_NODRIVERCB = MMSYSERR_BASE + 20; |
| 31 | pub const MMSYSERR_MOREDATA = MMSYSERR_BASE + 21; |
| 32 | pub const MMSYSERR_LASTERROR = MMSYSERR_BASE + 21; |
| 33 | |
| 34 | pub const MMTIME = extern struct { |
| 35 | wType: UINT, |
| 36 | u: extern union { |
| 37 | ms: DWORD, |
| 38 | sample: DWORD, |
| 39 | cb: DWORD, |
| 40 | ticks: DWORD, |
| 41 | smpte: extern struct { |
| 42 | hour: BYTE, |
| 43 | min: BYTE, |
| 44 | sec: BYTE, |
| 45 | frame: BYTE, |
| 46 | fps: BYTE, |
| 47 | dummy: BYTE, |
| 48 | pad: [2]BYTE, |
| 49 | }, |
| 50 | midi: extern struct { |
| 51 | songptrpos: DWORD, |
| 52 | }, |
| 53 | }, |
| 54 | }; |
| 55 | pub const LPMMTIME = *MMTIME; |
| 56 | pub const TIME_MS = 0x0001; |
| 57 | pub const TIME_SAMPLES = 0x0002; |
| 58 | pub const TIME_BYTES = 0x0004; |
| 59 | pub const TIME_SMPTE = 0x0008; |
| 60 | pub const TIME_MIDI = 0x0010; |
| 61 | pub const TIME_TICKS = 0x0020; |
| 62 | |
| 63 | // timeapi.h |
| 64 | pub const TIMECAPS = extern struct { wPeriodMin: UINT, wPeriodMax: UINT }; |
| 65 | pub const LPTIMECAPS = *TIMECAPS; |
| 66 | pub const TIMERR_NOERROR = 0; |
| 67 | pub const TIMERR_NOCANDO = TIMERR_BASE + 1; |
| 68 | pub const TIMERR_STRUCT = TIMERR_BASE + 33; |
| 69 | pub extern "winmm" fn timeBeginPeriod(uPeriod: UINT) callconv(WINAPI) MMRESULT; |
| 70 | pub extern "winmm" fn timeEndPeriod(uPeriod: UINT) callconv(WINAPI) MMRESULT; |
| 71 | pub extern "winmm" fn timeGetDevCaps(ptc: LPTIMECAPS, cbtc: UINT) callconv(WINAPI) MMRESULT; |
| 72 | pub extern "winmm" fn timeGetSystemTime(pmmt: LPMMTIME, cbmmt: UINT) callconv(WINAPI) MMRESULT; |
| 73 | pub extern "winmm" fn timeGetTime() callconv(WINAPI) DWORD; |