comparison fuhtark_test/include/winapi/vcr.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef __VCR_H__
7 #define __VCR_H__
8
9 #define MCI_VCR_OFFSET 1280
10
11 #define MCI_LIST 0x0878
12 #define MCI_SETAUDIO 0x0873
13 #define MCI_SETVIDEO 0x0876
14 #define MCI_SIGNAL 0x0875
15
16 #define MCI_MARK (MCI_USER_MESSAGES + 0)
17 #define MCI_INDEX (MCI_USER_MESSAGES + 1)
18 #define MCI_SETTUNER (MCI_USER_MESSAGES + 2)
19 #define MCI_SETVCR (MCI_USER_MESSAGES + 3)
20 #define MCI_SETTIMECODE (MCI_USER_MESSAGES + 4)
21
22 #define MCI_TEST 0x00000020L
23
24 #define MCI_VCR_GETDEVCAPS_CAN_DETECT_LENGTH 0x00004001L
25 #define MCI_VCR_GETDEVCAPS_SEEK_ACCURACY 0x00004002L
26 #define MCI_VCR_GETDEVCAPS_HAS_CLOCK 0x00004003L
27 #define MCI_VCR_GETDEVCAPS_CAN_REVERSE 0x00004004L
28 #define MCI_VCR_GETDEVCAPS_NUMBER_OF_MARKS 0x00004005L
29 #define MCI_VCR_GETDEVCAPS_CAN_TEST 0x00004006L
30 #define MCI_VCR_GETDEVCAPS_CAN_PREROLL 0x00004007L
31 #define MCI_VCR_GETDEVCAPS_CAN_PREVIEW 0x00004008L
32 #define MCI_VCR_GETDEVCAPS_CAN_MONITOR_SOURCES 0x00004009L
33 #define MCI_VCR_GETDEVCAPS_HAS_TIMECODE 0x0000400AL
34 #define MCI_VCR_GETDEVCAPS_CAN_FREEZE 0x0000401BL
35 #define MCI_VCR_GETDEVCAPS_CLOCK_INCREMENT_RATE 0x0000401CL
36
37 #define MCI_VCR_INFO_VERSION 0x00010000L
38
39 #define MCI_VCR_PLAY_REVERSE 0x00010000L
40 #define MCI_VCR_PLAY_AT 0x00020000L
41 #define MCI_VCR_PLAY_SCAN 0x00040000L
42
43 #define MCI_VCR_RECORD_INITIALIZE 0x00010000L
44 #define MCI_VCR_RECORD_AT 0x00020000L
45 #define MCI_VCR_RECORD_PREVIEW 0x00040000L
46
47 #define MCI_VCR_CUE_INPUT 0x00010000L
48 #define MCI_VCR_CUE_OUTPUT 0x00020000L
49 #define MCI_VCR_CUE_PREROLL 0x00040000L
50 #define MCI_VCR_CUE_REVERSE 0x00080000L
51
52 #define MCI_VCR_SEEK_REVERSE 0x00010000L
53 #define MCI_VCR_SEEK_MARK 0x00020000L
54 #define MCI_VCR_SEEK_AT 0x00040000L
55
56 #define MCI_VCR_SETTUNER_CHANNEL 0x00010000L
57 #define MCI_VCR_SETTUNER_CHANNEL_UP 0x00020000L
58 #define MCI_VCR_SETTUNER_CHANNEL_DOWN 0x00040000L
59 #define MCI_VCR_SETTUNER_CHANNEL_SEEK_UP 0x00080000L
60 #define MCI_VCR_SETTUNER_CHANNEL_SEEK_DOWN 0x00100000L
61 #define MCI_VCR_SETTUNER_NUMBER 0x00200000L
62
63 #define MCI_VCR_SET_TIME_MODE 0x00010000L
64 #define MCI_VCR_SET_POWER 0x00020000L
65 #define MCI_VCR_SET_RECORD_FORMAT 0x00040000L
66 #define MCI_VCR_SET_COUNTER_FORMAT 0x00080000L
67 #define MCI_VCR_SET_INDEX 0x00100000L
68 #define MCI_VCR_SET_ASSEMBLE_RECORD 0x00200000L
69 #define MCI_VCR_SET_TRACKING 0x00400000L
70 #define MCI_VCR_SET_SPEED 0x00800000L
71 #define MCI_VCR_SET_TAPE_LENGTH 0x01000000L
72 #define MCI_VCR_SET_COUNTER_VALUE 0x02000000L
73 #define MCI_VCR_SET_CLOCK 0x04000000L
74 #define MCI_VCR_SET_PAUSE_TIMEOUT 0x08000000L
75 #define MCI_VCR_SET_PREROLL_DURATION 0x10000000L
76 #define MCI_VCR_SET_POSTROLL_DURATION 0x20000000L
77
78 #define MCI_VCR_SETTIMECODE_RECORD 0x00010000L
79
80 #define MCI_VCR_STATUS_FRAME_RATE 0x00004001L
81 #define MCI_VCR_STATUS_SPEED 0x00004002L
82 #define MCI_VCR_STATUS_MEDIA_TYPE 0x00004003L
83 #define MCI_VCR_STATUS_RECORD_FORMAT 0x00004004L
84 #define MCI_VCR_STATUS_PLAY_FORMAT 0x00004005L
85 #define MCI_VCR_STATUS_AUDIO_SOURCE 0x00004006L
86 #define MCI_VCR_STATUS_AUDIO_SOURCE_NUMBER 0x00004007L
87 #define MCI_VCR_STATUS_VIDEO_SOURCE 0x00004008L
88 #define MCI_VCR_STATUS_VIDEO_SOURCE_NUMBER 0x00004009L
89 #define MCI_VCR_STATUS_AUDIO_MONITOR 0x0000400AL
90 #define MCI_VCR_STATUS_AUDIO_MONITOR_NUMBER 0x0000400BL
91 #define MCI_VCR_STATUS_VIDEO_MONITOR 0x0000400CL
92 #define MCI_VCR_STATUS_VIDEO_MONITOR_NUMBER 0x0000400DL
93 #define MCI_VCR_STATUS_INDEX_ON 0x0000400EL
94 #define MCI_VCR_STATUS_INDEX 0x0000400FL
95 #define MCI_VCR_STATUS_COUNTER_FORMAT 0x00004010L
96 #define MCI_VCR_STATUS_COUNTER_RESOLUTION 0x00004011L
97 #define MCI_VCR_STATUS_TIMECODE_TYPE 0x00004012L
98 #define MCI_VCR_STATUS_COUNTER_VALUE 0x00004013L
99 #define MCI_VCR_STATUS_TUNER_CHANNEL 0x00004014L
100 #define MCI_VCR_STATUS_WRITE_PROTECTED 0x00004015L
101 #define MCI_VCR_STATUS_TIMECODE_RECORD 0x00004016L
102 #define MCI_VCR_STATUS_VIDEO_RECORD 0x00004017L
103 #define MCI_VCR_STATUS_AUDIO_RECORD 0x00004018L
104 #define MCI_VCR_STATUS_TIME_TYPE 0x00004019L
105 #define MCI_VCR_STATUS_TIME_MODE 0x0000401AL
106 #define MCI_VCR_STATUS_POWER_ON 0x0000401BL
107 #define MCI_VCR_STATUS_CLOCK 0x0000401CL
108 #define MCI_VCR_STATUS_ASSEMBLE_RECORD 0x0000401DL
109 #define MCI_VCR_STATUS_TIMECODE_PRESENT 0x0000401EL
110 #define MCI_VCR_STATUS_NUMBER_OF_VIDEO_TRACKS 0x0000401FL
111 #define MCI_VCR_STATUS_NUMBER_OF_AUDIO_TRACKS 0x00004020L
112 #define MCI_VCR_STATUS_CLOCK_ID 0x00004021L
113 #define MCI_VCR_STATUS_PAUSE_TIMEOUT 0x00004022L
114 #define MCI_VCR_STATUS_PREROLL_DURATION 0x00004023L
115 #define MCI_VCR_STATUS_POSTROLL_DURATION 0x00004024L
116 #define MCI_VCR_STATUS_VIDEO 0x00004025L
117 #define MCI_VCR_STATUS_AUDIO 0x00004026L
118
119 #define MCI_VCR_STATUS_NUMBER 0x00080000L
120
121 #define MCI_VCR_ESCAPE_STRING 0x00000100L
122
123 #define MCI_VCR_LIST_VIDEO_SOURCE 0x00010000L
124 #define MCI_VCR_LIST_AUDIO_SOURCE 0x00020000L
125 #define MCI_VCR_LIST_COUNT 0x00040000L
126 #define MCI_VCR_LIST_NUMBER 0x00080000L
127
128 #define MCI_VCR_MARK_WRITE 0x00010000L
129 #define MCI_VCR_MARK_ERASE 0x00020000L
130
131 #define MCI_VCR_SETAUDIO_RECORD 0x00010000L
132 #define MCI_VCR_SETAUDIO_SOURCE 0x00020000L
133 #define MCI_VCR_SETAUDIO_MONITOR 0x00040000L
134 #define MCI_VCR_SETAUDIO_TO 0x00200000L
135 #define MCI_VCR_SETAUDIO_NUMBER 0x00400000L
136
137 #define MCI_VCR_SETVIDEO_RECORD 0x00010000L
138 #define MCI_VCR_SETVIDEO_SOURCE 0x00020000L
139 #define MCI_VCR_SETVIDEO_MONITOR 0x00040000L
140 #define MCI_VCR_SETVIDEO_TO 0x00100000L
141 #define MCI_VCR_SETVIDEO_NUMBER 0x00200000L
142
143 #define SEND_VCRSIGNAL(dwFlags,dwCallback,hDriver,wDeviceID,dwUser,dwPos) DriverCallback((dwCallback),DCB_WINDOW,(HANDLE)(wDeviceID),MM_MCISIGNAL,hDriver,((dwFlags) & MCI_VCR_SIGNAL_POSITION) ? (dwPos):(dwUser),((dwFlags) & MCI_VCR_SIGNAL_POSITION) ? (dwUser):(dwPos))
144
145 #define MM_MCISIGNAL 0x3CB
146
147 #define MCI_VCR_SIGNAL_AT 0x00010000L
148 #define MCI_VCR_SIGNAL_EVERY 0x00020000L
149 #define MCI_VCR_SIGNAL_USERVAL 0x00040000L
150 #define MCI_VCR_SIGNAL_CANCEL 0x00080000L
151 #define MCI_VCR_SIGNAL_POSITION 0x00100000L
152
153 #define MCI_VCR_STEP_FRAMES 0x00010000L
154 #define MCI_VCR_STEP_REVERSE 0x00020000L
155
156 #define MCI_VCR_FREEZE_INPUT 0x00010000L
157 #define MCI_VCR_FREEZE_OUTPUT 0x00020000L
158 #define MCI_VCR_FREEZE_FIELD 0x00040000L
159 #define MCI_VCR_FREEZE_FRAME 0x00080000L
160
161 #define MCI_VCR_UNFREEZE_INPUT 0x00010000L
162 #define MCI_VCR_UNFREEZE_OUTPUT 0x00020000L
163
164 #define MCI_VCR_MEDIA_8MM (MCI_VCR_OFFSET + 1)
165 #define MCI_VCR_MEDIA_HI8 (MCI_VCR_OFFSET + 2)
166 #define MCI_VCR_MEDIA_VHS (MCI_VCR_OFFSET + 3)
167 #define MCI_VCR_MEDIA_SVHS (MCI_VCR_OFFSET + 4)
168 #define MCI_VCR_MEDIA_BETA (MCI_VCR_OFFSET + 5)
169 #define MCI_VCR_MEDIA_EDBETA (MCI_VCR_OFFSET + 6)
170 #define MCI_VCR_MEDIA_OTHER (MCI_VCR_OFFSET + 7)
171
172 #define MCI_VCR_FORMAT_SP (MCI_VCR_OFFSET + 8)
173 #define MCI_VCR_FORMAT_LP (MCI_VCR_OFFSET + 9)
174 #define MCI_VCR_FORMAT_EP (MCI_VCR_OFFSET + 10)
175 #define MCI_VCR_FORMAT_OTHER (MCI_VCR_OFFSET + 11)
176
177 #define MCI_VCR_TIME_TIMECODE (MCI_VCR_OFFSET + 12)
178 #define MCI_VCR_TIME_COUNTER (MCI_VCR_OFFSET + 13)
179 #define MCI_VCR_TIME_DETECT (MCI_VCR_OFFSET + 14)
180
181 #define MCI_VCR_SRC_TYPE_TUNER (MCI_VCR_OFFSET + 15)
182 #define MCI_VCR_SRC_TYPE_LINE (MCI_VCR_OFFSET + 16)
183 #define MCI_VCR_SRC_TYPE_SVIDEO (MCI_VCR_OFFSET + 17)
184 #define MCI_VCR_SRC_TYPE_RGB (MCI_VCR_OFFSET + 18)
185 #define MCI_VCR_SRC_TYPE_AUX (MCI_VCR_OFFSET + 19)
186 #define MCI_VCR_SRC_TYPE_GENERIC (MCI_VCR_OFFSET + 20)
187 #define MCI_VCR_SRC_TYPE_MUTE (MCI_VCR_OFFSET + 21)
188 #define MCI_VCR_SRC_TYPE_OUTPUT (MCI_VCR_OFFSET + 22)
189
190 #define MCI_VCR_INDEX_TIMECODE (MCI_VCR_OFFSET + 23)
191 #define MCI_VCR_INDEX_COUNTER (MCI_VCR_OFFSET + 24)
192 #define MCI_VCR_INDEX_DATE (MCI_VCR_OFFSET + 25)
193 #define MCI_VCR_INDEX_TIME (MCI_VCR_OFFSET + 26)
194
195 #define MCI_VCR_COUNTER_RES_SECONDS (MCI_VCR_OFFSET + 27)
196 #define MCI_VCR_COUNTER_RES_FRAMES (MCI_VCR_OFFSET + 28)
197
198 #define MCI_VCR_TIMECODE_TYPE_SMPTE (MCI_VCR_OFFSET + 29)
199 #define MCI_VCR_TIMECODE_TYPE_SMPTE_DROP (MCI_VCR_OFFSET + 30)
200 #define MCI_VCR_TIMECODE_TYPE_OTHER (MCI_VCR_OFFSET + 31)
201 #define MCI_VCR_TIMECODE_TYPE_NONE (MCI_VCR_OFFSET + 32)
202
203 #define MCI_VCR_PLUS (MCI_VCR_OFFSET + 33)
204 #define MCI_VCR_MINUS (MCI_VCR_OFFSET + 34)
205 #define MCI_VCR_RESET (MCI_VCR_OFFSET + 35)
206
207 #ifndef RC_INVOKED
208
209 typedef struct tagMCI_VCR_SEEK_PARMS {
210 DWORD dwCallback;
211 DWORD dwTo;
212 DWORD dwMark;
213 DWORD dwAt;
214 } MCI_VCR_SEEK_PARMS;
215 typedef MCI_VCR_SEEK_PARMS *LPMCI_VCR_SEEK_PARMS;
216
217 typedef struct tagMCI_VCR_SET_PARMS {
218 DWORD dwCallback;
219 DWORD dwTimeFormat;
220 DWORD dwAudio;
221 DWORD dwTimeMode;
222 DWORD dwRecordFormat;
223 DWORD dwCounterFormat;
224 DWORD dwIndex;
225 DWORD dwTracking;
226 DWORD dwSpeed;
227 DWORD dwLength;
228 DWORD dwCounter;
229 DWORD dwClock;
230 DWORD dwPauseTimeout;
231 DWORD dwPrerollDuration;
232 DWORD dwPostrollDuration;
233 } MCI_VCR_SET_PARMS;
234 typedef MCI_VCR_SET_PARMS *LPMCI_VCR_SET_PARMS;
235
236 typedef struct tagMCI_VCR_SETTUNER_PARMS {
237 DWORD dwCallback;
238 DWORD dwChannel;
239 DWORD dwNumber;
240 } MCI_VCR_SETTUNER_PARMS;
241 typedef MCI_VCR_SETTUNER_PARMS *LPMCI_VCR_SETTUNER_PARMS;
242
243 typedef struct tagMCI_VCR_ESCAPE_PARMS {
244 DWORD dwCallback;
245 LPCSTR lpstrCommand;
246 } MCI_VCR_ESCAPE_PARMS;
247 typedef MCI_VCR_ESCAPE_PARMS *LPMCI_VCR_ESCAPE_PARMS;
248
249 typedef struct tagMCI_VCR_LIST_PARMS {
250 DWORD dwCallback;
251 DWORD dwReturn;
252 DWORD dwNumber;
253 } MCI_VCR_LIST_PARMS;
254 typedef MCI_VCR_LIST_PARMS *LPMCI_VCR_LIST_PARMS;
255
256 typedef struct tagMCI_VCR_RECORD_PARMS {
257 DWORD dwCallback;
258 DWORD dwFrom;
259 DWORD dwTo;
260 DWORD dwAt;
261 } MCI_VCR_RECORD_PARMS;
262 typedef MCI_VCR_RECORD_PARMS *LPMCI_VCR_RECORD_PARMS;
263
264 typedef struct tagMCI_VCR_PLAY_PARMS {
265 DWORD dwCallback;
266 DWORD dwFrom;
267 DWORD dwTo;
268 DWORD dwAt;
269 } MCI_VCR_PLAY_PARMS;
270 typedef MCI_VCR_PLAY_PARMS *LPMCI_VCR_PLAY_PARMS;
271
272 typedef struct tagMCI_VCR_SETAUDIO_PARMS {
273 DWORD dwCallback;
274 DWORD dwTrack;
275 DWORD dwTo;
276 DWORD dwNumber;
277 } MCI_VCR_SETAUDIO_PARMS;
278 typedef MCI_VCR_SETAUDIO_PARMS *LPMCI_VCR_SETAUDIO_PARMS;
279
280 typedef struct tagMCI_VCR_SIGNAL_PARMS {
281 DWORD dwCallback;
282 DWORD dwPosition;
283 DWORD dwPeriod;
284 DWORD dwUserParm;
285 } MCI_VCR_SIGNAL_PARMS;
286 typedef MCI_VCR_SIGNAL_PARMS *LPMCI_VCR_SIGNAL_PARMS;
287
288 typedef struct tagMCI_VCR_STATUS_PARMS {
289 DWORD dwCallback;
290 DWORD dwReturn;
291 DWORD dwItem;
292 DWORD dwTrack;
293 DWORD dwNumber;
294 } MCI_VCR_STATUS_PARMS;
295 typedef MCI_VCR_STATUS_PARMS *LPMCI_VCR_STATUS_PARMS;
296
297 typedef struct tagMCI_VCR_SETVIDEO_PARMS {
298 DWORD dwCallback;
299 DWORD dwTrack;
300 DWORD dwTo;
301 DWORD dwNumber;
302 } MCI_VCR_SETVIDEO_PARMS;
303 typedef MCI_VCR_SETVIDEO_PARMS *LPMCI_VCR_SETVIDEO_PARMS;
304
305 typedef struct tagMCI_VCR_STEP_PARMS {
306 DWORD dwCallback;
307 DWORD dwFrames;
308 } MCI_VCR_STEP_PARMS;
309 typedef MCI_VCR_STEP_PARMS *LPMCI_VCR_STEP_PARMS;
310
311 typedef struct tagMCI_VCR_CUE_PARMS {
312 DWORD dwCallback;
313 DWORD dwFrom;
314 DWORD dwTo;
315 } MCI_VCR_CUE_PARMS;
316 typedef MCI_VCR_CUE_PARMS *LPMCI_VCR_CUE_PARMS;
317 #endif
318
319 #define MCIERR_VCR_CANNOT_OPEN_COMM (MCIERR_CUSTOM_DRIVER_BASE + 1)
320 #define MCIERR_VCR_CANNOT_WRITE_COMM (MCIERR_CUSTOM_DRIVER_BASE + 2)
321 #define MCIERR_VCR_READ_TIMEOUT (MCIERR_CUSTOM_DRIVER_BASE + 3)
322 #define MCIERR_VCR_COMMAND_BUFFER_FULL (MCIERR_CUSTOM_DRIVER_BASE + 4)
323 #define MCIERR_VCR_COMMAND_CANCELLED (MCIERR_CUSTOM_DRIVER_BASE + 5)
324 #define MCIERR_VCR_POWER_OFF (MCIERR_CUSTOM_DRIVER_BASE + 6)
325 #define MCIERR_VCR_COMMAND_FAILED (MCIERR_CUSTOM_DRIVER_BASE + 7)
326 #define MCIERR_VCR_SEARCH (MCIERR_CUSTOM_DRIVER_BASE + 8)
327 #define MCIERR_VCR_CONDITION (MCIERR_CUSTOM_DRIVER_BASE + 9)
328 #define MCIERR_VCR_CAMERA_MODE (MCIERR_CUSTOM_DRIVER_BASE + 10)
329 #define MCIERR_VCR_VCR_MODE (MCIERR_CUSTOM_DRIVER_BASE + 11)
330 #define MCIERR_VCR_COUNTER_TYPE (MCIERR_CUSTOM_DRIVER_BASE + 12)
331 #define MCIERR_VCR_TUNER (MCIERR_CUSTOM_DRIVER_BASE + 13)
332 #define MCIERR_VCR_EMERGENCY_STOP (MCIERR_CUSTOM_DRIVER_BASE + 14)
333 #define MCIERR_VCR_MEDIA_UNMOUNTED (MCIERR_CUSTOM_DRIVER_BASE + 15)
334 #define MCIERR_VCR_REGISTER (MCIERR_CUSTOM_DRIVER_BASE + 16)
335 #define MCIERR_VCR_TRACK_FAILURE (MCIERR_CUSTOM_DRIVER_BASE + 17)
336 #define MCIERR_VCR_CUE_FAILED_FLAGS (MCIERR_CUSTOM_DRIVER_BASE + 18)
337 #define MCIERR_VCR_ISWRITEPROTECTED (MCIERR_CUSTOM_DRIVER_BASE + 19)
338 #endif