scroll mode for very long start menus
[reactos.git] / reactos / apps / tests / kernel32 / generated.c
1 /* File generated automatically from tools/winapi/test.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
3
4 /*
5 * Unit tests for data structure packing
6 */
7
8 #define WINVER 0x0501
9 #define _WIN32_IE 0x0501
10 #define _WIN32_WINNT 0x0501
11
12 #define WINE_NOWINSOCK
13
14 #include "windows.h"
15
16 #include "wine/test.h"
17
18 /***********************************************************************
19 * Compability macros
20 */
21
22 #define DWORD_PTR UINT_PTR
23 #define LONG_PTR INT_PTR
24 #define ULONG_PTR UINT_PTR
25
26 /***********************************************************************
27 * Windows API extension
28 */
29
30 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
31 # define FIELD_ALIGNMENT(type, field) __alignof(((type*)0)->field)
32 #elif defined(__GNUC__)
33 # define FIELD_ALIGNMENT(type, field) __alignof__(((type*)0)->field)
34 #else
35 /* FIXME: Not sure if is possible to do without compiler extension */
36 #endif
37
38 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
39 # define _TYPE_ALIGNMENT(type) __alignof(type)
40 #elif defined(__GNUC__)
41 # define _TYPE_ALIGNMENT(type) __alignof__(type)
42 #else
43 /*
44 * FIXME: Not sure if is possible to do without compiler extension
45 * (if type is not just a name that is, if so the normal)
46 * TYPE_ALIGNMENT can be used)
47 */
48 #endif
49
50 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
51 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
52 #endif
53
54 /***********************************************************************
55 * Test helper macros
56 */
57
58 #ifdef FIELD_ALIGNMENT
59 # define TEST_FIELD_ALIGNMENT(type, field, align) \
60 ok(FIELD_ALIGNMENT(type, field) == align, \
61 "FIELD_ALIGNMENT(" #type ", " #field ") == %d (expected " #align ")\n", \
62 FIELD_ALIGNMENT(type, field))
63 #else
64 # define TEST_FIELD_ALIGNMENT(type, field, align) do { } while (0)
65 #endif
66
67 #define TEST_FIELD_OFFSET(type, field, offset) \
68 ok(FIELD_OFFSET(type, field) == offset, \
69 "FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")\n", \
70 FIELD_OFFSET(type, field))
71
72 #ifdef _TYPE_ALIGNMENT
73 #define TEST__TYPE_ALIGNMENT(type, align) \
74 ok(_TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", _TYPE_ALIGNMENT(type))
75 #else
76 # define TEST__TYPE_ALIGNMENT(type, align) do { } while (0)
77 #endif
78
79 #ifdef TYPE_ALIGNMENT
80 #define TEST_TYPE_ALIGNMENT(type, align) \
81 ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", TYPE_ALIGNMENT(type))
82 #else
83 # define TEST_TYPE_ALIGNMENT(type, align) do { } while (0)
84 #endif
85
86 #define TEST_TYPE_SIZE(type, size) \
87 ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")\n", sizeof(type))
88
89 /***********************************************************************
90 * Test macros
91 */
92
93 #define TEST_FIELD(type, field_type, field_name, field_offset, field_size, field_align) \
94 TEST_TYPE_SIZE(field_type, field_size); \
95 TEST_FIELD_ALIGNMENT(type, field_name, field_align); \
96 TEST_FIELD_OFFSET(type, field_name, field_offset); \
97
98 #define TEST_TYPE(type, size, align) \
99 TEST_TYPE_ALIGNMENT(type, align); \
100 TEST_TYPE_SIZE(type, size)
101
102 #define TEST_TYPE_POINTER(type, size, align) \
103 TEST__TYPE_ALIGNMENT(*(type)0, align); \
104 TEST_TYPE_SIZE(*(type)0, size)
105
106 #define TEST_TYPE_SIGNED(type) \
107 ok((type) -1 < 0, "(" #type ") -1 < 0\n");
108
109 #define TEST_TYPE_UNSIGNED(type) \
110 ok((type) -1 > 0, "(" #type ") -1 > 0\n");
111
112 static void test_pack_LPOSVERSIONINFOA(void)
113 {
114 /* LPOSVERSIONINFOA */
115 TEST_TYPE(LPOSVERSIONINFOA, 4, 4);
116 TEST_TYPE_POINTER(LPOSVERSIONINFOA, 148, 4);
117 }
118
119 static void test_pack_LPOSVERSIONINFOEXA(void)
120 {
121 /* LPOSVERSIONINFOEXA */
122 TEST_TYPE(LPOSVERSIONINFOEXA, 4, 4);
123 TEST_TYPE_POINTER(LPOSVERSIONINFOEXA, 156, 4);
124 }
125
126 static void test_pack_LPOSVERSIONINFOEXW(void)
127 {
128 /* LPOSVERSIONINFOEXW */
129 TEST_TYPE(LPOSVERSIONINFOEXW, 4, 4);
130 TEST_TYPE_POINTER(LPOSVERSIONINFOEXW, 284, 4);
131 }
132
133 static void test_pack_LPOSVERSIONINFOW(void)
134 {
135 /* LPOSVERSIONINFOW */
136 TEST_TYPE(LPOSVERSIONINFOW, 4, 4);
137 TEST_TYPE_POINTER(LPOSVERSIONINFOW, 276, 4);
138 }
139
140 static void test_pack_OSVERSIONINFOA(void)
141 {
142 /* OSVERSIONINFOA (pack 4) */
143 TEST_TYPE(OSVERSIONINFOA, 148, 4);
144 TEST_FIELD(OSVERSIONINFOA, DWORD, dwOSVersionInfoSize, 0, 4, 4);
145 TEST_FIELD(OSVERSIONINFOA, DWORD, dwMajorVersion, 4, 4, 4);
146 TEST_FIELD(OSVERSIONINFOA, DWORD, dwMinorVersion, 8, 4, 4);
147 TEST_FIELD(OSVERSIONINFOA, DWORD, dwBuildNumber, 12, 4, 4);
148 TEST_FIELD(OSVERSIONINFOA, DWORD, dwPlatformId, 16, 4, 4);
149 TEST_FIELD(OSVERSIONINFOA, CHAR[128], szCSDVersion, 20, 128, 1);
150 }
151
152 static void test_pack_OSVERSIONINFOEXA(void)
153 {
154 /* OSVERSIONINFOEXA (pack 4) */
155 TEST_TYPE(OSVERSIONINFOEXA, 156, 4);
156 TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwOSVersionInfoSize, 0, 4, 4);
157 TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwMajorVersion, 4, 4, 4);
158 TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwMinorVersion, 8, 4, 4);
159 TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwBuildNumber, 12, 4, 4);
160 TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwPlatformId, 16, 4, 4);
161 TEST_FIELD(OSVERSIONINFOEXA, CHAR[128], szCSDVersion, 20, 128, 1);
162 TEST_FIELD(OSVERSIONINFOEXA, WORD, wServicePackMajor, 148, 2, 2);
163 TEST_FIELD(OSVERSIONINFOEXA, WORD, wServicePackMinor, 150, 2, 2);
164 TEST_FIELD(OSVERSIONINFOEXA, WORD, wSuiteMask, 152, 2, 2);
165 TEST_FIELD(OSVERSIONINFOEXA, BYTE, wProductType, 154, 1, 1);
166 TEST_FIELD(OSVERSIONINFOEXA, BYTE, wReserved, 155, 1, 1);
167 }
168
169 static void test_pack_OSVERSIONINFOEXW(void)
170 {
171 /* OSVERSIONINFOEXW (pack 4) */
172 TEST_TYPE(OSVERSIONINFOEXW, 284, 4);
173 TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwOSVersionInfoSize, 0, 4, 4);
174 TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwMajorVersion, 4, 4, 4);
175 TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwMinorVersion, 8, 4, 4);
176 TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwBuildNumber, 12, 4, 4);
177 TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwPlatformId, 16, 4, 4);
178 TEST_FIELD(OSVERSIONINFOEXW, WCHAR[128], szCSDVersion, 20, 256, 2);
179 TEST_FIELD(OSVERSIONINFOEXW, WORD, wServicePackMajor, 276, 2, 2);
180 TEST_FIELD(OSVERSIONINFOEXW, WORD, wServicePackMinor, 278, 2, 2);
181 TEST_FIELD(OSVERSIONINFOEXW, WORD, wSuiteMask, 280, 2, 2);
182 TEST_FIELD(OSVERSIONINFOEXW, BYTE, wProductType, 282, 1, 1);
183 TEST_FIELD(OSVERSIONINFOEXW, BYTE, wReserved, 283, 1, 1);
184 }
185
186 static void test_pack_OSVERSIONINFOW(void)
187 {
188 /* OSVERSIONINFOW (pack 4) */
189 TEST_TYPE(OSVERSIONINFOW, 276, 4);
190 TEST_FIELD(OSVERSIONINFOW, DWORD, dwOSVersionInfoSize, 0, 4, 4);
191 TEST_FIELD(OSVERSIONINFOW, DWORD, dwMajorVersion, 4, 4, 4);
192 TEST_FIELD(OSVERSIONINFOW, DWORD, dwMinorVersion, 8, 4, 4);
193 TEST_FIELD(OSVERSIONINFOW, DWORD, dwBuildNumber, 12, 4, 4);
194 TEST_FIELD(OSVERSIONINFOW, DWORD, dwPlatformId, 16, 4, 4);
195 TEST_FIELD(OSVERSIONINFOW, WCHAR[128], szCSDVersion, 20, 256, 2);
196 }
197
198 static void test_pack_POSVERSIONINFOA(void)
199 {
200 /* POSVERSIONINFOA */
201 TEST_TYPE(POSVERSIONINFOA, 4, 4);
202 TEST_TYPE_POINTER(POSVERSIONINFOA, 148, 4);
203 }
204
205 static void test_pack_POSVERSIONINFOEXA(void)
206 {
207 /* POSVERSIONINFOEXA */
208 TEST_TYPE(POSVERSIONINFOEXA, 4, 4);
209 TEST_TYPE_POINTER(POSVERSIONINFOEXA, 156, 4);
210 }
211
212 static void test_pack_POSVERSIONINFOEXW(void)
213 {
214 /* POSVERSIONINFOEXW */
215 TEST_TYPE(POSVERSIONINFOEXW, 4, 4);
216 TEST_TYPE_POINTER(POSVERSIONINFOEXW, 284, 4);
217 }
218
219 static void test_pack_POSVERSIONINFOW(void)
220 {
221 /* POSVERSIONINFOW */
222 TEST_TYPE(POSVERSIONINFOW, 4, 4);
223 TEST_TYPE_POINTER(POSVERSIONINFOW, 276, 4);
224 }
225
226 static void test_pack_LPLONG(void)
227 {
228 /* LPLONG */
229 TEST_TYPE(LPLONG, 4, 4);
230 }
231
232 static void test_pack_LPVOID(void)
233 {
234 /* LPVOID */
235 TEST_TYPE(LPVOID, 4, 4);
236 }
237
238 static void test_pack_PHKEY(void)
239 {
240 /* PHKEY */
241 TEST_TYPE(PHKEY, 4, 4);
242 }
243
244 static void test_pack_ACTCTXA(void)
245 {
246 /* ACTCTXA (pack 4) */
247 TEST_TYPE(ACTCTXA, 32, 4);
248 TEST_FIELD(ACTCTXA, ULONG, cbSize, 0, 4, 4);
249 TEST_FIELD(ACTCTXA, DWORD, dwFlags, 4, 4, 4);
250 TEST_FIELD(ACTCTXA, LPCSTR, lpSource, 8, 4, 4);
251 TEST_FIELD(ACTCTXA, USHORT, wProcessorArchitecture, 12, 2, 2);
252 TEST_FIELD(ACTCTXA, LANGID, wLangId, 14, 2, 2);
253 TEST_FIELD(ACTCTXA, LPCSTR, lpAssemblyDirectory, 16, 4, 4);
254 TEST_FIELD(ACTCTXA, LPCSTR, lpResourceName, 20, 4, 4);
255 TEST_FIELD(ACTCTXA, LPCSTR, lpApplicationName, 24, 4, 4);
256 TEST_FIELD(ACTCTXA, HMODULE, hModule, 28, 4, 4);
257 }
258
259 static void test_pack_ACTCTXW(void)
260 {
261 /* ACTCTXW (pack 4) */
262 TEST_TYPE(ACTCTXW, 32, 4);
263 TEST_FIELD(ACTCTXW, ULONG, cbSize, 0, 4, 4);
264 TEST_FIELD(ACTCTXW, DWORD, dwFlags, 4, 4, 4);
265 TEST_FIELD(ACTCTXW, LPCWSTR, lpSource, 8, 4, 4);
266 TEST_FIELD(ACTCTXW, USHORT, wProcessorArchitecture, 12, 2, 2);
267 TEST_FIELD(ACTCTXW, LANGID, wLangId, 14, 2, 2);
268 TEST_FIELD(ACTCTXW, LPCWSTR, lpAssemblyDirectory, 16, 4, 4);
269 TEST_FIELD(ACTCTXW, LPCWSTR, lpResourceName, 20, 4, 4);
270 TEST_FIELD(ACTCTXW, LPCWSTR, lpApplicationName, 24, 4, 4);
271 TEST_FIELD(ACTCTXW, HMODULE, hModule, 28, 4, 4);
272 }
273
274 static void test_pack_ACTCTX_SECTION_KEYED_DATA(void)
275 {
276 /* ACTCTX_SECTION_KEYED_DATA (pack 4) */
277 TEST_TYPE(ACTCTX_SECTION_KEYED_DATA, 64, 4);
278 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, cbSize, 0, 4, 4);
279 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulDataFormatVersion, 4, 4, 4);
280 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, PVOID, lpData, 8, 4, 4);
281 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulLength, 12, 4, 4);
282 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, PVOID, lpSectionGlobalData, 16, 4, 4);
283 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulSectionGlobalDataLength, 20, 4, 4);
284 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, PVOID, lpSectionBase, 24, 4, 4);
285 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulSectionTotalLength, 28, 4, 4);
286 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, HANDLE, hActCtx, 32, 4, 4);
287 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulAssemblyRosterIndex, 36, 4, 4);
288 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulFlags, 40, 4, 4);
289 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, AssemblyMetadata, 44, 20, 4);
290 }
291
292 static void test_pack_ACTCTX_SECTION_KEYED_DATA_2600(void)
293 {
294 /* ACTCTX_SECTION_KEYED_DATA_2600 (pack 4) */
295 TEST_TYPE(ACTCTX_SECTION_KEYED_DATA_2600, 40, 4);
296 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, cbSize, 0, 4, 4);
297 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulDataFormatVersion, 4, 4, 4);
298 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, PVOID, lpData, 8, 4, 4);
299 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulLength, 12, 4, 4);
300 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, PVOID, lpSectionGlobalData, 16, 4, 4);
301 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulSectionGlobalDataLength, 20, 4, 4);
302 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, PVOID, lpSectionBase, 24, 4, 4);
303 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulSectionTotalLength, 28, 4, 4);
304 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, HANDLE, hActCtx, 32, 4, 4);
305 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulAssemblyRosterIndex, 36, 4, 4);
306 }
307
308 static void test_pack_ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA(void)
309 {
310 /* ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA (pack 4) */
311 TEST_TYPE(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 20, 4);
312 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, PVOID, lpInformation, 0, 4, 4);
313 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, PVOID, lpSectionBase, 4, 4, 4);
314 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, ULONG, ulSectionLength, 8, 4, 4);
315 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, PVOID, lpSectionGlobalDataBase, 12, 4, 4);
316 TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, ULONG, ulSectionGlobalDataLength, 16, 4, 4);
317 }
318
319 static void test_pack_ACTIVATION_CONTEXT_BASIC_INFORMATION(void)
320 {
321 /* ACTIVATION_CONTEXT_BASIC_INFORMATION (pack 4) */
322 TEST_TYPE(ACTIVATION_CONTEXT_BASIC_INFORMATION, 8, 4);
323 TEST_FIELD(ACTIVATION_CONTEXT_BASIC_INFORMATION, HANDLE, hActCtx, 0, 4, 4);
324 TEST_FIELD(ACTIVATION_CONTEXT_BASIC_INFORMATION, DWORD, dwFlags, 4, 4, 4);
325 }
326
327 static void test_pack_BY_HANDLE_FILE_INFORMATION(void)
328 {
329 /* BY_HANDLE_FILE_INFORMATION (pack 4) */
330 TEST_TYPE(BY_HANDLE_FILE_INFORMATION, 52, 4);
331 TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, dwFileAttributes, 0, 4, 4);
332 TEST_FIELD(BY_HANDLE_FILE_INFORMATION, FILETIME, ftCreationTime, 4, 8, 4);
333 TEST_FIELD(BY_HANDLE_FILE_INFORMATION, FILETIME, ftLastAccessTime, 12, 8, 4);
334 TEST_FIELD(BY_HANDLE_FILE_INFORMATION, FILETIME, ftLastWriteTime, 20, 8, 4);
335 TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, dwVolumeSerialNumber, 28, 4, 4);
336 TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileSizeHigh, 32, 4, 4);
337 TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileSizeLow, 36, 4, 4);
338 TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nNumberOfLinks, 40, 4, 4);
339 TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileIndexHigh, 44, 4, 4);
340 TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileIndexLow, 48, 4, 4);
341 }
342
343 static void test_pack_COMMPROP(void)
344 {
345 /* COMMPROP (pack 4) */
346 TEST_TYPE(COMMPROP, 64, 4);
347 TEST_FIELD(COMMPROP, WORD, wPacketLength, 0, 2, 2);
348 TEST_FIELD(COMMPROP, WORD, wPacketVersion, 2, 2, 2);
349 TEST_FIELD(COMMPROP, DWORD, dwServiceMask, 4, 4, 4);
350 TEST_FIELD(COMMPROP, DWORD, dwReserved1, 8, 4, 4);
351 TEST_FIELD(COMMPROP, DWORD, dwMaxTxQueue, 12, 4, 4);
352 TEST_FIELD(COMMPROP, DWORD, dwMaxRxQueue, 16, 4, 4);
353 TEST_FIELD(COMMPROP, DWORD, dwMaxBaud, 20, 4, 4);
354 TEST_FIELD(COMMPROP, DWORD, dwProvSubType, 24, 4, 4);
355 TEST_FIELD(COMMPROP, DWORD, dwProvCapabilities, 28, 4, 4);
356 TEST_FIELD(COMMPROP, DWORD, dwSettableParams, 32, 4, 4);
357 TEST_FIELD(COMMPROP, DWORD, dwSettableBaud, 36, 4, 4);
358 TEST_FIELD(COMMPROP, WORD, wSettableData, 40, 2, 2);
359 TEST_FIELD(COMMPROP, WORD, wSettableStopParity, 42, 2, 2);
360 TEST_FIELD(COMMPROP, DWORD, dwCurrentTxQueue, 44, 4, 4);
361 TEST_FIELD(COMMPROP, DWORD, dwCurrentRxQueue, 48, 4, 4);
362 TEST_FIELD(COMMPROP, DWORD, dwProvSpec1, 52, 4, 4);
363 TEST_FIELD(COMMPROP, DWORD, dwProvSpec2, 56, 4, 4);
364 TEST_FIELD(COMMPROP, WCHAR[1], wcProvChar, 60, 2, 2);
365 }
366
367 static void test_pack_COMMTIMEOUTS(void)
368 {
369 /* COMMTIMEOUTS (pack 4) */
370 TEST_TYPE(COMMTIMEOUTS, 20, 4);
371 TEST_FIELD(COMMTIMEOUTS, DWORD, ReadIntervalTimeout, 0, 4, 4);
372 TEST_FIELD(COMMTIMEOUTS, DWORD, ReadTotalTimeoutMultiplier, 4, 4, 4);
373 TEST_FIELD(COMMTIMEOUTS, DWORD, ReadTotalTimeoutConstant, 8, 4, 4);
374 TEST_FIELD(COMMTIMEOUTS, DWORD, WriteTotalTimeoutMultiplier, 12, 4, 4);
375 TEST_FIELD(COMMTIMEOUTS, DWORD, WriteTotalTimeoutConstant, 16, 4, 4);
376 }
377
378 static void test_pack_CREATE_PROCESS_DEBUG_INFO(void)
379 {
380 /* CREATE_PROCESS_DEBUG_INFO (pack 4) */
381 TEST_TYPE(CREATE_PROCESS_DEBUG_INFO, 40, 4);
382 TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, HANDLE, hFile, 0, 4, 4);
383 TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, HANDLE, hProcess, 4, 4, 4);
384 TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, HANDLE, hThread, 8, 4, 4);
385 TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPVOID, lpBaseOfImage, 12, 4, 4);
386 TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, DWORD, dwDebugInfoFileOffset, 16, 4, 4);
387 TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, DWORD, nDebugInfoSize, 20, 4, 4);
388 TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPVOID, lpThreadLocalBase, 24, 4, 4);
389 TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPTHREAD_START_ROUTINE, lpStartAddress, 28, 4, 4);
390 TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPVOID, lpImageName, 32, 4, 4);
391 TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, WORD, fUnicode, 36, 2, 2);
392 }
393
394 static void test_pack_CREATE_THREAD_DEBUG_INFO(void)
395 {
396 /* CREATE_THREAD_DEBUG_INFO (pack 4) */
397 TEST_TYPE(CREATE_THREAD_DEBUG_INFO, 12, 4);
398 TEST_FIELD(CREATE_THREAD_DEBUG_INFO, HANDLE, hThread, 0, 4, 4);
399 TEST_FIELD(CREATE_THREAD_DEBUG_INFO, LPVOID, lpThreadLocalBase, 4, 4, 4);
400 TEST_FIELD(CREATE_THREAD_DEBUG_INFO, LPTHREAD_START_ROUTINE, lpStartAddress, 8, 4, 4);
401 }
402
403 static void test_pack_CRITICAL_SECTION(void)
404 {
405 /* CRITICAL_SECTION */
406 TEST_TYPE(CRITICAL_SECTION, 24, 4);
407 }
408
409 static void test_pack_CRITICAL_SECTION_DEBUG(void)
410 {
411 /* CRITICAL_SECTION_DEBUG */
412 TEST_TYPE(CRITICAL_SECTION_DEBUG, 32, 4);
413 }
414
415 static void test_pack_ENUMRESLANGPROCA(void)
416 {
417 /* ENUMRESLANGPROCA */
418 TEST_TYPE(ENUMRESLANGPROCA, 4, 4);
419 }
420
421 static void test_pack_ENUMRESLANGPROCW(void)
422 {
423 /* ENUMRESLANGPROCW */
424 TEST_TYPE(ENUMRESLANGPROCW, 4, 4);
425 }
426
427 static void test_pack_ENUMRESNAMEPROCA(void)
428 {
429 /* ENUMRESNAMEPROCA */
430 TEST_TYPE(ENUMRESNAMEPROCA, 4, 4);
431 }
432
433 static void test_pack_ENUMRESNAMEPROCW(void)
434 {
435 /* ENUMRESNAMEPROCW */
436 TEST_TYPE(ENUMRESNAMEPROCW, 4, 4);
437 }
438
439 static void test_pack_ENUMRESTYPEPROCA(void)
440 {
441 /* ENUMRESTYPEPROCA */
442 TEST_TYPE(ENUMRESTYPEPROCA, 4, 4);
443 }
444
445 static void test_pack_ENUMRESTYPEPROCW(void)
446 {
447 /* ENUMRESTYPEPROCW */
448 TEST_TYPE(ENUMRESTYPEPROCW, 4, 4);
449 }
450
451 static void test_pack_EXCEPTION_DEBUG_INFO(void)
452 {
453 /* EXCEPTION_DEBUG_INFO (pack 4) */
454 TEST_TYPE(EXCEPTION_DEBUG_INFO, 84, 4);
455 TEST_FIELD(EXCEPTION_DEBUG_INFO, EXCEPTION_RECORD, ExceptionRecord, 0, 80, 4);
456 TEST_FIELD(EXCEPTION_DEBUG_INFO, DWORD, dwFirstChance, 80, 4, 4);
457 }
458
459 static void test_pack_EXIT_PROCESS_DEBUG_INFO(void)
460 {
461 /* EXIT_PROCESS_DEBUG_INFO (pack 4) */
462 TEST_TYPE(EXIT_PROCESS_DEBUG_INFO, 4, 4);
463 TEST_FIELD(EXIT_PROCESS_DEBUG_INFO, DWORD, dwExitCode, 0, 4, 4);
464 }
465
466 static void test_pack_EXIT_THREAD_DEBUG_INFO(void)
467 {
468 /* EXIT_THREAD_DEBUG_INFO (pack 4) */
469 TEST_TYPE(EXIT_THREAD_DEBUG_INFO, 4, 4);
470 TEST_FIELD(EXIT_THREAD_DEBUG_INFO, DWORD, dwExitCode, 0, 4, 4);
471 }
472
473 static void test_pack_HW_PROFILE_INFOA(void)
474 {
475 /* HW_PROFILE_INFOA (pack 4) */
476 TEST_TYPE(HW_PROFILE_INFOA, 124, 4);
477 TEST_FIELD(HW_PROFILE_INFOA, DWORD, dwDockInfo, 0, 4, 4);
478 TEST_FIELD(HW_PROFILE_INFOA, CHAR[HW_PROFILE_GUIDLEN], szHwProfileGuid, 4, 39, 1);
479 TEST_FIELD(HW_PROFILE_INFOA, CHAR[MAX_PROFILE_LEN], szHwProfileName, 43, 80, 1);
480 }
481
482 static void test_pack_HW_PROFILE_INFOW(void)
483 {
484 /* HW_PROFILE_INFOW (pack 4) */
485 TEST_TYPE(HW_PROFILE_INFOW, 244, 4);
486 TEST_FIELD(HW_PROFILE_INFOW, DWORD, dwDockInfo, 0, 4, 4);
487 TEST_FIELD(HW_PROFILE_INFOW, WCHAR[HW_PROFILE_GUIDLEN], szHwProfileGuid, 4, 78, 2);
488 TEST_FIELD(HW_PROFILE_INFOW, WCHAR[MAX_PROFILE_LEN], szHwProfileName, 82, 160, 2);
489 }
490
491 static void test_pack_LOAD_DLL_DEBUG_INFO(void)
492 {
493 /* LOAD_DLL_DEBUG_INFO (pack 4) */
494 TEST_TYPE(LOAD_DLL_DEBUG_INFO, 24, 4);
495 TEST_FIELD(LOAD_DLL_DEBUG_INFO, HANDLE, hFile, 0, 4, 4);
496 TEST_FIELD(LOAD_DLL_DEBUG_INFO, LPVOID, lpBaseOfDll, 4, 4, 4);
497 TEST_FIELD(LOAD_DLL_DEBUG_INFO, DWORD, dwDebugInfoFileOffset, 8, 4, 4);
498 TEST_FIELD(LOAD_DLL_DEBUG_INFO, DWORD, nDebugInfoSize, 12, 4, 4);
499 TEST_FIELD(LOAD_DLL_DEBUG_INFO, LPVOID, lpImageName, 16, 4, 4);
500 TEST_FIELD(LOAD_DLL_DEBUG_INFO, WORD, fUnicode, 20, 2, 2);
501 }
502
503 static void test_pack_LPBY_HANDLE_FILE_INFORMATION(void)
504 {
505 /* LPBY_HANDLE_FILE_INFORMATION */
506 TEST_TYPE(LPBY_HANDLE_FILE_INFORMATION, 4, 4);
507 TEST_TYPE_POINTER(LPBY_HANDLE_FILE_INFORMATION, 52, 4);
508 }
509
510 static void test_pack_LPCOMMPROP(void)
511 {
512 /* LPCOMMPROP */
513 TEST_TYPE(LPCOMMPROP, 4, 4);
514 TEST_TYPE_POINTER(LPCOMMPROP, 64, 4);
515 }
516
517 static void test_pack_LPCOMMTIMEOUTS(void)
518 {
519 /* LPCOMMTIMEOUTS */
520 TEST_TYPE(LPCOMMTIMEOUTS, 4, 4);
521 TEST_TYPE_POINTER(LPCOMMTIMEOUTS, 20, 4);
522 }
523
524 static void test_pack_LPCRITICAL_SECTION(void)
525 {
526 /* LPCRITICAL_SECTION */
527 TEST_TYPE(LPCRITICAL_SECTION, 4, 4);
528 }
529
530 static void test_pack_LPCRITICAL_SECTION_DEBUG(void)
531 {
532 /* LPCRITICAL_SECTION_DEBUG */
533 TEST_TYPE(LPCRITICAL_SECTION_DEBUG, 4, 4);
534 }
535
536 static void test_pack_LPEXCEPTION_POINTERS(void)
537 {
538 /* LPEXCEPTION_POINTERS */
539 TEST_TYPE(LPEXCEPTION_POINTERS, 4, 4);
540 }
541
542 static void test_pack_LPEXCEPTION_RECORD(void)
543 {
544 /* LPEXCEPTION_RECORD */
545 TEST_TYPE(LPEXCEPTION_RECORD, 4, 4);
546 }
547
548 static void test_pack_LPFIBER_START_ROUTINE(void)
549 {
550 /* LPFIBER_START_ROUTINE */
551 TEST_TYPE(LPFIBER_START_ROUTINE, 4, 4);
552 }
553
554 static void test_pack_LPHW_PROFILE_INFOA(void)
555 {
556 /* LPHW_PROFILE_INFOA */
557 TEST_TYPE(LPHW_PROFILE_INFOA, 4, 4);
558 TEST_TYPE_POINTER(LPHW_PROFILE_INFOA, 124, 4);
559 }
560
561 static void test_pack_LPHW_PROFILE_INFOW(void)
562 {
563 /* LPHW_PROFILE_INFOW */
564 TEST_TYPE(LPHW_PROFILE_INFOW, 4, 4);
565 TEST_TYPE_POINTER(LPHW_PROFILE_INFOW, 244, 4);
566 }
567
568 static void test_pack_LPMEMORYSTATUS(void)
569 {
570 /* LPMEMORYSTATUS */
571 TEST_TYPE(LPMEMORYSTATUS, 4, 4);
572 TEST_TYPE_POINTER(LPMEMORYSTATUS, 32, 4);
573 }
574
575 static void test_pack_LPOFSTRUCT(void)
576 {
577 /* LPOFSTRUCT */
578 TEST_TYPE(LPOFSTRUCT, 4, 4);
579 TEST_TYPE_POINTER(LPOFSTRUCT, 136, 2);
580 }
581
582 static void test_pack_LPOVERLAPPED(void)
583 {
584 /* LPOVERLAPPED */
585 TEST_TYPE(LPOVERLAPPED, 4, 4);
586 TEST_TYPE_POINTER(LPOVERLAPPED, 20, 4);
587 }
588
589 static void test_pack_LPOVERLAPPED_COMPLETION_ROUTINE(void)
590 {
591 /* LPOVERLAPPED_COMPLETION_ROUTINE */
592 TEST_TYPE(LPOVERLAPPED_COMPLETION_ROUTINE, 4, 4);
593 }
594
595 static void test_pack_LPPROCESS_INFORMATION(void)
596 {
597 /* LPPROCESS_INFORMATION */
598 TEST_TYPE(LPPROCESS_INFORMATION, 4, 4);
599 TEST_TYPE_POINTER(LPPROCESS_INFORMATION, 16, 4);
600 }
601
602 static void test_pack_LPPROGRESS_ROUTINE(void)
603 {
604 /* LPPROGRESS_ROUTINE */
605 TEST_TYPE(LPPROGRESS_ROUTINE, 4, 4);
606 }
607
608 static void test_pack_LPSECURITY_ATTRIBUTES(void)
609 {
610 /* LPSECURITY_ATTRIBUTES */
611 TEST_TYPE(LPSECURITY_ATTRIBUTES, 4, 4);
612 TEST_TYPE_POINTER(LPSECURITY_ATTRIBUTES, 12, 4);
613 }
614
615 static void test_pack_LPSTARTUPINFOA(void)
616 {
617 /* LPSTARTUPINFOA */
618 TEST_TYPE(LPSTARTUPINFOA, 4, 4);
619 TEST_TYPE_POINTER(LPSTARTUPINFOA, 68, 4);
620 }
621
622 static void test_pack_LPSTARTUPINFOW(void)
623 {
624 /* LPSTARTUPINFOW */
625 TEST_TYPE(LPSTARTUPINFOW, 4, 4);
626 TEST_TYPE_POINTER(LPSTARTUPINFOW, 68, 4);
627 }
628
629 static void test_pack_LPSYSTEMTIME(void)
630 {
631 /* LPSYSTEMTIME */
632 TEST_TYPE(LPSYSTEMTIME, 4, 4);
633 TEST_TYPE_POINTER(LPSYSTEMTIME, 16, 2);
634 }
635
636 static void test_pack_LPSYSTEM_POWER_STATUS(void)
637 {
638 /* LPSYSTEM_POWER_STATUS */
639 TEST_TYPE(LPSYSTEM_POWER_STATUS, 4, 4);
640 TEST_TYPE_POINTER(LPSYSTEM_POWER_STATUS, 12, 4);
641 }
642
643 static void test_pack_LPTHREAD_START_ROUTINE(void)
644 {
645 /* LPTHREAD_START_ROUTINE */
646 TEST_TYPE(LPTHREAD_START_ROUTINE, 4, 4);
647 }
648
649 static void test_pack_LPTIME_ZONE_INFORMATION(void)
650 {
651 /* LPTIME_ZONE_INFORMATION */
652 TEST_TYPE(LPTIME_ZONE_INFORMATION, 4, 4);
653 TEST_TYPE_POINTER(LPTIME_ZONE_INFORMATION, 172, 4);
654 }
655
656 static void test_pack_LPWIN32_FILE_ATTRIBUTE_DATA(void)
657 {
658 /* LPWIN32_FILE_ATTRIBUTE_DATA */
659 TEST_TYPE(LPWIN32_FILE_ATTRIBUTE_DATA, 4, 4);
660 TEST_TYPE_POINTER(LPWIN32_FILE_ATTRIBUTE_DATA, 36, 4);
661 }
662
663 static void test_pack_LPWIN32_FIND_DATAA(void)
664 {
665 /* LPWIN32_FIND_DATAA */
666 TEST_TYPE(LPWIN32_FIND_DATAA, 4, 4);
667 TEST_TYPE_POINTER(LPWIN32_FIND_DATAA, 320, 4);
668 }
669
670 static void test_pack_LPWIN32_FIND_DATAW(void)
671 {
672 /* LPWIN32_FIND_DATAW */
673 TEST_TYPE(LPWIN32_FIND_DATAW, 4, 4);
674 TEST_TYPE_POINTER(LPWIN32_FIND_DATAW, 592, 4);
675 }
676
677 static void test_pack_MEMORYSTATUS(void)
678 {
679 /* MEMORYSTATUS (pack 4) */
680 TEST_TYPE(MEMORYSTATUS, 32, 4);
681 TEST_FIELD(MEMORYSTATUS, DWORD, dwLength, 0, 4, 4);
682 TEST_FIELD(MEMORYSTATUS, DWORD, dwMemoryLoad, 4, 4, 4);
683 TEST_FIELD(MEMORYSTATUS, SIZE_T, dwTotalPhys, 8, 4, 4);
684 TEST_FIELD(MEMORYSTATUS, SIZE_T, dwAvailPhys, 12, 4, 4);
685 TEST_FIELD(MEMORYSTATUS, SIZE_T, dwTotalPageFile, 16, 4, 4);
686 TEST_FIELD(MEMORYSTATUS, SIZE_T, dwAvailPageFile, 20, 4, 4);
687 TEST_FIELD(MEMORYSTATUS, SIZE_T, dwTotalVirtual, 24, 4, 4);
688 TEST_FIELD(MEMORYSTATUS, SIZE_T, dwAvailVirtual, 28, 4, 4);
689 }
690
691 static void test_pack_OFSTRUCT(void)
692 {
693 /* OFSTRUCT (pack 4) */
694 TEST_TYPE(OFSTRUCT, 136, 2);
695 TEST_FIELD(OFSTRUCT, BYTE, cBytes, 0, 1, 1);
696 TEST_FIELD(OFSTRUCT, BYTE, fFixedDisk, 1, 1, 1);
697 TEST_FIELD(OFSTRUCT, WORD, nErrCode, 2, 2, 2);
698 TEST_FIELD(OFSTRUCT, WORD, Reserved1, 4, 2, 2);
699 TEST_FIELD(OFSTRUCT, WORD, Reserved2, 6, 2, 2);
700 TEST_FIELD(OFSTRUCT, BYTE[OFS_MAXPATHNAME], szPathName, 8, 128, 1);
701 }
702
703 static void test_pack_OUTPUT_DEBUG_STRING_INFO(void)
704 {
705 /* OUTPUT_DEBUG_STRING_INFO (pack 4) */
706 TEST_TYPE(OUTPUT_DEBUG_STRING_INFO, 8, 4);
707 TEST_FIELD(OUTPUT_DEBUG_STRING_INFO, LPSTR, lpDebugStringData, 0, 4, 4);
708 TEST_FIELD(OUTPUT_DEBUG_STRING_INFO, WORD, fUnicode, 4, 2, 2);
709 TEST_FIELD(OUTPUT_DEBUG_STRING_INFO, WORD, nDebugStringLength, 6, 2, 2);
710 }
711
712 static void test_pack_OVERLAPPED(void)
713 {
714 /* OVERLAPPED (pack 4) */
715 TEST_TYPE(OVERLAPPED, 20, 4);
716 TEST_FIELD(OVERLAPPED, DWORD, Internal, 0, 4, 4);
717 TEST_FIELD(OVERLAPPED, DWORD, InternalHigh, 4, 4, 4);
718 TEST_FIELD(OVERLAPPED, DWORD, Offset, 8, 4, 4);
719 TEST_FIELD(OVERLAPPED, DWORD, OffsetHigh, 12, 4, 4);
720 TEST_FIELD(OVERLAPPED, HANDLE, hEvent, 16, 4, 4);
721 }
722
723 static void test_pack_PACTCTXA(void)
724 {
725 /* PACTCTXA */
726 TEST_TYPE(PACTCTXA, 4, 4);
727 TEST_TYPE_POINTER(PACTCTXA, 32, 4);
728 }
729
730 static void test_pack_PACTCTXW(void)
731 {
732 /* PACTCTXW */
733 TEST_TYPE(PACTCTXW, 4, 4);
734 TEST_TYPE_POINTER(PACTCTXW, 32, 4);
735 }
736
737 static void test_pack_PACTCTX_SECTION_KEYED_DATA(void)
738 {
739 /* PACTCTX_SECTION_KEYED_DATA */
740 TEST_TYPE(PACTCTX_SECTION_KEYED_DATA, 4, 4);
741 TEST_TYPE_POINTER(PACTCTX_SECTION_KEYED_DATA, 64, 4);
742 }
743
744 static void test_pack_PACTCTX_SECTION_KEYED_DATA_2600(void)
745 {
746 /* PACTCTX_SECTION_KEYED_DATA_2600 */
747 TEST_TYPE(PACTCTX_SECTION_KEYED_DATA_2600, 4, 4);
748 TEST_TYPE_POINTER(PACTCTX_SECTION_KEYED_DATA_2600, 40, 4);
749 }
750
751 static void test_pack_PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA(void)
752 {
753 /* PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA */
754 TEST_TYPE(PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 4, 4);
755 TEST_TYPE_POINTER(PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 20, 4);
756 }
757
758 static void test_pack_PACTIVATION_CONTEXT_BASIC_INFORMATION(void)
759 {
760 /* PACTIVATION_CONTEXT_BASIC_INFORMATION */
761 TEST_TYPE(PACTIVATION_CONTEXT_BASIC_INFORMATION, 4, 4);
762 TEST_TYPE_POINTER(PACTIVATION_CONTEXT_BASIC_INFORMATION, 8, 4);
763 }
764
765 static void test_pack_PAPCFUNC(void)
766 {
767 /* PAPCFUNC */
768 TEST_TYPE(PAPCFUNC, 4, 4);
769 }
770
771 static void test_pack_PBY_HANDLE_FILE_INFORMATION(void)
772 {
773 /* PBY_HANDLE_FILE_INFORMATION */
774 TEST_TYPE(PBY_HANDLE_FILE_INFORMATION, 4, 4);
775 TEST_TYPE_POINTER(PBY_HANDLE_FILE_INFORMATION, 52, 4);
776 }
777
778 static void test_pack_PCACTCTXA(void)
779 {
780 /* PCACTCTXA */
781 TEST_TYPE(PCACTCTXA, 4, 4);
782 TEST_TYPE_POINTER(PCACTCTXA, 32, 4);
783 }
784
785 static void test_pack_PCACTCTXW(void)
786 {
787 /* PCACTCTXW */
788 TEST_TYPE(PCACTCTXW, 4, 4);
789 TEST_TYPE_POINTER(PCACTCTXW, 32, 4);
790 }
791
792 static void test_pack_PCACTCTX_SECTION_KEYED_DATA(void)
793 {
794 /* PCACTCTX_SECTION_KEYED_DATA */
795 TEST_TYPE(PCACTCTX_SECTION_KEYED_DATA, 4, 4);
796 TEST_TYPE_POINTER(PCACTCTX_SECTION_KEYED_DATA, 64, 4);
797 }
798
799 static void test_pack_PCACTCTX_SECTION_KEYED_DATA_2600(void)
800 {
801 /* PCACTCTX_SECTION_KEYED_DATA_2600 */
802 TEST_TYPE(PCACTCTX_SECTION_KEYED_DATA_2600, 4, 4);
803 TEST_TYPE_POINTER(PCACTCTX_SECTION_KEYED_DATA_2600, 40, 4);
804 }
805
806 static void test_pack_PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA(void)
807 {
808 /* PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA */
809 TEST_TYPE(PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 4, 4);
810 TEST_TYPE_POINTER(PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 20, 4);
811 }
812
813 static void test_pack_PCRITICAL_SECTION(void)
814 {
815 /* PCRITICAL_SECTION */
816 TEST_TYPE(PCRITICAL_SECTION, 4, 4);
817 }
818
819 static void test_pack_PCRITICAL_SECTION_DEBUG(void)
820 {
821 /* PCRITICAL_SECTION_DEBUG */
822 TEST_TYPE(PCRITICAL_SECTION_DEBUG, 4, 4);
823 }
824
825 static void test_pack_PFIBER_START_ROUTINE(void)
826 {
827 /* PFIBER_START_ROUTINE */
828 TEST_TYPE(PFIBER_START_ROUTINE, 4, 4);
829 }
830
831 static void test_pack_POFSTRUCT(void)
832 {
833 /* POFSTRUCT */
834 TEST_TYPE(POFSTRUCT, 4, 4);
835 TEST_TYPE_POINTER(POFSTRUCT, 136, 2);
836 }
837
838 static void test_pack_PPROCESS_INFORMATION(void)
839 {
840 /* PPROCESS_INFORMATION */
841 TEST_TYPE(PPROCESS_INFORMATION, 4, 4);
842 TEST_TYPE_POINTER(PPROCESS_INFORMATION, 16, 4);
843 }
844
845 static void test_pack_PQUERYACTCTXW_FUNC(void)
846 {
847 /* PQUERYACTCTXW_FUNC */
848 TEST_TYPE(PQUERYACTCTXW_FUNC, 4, 4);
849 }
850
851 static void test_pack_PROCESS_INFORMATION(void)
852 {
853 /* PROCESS_INFORMATION (pack 4) */
854 TEST_TYPE(PROCESS_INFORMATION, 16, 4);
855 TEST_FIELD(PROCESS_INFORMATION, HANDLE, hProcess, 0, 4, 4);
856 TEST_FIELD(PROCESS_INFORMATION, HANDLE, hThread, 4, 4, 4);
857 TEST_FIELD(PROCESS_INFORMATION, DWORD, dwProcessId, 8, 4, 4);
858 TEST_FIELD(PROCESS_INFORMATION, DWORD, dwThreadId, 12, 4, 4);
859 }
860
861 static void test_pack_PSECURITY_ATTRIBUTES(void)
862 {
863 /* PSECURITY_ATTRIBUTES */
864 TEST_TYPE(PSECURITY_ATTRIBUTES, 4, 4);
865 TEST_TYPE_POINTER(PSECURITY_ATTRIBUTES, 12, 4);
866 }
867
868 static void test_pack_PSYSTEMTIME(void)
869 {
870 /* PSYSTEMTIME */
871 TEST_TYPE(PSYSTEMTIME, 4, 4);
872 TEST_TYPE_POINTER(PSYSTEMTIME, 16, 2);
873 }
874
875 static void test_pack_PTIMERAPCROUTINE(void)
876 {
877 /* PTIMERAPCROUTINE */
878 TEST_TYPE(PTIMERAPCROUTINE, 4, 4);
879 }
880
881 static void test_pack_PTIME_ZONE_INFORMATION(void)
882 {
883 /* PTIME_ZONE_INFORMATION */
884 TEST_TYPE(PTIME_ZONE_INFORMATION, 4, 4);
885 TEST_TYPE_POINTER(PTIME_ZONE_INFORMATION, 172, 4);
886 }
887
888 static void test_pack_PWIN32_FIND_DATAA(void)
889 {
890 /* PWIN32_FIND_DATAA */
891 TEST_TYPE(PWIN32_FIND_DATAA, 4, 4);
892 TEST_TYPE_POINTER(PWIN32_FIND_DATAA, 320, 4);
893 }
894
895 static void test_pack_PWIN32_FIND_DATAW(void)
896 {
897 /* PWIN32_FIND_DATAW */
898 TEST_TYPE(PWIN32_FIND_DATAW, 4, 4);
899 TEST_TYPE_POINTER(PWIN32_FIND_DATAW, 592, 4);
900 }
901
902 static void test_pack_RIP_INFO(void)
903 {
904 /* RIP_INFO (pack 4) */
905 TEST_TYPE(RIP_INFO, 8, 4);
906 TEST_FIELD(RIP_INFO, DWORD, dwError, 0, 4, 4);
907 TEST_FIELD(RIP_INFO, DWORD, dwType, 4, 4, 4);
908 }
909
910 static void test_pack_SECURITY_ATTRIBUTES(void)
911 {
912 /* SECURITY_ATTRIBUTES (pack 4) */
913 TEST_TYPE(SECURITY_ATTRIBUTES, 12, 4);
914 TEST_FIELD(SECURITY_ATTRIBUTES, DWORD, nLength, 0, 4, 4);
915 TEST_FIELD(SECURITY_ATTRIBUTES, LPVOID, lpSecurityDescriptor, 4, 4, 4);
916 TEST_FIELD(SECURITY_ATTRIBUTES, BOOL, bInheritHandle, 8, 4, 4);
917 }
918
919 static void test_pack_STARTUPINFOA(void)
920 {
921 /* STARTUPINFOA (pack 4) */
922 TEST_TYPE(STARTUPINFOA, 68, 4);
923 TEST_FIELD(STARTUPINFOA, DWORD, cb, 0, 4, 4);
924 TEST_FIELD(STARTUPINFOA, LPSTR, lpReserved, 4, 4, 4);
925 TEST_FIELD(STARTUPINFOA, LPSTR, lpDesktop, 8, 4, 4);
926 TEST_FIELD(STARTUPINFOA, LPSTR, lpTitle, 12, 4, 4);
927 TEST_FIELD(STARTUPINFOA, DWORD, dwX, 16, 4, 4);
928 TEST_FIELD(STARTUPINFOA, DWORD, dwY, 20, 4, 4);
929 TEST_FIELD(STARTUPINFOA, DWORD, dwXSize, 24, 4, 4);
930 TEST_FIELD(STARTUPINFOA, DWORD, dwYSize, 28, 4, 4);
931 TEST_FIELD(STARTUPINFOA, DWORD, dwXCountChars, 32, 4, 4);
932 TEST_FIELD(STARTUPINFOA, DWORD, dwYCountChars, 36, 4, 4);
933 TEST_FIELD(STARTUPINFOA, DWORD, dwFillAttribute, 40, 4, 4);
934 TEST_FIELD(STARTUPINFOA, DWORD, dwFlags, 44, 4, 4);
935 TEST_FIELD(STARTUPINFOA, WORD, wShowWindow, 48, 2, 2);
936 TEST_FIELD(STARTUPINFOA, WORD, cbReserved2, 50, 2, 2);
937 TEST_FIELD(STARTUPINFOA, BYTE *, lpReserved2, 52, 4, 4);
938 TEST_FIELD(STARTUPINFOA, HANDLE, hStdInput, 56, 4, 4);
939 TEST_FIELD(STARTUPINFOA, HANDLE, hStdOutput, 60, 4, 4);
940 TEST_FIELD(STARTUPINFOA, HANDLE, hStdError, 64, 4, 4);
941 }
942
943 static void test_pack_STARTUPINFOW(void)
944 {
945 /* STARTUPINFOW (pack 4) */
946 TEST_TYPE(STARTUPINFOW, 68, 4);
947 TEST_FIELD(STARTUPINFOW, DWORD, cb, 0, 4, 4);
948 TEST_FIELD(STARTUPINFOW, LPWSTR, lpReserved, 4, 4, 4);
949 TEST_FIELD(STARTUPINFOW, LPWSTR, lpDesktop, 8, 4, 4);
950 TEST_FIELD(STARTUPINFOW, LPWSTR, lpTitle, 12, 4, 4);
951 TEST_FIELD(STARTUPINFOW, DWORD, dwX, 16, 4, 4);
952 TEST_FIELD(STARTUPINFOW, DWORD, dwY, 20, 4, 4);
953 TEST_FIELD(STARTUPINFOW, DWORD, dwXSize, 24, 4, 4);
954 TEST_FIELD(STARTUPINFOW, DWORD, dwYSize, 28, 4, 4);
955 TEST_FIELD(STARTUPINFOW, DWORD, dwXCountChars, 32, 4, 4);
956 TEST_FIELD(STARTUPINFOW, DWORD, dwYCountChars, 36, 4, 4);
957 TEST_FIELD(STARTUPINFOW, DWORD, dwFillAttribute, 40, 4, 4);
958 TEST_FIELD(STARTUPINFOW, DWORD, dwFlags, 44, 4, 4);
959 TEST_FIELD(STARTUPINFOW, WORD, wShowWindow, 48, 2, 2);
960 TEST_FIELD(STARTUPINFOW, WORD, cbReserved2, 50, 2, 2);
961 TEST_FIELD(STARTUPINFOW, BYTE *, lpReserved2, 52, 4, 4);
962 TEST_FIELD(STARTUPINFOW, HANDLE, hStdInput, 56, 4, 4);
963 TEST_FIELD(STARTUPINFOW, HANDLE, hStdOutput, 60, 4, 4);
964 TEST_FIELD(STARTUPINFOW, HANDLE, hStdError, 64, 4, 4);
965 }
966
967 static void test_pack_SYSLEVEL(void)
968 {
969 /* SYSLEVEL (pack 4) */
970 TEST_TYPE(SYSLEVEL, 28, 4);
971 TEST_FIELD(SYSLEVEL, CRITICAL_SECTION, crst, 0, 24, 4);
972 TEST_FIELD(SYSLEVEL, INT, level, 24, 4, 4);
973 }
974
975 static void test_pack_SYSTEMTIME(void)
976 {
977 /* SYSTEMTIME (pack 4) */
978 TEST_TYPE(SYSTEMTIME, 16, 2);
979 TEST_FIELD(SYSTEMTIME, WORD, wYear, 0, 2, 2);
980 TEST_FIELD(SYSTEMTIME, WORD, wMonth, 2, 2, 2);
981 TEST_FIELD(SYSTEMTIME, WORD, wDayOfWeek, 4, 2, 2);
982 TEST_FIELD(SYSTEMTIME, WORD, wDay, 6, 2, 2);
983 TEST_FIELD(SYSTEMTIME, WORD, wHour, 8, 2, 2);
984 TEST_FIELD(SYSTEMTIME, WORD, wMinute, 10, 2, 2);
985 TEST_FIELD(SYSTEMTIME, WORD, wSecond, 12, 2, 2);
986 TEST_FIELD(SYSTEMTIME, WORD, wMilliseconds, 14, 2, 2);
987 }
988
989 static void test_pack_SYSTEM_POWER_STATUS(void)
990 {
991 /* SYSTEM_POWER_STATUS (pack 4) */
992 TEST_TYPE(SYSTEM_POWER_STATUS, 12, 4);
993 TEST_FIELD(SYSTEM_POWER_STATUS, BYTE, ACLineStatus, 0, 1, 1);
994 TEST_FIELD(SYSTEM_POWER_STATUS, BYTE, BatteryFlag, 1, 1, 1);
995 TEST_FIELD(SYSTEM_POWER_STATUS, BYTE, BatteryLifePercent, 2, 1, 1);
996 TEST_FIELD(SYSTEM_POWER_STATUS, BYTE, Reserved1, 3, 1, 1);
997 TEST_FIELD(SYSTEM_POWER_STATUS, DWORD, BatteryLifeTime, 4, 4, 4);
998 TEST_FIELD(SYSTEM_POWER_STATUS, DWORD, BatteryFullLifeTime, 8, 4, 4);
999 }
1000
1001 static void test_pack_TIME_ZONE_INFORMATION(void)
1002 {
1003 /* TIME_ZONE_INFORMATION (pack 4) */
1004 TEST_TYPE(TIME_ZONE_INFORMATION, 172, 4);
1005 TEST_FIELD(TIME_ZONE_INFORMATION, LONG, Bias, 0, 4, 4);
1006 TEST_FIELD(TIME_ZONE_INFORMATION, WCHAR[32], StandardName, 4, 64, 2);
1007 TEST_FIELD(TIME_ZONE_INFORMATION, SYSTEMTIME, StandardDate, 68, 16, 2);
1008 TEST_FIELD(TIME_ZONE_INFORMATION, LONG, StandardBias, 84, 4, 4);
1009 TEST_FIELD(TIME_ZONE_INFORMATION, WCHAR[32], DaylightName, 88, 64, 2);
1010 TEST_FIELD(TIME_ZONE_INFORMATION, SYSTEMTIME, DaylightDate, 152, 16, 2);
1011 TEST_FIELD(TIME_ZONE_INFORMATION, LONG, DaylightBias, 168, 4, 4);
1012 }
1013
1014 static void test_pack_UNLOAD_DLL_DEBUG_INFO(void)
1015 {
1016 /* UNLOAD_DLL_DEBUG_INFO (pack 4) */
1017 TEST_TYPE(UNLOAD_DLL_DEBUG_INFO, 4, 4);
1018 TEST_FIELD(UNLOAD_DLL_DEBUG_INFO, LPVOID, lpBaseOfDll, 0, 4, 4);
1019 }
1020
1021 static void test_pack_WAITORTIMERCALLBACK(void)
1022 {
1023 /* WAITORTIMERCALLBACK */
1024 TEST_TYPE(WAITORTIMERCALLBACK, 4, 4);
1025 }
1026
1027 static void test_pack_WIN32_FILE_ATTRIBUTE_DATA(void)
1028 {
1029 /* WIN32_FILE_ATTRIBUTE_DATA (pack 4) */
1030 TEST_TYPE(WIN32_FILE_ATTRIBUTE_DATA, 36, 4);
1031 TEST_FIELD(WIN32_FILE_ATTRIBUTE_DATA, DWORD, dwFileAttributes, 0, 4, 4);
1032 TEST_FIELD(WIN32_FILE_ATTRIBUTE_DATA, FILETIME, ftCreationTime, 4, 8, 4);
1033 TEST_FIELD(WIN32_FILE_ATTRIBUTE_DATA, FILETIME, ftLastAccessTime, 12, 8, 4);
1034 TEST_FIELD(WIN32_FILE_ATTRIBUTE_DATA, FILETIME, ftLastWriteTime, 20, 8, 4);
1035 TEST_FIELD(WIN32_FILE_ATTRIBUTE_DATA, DWORD, nFileSizeHigh, 28, 4, 4);
1036 TEST_FIELD(WIN32_FILE_ATTRIBUTE_DATA, DWORD, nFileSizeLow, 32, 4, 4);
1037 }
1038
1039 static void test_pack_WIN32_FIND_DATAA(void)
1040 {
1041 /* WIN32_FIND_DATAA (pack 4) */
1042 TEST_TYPE(WIN32_FIND_DATAA, 320, 4);
1043 TEST_FIELD(WIN32_FIND_DATAA, DWORD, dwFileAttributes, 0, 4, 4);
1044 TEST_FIELD(WIN32_FIND_DATAA, FILETIME, ftCreationTime, 4, 8, 4);
1045 TEST_FIELD(WIN32_FIND_DATAA, FILETIME, ftLastAccessTime, 12, 8, 4);
1046 TEST_FIELD(WIN32_FIND_DATAA, FILETIME, ftLastWriteTime, 20, 8, 4);
1047 TEST_FIELD(WIN32_FIND_DATAA, DWORD, nFileSizeHigh, 28, 4, 4);
1048 TEST_FIELD(WIN32_FIND_DATAA, DWORD, nFileSizeLow, 32, 4, 4);
1049 TEST_FIELD(WIN32_FIND_DATAA, DWORD, dwReserved0, 36, 4, 4);
1050 TEST_FIELD(WIN32_FIND_DATAA, DWORD, dwReserved1, 40, 4, 4);
1051 TEST_FIELD(WIN32_FIND_DATAA, CHAR[260], cFileName, 44, 260, 1);
1052 TEST_FIELD(WIN32_FIND_DATAA, CHAR[14], cAlternateFileName, 304, 14, 1);
1053 }
1054
1055 static void test_pack_WIN32_FIND_DATAW(void)
1056 {
1057 /* WIN32_FIND_DATAW (pack 4) */
1058 TEST_TYPE(WIN32_FIND_DATAW, 592, 4);
1059 TEST_FIELD(WIN32_FIND_DATAW, DWORD, dwFileAttributes, 0, 4, 4);
1060 TEST_FIELD(WIN32_FIND_DATAW, FILETIME, ftCreationTime, 4, 8, 4);
1061 TEST_FIELD(WIN32_FIND_DATAW, FILETIME, ftLastAccessTime, 12, 8, 4);
1062 TEST_FIELD(WIN32_FIND_DATAW, FILETIME, ftLastWriteTime, 20, 8, 4);
1063 TEST_FIELD(WIN32_FIND_DATAW, DWORD, nFileSizeHigh, 28, 4, 4);
1064 TEST_FIELD(WIN32_FIND_DATAW, DWORD, nFileSizeLow, 32, 4, 4);
1065 TEST_FIELD(WIN32_FIND_DATAW, DWORD, dwReserved0, 36, 4, 4);
1066 TEST_FIELD(WIN32_FIND_DATAW, DWORD, dwReserved1, 40, 4, 4);
1067 TEST_FIELD(WIN32_FIND_DATAW, WCHAR[260], cFileName, 44, 520, 2);
1068 TEST_FIELD(WIN32_FIND_DATAW, WCHAR[14], cAlternateFileName, 564, 28, 2);
1069 }
1070
1071 static void test_pack(void)
1072 {
1073 test_pack_ACTCTXA();
1074 test_pack_ACTCTXW();
1075 test_pack_ACTCTX_SECTION_KEYED_DATA();
1076 test_pack_ACTCTX_SECTION_KEYED_DATA_2600();
1077 test_pack_ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA();
1078 test_pack_ACTIVATION_CONTEXT_BASIC_INFORMATION();
1079 test_pack_BY_HANDLE_FILE_INFORMATION();
1080 test_pack_COMMPROP();
1081 test_pack_COMMTIMEOUTS();
1082 test_pack_CREATE_PROCESS_DEBUG_INFO();
1083 test_pack_CREATE_THREAD_DEBUG_INFO();
1084 test_pack_CRITICAL_SECTION();
1085 test_pack_CRITICAL_SECTION_DEBUG();
1086 test_pack_ENUMRESLANGPROCA();
1087 test_pack_ENUMRESLANGPROCW();
1088 test_pack_ENUMRESNAMEPROCA();
1089 test_pack_ENUMRESNAMEPROCW();
1090 test_pack_ENUMRESTYPEPROCA();
1091 test_pack_ENUMRESTYPEPROCW();
1092 test_pack_EXCEPTION_DEBUG_INFO();
1093 test_pack_EXIT_PROCESS_DEBUG_INFO();
1094 test_pack_EXIT_THREAD_DEBUG_INFO();
1095 test_pack_HW_PROFILE_INFOA();
1096 test_pack_HW_PROFILE_INFOW();
1097 test_pack_LOAD_DLL_DEBUG_INFO();
1098 test_pack_LPBY_HANDLE_FILE_INFORMATION();
1099 test_pack_LPCOMMPROP();
1100 test_pack_LPCOMMTIMEOUTS();
1101 test_pack_LPCRITICAL_SECTION();
1102 test_pack_LPCRITICAL_SECTION_DEBUG();
1103 test_pack_LPEXCEPTION_POINTERS();
1104 test_pack_LPEXCEPTION_RECORD();
1105 test_pack_LPFIBER_START_ROUTINE();
1106 test_pack_LPHW_PROFILE_INFOA();
1107 test_pack_LPHW_PROFILE_INFOW();
1108 test_pack_LPLONG();
1109 test_pack_LPMEMORYSTATUS();
1110 test_pack_LPOFSTRUCT();
1111 test_pack_LPOSVERSIONINFOA();
1112 test_pack_LPOSVERSIONINFOEXA();
1113 test_pack_LPOSVERSIONINFOEXW();
1114 test_pack_LPOSVERSIONINFOW();
1115 test_pack_LPOVERLAPPED();
1116 test_pack_LPOVERLAPPED_COMPLETION_ROUTINE();
1117 test_pack_LPPROCESS_INFORMATION();
1118 test_pack_LPPROGRESS_ROUTINE();
1119 test_pack_LPSECURITY_ATTRIBUTES();
1120 test_pack_LPSTARTUPINFOA();
1121 test_pack_LPSTARTUPINFOW();
1122 test_pack_LPSYSTEMTIME();
1123 test_pack_LPSYSTEM_POWER_STATUS();
1124 test_pack_LPTHREAD_START_ROUTINE();
1125 test_pack_LPTIME_ZONE_INFORMATION();
1126 test_pack_LPVOID();
1127 test_pack_LPWIN32_FILE_ATTRIBUTE_DATA();
1128 test_pack_LPWIN32_FIND_DATAA();
1129 test_pack_LPWIN32_FIND_DATAW();
1130 test_pack_MEMORYSTATUS();
1131 test_pack_OFSTRUCT();
1132 test_pack_OSVERSIONINFOA();
1133 test_pack_OSVERSIONINFOEXA();
1134 test_pack_OSVERSIONINFOEXW();
1135 test_pack_OSVERSIONINFOW();
1136 test_pack_OUTPUT_DEBUG_STRING_INFO();
1137 test_pack_OVERLAPPED();
1138 test_pack_PACTCTXA();
1139 test_pack_PACTCTXW();
1140 test_pack_PACTCTX_SECTION_KEYED_DATA();
1141 test_pack_PACTCTX_SECTION_KEYED_DATA_2600();
1142 test_pack_PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA();
1143 test_pack_PACTIVATION_CONTEXT_BASIC_INFORMATION();
1144 test_pack_PAPCFUNC();
1145 test_pack_PBY_HANDLE_FILE_INFORMATION();
1146 test_pack_PCACTCTXA();
1147 test_pack_PCACTCTXW();
1148 test_pack_PCACTCTX_SECTION_KEYED_DATA();
1149 test_pack_PCACTCTX_SECTION_KEYED_DATA_2600();
1150 test_pack_PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA();
1151 test_pack_PCRITICAL_SECTION();
1152 test_pack_PCRITICAL_SECTION_DEBUG();
1153 test_pack_PFIBER_START_ROUTINE();
1154 test_pack_PHKEY();
1155 test_pack_POFSTRUCT();
1156 test_pack_POSVERSIONINFOA();
1157 test_pack_POSVERSIONINFOEXA();
1158 test_pack_POSVERSIONINFOEXW();
1159 test_pack_POSVERSIONINFOW();
1160 test_pack_PPROCESS_INFORMATION();
1161 test_pack_PQUERYACTCTXW_FUNC();
1162 test_pack_PROCESS_INFORMATION();
1163 test_pack_PSECURITY_ATTRIBUTES();
1164 test_pack_PSYSTEMTIME();
1165 test_pack_PTIMERAPCROUTINE();
1166 test_pack_PTIME_ZONE_INFORMATION();
1167 test_pack_PWIN32_FIND_DATAA();
1168 test_pack_PWIN32_FIND_DATAW();
1169 test_pack_RIP_INFO();
1170 test_pack_SECURITY_ATTRIBUTES();
1171 test_pack_STARTUPINFOA();
1172 test_pack_STARTUPINFOW();
1173 test_pack_SYSLEVEL();
1174 test_pack_SYSTEMTIME();
1175 test_pack_SYSTEM_POWER_STATUS();
1176 test_pack_TIME_ZONE_INFORMATION();
1177 test_pack_UNLOAD_DLL_DEBUG_INFO();
1178 test_pack_WAITORTIMERCALLBACK();
1179 test_pack_WIN32_FILE_ATTRIBUTE_DATA();
1180 test_pack_WIN32_FIND_DATAA();
1181 test_pack_WIN32_FIND_DATAW();
1182 }
1183
1184 START_TEST(generated)
1185 {
1186 test_pack();
1187 }