SetEnvironmentVariableA(NULL, NULL) crashes on Win98 -> removed.
[wine] / dlls / kernel / tests / 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 (_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 (_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 ")", \
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 ")", \
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 ")", _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 ")", 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 ")", 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");
108
109 #define TEST_TYPE_UNSIGNED(type) \
110      ok((type) -1 > 0, "(" #type ") -1 > 0");
111
112 static void test_pack_BY_HANDLE_FILE_INFORMATION(void)
113 {
114     /* BY_HANDLE_FILE_INFORMATION (pack 4) */
115     TEST_TYPE(BY_HANDLE_FILE_INFORMATION, 52, 4);
116     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, dwFileAttributes, 0, 4, 4);
117     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, FILETIME, ftCreationTime, 4, 8, 4);
118     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, FILETIME, ftLastAccessTime, 12, 8, 4);
119     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, FILETIME, ftLastWriteTime, 20, 8, 4);
120     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, dwVolumeSerialNumber, 28, 4, 4);
121     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileSizeHigh, 32, 4, 4);
122     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileSizeLow, 36, 4, 4);
123     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nNumberOfLinks, 40, 4, 4);
124     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileIndexHigh, 44, 4, 4);
125     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileIndexLow, 48, 4, 4);
126 }
127
128 static void test_pack_COMMCONFIG(void)
129 {
130     /* COMMCONFIG (pack 4) */
131     TEST_FIELD(COMMCONFIG, DWORD, dwSize, 0, 4, 4);
132     TEST_FIELD(COMMCONFIG, WORD, wVersion, 4, 2, 2);
133     TEST_FIELD(COMMCONFIG, WORD, wReserved, 6, 2, 2);
134 }
135
136 static void test_pack_COMMPROP(void)
137 {
138     /* COMMPROP (pack 4) */
139     TEST_TYPE(COMMPROP, 64, 4);
140     TEST_FIELD(COMMPROP, WORD, wPacketLength, 0, 2, 2);
141     TEST_FIELD(COMMPROP, WORD, wPacketVersion, 2, 2, 2);
142     TEST_FIELD(COMMPROP, DWORD, dwServiceMask, 4, 4, 4);
143     TEST_FIELD(COMMPROP, DWORD, dwReserved1, 8, 4, 4);
144     TEST_FIELD(COMMPROP, DWORD, dwMaxTxQueue, 12, 4, 4);
145     TEST_FIELD(COMMPROP, DWORD, dwMaxRxQueue, 16, 4, 4);
146     TEST_FIELD(COMMPROP, DWORD, dwMaxBaud, 20, 4, 4);
147     TEST_FIELD(COMMPROP, DWORD, dwProvSubType, 24, 4, 4);
148     TEST_FIELD(COMMPROP, DWORD, dwProvCapabilities, 28, 4, 4);
149     TEST_FIELD(COMMPROP, DWORD, dwSettableParams, 32, 4, 4);
150     TEST_FIELD(COMMPROP, DWORD, dwSettableBaud, 36, 4, 4);
151     TEST_FIELD(COMMPROP, WORD, wSettableData, 40, 2, 2);
152     TEST_FIELD(COMMPROP, WORD, wSettableStopParity, 42, 2, 2);
153     TEST_FIELD(COMMPROP, DWORD, dwCurrentTxQueue, 44, 4, 4);
154     TEST_FIELD(COMMPROP, DWORD, dwCurrentRxQueue, 48, 4, 4);
155     TEST_FIELD(COMMPROP, DWORD, dwProvSpec1, 52, 4, 4);
156     TEST_FIELD(COMMPROP, DWORD, dwProvSpec2, 56, 4, 4);
157     TEST_FIELD(COMMPROP, WCHAR[1], wcProvChar, 60, 2, 2);
158 }
159
160 static void test_pack_COMMTIMEOUTS(void)
161 {
162     /* COMMTIMEOUTS (pack 4) */
163     TEST_TYPE(COMMTIMEOUTS, 20, 4);
164     TEST_FIELD(COMMTIMEOUTS, DWORD, ReadIntervalTimeout, 0, 4, 4);
165     TEST_FIELD(COMMTIMEOUTS, DWORD, ReadTotalTimeoutMultiplier, 4, 4, 4);
166     TEST_FIELD(COMMTIMEOUTS, DWORD, ReadTotalTimeoutConstant, 8, 4, 4);
167     TEST_FIELD(COMMTIMEOUTS, DWORD, WriteTotalTimeoutMultiplier, 12, 4, 4);
168     TEST_FIELD(COMMTIMEOUTS, DWORD, WriteTotalTimeoutConstant, 16, 4, 4);
169 }
170
171 static void test_pack_COMSTAT(void)
172 {
173     /* COMSTAT (pack 4) */
174     TEST_TYPE(COMSTAT, 12, 4);
175     TEST_FIELD(COMSTAT, DWORD, cbInQue, 4, 4, 4);
176     TEST_FIELD(COMSTAT, DWORD, cbOutQue, 8, 4, 4);
177 }
178
179 static void test_pack_CREATE_PROCESS_DEBUG_INFO(void)
180 {
181     /* CREATE_PROCESS_DEBUG_INFO (pack 4) */
182     TEST_TYPE(CREATE_PROCESS_DEBUG_INFO, 40, 4);
183     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, HANDLE, hFile, 0, 4, 4);
184     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, HANDLE, hProcess, 4, 4, 4);
185     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, HANDLE, hThread, 8, 4, 4);
186     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPVOID, lpBaseOfImage, 12, 4, 4);
187     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, DWORD, dwDebugInfoFileOffset, 16, 4, 4);
188     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, DWORD, nDebugInfoSize, 20, 4, 4);
189     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPVOID, lpThreadLocalBase, 24, 4, 4);
190     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPTHREAD_START_ROUTINE, lpStartAddress, 28, 4, 4);
191     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPVOID, lpImageName, 32, 4, 4);
192     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, WORD, fUnicode, 36, 2, 2);
193 }
194
195 static void test_pack_CREATE_THREAD_DEBUG_INFO(void)
196 {
197     /* CREATE_THREAD_DEBUG_INFO (pack 4) */
198     TEST_TYPE(CREATE_THREAD_DEBUG_INFO, 12, 4);
199     TEST_FIELD(CREATE_THREAD_DEBUG_INFO, HANDLE, hThread, 0, 4, 4);
200     TEST_FIELD(CREATE_THREAD_DEBUG_INFO, LPVOID, lpThreadLocalBase, 4, 4, 4);
201     TEST_FIELD(CREATE_THREAD_DEBUG_INFO, LPTHREAD_START_ROUTINE, lpStartAddress, 8, 4, 4);
202 }
203
204 static void test_pack_CRITICAL_SECTION(void)
205 {
206     /* CRITICAL_SECTION */
207     TEST_TYPE(CRITICAL_SECTION, 24, 4);
208 }
209
210 static void test_pack_CRITICAL_SECTION_DEBUG(void)
211 {
212     /* CRITICAL_SECTION_DEBUG */
213     TEST_TYPE(CRITICAL_SECTION_DEBUG, 32, 4);
214 }
215
216 static void test_pack_DCB(void)
217 {
218     /* DCB (pack 4) */
219     TEST_FIELD(DCB, DWORD, DCBlength, 0, 4, 4);
220     TEST_FIELD(DCB, DWORD, BaudRate, 4, 4, 4);
221 }
222
223 static void test_pack_DEBUG_EVENT(void)
224 {
225     /* DEBUG_EVENT (pack 4) */
226     TEST_FIELD(DEBUG_EVENT, DWORD, dwDebugEventCode, 0, 4, 4);
227     TEST_FIELD(DEBUG_EVENT, DWORD, dwProcessId, 4, 4, 4);
228     TEST_FIELD(DEBUG_EVENT, DWORD, dwThreadId, 8, 4, 4);
229 }
230
231 static void test_pack_EXCEPTION_DEBUG_INFO(void)
232 {
233     /* EXCEPTION_DEBUG_INFO (pack 4) */
234     TEST_TYPE(EXCEPTION_DEBUG_INFO, 84, 4);
235     TEST_FIELD(EXCEPTION_DEBUG_INFO, EXCEPTION_RECORD, ExceptionRecord, 0, 80, 4);
236     TEST_FIELD(EXCEPTION_DEBUG_INFO, DWORD, dwFirstChance, 80, 4, 4);
237 }
238
239 static void test_pack_EXIT_PROCESS_DEBUG_INFO(void)
240 {
241     /* EXIT_PROCESS_DEBUG_INFO (pack 4) */
242     TEST_TYPE(EXIT_PROCESS_DEBUG_INFO, 4, 4);
243     TEST_FIELD(EXIT_PROCESS_DEBUG_INFO, DWORD, dwExitCode, 0, 4, 4);
244 }
245
246 static void test_pack_EXIT_THREAD_DEBUG_INFO(void)
247 {
248     /* EXIT_THREAD_DEBUG_INFO (pack 4) */
249     TEST_TYPE(EXIT_THREAD_DEBUG_INFO, 4, 4);
250     TEST_FIELD(EXIT_THREAD_DEBUG_INFO, DWORD, dwExitCode, 0, 4, 4);
251 }
252
253 static void test_pack_HW_PROFILE_INFOA(void)
254 {
255     /* HW_PROFILE_INFOA (pack 4) */
256     TEST_TYPE(HW_PROFILE_INFOA, 124, 4);
257     TEST_FIELD(HW_PROFILE_INFOA, DWORD, dwDockInfo, 0, 4, 4);
258     TEST_FIELD(HW_PROFILE_INFOA, CHAR[HW_PROFILE_GUIDLEN], szHwProfileGuid, 4, 39, 1);
259     TEST_FIELD(HW_PROFILE_INFOA, CHAR[MAX_PROFILE_LEN], szHwProfileName, 43, 80, 1);
260 }
261
262 static void test_pack_HW_PROFILE_INFOW(void)
263 {
264     /* HW_PROFILE_INFOW (pack 4) */
265     TEST_TYPE(HW_PROFILE_INFOW, 244, 4);
266     TEST_FIELD(HW_PROFILE_INFOW, DWORD, dwDockInfo, 0, 4, 4);
267     TEST_FIELD(HW_PROFILE_INFOW, WCHAR[HW_PROFILE_GUIDLEN], szHwProfileGuid, 4, 78, 2);
268     TEST_FIELD(HW_PROFILE_INFOW, WCHAR[MAX_PROFILE_LEN], szHwProfileName, 82, 160, 2);
269 }
270
271 static void test_pack_LDT_ENTRY(void)
272 {
273     /* LDT_ENTRY (pack 4) */
274     TEST_FIELD(LDT_ENTRY, WORD, LimitLow, 0, 2, 2);
275     TEST_FIELD(LDT_ENTRY, WORD, BaseLow, 2, 2, 2);
276 }
277
278 static void test_pack_LOAD_DLL_DEBUG_INFO(void)
279 {
280     /* LOAD_DLL_DEBUG_INFO (pack 4) */
281     TEST_TYPE(LOAD_DLL_DEBUG_INFO, 24, 4);
282     TEST_FIELD(LOAD_DLL_DEBUG_INFO, HANDLE, hFile, 0, 4, 4);
283     TEST_FIELD(LOAD_DLL_DEBUG_INFO, LPVOID, lpBaseOfDll, 4, 4, 4);
284     TEST_FIELD(LOAD_DLL_DEBUG_INFO, DWORD, dwDebugInfoFileOffset, 8, 4, 4);
285     TEST_FIELD(LOAD_DLL_DEBUG_INFO, DWORD, nDebugInfoSize, 12, 4, 4);
286     TEST_FIELD(LOAD_DLL_DEBUG_INFO, LPVOID, lpImageName, 16, 4, 4);
287     TEST_FIELD(LOAD_DLL_DEBUG_INFO, WORD, fUnicode, 20, 2, 2);
288 }
289
290 static void test_pack_LPBY_HANDLE_FILE_INFORMATION(void)
291 {
292     /* LPBY_HANDLE_FILE_INFORMATION */
293     TEST_TYPE(LPBY_HANDLE_FILE_INFORMATION, 4, 4);
294     TEST_TYPE_POINTER(LPBY_HANDLE_FILE_INFORMATION, 52, 4);
295 }
296
297 static void test_pack_LPCOMMCONFIG(void)
298 {
299     /* LPCOMMCONFIG */
300     TEST_TYPE(LPCOMMCONFIG, 4, 4);
301 }
302
303 static void test_pack_LPCOMMPROP(void)
304 {
305     /* LPCOMMPROP */
306     TEST_TYPE(LPCOMMPROP, 4, 4);
307     TEST_TYPE_POINTER(LPCOMMPROP, 64, 4);
308 }
309
310 static void test_pack_LPCOMMTIMEOUTS(void)
311 {
312     /* LPCOMMTIMEOUTS */
313     TEST_TYPE(LPCOMMTIMEOUTS, 4, 4);
314     TEST_TYPE_POINTER(LPCOMMTIMEOUTS, 20, 4);
315 }
316
317 static void test_pack_LPCOMSTAT(void)
318 {
319     /* LPCOMSTAT */
320     TEST_TYPE(LPCOMSTAT, 4, 4);
321     TEST_TYPE_POINTER(LPCOMSTAT, 12, 4);
322 }
323
324 static void test_pack_LPCONTEXT(void)
325 {
326     /* LPCONTEXT */
327     TEST_TYPE(LPCONTEXT, 4, 4);
328 }
329
330 static void test_pack_LPCRITICAL_SECTION(void)
331 {
332     /* LPCRITICAL_SECTION */
333     TEST_TYPE(LPCRITICAL_SECTION, 4, 4);
334 }
335
336 static void test_pack_LPCRITICAL_SECTION_DEBUG(void)
337 {
338     /* LPCRITICAL_SECTION_DEBUG */
339     TEST_TYPE(LPCRITICAL_SECTION_DEBUG, 4, 4);
340 }
341
342 static void test_pack_LPDCB(void)
343 {
344     /* LPDCB */
345     TEST_TYPE(LPDCB, 4, 4);
346 }
347
348 static void test_pack_LPDEBUG_EVENT(void)
349 {
350     /* LPDEBUG_EVENT */
351     TEST_TYPE(LPDEBUG_EVENT, 4, 4);
352 }
353
354 static void test_pack_LPEXCEPTION_POINTERS(void)
355 {
356     /* LPEXCEPTION_POINTERS */
357     TEST_TYPE(LPEXCEPTION_POINTERS, 4, 4);
358 }
359
360 static void test_pack_LPEXCEPTION_RECORD(void)
361 {
362     /* LPEXCEPTION_RECORD */
363     TEST_TYPE(LPEXCEPTION_RECORD, 4, 4);
364 }
365
366 static void test_pack_LPFIBER_START_ROUTINE(void)
367 {
368     /* LPFIBER_START_ROUTINE */
369     TEST_TYPE(LPFIBER_START_ROUTINE, 4, 4);
370 }
371
372 static void test_pack_LPHW_PROFILE_INFOA(void)
373 {
374     /* LPHW_PROFILE_INFOA */
375     TEST_TYPE(LPHW_PROFILE_INFOA, 4, 4);
376     TEST_TYPE_POINTER(LPHW_PROFILE_INFOA, 124, 4);
377 }
378
379 static void test_pack_LPHW_PROFILE_INFOW(void)
380 {
381     /* LPHW_PROFILE_INFOW */
382     TEST_TYPE(LPHW_PROFILE_INFOW, 4, 4);
383     TEST_TYPE_POINTER(LPHW_PROFILE_INFOW, 244, 4);
384 }
385
386 static void test_pack_LPLDT_ENTRY(void)
387 {
388     /* LPLDT_ENTRY */
389     TEST_TYPE(LPLDT_ENTRY, 4, 4);
390 }
391
392 static void test_pack_LPMEMORYSTATUS(void)
393 {
394     /* LPMEMORYSTATUS */
395     TEST_TYPE(LPMEMORYSTATUS, 4, 4);
396     TEST_TYPE_POINTER(LPMEMORYSTATUS, 32, 4);
397 }
398
399 static void test_pack_LPOFSTRUCT(void)
400 {
401     /* LPOFSTRUCT */
402     TEST_TYPE(LPOFSTRUCT, 4, 4);
403     TEST_TYPE_POINTER(LPOFSTRUCT, 136, 2);
404 }
405
406 static void test_pack_LPOSVERSIONINFOA(void)
407 {
408     /* LPOSVERSIONINFOA */
409     TEST_TYPE(LPOSVERSIONINFOA, 4, 4);
410     TEST_TYPE_POINTER(LPOSVERSIONINFOA, 148, 4);
411 }
412
413 static void test_pack_LPOSVERSIONINFOEXA(void)
414 {
415     /* LPOSVERSIONINFOEXA */
416     TEST_TYPE(LPOSVERSIONINFOEXA, 4, 4);
417 }
418
419 static void test_pack_LPOSVERSIONINFOEXW(void)
420 {
421     /* LPOSVERSIONINFOEXW */
422     TEST_TYPE(LPOSVERSIONINFOEXW, 4, 4);
423 }
424
425 static void test_pack_LPOSVERSIONINFOW(void)
426 {
427     /* LPOSVERSIONINFOW */
428     TEST_TYPE(LPOSVERSIONINFOW, 4, 4);
429     TEST_TYPE_POINTER(LPOSVERSIONINFOW, 276, 4);
430 }
431
432 static void test_pack_LPOVERLAPPED(void)
433 {
434     /* LPOVERLAPPED */
435     TEST_TYPE(LPOVERLAPPED, 4, 4);
436     TEST_TYPE_POINTER(LPOVERLAPPED, 20, 4);
437 }
438
439 static void test_pack_LPOVERLAPPED_COMPLETION_ROUTINE(void)
440 {
441     /* LPOVERLAPPED_COMPLETION_ROUTINE */
442     TEST_TYPE(LPOVERLAPPED_COMPLETION_ROUTINE, 4, 4);
443 }
444
445 static void test_pack_LPPROCESS_HEAP_ENTRY(void)
446 {
447     /* LPPROCESS_HEAP_ENTRY */
448     TEST_TYPE(LPPROCESS_HEAP_ENTRY, 4, 4);
449 }
450
451 static void test_pack_LPPROCESS_INFORMATION(void)
452 {
453     /* LPPROCESS_INFORMATION */
454     TEST_TYPE(LPPROCESS_INFORMATION, 4, 4);
455     TEST_TYPE_POINTER(LPPROCESS_INFORMATION, 16, 4);
456 }
457
458 static void test_pack_LPPROGRESS_ROUTINE(void)
459 {
460     /* LPPROGRESS_ROUTINE */
461     TEST_TYPE(LPPROGRESS_ROUTINE, 4, 4);
462 }
463
464 static void test_pack_LPSECURITY_ATTRIBUTES(void)
465 {
466     /* LPSECURITY_ATTRIBUTES */
467     TEST_TYPE(LPSECURITY_ATTRIBUTES, 4, 4);
468     TEST_TYPE_POINTER(LPSECURITY_ATTRIBUTES, 12, 4);
469 }
470
471 static void test_pack_LPSTARTUPINFOA(void)
472 {
473     /* LPSTARTUPINFOA */
474     TEST_TYPE(LPSTARTUPINFOA, 4, 4);
475 }
476
477 static void test_pack_LPSTARTUPINFOW(void)
478 {
479     /* LPSTARTUPINFOW */
480     TEST_TYPE(LPSTARTUPINFOW, 4, 4);
481     TEST_TYPE_POINTER(LPSTARTUPINFOW, 68, 4);
482 }
483
484 static void test_pack_LPSYSTEMTIME(void)
485 {
486     /* LPSYSTEMTIME */
487     TEST_TYPE(LPSYSTEMTIME, 4, 4);
488     TEST_TYPE_POINTER(LPSYSTEMTIME, 16, 2);
489 }
490
491 static void test_pack_LPSYSTEM_INFO(void)
492 {
493     /* LPSYSTEM_INFO */
494     TEST_TYPE(LPSYSTEM_INFO, 4, 4);
495 }
496
497 static void test_pack_LPSYSTEM_POWER_STATUS(void)
498 {
499     /* LPSYSTEM_POWER_STATUS */
500     TEST_TYPE(LPSYSTEM_POWER_STATUS, 4, 4);
501     TEST_TYPE_POINTER(LPSYSTEM_POWER_STATUS, 12, 4);
502 }
503
504 static void test_pack_LPTHREAD_START_ROUTINE(void)
505 {
506     /* LPTHREAD_START_ROUTINE */
507     TEST_TYPE(LPTHREAD_START_ROUTINE, 4, 4);
508 }
509
510 static void test_pack_LPTIME_ZONE_INFORMATION(void)
511 {
512     /* LPTIME_ZONE_INFORMATION */
513     TEST_TYPE(LPTIME_ZONE_INFORMATION, 4, 4);
514     TEST_TYPE_POINTER(LPTIME_ZONE_INFORMATION, 172, 4);
515 }
516
517 static void test_pack_LPWIN32_FILE_ATTRIBUTE_DATA(void)
518 {
519     /* LPWIN32_FILE_ATTRIBUTE_DATA */
520     TEST_TYPE(LPWIN32_FILE_ATTRIBUTE_DATA, 4, 4);
521     TEST_TYPE_POINTER(LPWIN32_FILE_ATTRIBUTE_DATA, 36, 4);
522 }
523
524 static void test_pack_LPWIN32_FIND_DATAA(void)
525 {
526     /* LPWIN32_FIND_DATAA */
527     TEST_TYPE(LPWIN32_FIND_DATAA, 4, 4);
528     TEST_TYPE_POINTER(LPWIN32_FIND_DATAA, 320, 4);
529 }
530
531 static void test_pack_LPWIN32_FIND_DATAW(void)
532 {
533     /* LPWIN32_FIND_DATAW */
534     TEST_TYPE(LPWIN32_FIND_DATAW, 4, 4);
535     TEST_TYPE_POINTER(LPWIN32_FIND_DATAW, 592, 4);
536 }
537
538 static void test_pack_LPWIN32_STREAM_ID(void)
539 {
540     /* LPWIN32_STREAM_ID */
541     TEST_TYPE(LPWIN32_STREAM_ID, 4, 4);
542     TEST_TYPE_POINTER(LPWIN32_STREAM_ID, 24, 4);
543 }
544
545 static void test_pack_MEMORYSTATUS(void)
546 {
547     /* MEMORYSTATUS (pack 4) */
548     TEST_TYPE(MEMORYSTATUS, 32, 4);
549     TEST_FIELD(MEMORYSTATUS, DWORD, dwLength, 0, 4, 4);
550     TEST_FIELD(MEMORYSTATUS, DWORD, dwMemoryLoad, 4, 4, 4);
551     TEST_FIELD(MEMORYSTATUS, SIZE_T, dwTotalPhys, 8, 4, 4);
552     TEST_FIELD(MEMORYSTATUS, SIZE_T, dwAvailPhys, 12, 4, 4);
553     TEST_FIELD(MEMORYSTATUS, SIZE_T, dwTotalPageFile, 16, 4, 4);
554     TEST_FIELD(MEMORYSTATUS, SIZE_T, dwAvailPageFile, 20, 4, 4);
555     TEST_FIELD(MEMORYSTATUS, SIZE_T, dwTotalVirtual, 24, 4, 4);
556     TEST_FIELD(MEMORYSTATUS, SIZE_T, dwAvailVirtual, 28, 4, 4);
557 }
558
559 static void test_pack_OFSTRUCT(void)
560 {
561     /* OFSTRUCT (pack 4) */
562     TEST_TYPE(OFSTRUCT, 136, 2);
563     TEST_FIELD(OFSTRUCT, BYTE, cBytes, 0, 1, 1);
564     TEST_FIELD(OFSTRUCT, BYTE, fFixedDisk, 1, 1, 1);
565     TEST_FIELD(OFSTRUCT, WORD, nErrCode, 2, 2, 2);
566     TEST_FIELD(OFSTRUCT, WORD, Reserved1, 4, 2, 2);
567     TEST_FIELD(OFSTRUCT, WORD, Reserved2, 6, 2, 2);
568     TEST_FIELD(OFSTRUCT, BYTE[OFS_MAXPATHNAME], szPathName, 8, 128, 1);
569 }
570
571 static void test_pack_OSVERSIONINFOA(void)
572 {
573     /* OSVERSIONINFOA (pack 4) */
574     TEST_TYPE(OSVERSIONINFOA, 148, 4);
575     TEST_FIELD(OSVERSIONINFOA, DWORD, dwOSVersionInfoSize, 0, 4, 4);
576     TEST_FIELD(OSVERSIONINFOA, DWORD, dwMajorVersion, 4, 4, 4);
577     TEST_FIELD(OSVERSIONINFOA, DWORD, dwMinorVersion, 8, 4, 4);
578     TEST_FIELD(OSVERSIONINFOA, DWORD, dwBuildNumber, 12, 4, 4);
579     TEST_FIELD(OSVERSIONINFOA, DWORD, dwPlatformId, 16, 4, 4);
580     TEST_FIELD(OSVERSIONINFOA, CHAR[128], szCSDVersion, 20, 128, 1);
581 }
582
583 static void test_pack_OSVERSIONINFOEXA(void)
584 {
585     /* OSVERSIONINFOEXA (pack 4) */
586     TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwOSVersionInfoSize, 0, 4, 4);
587     TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwMajorVersion, 4, 4, 4);
588     TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwMinorVersion, 8, 4, 4);
589     TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwBuildNumber, 12, 4, 4);
590     TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwPlatformId, 16, 4, 4);
591     TEST_FIELD(OSVERSIONINFOEXA, CHAR[128], szCSDVersion, 20, 128, 1);
592     TEST_FIELD(OSVERSIONINFOEXA, WORD, wServicePackMajor, 148, 2, 2);
593     TEST_FIELD(OSVERSIONINFOEXA, WORD, wServicePackMinor, 150, 2, 2);
594 }
595
596 static void test_pack_OSVERSIONINFOEXW(void)
597 {
598     /* OSVERSIONINFOEXW (pack 4) */
599     TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwOSVersionInfoSize, 0, 4, 4);
600     TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwMajorVersion, 4, 4, 4);
601     TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwMinorVersion, 8, 4, 4);
602     TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwBuildNumber, 12, 4, 4);
603     TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwPlatformId, 16, 4, 4);
604     TEST_FIELD(OSVERSIONINFOEXW, WCHAR[128], szCSDVersion, 20, 256, 2);
605     TEST_FIELD(OSVERSIONINFOEXW, WORD, wServicePackMajor, 276, 2, 2);
606     TEST_FIELD(OSVERSIONINFOEXW, WORD, wServicePackMinor, 278, 2, 2);
607 }
608
609 static void test_pack_OSVERSIONINFOW(void)
610 {
611     /* OSVERSIONINFOW (pack 4) */
612     TEST_TYPE(OSVERSIONINFOW, 276, 4);
613     TEST_FIELD(OSVERSIONINFOW, DWORD, dwOSVersionInfoSize, 0, 4, 4);
614     TEST_FIELD(OSVERSIONINFOW, DWORD, dwMajorVersion, 4, 4, 4);
615     TEST_FIELD(OSVERSIONINFOW, DWORD, dwMinorVersion, 8, 4, 4);
616     TEST_FIELD(OSVERSIONINFOW, DWORD, dwBuildNumber, 12, 4, 4);
617     TEST_FIELD(OSVERSIONINFOW, DWORD, dwPlatformId, 16, 4, 4);
618     TEST_FIELD(OSVERSIONINFOW, WCHAR[128], szCSDVersion, 20, 256, 2);
619 }
620
621 static void test_pack_OUTPUT_DEBUG_STRING_INFO(void)
622 {
623     /* OUTPUT_DEBUG_STRING_INFO (pack 4) */
624 }
625
626 static void test_pack_OVERLAPPED(void)
627 {
628     /* OVERLAPPED (pack 4) */
629     TEST_TYPE(OVERLAPPED, 20, 4);
630     TEST_FIELD(OVERLAPPED, DWORD, Internal, 0, 4, 4);
631     TEST_FIELD(OVERLAPPED, DWORD, InternalHigh, 4, 4, 4);
632     TEST_FIELD(OVERLAPPED, DWORD, Offset, 8, 4, 4);
633     TEST_FIELD(OVERLAPPED, DWORD, OffsetHigh, 12, 4, 4);
634     TEST_FIELD(OVERLAPPED, HANDLE, hEvent, 16, 4, 4);
635 }
636
637 static void test_pack_PAPCFUNC(void)
638 {
639     /* PAPCFUNC */
640     TEST_TYPE(PAPCFUNC, 4, 4);
641 }
642
643 static void test_pack_PBY_HANDLE_FILE_INFORMATION(void)
644 {
645     /* PBY_HANDLE_FILE_INFORMATION */
646     TEST_TYPE(PBY_HANDLE_FILE_INFORMATION, 4, 4);
647     TEST_TYPE_POINTER(PBY_HANDLE_FILE_INFORMATION, 52, 4);
648 }
649
650 static void test_pack_PCRITICAL_SECTION(void)
651 {
652     /* PCRITICAL_SECTION */
653     TEST_TYPE(PCRITICAL_SECTION, 4, 4);
654 }
655
656 static void test_pack_PCRITICAL_SECTION_DEBUG(void)
657 {
658     /* PCRITICAL_SECTION_DEBUG */
659     TEST_TYPE(PCRITICAL_SECTION_DEBUG, 4, 4);
660 }
661
662 static void test_pack_PFIBER_START_ROUTINE(void)
663 {
664     /* PFIBER_START_ROUTINE */
665     TEST_TYPE(PFIBER_START_ROUTINE, 4, 4);
666 }
667
668 static void test_pack_POFSTRUCT(void)
669 {
670     /* POFSTRUCT */
671     TEST_TYPE(POFSTRUCT, 4, 4);
672     TEST_TYPE_POINTER(POFSTRUCT, 136, 2);
673 }
674
675 static void test_pack_POSVERSIONINFOA(void)
676 {
677     /* POSVERSIONINFOA */
678     TEST_TYPE(POSVERSIONINFOA, 4, 4);
679     TEST_TYPE_POINTER(POSVERSIONINFOA, 148, 4);
680 }
681
682 static void test_pack_POSVERSIONINFOEXA(void)
683 {
684     /* POSVERSIONINFOEXA */
685     TEST_TYPE(POSVERSIONINFOEXA, 4, 4);
686 }
687
688 static void test_pack_POSVERSIONINFOEXW(void)
689 {
690     /* POSVERSIONINFOEXW */
691     TEST_TYPE(POSVERSIONINFOEXW, 4, 4);
692 }
693
694 static void test_pack_POSVERSIONINFOW(void)
695 {
696     /* POSVERSIONINFOW */
697     TEST_TYPE(POSVERSIONINFOW, 4, 4);
698     TEST_TYPE_POINTER(POSVERSIONINFOW, 276, 4);
699 }
700
701 static void test_pack_PPROCESS_HEAP_ENTRY(void)
702 {
703     /* PPROCESS_HEAP_ENTRY */
704     TEST_TYPE(PPROCESS_HEAP_ENTRY, 4, 4);
705 }
706
707 static void test_pack_PPROCESS_INFORMATION(void)
708 {
709     /* PPROCESS_INFORMATION */
710     TEST_TYPE(PPROCESS_INFORMATION, 4, 4);
711     TEST_TYPE_POINTER(PPROCESS_INFORMATION, 16, 4);
712 }
713
714 static void test_pack_PROCESS_HEAP_ENTRY(void)
715 {
716     /* PROCESS_HEAP_ENTRY (pack 4) */
717     TEST_FIELD(PROCESS_HEAP_ENTRY, LPVOID, lpData, 0, 4, 4);
718     TEST_FIELD(PROCESS_HEAP_ENTRY, DWORD, cbData, 4, 4, 4);
719     TEST_FIELD(PROCESS_HEAP_ENTRY, BYTE, cbOverhead, 8, 1, 1);
720     TEST_FIELD(PROCESS_HEAP_ENTRY, BYTE, iRegionIndex, 9, 1, 1);
721     TEST_FIELD(PROCESS_HEAP_ENTRY, WORD, wFlags, 10, 2, 2);
722 }
723
724 static void test_pack_PROCESS_INFORMATION(void)
725 {
726     /* PROCESS_INFORMATION (pack 4) */
727     TEST_TYPE(PROCESS_INFORMATION, 16, 4);
728     TEST_FIELD(PROCESS_INFORMATION, HANDLE, hProcess, 0, 4, 4);
729     TEST_FIELD(PROCESS_INFORMATION, HANDLE, hThread, 4, 4, 4);
730     TEST_FIELD(PROCESS_INFORMATION, DWORD, dwProcessId, 8, 4, 4);
731     TEST_FIELD(PROCESS_INFORMATION, DWORD, dwThreadId, 12, 4, 4);
732 }
733
734 static void test_pack_PSECURITY_ATTRIBUTES(void)
735 {
736     /* PSECURITY_ATTRIBUTES */
737     TEST_TYPE(PSECURITY_ATTRIBUTES, 4, 4);
738     TEST_TYPE_POINTER(PSECURITY_ATTRIBUTES, 12, 4);
739 }
740
741 static void test_pack_PSYSTEMTIME(void)
742 {
743     /* PSYSTEMTIME */
744     TEST_TYPE(PSYSTEMTIME, 4, 4);
745     TEST_TYPE_POINTER(PSYSTEMTIME, 16, 2);
746 }
747
748 static void test_pack_PTIMERAPCROUTINE(void)
749 {
750     /* PTIMERAPCROUTINE */
751     TEST_TYPE(PTIMERAPCROUTINE, 4, 4);
752 }
753
754 static void test_pack_PTIME_ZONE_INFORMATION(void)
755 {
756     /* PTIME_ZONE_INFORMATION */
757     TEST_TYPE(PTIME_ZONE_INFORMATION, 4, 4);
758     TEST_TYPE_POINTER(PTIME_ZONE_INFORMATION, 172, 4);
759 }
760
761 static void test_pack_PWIN32_FIND_DATAA(void)
762 {
763     /* PWIN32_FIND_DATAA */
764     TEST_TYPE(PWIN32_FIND_DATAA, 4, 4);
765     TEST_TYPE_POINTER(PWIN32_FIND_DATAA, 320, 4);
766 }
767
768 static void test_pack_PWIN32_FIND_DATAW(void)
769 {
770     /* PWIN32_FIND_DATAW */
771     TEST_TYPE(PWIN32_FIND_DATAW, 4, 4);
772     TEST_TYPE_POINTER(PWIN32_FIND_DATAW, 592, 4);
773 }
774
775 static void test_pack_RIP_INFO(void)
776 {
777     /* RIP_INFO (pack 4) */
778     TEST_TYPE(RIP_INFO, 8, 4);
779     TEST_FIELD(RIP_INFO, DWORD, dwError, 0, 4, 4);
780     TEST_FIELD(RIP_INFO, DWORD, dwType, 4, 4, 4);
781 }
782
783 static void test_pack_SECURITY_ATTRIBUTES(void)
784 {
785     /* SECURITY_ATTRIBUTES (pack 4) */
786     TEST_TYPE(SECURITY_ATTRIBUTES, 12, 4);
787     TEST_FIELD(SECURITY_ATTRIBUTES, DWORD, nLength, 0, 4, 4);
788     TEST_FIELD(SECURITY_ATTRIBUTES, LPVOID, lpSecurityDescriptor, 4, 4, 4);
789     TEST_FIELD(SECURITY_ATTRIBUTES, BOOL, bInheritHandle, 8, 4, 4);
790 }
791
792 static void test_pack_STARTUPINFOA(void)
793 {
794     /* STARTUPINFOA (pack 4) */
795     TEST_FIELD(STARTUPINFOA, DWORD, cb, 0, 4, 4);
796 }
797
798 static void test_pack_STARTUPINFOW(void)
799 {
800     /* STARTUPINFOW (pack 4) */
801     TEST_TYPE(STARTUPINFOW, 68, 4);
802     TEST_FIELD(STARTUPINFOW, DWORD, cb, 0, 4, 4);
803     TEST_FIELD(STARTUPINFOW, LPWSTR, lpReserved, 4, 4, 4);
804     TEST_FIELD(STARTUPINFOW, LPWSTR, lpDesktop, 8, 4, 4);
805     TEST_FIELD(STARTUPINFOW, LPWSTR, lpTitle, 12, 4, 4);
806     TEST_FIELD(STARTUPINFOW, DWORD, dwX, 16, 4, 4);
807     TEST_FIELD(STARTUPINFOW, DWORD, dwY, 20, 4, 4);
808     TEST_FIELD(STARTUPINFOW, DWORD, dwXSize, 24, 4, 4);
809     TEST_FIELD(STARTUPINFOW, DWORD, dwYSize, 28, 4, 4);
810     TEST_FIELD(STARTUPINFOW, DWORD, dwXCountChars, 32, 4, 4);
811     TEST_FIELD(STARTUPINFOW, DWORD, dwYCountChars, 36, 4, 4);
812     TEST_FIELD(STARTUPINFOW, DWORD, dwFillAttribute, 40, 4, 4);
813     TEST_FIELD(STARTUPINFOW, DWORD, dwFlags, 44, 4, 4);
814     TEST_FIELD(STARTUPINFOW, WORD, wShowWindow, 48, 2, 2);
815     TEST_FIELD(STARTUPINFOW, WORD, cbReserved2, 50, 2, 2);
816     TEST_FIELD(STARTUPINFOW, BYTE *, lpReserved2, 52, 4, 4);
817     TEST_FIELD(STARTUPINFOW, HANDLE, hStdInput, 56, 4, 4);
818     TEST_FIELD(STARTUPINFOW, HANDLE, hStdOutput, 60, 4, 4);
819     TEST_FIELD(STARTUPINFOW, HANDLE, hStdError, 64, 4, 4);
820 }
821
822 static void test_pack_SYSTEMTIME(void)
823 {
824     /* SYSTEMTIME (pack 4) */
825     TEST_TYPE(SYSTEMTIME, 16, 2);
826     TEST_FIELD(SYSTEMTIME, WORD, wYear, 0, 2, 2);
827     TEST_FIELD(SYSTEMTIME, WORD, wMonth, 2, 2, 2);
828     TEST_FIELD(SYSTEMTIME, WORD, wDayOfWeek, 4, 2, 2);
829     TEST_FIELD(SYSTEMTIME, WORD, wDay, 6, 2, 2);
830     TEST_FIELD(SYSTEMTIME, WORD, wHour, 8, 2, 2);
831     TEST_FIELD(SYSTEMTIME, WORD, wMinute, 10, 2, 2);
832     TEST_FIELD(SYSTEMTIME, WORD, wSecond, 12, 2, 2);
833     TEST_FIELD(SYSTEMTIME, WORD, wMilliseconds, 14, 2, 2);
834 }
835
836 static void test_pack_SYSTEM_POWER_STATUS(void)
837 {
838     /* SYSTEM_POWER_STATUS (pack 4) */
839     TEST_TYPE(SYSTEM_POWER_STATUS, 12, 4);
840     TEST_FIELD(SYSTEM_POWER_STATUS, BYTE, ACLineStatus, 0, 1, 1);
841     TEST_FIELD(SYSTEM_POWER_STATUS, BYTE, BatteryFlag, 1, 1, 1);
842     TEST_FIELD(SYSTEM_POWER_STATUS, BYTE, BatteryLifePercent, 2, 1, 1);
843     TEST_FIELD(SYSTEM_POWER_STATUS, BYTE, Reserved1, 3, 1, 1);
844     TEST_FIELD(SYSTEM_POWER_STATUS, DWORD, BatteryLifeTime, 4, 4, 4);
845     TEST_FIELD(SYSTEM_POWER_STATUS, DWORD, BatteryFullLifeTime, 8, 4, 4);
846 }
847
848 static void test_pack_TIME_ZONE_INFORMATION(void)
849 {
850     /* TIME_ZONE_INFORMATION (pack 4) */
851     TEST_TYPE(TIME_ZONE_INFORMATION, 172, 4);
852     TEST_FIELD(TIME_ZONE_INFORMATION, LONG, Bias, 0, 4, 4);
853     TEST_FIELD(TIME_ZONE_INFORMATION, WCHAR[32], StandardName, 4, 64, 2);
854     TEST_FIELD(TIME_ZONE_INFORMATION, SYSTEMTIME, StandardDate, 68, 16, 2);
855     TEST_FIELD(TIME_ZONE_INFORMATION, LONG, StandardBias, 84, 4, 4);
856     TEST_FIELD(TIME_ZONE_INFORMATION, WCHAR[32], DaylightName, 88, 64, 2);
857     TEST_FIELD(TIME_ZONE_INFORMATION, SYSTEMTIME, DaylightDate, 152, 16, 2);
858     TEST_FIELD(TIME_ZONE_INFORMATION, LONG, DaylightBias, 168, 4, 4);
859 }
860
861 static void test_pack_UNLOAD_DLL_DEBUG_INFO(void)
862 {
863     /* UNLOAD_DLL_DEBUG_INFO (pack 4) */
864     TEST_TYPE(UNLOAD_DLL_DEBUG_INFO, 4, 4);
865     TEST_FIELD(UNLOAD_DLL_DEBUG_INFO, LPVOID, lpBaseOfDll, 0, 4, 4);
866 }
867
868 static void test_pack_WIN32_FILE_ATTRIBUTE_DATA(void)
869 {
870     /* WIN32_FILE_ATTRIBUTE_DATA (pack 4) */
871     TEST_TYPE(WIN32_FILE_ATTRIBUTE_DATA, 36, 4);
872     TEST_FIELD(WIN32_FILE_ATTRIBUTE_DATA, DWORD, dwFileAttributes, 0, 4, 4);
873     TEST_FIELD(WIN32_FILE_ATTRIBUTE_DATA, FILETIME, ftCreationTime, 4, 8, 4);
874     TEST_FIELD(WIN32_FILE_ATTRIBUTE_DATA, FILETIME, ftLastAccessTime, 12, 8, 4);
875     TEST_FIELD(WIN32_FILE_ATTRIBUTE_DATA, FILETIME, ftLastWriteTime, 20, 8, 4);
876     TEST_FIELD(WIN32_FILE_ATTRIBUTE_DATA, DWORD, nFileSizeHigh, 28, 4, 4);
877     TEST_FIELD(WIN32_FILE_ATTRIBUTE_DATA, DWORD, nFileSizeLow, 32, 4, 4);
878 }
879
880 static void test_pack_WIN32_FIND_DATAA(void)
881 {
882     /* WIN32_FIND_DATAA (pack 4) */
883     TEST_TYPE(WIN32_FIND_DATAA, 320, 4);
884     TEST_FIELD(WIN32_FIND_DATAA, DWORD, dwFileAttributes, 0, 4, 4);
885     TEST_FIELD(WIN32_FIND_DATAA, FILETIME, ftCreationTime, 4, 8, 4);
886     TEST_FIELD(WIN32_FIND_DATAA, FILETIME, ftLastAccessTime, 12, 8, 4);
887     TEST_FIELD(WIN32_FIND_DATAA, FILETIME, ftLastWriteTime, 20, 8, 4);
888     TEST_FIELD(WIN32_FIND_DATAA, DWORD, nFileSizeHigh, 28, 4, 4);
889     TEST_FIELD(WIN32_FIND_DATAA, DWORD, nFileSizeLow, 32, 4, 4);
890     TEST_FIELD(WIN32_FIND_DATAA, DWORD, dwReserved0, 36, 4, 4);
891     TEST_FIELD(WIN32_FIND_DATAA, DWORD, dwReserved1, 40, 4, 4);
892     TEST_FIELD(WIN32_FIND_DATAA, CHAR[260], cFileName, 44, 260, 1);
893     TEST_FIELD(WIN32_FIND_DATAA, CHAR[14], cAlternateFileName, 304, 14, 1);
894 }
895
896 static void test_pack_WIN32_FIND_DATAW(void)
897 {
898     /* WIN32_FIND_DATAW (pack 4) */
899     TEST_TYPE(WIN32_FIND_DATAW, 592, 4);
900     TEST_FIELD(WIN32_FIND_DATAW, DWORD, dwFileAttributes, 0, 4, 4);
901     TEST_FIELD(WIN32_FIND_DATAW, FILETIME, ftCreationTime, 4, 8, 4);
902     TEST_FIELD(WIN32_FIND_DATAW, FILETIME, ftLastAccessTime, 12, 8, 4);
903     TEST_FIELD(WIN32_FIND_DATAW, FILETIME, ftLastWriteTime, 20, 8, 4);
904     TEST_FIELD(WIN32_FIND_DATAW, DWORD, nFileSizeHigh, 28, 4, 4);
905     TEST_FIELD(WIN32_FIND_DATAW, DWORD, nFileSizeLow, 32, 4, 4);
906     TEST_FIELD(WIN32_FIND_DATAW, DWORD, dwReserved0, 36, 4, 4);
907     TEST_FIELD(WIN32_FIND_DATAW, DWORD, dwReserved1, 40, 4, 4);
908     TEST_FIELD(WIN32_FIND_DATAW, WCHAR[260], cFileName, 44, 520, 2);
909     TEST_FIELD(WIN32_FIND_DATAW, WCHAR[14], cAlternateFileName, 564, 28, 2);
910 }
911
912 static void test_pack(void)
913 {
914     test_pack_BY_HANDLE_FILE_INFORMATION();
915     test_pack_COMMCONFIG();
916     test_pack_COMMPROP();
917     test_pack_COMMTIMEOUTS();
918     test_pack_COMSTAT();
919     test_pack_CREATE_PROCESS_DEBUG_INFO();
920     test_pack_CREATE_THREAD_DEBUG_INFO();
921     test_pack_CRITICAL_SECTION();
922     test_pack_CRITICAL_SECTION_DEBUG();
923     test_pack_DCB();
924     test_pack_DEBUG_EVENT();
925     test_pack_EXCEPTION_DEBUG_INFO();
926     test_pack_EXIT_PROCESS_DEBUG_INFO();
927     test_pack_EXIT_THREAD_DEBUG_INFO();
928     test_pack_HW_PROFILE_INFOA();
929     test_pack_HW_PROFILE_INFOW();
930     test_pack_LDT_ENTRY();
931     test_pack_LOAD_DLL_DEBUG_INFO();
932     test_pack_LPBY_HANDLE_FILE_INFORMATION();
933     test_pack_LPCOMMCONFIG();
934     test_pack_LPCOMMPROP();
935     test_pack_LPCOMMTIMEOUTS();
936     test_pack_LPCOMSTAT();
937     test_pack_LPCONTEXT();
938     test_pack_LPCRITICAL_SECTION();
939     test_pack_LPCRITICAL_SECTION_DEBUG();
940     test_pack_LPDCB();
941     test_pack_LPDEBUG_EVENT();
942     test_pack_LPEXCEPTION_POINTERS();
943     test_pack_LPEXCEPTION_RECORD();
944     test_pack_LPFIBER_START_ROUTINE();
945     test_pack_LPHW_PROFILE_INFOA();
946     test_pack_LPHW_PROFILE_INFOW();
947     test_pack_LPLDT_ENTRY();
948     test_pack_LPMEMORYSTATUS();
949     test_pack_LPOFSTRUCT();
950     test_pack_LPOSVERSIONINFOA();
951     test_pack_LPOSVERSIONINFOEXA();
952     test_pack_LPOSVERSIONINFOEXW();
953     test_pack_LPOSVERSIONINFOW();
954     test_pack_LPOVERLAPPED();
955     test_pack_LPOVERLAPPED_COMPLETION_ROUTINE();
956     test_pack_LPPROCESS_HEAP_ENTRY();
957     test_pack_LPPROCESS_INFORMATION();
958     test_pack_LPPROGRESS_ROUTINE();
959     test_pack_LPSECURITY_ATTRIBUTES();
960     test_pack_LPSTARTUPINFOA();
961     test_pack_LPSTARTUPINFOW();
962     test_pack_LPSYSTEMTIME();
963     test_pack_LPSYSTEM_INFO();
964     test_pack_LPSYSTEM_POWER_STATUS();
965     test_pack_LPTHREAD_START_ROUTINE();
966     test_pack_LPTIME_ZONE_INFORMATION();
967     test_pack_LPWIN32_FILE_ATTRIBUTE_DATA();
968     test_pack_LPWIN32_FIND_DATAA();
969     test_pack_LPWIN32_FIND_DATAW();
970     test_pack_LPWIN32_STREAM_ID();
971     test_pack_MEMORYSTATUS();
972     test_pack_OFSTRUCT();
973     test_pack_OSVERSIONINFOA();
974     test_pack_OSVERSIONINFOEXA();
975     test_pack_OSVERSIONINFOEXW();
976     test_pack_OSVERSIONINFOW();
977     test_pack_OUTPUT_DEBUG_STRING_INFO();
978     test_pack_OVERLAPPED();
979     test_pack_PAPCFUNC();
980     test_pack_PBY_HANDLE_FILE_INFORMATION();
981     test_pack_PCRITICAL_SECTION();
982     test_pack_PCRITICAL_SECTION_DEBUG();
983     test_pack_PFIBER_START_ROUTINE();
984     test_pack_POFSTRUCT();
985     test_pack_POSVERSIONINFOA();
986     test_pack_POSVERSIONINFOEXA();
987     test_pack_POSVERSIONINFOEXW();
988     test_pack_POSVERSIONINFOW();
989     test_pack_PPROCESS_HEAP_ENTRY();
990     test_pack_PPROCESS_INFORMATION();
991     test_pack_PROCESS_HEAP_ENTRY();
992     test_pack_PROCESS_INFORMATION();
993     test_pack_PSECURITY_ATTRIBUTES();
994     test_pack_PSYSTEMTIME();
995     test_pack_PTIMERAPCROUTINE();
996     test_pack_PTIME_ZONE_INFORMATION();
997     test_pack_PWIN32_FIND_DATAA();
998     test_pack_PWIN32_FIND_DATAW();
999     test_pack_RIP_INFO();
1000     test_pack_SECURITY_ATTRIBUTES();
1001     test_pack_STARTUPINFOA();
1002     test_pack_STARTUPINFOW();
1003     test_pack_SYSTEMTIME();
1004     test_pack_SYSTEM_POWER_STATUS();
1005     test_pack_TIME_ZONE_INFORMATION();
1006     test_pack_UNLOAD_DLL_DEBUG_INFO();
1007     test_pack_WIN32_FILE_ATTRIBUTE_DATA();
1008     test_pack_WIN32_FIND_DATAA();
1009     test_pack_WIN32_FIND_DATAW();
1010 }
1011
1012 START_TEST(generated)
1013 {
1014     test_pack();
1015 }