winapi: Add a few more types to the ntdll generated tests.
[wine] / dlls / ntdll / tests / generated.c
1 /* File generated automatically from tools/winapi/tests.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 "ntdll_test.h"
15
16 #include "wine/test.h"
17
18 /***********************************************************************
19  * Compatibility 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 _TYPE_ALIGNMENT(type) __alignof(type)
32 #elif defined(__GNUC__)
33 # define _TYPE_ALIGNMENT(type) __alignof__(type)
34 #else
35 /*
36  * FIXME: May not be possible without a compiler extension
37  *        (if type is not just a name that is, otherwise the normal
38  *         TYPE_ALIGNMENT can be used)
39  */
40 #endif
41
42 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
43 #pragma warning(disable:4116)
44 #endif
45
46 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
47 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
48 #endif
49
50 /***********************************************************************
51  * Test helper macros
52  */
53
54 #define TEST_TYPE_SIZE(type, size)             C_ASSERT(sizeof(type) == size);
55
56 #ifdef TYPE_ALIGNMENT
57 # define TEST_TYPE_ALIGN(type, align)          C_ASSERT(TYPE_ALIGNMENT(type) == align);
58 #else
59 # define TEST_TYPE_ALIGN(type, align)
60 #endif
61
62 #ifdef _TYPE_ALIGNMENT
63 # define TEST_TARGET_ALIGN(type, align)        C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align);
64 # define TEST_FIELD_ALIGN(type, field, align)  C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align);
65 #else
66 # define TEST_TARGET_ALIGN(type, align)
67 # define TEST_FIELD_ALIGN(type, field, align)
68 #endif
69
70 #define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset);
71
72 #define TEST_TARGET_SIZE(type, size)            TEST_TYPE_SIZE(*(type)0, size)
73 #define TEST_FIELD_SIZE(type, field, size)      TEST_TYPE_SIZE((((type*)0)->field), size)
74 #define TEST_TYPE_SIGNED(type)                  C_ASSERT((type) -1 < 0);
75 #define TEST_TYPE_UNSIGNED(type)                C_ASSERT((type) -1 > 0);
76
77
78 #ifdef _WIN64
79
80 static void test_pack_DWORD32(void)
81 {
82     /* DWORD32 */
83     TEST_TYPE_SIZE   (DWORD32, 4)
84     TEST_TYPE_ALIGN  (DWORD32, 4)
85     TEST_TYPE_UNSIGNED(DWORD32)
86 }
87
88 static void test_pack_DWORD64(void)
89 {
90     /* DWORD64 */
91     TEST_TYPE_SIZE   (DWORD64, 8)
92     TEST_TYPE_ALIGN  (DWORD64, 8)
93     TEST_TYPE_UNSIGNED(DWORD64)
94 }
95
96 static void test_pack_DWORD_PTR(void)
97 {
98     /* DWORD_PTR */
99     TEST_TYPE_SIZE   (DWORD_PTR, 8)
100     TEST_TYPE_ALIGN  (DWORD_PTR, 8)
101 }
102
103 static void test_pack_HALF_PTR(void)
104 {
105     /* HALF_PTR */
106     TEST_TYPE_SIZE   (HALF_PTR, 4)
107     TEST_TYPE_ALIGN  (HALF_PTR, 4)
108     TEST_TYPE_SIGNED(HALF_PTR)
109 }
110
111 static void test_pack_INT16(void)
112 {
113     /* INT16 */
114     TEST_TYPE_SIZE   (INT16, 2)
115     TEST_TYPE_ALIGN  (INT16, 2)
116     TEST_TYPE_SIGNED(INT16)
117 }
118
119 static void test_pack_INT32(void)
120 {
121     /* INT32 */
122     TEST_TYPE_SIZE   (INT32, 4)
123     TEST_TYPE_ALIGN  (INT32, 4)
124     TEST_TYPE_SIGNED(INT32)
125 }
126
127 static void test_pack_INT64(void)
128 {
129     /* INT64 */
130     TEST_TYPE_SIZE   (INT64, 8)
131     TEST_TYPE_ALIGN  (INT64, 8)
132     TEST_TYPE_SIGNED(INT64)
133 }
134
135 static void test_pack_INT8(void)
136 {
137     /* INT8 */
138     TEST_TYPE_SIZE   (INT8, 1)
139     TEST_TYPE_ALIGN  (INT8, 1)
140     TEST_TYPE_SIGNED(INT8)
141 }
142
143 static void test_pack_INT_PTR(void)
144 {
145     /* INT_PTR */
146     TEST_TYPE_SIZE   (INT_PTR, 8)
147     TEST_TYPE_ALIGN  (INT_PTR, 8)
148     TEST_TYPE_SIGNED(INT_PTR)
149 }
150
151 static void test_pack_LONG32(void)
152 {
153     /* LONG32 */
154     TEST_TYPE_SIZE   (LONG32, 4)
155     TEST_TYPE_ALIGN  (LONG32, 4)
156     TEST_TYPE_SIGNED(LONG32)
157 }
158
159 static void test_pack_LONG64(void)
160 {
161     /* LONG64 */
162     TEST_TYPE_SIZE   (LONG64, 8)
163     TEST_TYPE_ALIGN  (LONG64, 8)
164     TEST_TYPE_SIGNED(LONG64)
165 }
166
167 static void test_pack_LONG_PTR(void)
168 {
169     /* LONG_PTR */
170     TEST_TYPE_SIZE   (LONG_PTR, 8)
171     TEST_TYPE_ALIGN  (LONG_PTR, 8)
172     TEST_TYPE_SIGNED(LONG_PTR)
173 }
174
175 static void test_pack_SIZE_T(void)
176 {
177     /* SIZE_T */
178     TEST_TYPE_SIZE   (SIZE_T, 8)
179     TEST_TYPE_ALIGN  (SIZE_T, 8)
180 }
181
182 static void test_pack_SSIZE_T(void)
183 {
184     /* SSIZE_T */
185     TEST_TYPE_SIZE   (SSIZE_T, 8)
186     TEST_TYPE_ALIGN  (SSIZE_T, 8)
187 }
188
189 static void test_pack_UHALF_PTR(void)
190 {
191     /* UHALF_PTR */
192     TEST_TYPE_SIZE   (UHALF_PTR, 4)
193     TEST_TYPE_ALIGN  (UHALF_PTR, 4)
194     TEST_TYPE_UNSIGNED(UHALF_PTR)
195 }
196
197 static void test_pack_UINT16(void)
198 {
199     /* UINT16 */
200     TEST_TYPE_SIZE   (UINT16, 2)
201     TEST_TYPE_ALIGN  (UINT16, 2)
202     TEST_TYPE_UNSIGNED(UINT16)
203 }
204
205 static void test_pack_UINT32(void)
206 {
207     /* UINT32 */
208     TEST_TYPE_SIZE   (UINT32, 4)
209     TEST_TYPE_ALIGN  (UINT32, 4)
210     TEST_TYPE_UNSIGNED(UINT32)
211 }
212
213 static void test_pack_UINT64(void)
214 {
215     /* UINT64 */
216     TEST_TYPE_SIZE   (UINT64, 8)
217     TEST_TYPE_ALIGN  (UINT64, 8)
218     TEST_TYPE_UNSIGNED(UINT64)
219 }
220
221 static void test_pack_UINT8(void)
222 {
223     /* UINT8 */
224     TEST_TYPE_SIZE   (UINT8, 1)
225     TEST_TYPE_ALIGN  (UINT8, 1)
226     TEST_TYPE_UNSIGNED(UINT8)
227 }
228
229 static void test_pack_UINT_PTR(void)
230 {
231     /* UINT_PTR */
232     TEST_TYPE_SIZE   (UINT_PTR, 8)
233     TEST_TYPE_ALIGN  (UINT_PTR, 8)
234     TEST_TYPE_UNSIGNED(UINT_PTR)
235 }
236
237 static void test_pack_ULONG32(void)
238 {
239     /* ULONG32 */
240     TEST_TYPE_SIZE   (ULONG32, 4)
241     TEST_TYPE_ALIGN  (ULONG32, 4)
242     TEST_TYPE_UNSIGNED(ULONG32)
243 }
244
245 static void test_pack_ULONG64(void)
246 {
247     /* ULONG64 */
248     TEST_TYPE_SIZE   (ULONG64, 8)
249     TEST_TYPE_ALIGN  (ULONG64, 8)
250     TEST_TYPE_UNSIGNED(ULONG64)
251 }
252
253 static void test_pack_ULONG_PTR(void)
254 {
255     /* ULONG_PTR */
256     TEST_TYPE_SIZE   (ULONG_PTR, 8)
257     TEST_TYPE_ALIGN  (ULONG_PTR, 8)
258     TEST_TYPE_UNSIGNED(ULONG_PTR)
259 }
260
261 static void test_pack_ACCESS_ALLOWED_ACE(void)
262 {
263     /* ACCESS_ALLOWED_ACE */
264     TEST_TYPE_SIZE   (ACCESS_ALLOWED_ACE, 12)
265     TEST_TYPE_ALIGN  (ACCESS_ALLOWED_ACE, 4)
266     TEST_FIELD_SIZE  (ACCESS_ALLOWED_ACE, Header, 4)
267     TEST_FIELD_ALIGN (ACCESS_ALLOWED_ACE, Header, 2)
268     TEST_FIELD_OFFSET(ACCESS_ALLOWED_ACE, Header, 0)
269     TEST_FIELD_SIZE  (ACCESS_ALLOWED_ACE, Mask, 4)
270     TEST_FIELD_ALIGN (ACCESS_ALLOWED_ACE, Mask, 4)
271     TEST_FIELD_OFFSET(ACCESS_ALLOWED_ACE, Mask, 4)
272     TEST_FIELD_SIZE  (ACCESS_ALLOWED_ACE, SidStart, 4)
273     TEST_FIELD_ALIGN (ACCESS_ALLOWED_ACE, SidStart, 4)
274     TEST_FIELD_OFFSET(ACCESS_ALLOWED_ACE, SidStart, 8)
275 }
276
277 static void test_pack_ACCESS_DENIED_ACE(void)
278 {
279     /* ACCESS_DENIED_ACE */
280     TEST_TYPE_SIZE   (ACCESS_DENIED_ACE, 12)
281     TEST_TYPE_ALIGN  (ACCESS_DENIED_ACE, 4)
282     TEST_FIELD_SIZE  (ACCESS_DENIED_ACE, Header, 4)
283     TEST_FIELD_ALIGN (ACCESS_DENIED_ACE, Header, 2)
284     TEST_FIELD_OFFSET(ACCESS_DENIED_ACE, Header, 0)
285     TEST_FIELD_SIZE  (ACCESS_DENIED_ACE, Mask, 4)
286     TEST_FIELD_ALIGN (ACCESS_DENIED_ACE, Mask, 4)
287     TEST_FIELD_OFFSET(ACCESS_DENIED_ACE, Mask, 4)
288     TEST_FIELD_SIZE  (ACCESS_DENIED_ACE, SidStart, 4)
289     TEST_FIELD_ALIGN (ACCESS_DENIED_ACE, SidStart, 4)
290     TEST_FIELD_OFFSET(ACCESS_DENIED_ACE, SidStart, 8)
291 }
292
293 static void test_pack_ACCESS_MASK(void)
294 {
295     /* ACCESS_MASK */
296     TEST_TYPE_SIZE   (ACCESS_MASK, 4)
297     TEST_TYPE_ALIGN  (ACCESS_MASK, 4)
298     TEST_TYPE_UNSIGNED(ACCESS_MASK)
299 }
300
301 static void test_pack_ACE_HEADER(void)
302 {
303     /* ACE_HEADER */
304     TEST_TYPE_SIZE   (ACE_HEADER, 4)
305     TEST_TYPE_ALIGN  (ACE_HEADER, 2)
306     TEST_FIELD_SIZE  (ACE_HEADER, AceType, 1)
307     TEST_FIELD_ALIGN (ACE_HEADER, AceType, 1)
308     TEST_FIELD_OFFSET(ACE_HEADER, AceType, 0)
309     TEST_FIELD_SIZE  (ACE_HEADER, AceFlags, 1)
310     TEST_FIELD_ALIGN (ACE_HEADER, AceFlags, 1)
311     TEST_FIELD_OFFSET(ACE_HEADER, AceFlags, 1)
312     TEST_FIELD_SIZE  (ACE_HEADER, AceSize, 2)
313     TEST_FIELD_ALIGN (ACE_HEADER, AceSize, 2)
314     TEST_FIELD_OFFSET(ACE_HEADER, AceSize, 2)
315 }
316
317 static void test_pack_ACL(void)
318 {
319     /* ACL */
320     TEST_TYPE_SIZE   (ACL, 8)
321     TEST_TYPE_ALIGN  (ACL, 2)
322     TEST_FIELD_SIZE  (ACL, AclRevision, 1)
323     TEST_FIELD_ALIGN (ACL, AclRevision, 1)
324     TEST_FIELD_OFFSET(ACL, AclRevision, 0)
325     TEST_FIELD_SIZE  (ACL, Sbz1, 1)
326     TEST_FIELD_ALIGN (ACL, Sbz1, 1)
327     TEST_FIELD_OFFSET(ACL, Sbz1, 1)
328     TEST_FIELD_SIZE  (ACL, AclSize, 2)
329     TEST_FIELD_ALIGN (ACL, AclSize, 2)
330     TEST_FIELD_OFFSET(ACL, AclSize, 2)
331     TEST_FIELD_SIZE  (ACL, AceCount, 2)
332     TEST_FIELD_ALIGN (ACL, AceCount, 2)
333     TEST_FIELD_OFFSET(ACL, AceCount, 4)
334     TEST_FIELD_SIZE  (ACL, Sbz2, 2)
335     TEST_FIELD_ALIGN (ACL, Sbz2, 2)
336     TEST_FIELD_OFFSET(ACL, Sbz2, 6)
337 }
338
339 static void test_pack_ACL_REVISION_INFORMATION(void)
340 {
341     /* ACL_REVISION_INFORMATION */
342     TEST_TYPE_SIZE   (ACL_REVISION_INFORMATION, 4)
343     TEST_TYPE_ALIGN  (ACL_REVISION_INFORMATION, 4)
344     TEST_FIELD_SIZE  (ACL_REVISION_INFORMATION, AclRevision, 4)
345     TEST_FIELD_ALIGN (ACL_REVISION_INFORMATION, AclRevision, 4)
346     TEST_FIELD_OFFSET(ACL_REVISION_INFORMATION, AclRevision, 0)
347 }
348
349 static void test_pack_ACL_SIZE_INFORMATION(void)
350 {
351     /* ACL_SIZE_INFORMATION */
352     TEST_TYPE_SIZE   (ACL_SIZE_INFORMATION, 12)
353     TEST_TYPE_ALIGN  (ACL_SIZE_INFORMATION, 4)
354     TEST_FIELD_SIZE  (ACL_SIZE_INFORMATION, AceCount, 4)
355     TEST_FIELD_ALIGN (ACL_SIZE_INFORMATION, AceCount, 4)
356     TEST_FIELD_OFFSET(ACL_SIZE_INFORMATION, AceCount, 0)
357     TEST_FIELD_SIZE  (ACL_SIZE_INFORMATION, AclBytesInUse, 4)
358     TEST_FIELD_ALIGN (ACL_SIZE_INFORMATION, AclBytesInUse, 4)
359     TEST_FIELD_OFFSET(ACL_SIZE_INFORMATION, AclBytesInUse, 4)
360     TEST_FIELD_SIZE  (ACL_SIZE_INFORMATION, AclBytesFree, 4)
361     TEST_FIELD_ALIGN (ACL_SIZE_INFORMATION, AclBytesFree, 4)
362     TEST_FIELD_OFFSET(ACL_SIZE_INFORMATION, AclBytesFree, 8)
363 }
364
365 static void test_pack_BOOLEAN(void)
366 {
367     /* BOOLEAN */
368     TEST_TYPE_SIZE   (BOOLEAN, 1)
369     TEST_TYPE_ALIGN  (BOOLEAN, 1)
370     TEST_TYPE_UNSIGNED(BOOLEAN)
371 }
372
373 static void test_pack_CCHAR(void)
374 {
375     /* CCHAR */
376     TEST_TYPE_SIZE   (CCHAR, 1)
377     TEST_TYPE_ALIGN  (CCHAR, 1)
378     TEST_TYPE_SIGNED(CCHAR)
379 }
380
381 static void test_pack_CHAR(void)
382 {
383     /* CHAR */
384     TEST_TYPE_SIZE   (CHAR, 1)
385     TEST_TYPE_ALIGN  (CHAR, 1)
386     TEST_TYPE_SIGNED(CHAR)
387 }
388
389 static void test_pack_DWORDLONG(void)
390 {
391     /* DWORDLONG */
392     TEST_TYPE_SIZE   (DWORDLONG, 8)
393     TEST_TYPE_ALIGN  (DWORDLONG, 8)
394     TEST_TYPE_UNSIGNED(DWORDLONG)
395 }
396
397 static void test_pack_EXCEPTION_POINTERS(void)
398 {
399     /* EXCEPTION_POINTERS */
400     TEST_TYPE_SIZE   (EXCEPTION_POINTERS, 16)
401     TEST_TYPE_ALIGN  (EXCEPTION_POINTERS, 8)
402     TEST_FIELD_SIZE  (EXCEPTION_POINTERS, ExceptionRecord, 8)
403     TEST_FIELD_ALIGN (EXCEPTION_POINTERS, ExceptionRecord, 8)
404     TEST_FIELD_OFFSET(EXCEPTION_POINTERS, ExceptionRecord, 0)
405     TEST_FIELD_SIZE  (EXCEPTION_POINTERS, ContextRecord, 8)
406     TEST_FIELD_ALIGN (EXCEPTION_POINTERS, ContextRecord, 8)
407     TEST_FIELD_OFFSET(EXCEPTION_POINTERS, ContextRecord, 8)
408 }
409
410 static void test_pack_EXCEPTION_RECORD(void)
411 {
412     /* EXCEPTION_RECORD */
413     TEST_TYPE_SIZE   (EXCEPTION_RECORD, 152)
414     TEST_TYPE_ALIGN  (EXCEPTION_RECORD, 8)
415     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionCode, 4)
416     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionCode, 4)
417     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionCode, 0)
418     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionFlags, 4)
419     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionFlags, 4)
420     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionFlags, 4)
421     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionRecord, 8)
422     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionRecord, 8)
423     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionRecord, 8)
424     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionAddress, 8)
425     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionAddress, 8)
426     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionAddress, 16)
427     TEST_FIELD_SIZE  (EXCEPTION_RECORD, NumberParameters, 4)
428     TEST_FIELD_ALIGN (EXCEPTION_RECORD, NumberParameters, 4)
429     TEST_FIELD_OFFSET(EXCEPTION_RECORD, NumberParameters, 24)
430     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionInformation, 120)
431     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionInformation, 8)
432     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionInformation, 32)
433 }
434
435 static void test_pack_EXECUTION_STATE(void)
436 {
437     /* EXECUTION_STATE */
438     TEST_TYPE_SIZE   (EXECUTION_STATE, 4)
439     TEST_TYPE_ALIGN  (EXECUTION_STATE, 4)
440     TEST_TYPE_UNSIGNED(EXECUTION_STATE)
441 }
442
443 static void test_pack_FLOATING_SAVE_AREA(void)
444 {
445     /* FLOATING_SAVE_AREA */
446     TEST_TYPE_SIZE   (FLOATING_SAVE_AREA, 112)
447     TEST_TYPE_ALIGN  (FLOATING_SAVE_AREA, 4)
448     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, ControlWord, 4)
449     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, ControlWord, 4)
450     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, ControlWord, 0)
451     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, StatusWord, 4)
452     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, StatusWord, 4)
453     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, StatusWord, 4)
454     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, TagWord, 4)
455     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, TagWord, 4)
456     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, TagWord, 8)
457     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, ErrorOffset, 4)
458     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, ErrorOffset, 4)
459     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, ErrorOffset, 12)
460     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, ErrorSelector, 4)
461     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, ErrorSelector, 4)
462     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, ErrorSelector, 16)
463     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, DataOffset, 4)
464     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, DataOffset, 4)
465     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, DataOffset, 20)
466     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, DataSelector, 4)
467     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, DataSelector, 4)
468     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, DataSelector, 24)
469     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, RegisterArea, 80)
470     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, RegisterArea, 1)
471     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, RegisterArea, 28)
472     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, Cr0NpxState, 4)
473     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, Cr0NpxState, 4)
474     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, Cr0NpxState, 108)
475 }
476
477 static void test_pack_FPO_DATA(void)
478 {
479     /* FPO_DATA */
480     TEST_TYPE_SIZE   (FPO_DATA, 16)
481     TEST_TYPE_ALIGN  (FPO_DATA, 4)
482     TEST_FIELD_SIZE  (FPO_DATA, ulOffStart, 4)
483     TEST_FIELD_ALIGN (FPO_DATA, ulOffStart, 4)
484     TEST_FIELD_OFFSET(FPO_DATA, ulOffStart, 0)
485     TEST_FIELD_SIZE  (FPO_DATA, cbProcSize, 4)
486     TEST_FIELD_ALIGN (FPO_DATA, cbProcSize, 4)
487     TEST_FIELD_OFFSET(FPO_DATA, cbProcSize, 4)
488     TEST_FIELD_SIZE  (FPO_DATA, cdwLocals, 4)
489     TEST_FIELD_ALIGN (FPO_DATA, cdwLocals, 4)
490     TEST_FIELD_OFFSET(FPO_DATA, cdwLocals, 8)
491     TEST_FIELD_SIZE  (FPO_DATA, cdwParams, 2)
492     TEST_FIELD_ALIGN (FPO_DATA, cdwParams, 2)
493     TEST_FIELD_OFFSET(FPO_DATA, cdwParams, 12)
494 }
495
496 static void test_pack_GENERIC_MAPPING(void)
497 {
498     /* GENERIC_MAPPING */
499     TEST_TYPE_SIZE   (GENERIC_MAPPING, 16)
500     TEST_TYPE_ALIGN  (GENERIC_MAPPING, 4)
501     TEST_FIELD_SIZE  (GENERIC_MAPPING, GenericRead, 4)
502     TEST_FIELD_ALIGN (GENERIC_MAPPING, GenericRead, 4)
503     TEST_FIELD_OFFSET(GENERIC_MAPPING, GenericRead, 0)
504     TEST_FIELD_SIZE  (GENERIC_MAPPING, GenericWrite, 4)
505     TEST_FIELD_ALIGN (GENERIC_MAPPING, GenericWrite, 4)
506     TEST_FIELD_OFFSET(GENERIC_MAPPING, GenericWrite, 4)
507     TEST_FIELD_SIZE  (GENERIC_MAPPING, GenericExecute, 4)
508     TEST_FIELD_ALIGN (GENERIC_MAPPING, GenericExecute, 4)
509     TEST_FIELD_OFFSET(GENERIC_MAPPING, GenericExecute, 8)
510     TEST_FIELD_SIZE  (GENERIC_MAPPING, GenericAll, 4)
511     TEST_FIELD_ALIGN (GENERIC_MAPPING, GenericAll, 4)
512     TEST_FIELD_OFFSET(GENERIC_MAPPING, GenericAll, 12)
513 }
514
515 static void test_pack_HANDLE(void)
516 {
517     /* HANDLE */
518     TEST_TYPE_SIZE   (HANDLE, 8)
519     TEST_TYPE_ALIGN  (HANDLE, 8)
520 }
521
522 static void test_pack_HRESULT(void)
523 {
524     /* HRESULT */
525     TEST_TYPE_SIZE   (HRESULT, 4)
526     TEST_TYPE_ALIGN  (HRESULT, 4)
527 }
528
529 static void test_pack_IMAGE_ARCHIVE_MEMBER_HEADER(void)
530 {
531     /* IMAGE_ARCHIVE_MEMBER_HEADER */
532     TEST_TYPE_SIZE   (IMAGE_ARCHIVE_MEMBER_HEADER, 60)
533     TEST_TYPE_ALIGN  (IMAGE_ARCHIVE_MEMBER_HEADER, 1)
534     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, Name, 16)
535     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, Name, 1)
536     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, Name, 0)
537     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, Date, 12)
538     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, Date, 1)
539     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, Date, 16)
540     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, UserID, 6)
541     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, UserID, 1)
542     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, UserID, 28)
543     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, GroupID, 6)
544     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, GroupID, 1)
545     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, GroupID, 34)
546     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, Mode, 8)
547     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, Mode, 1)
548     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, Mode, 40)
549     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, Size, 10)
550     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, Size, 1)
551     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, Size, 48)
552     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, EndHeader, 2)
553     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, EndHeader, 1)
554     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, EndHeader, 58)
555 }
556
557 static void test_pack_IMAGE_AUX_SYMBOL(void)
558 {
559     /* IMAGE_AUX_SYMBOL (pack 2) */
560 }
561
562 static void test_pack_IMAGE_BASE_RELOCATION(void)
563 {
564     /* IMAGE_BASE_RELOCATION */
565     TEST_TYPE_SIZE   (IMAGE_BASE_RELOCATION, 8)
566     TEST_TYPE_ALIGN  (IMAGE_BASE_RELOCATION, 4)
567     TEST_FIELD_SIZE  (IMAGE_BASE_RELOCATION, VirtualAddress, 4)
568     TEST_FIELD_ALIGN (IMAGE_BASE_RELOCATION, VirtualAddress, 4)
569     TEST_FIELD_OFFSET(IMAGE_BASE_RELOCATION, VirtualAddress, 0)
570     TEST_FIELD_SIZE  (IMAGE_BASE_RELOCATION, SizeOfBlock, 4)
571     TEST_FIELD_ALIGN (IMAGE_BASE_RELOCATION, SizeOfBlock, 4)
572     TEST_FIELD_OFFSET(IMAGE_BASE_RELOCATION, SizeOfBlock, 4)
573 }
574
575 static void test_pack_IMAGE_BOUND_FORWARDER_REF(void)
576 {
577     /* IMAGE_BOUND_FORWARDER_REF */
578     TEST_TYPE_SIZE   (IMAGE_BOUND_FORWARDER_REF, 8)
579     TEST_TYPE_ALIGN  (IMAGE_BOUND_FORWARDER_REF, 4)
580     TEST_FIELD_SIZE  (IMAGE_BOUND_FORWARDER_REF, TimeDateStamp, 4)
581     TEST_FIELD_ALIGN (IMAGE_BOUND_FORWARDER_REF, TimeDateStamp, 4)
582     TEST_FIELD_OFFSET(IMAGE_BOUND_FORWARDER_REF, TimeDateStamp, 0)
583     TEST_FIELD_SIZE  (IMAGE_BOUND_FORWARDER_REF, OffsetModuleName, 2)
584     TEST_FIELD_ALIGN (IMAGE_BOUND_FORWARDER_REF, OffsetModuleName, 2)
585     TEST_FIELD_OFFSET(IMAGE_BOUND_FORWARDER_REF, OffsetModuleName, 4)
586     TEST_FIELD_SIZE  (IMAGE_BOUND_FORWARDER_REF, Reserved, 2)
587     TEST_FIELD_ALIGN (IMAGE_BOUND_FORWARDER_REF, Reserved, 2)
588     TEST_FIELD_OFFSET(IMAGE_BOUND_FORWARDER_REF, Reserved, 6)
589 }
590
591 static void test_pack_IMAGE_BOUND_IMPORT_DESCRIPTOR(void)
592 {
593     /* IMAGE_BOUND_IMPORT_DESCRIPTOR */
594     TEST_TYPE_SIZE   (IMAGE_BOUND_IMPORT_DESCRIPTOR, 8)
595     TEST_TYPE_ALIGN  (IMAGE_BOUND_IMPORT_DESCRIPTOR, 4)
596     TEST_FIELD_SIZE  (IMAGE_BOUND_IMPORT_DESCRIPTOR, TimeDateStamp, 4)
597     TEST_FIELD_ALIGN (IMAGE_BOUND_IMPORT_DESCRIPTOR, TimeDateStamp, 4)
598     TEST_FIELD_OFFSET(IMAGE_BOUND_IMPORT_DESCRIPTOR, TimeDateStamp, 0)
599     TEST_FIELD_SIZE  (IMAGE_BOUND_IMPORT_DESCRIPTOR, OffsetModuleName, 2)
600     TEST_FIELD_ALIGN (IMAGE_BOUND_IMPORT_DESCRIPTOR, OffsetModuleName, 2)
601     TEST_FIELD_OFFSET(IMAGE_BOUND_IMPORT_DESCRIPTOR, OffsetModuleName, 4)
602     TEST_FIELD_SIZE  (IMAGE_BOUND_IMPORT_DESCRIPTOR, NumberOfModuleForwarderRefs, 2)
603     TEST_FIELD_ALIGN (IMAGE_BOUND_IMPORT_DESCRIPTOR, NumberOfModuleForwarderRefs, 2)
604     TEST_FIELD_OFFSET(IMAGE_BOUND_IMPORT_DESCRIPTOR, NumberOfModuleForwarderRefs, 6)
605 }
606
607 static void test_pack_IMAGE_COFF_SYMBOLS_HEADER(void)
608 {
609     /* IMAGE_COFF_SYMBOLS_HEADER */
610     TEST_TYPE_SIZE   (IMAGE_COFF_SYMBOLS_HEADER, 32)
611     TEST_TYPE_ALIGN  (IMAGE_COFF_SYMBOLS_HEADER, 4)
612     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, NumberOfSymbols, 4)
613     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, NumberOfSymbols, 4)
614     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, NumberOfSymbols, 0)
615     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstSymbol, 4)
616     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstSymbol, 4)
617     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstSymbol, 4)
618     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, NumberOfLinenumbers, 4)
619     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, NumberOfLinenumbers, 4)
620     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, NumberOfLinenumbers, 8)
621     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstLinenumber, 4)
622     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstLinenumber, 4)
623     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstLinenumber, 12)
624     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfCode, 4)
625     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfCode, 4)
626     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfCode, 16)
627     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfCode, 4)
628     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfCode, 4)
629     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfCode, 20)
630     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfData, 4)
631     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfData, 4)
632     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfData, 24)
633     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfData, 4)
634     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfData, 4)
635     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfData, 28)
636 }
637
638 static void test_pack_IMAGE_DATA_DIRECTORY(void)
639 {
640     /* IMAGE_DATA_DIRECTORY */
641     TEST_TYPE_SIZE   (IMAGE_DATA_DIRECTORY, 8)
642     TEST_TYPE_ALIGN  (IMAGE_DATA_DIRECTORY, 4)
643     TEST_FIELD_SIZE  (IMAGE_DATA_DIRECTORY, VirtualAddress, 4)
644     TEST_FIELD_ALIGN (IMAGE_DATA_DIRECTORY, VirtualAddress, 4)
645     TEST_FIELD_OFFSET(IMAGE_DATA_DIRECTORY, VirtualAddress, 0)
646     TEST_FIELD_SIZE  (IMAGE_DATA_DIRECTORY, Size, 4)
647     TEST_FIELD_ALIGN (IMAGE_DATA_DIRECTORY, Size, 4)
648     TEST_FIELD_OFFSET(IMAGE_DATA_DIRECTORY, Size, 4)
649 }
650
651 static void test_pack_IMAGE_DEBUG_DIRECTORY(void)
652 {
653     /* IMAGE_DEBUG_DIRECTORY */
654     TEST_TYPE_SIZE   (IMAGE_DEBUG_DIRECTORY, 28)
655     TEST_TYPE_ALIGN  (IMAGE_DEBUG_DIRECTORY, 4)
656     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, Characteristics, 4)
657     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, Characteristics, 4)
658     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, Characteristics, 0)
659     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, TimeDateStamp, 4)
660     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, TimeDateStamp, 4)
661     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, TimeDateStamp, 4)
662     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, MajorVersion, 2)
663     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, MajorVersion, 2)
664     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, MajorVersion, 8)
665     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, MinorVersion, 2)
666     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, MinorVersion, 2)
667     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, MinorVersion, 10)
668     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, Type, 4)
669     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, Type, 4)
670     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, Type, 12)
671     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, SizeOfData, 4)
672     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, SizeOfData, 4)
673     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, SizeOfData, 16)
674     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, AddressOfRawData, 4)
675     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, AddressOfRawData, 4)
676     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, AddressOfRawData, 20)
677     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, PointerToRawData, 4)
678     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, PointerToRawData, 4)
679     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, PointerToRawData, 24)
680 }
681
682 static void test_pack_IMAGE_DEBUG_MISC(void)
683 {
684     /* IMAGE_DEBUG_MISC */
685     TEST_TYPE_SIZE   (IMAGE_DEBUG_MISC, 16)
686     TEST_TYPE_ALIGN  (IMAGE_DEBUG_MISC, 4)
687     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, DataType, 4)
688     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, DataType, 4)
689     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, DataType, 0)
690     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, Length, 4)
691     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, Length, 4)
692     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, Length, 4)
693     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, Unicode, 1)
694     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, Unicode, 1)
695     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, Unicode, 8)
696     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, Reserved, 3)
697     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, Reserved, 1)
698     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, Reserved, 9)
699     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, Data, 1)
700     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, Data, 1)
701     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, Data, 12)
702 }
703
704 static void test_pack_IMAGE_DOS_HEADER(void)
705 {
706     /* IMAGE_DOS_HEADER (pack 2) */
707     TEST_TYPE_SIZE   (IMAGE_DOS_HEADER, 64)
708     TEST_TYPE_ALIGN  (IMAGE_DOS_HEADER, 2)
709     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_magic, 2)
710     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_magic, 2)
711     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_magic, 0)
712     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_cblp, 2)
713     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_cblp, 2)
714     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_cblp, 2)
715     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_cp, 2)
716     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_cp, 2)
717     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_cp, 4)
718     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_crlc, 2)
719     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_crlc, 2)
720     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_crlc, 6)
721     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_cparhdr, 2)
722     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_cparhdr, 2)
723     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_cparhdr, 8)
724     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_minalloc, 2)
725     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_minalloc, 2)
726     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_minalloc, 10)
727     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_maxalloc, 2)
728     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_maxalloc, 2)
729     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_maxalloc, 12)
730     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_ss, 2)
731     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_ss, 2)
732     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_ss, 14)
733     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_sp, 2)
734     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_sp, 2)
735     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_sp, 16)
736     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_csum, 2)
737     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_csum, 2)
738     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_csum, 18)
739     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_ip, 2)
740     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_ip, 2)
741     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_ip, 20)
742     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_cs, 2)
743     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_cs, 2)
744     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_cs, 22)
745     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_lfarlc, 2)
746     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_lfarlc, 2)
747     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_lfarlc, 24)
748     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_ovno, 2)
749     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_ovno, 2)
750     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_ovno, 26)
751     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_res, 8)
752     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_res, 2)
753     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_res, 28)
754     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_oemid, 2)
755     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_oemid, 2)
756     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_oemid, 36)
757     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_oeminfo, 2)
758     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_oeminfo, 2)
759     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_oeminfo, 38)
760     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_res2, 20)
761     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_res2, 2)
762     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_res2, 40)
763     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_lfanew, 4)
764     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_lfanew, 2)
765     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_lfanew, 60)
766 }
767
768 static void test_pack_IMAGE_EXPORT_DIRECTORY(void)
769 {
770     /* IMAGE_EXPORT_DIRECTORY */
771     TEST_TYPE_SIZE   (IMAGE_EXPORT_DIRECTORY, 40)
772     TEST_TYPE_ALIGN  (IMAGE_EXPORT_DIRECTORY, 4)
773     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, Characteristics, 4)
774     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, Characteristics, 4)
775     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, Characteristics, 0)
776     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, TimeDateStamp, 4)
777     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, TimeDateStamp, 4)
778     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, TimeDateStamp, 4)
779     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, MajorVersion, 2)
780     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, MajorVersion, 2)
781     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, MajorVersion, 8)
782     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, MinorVersion, 2)
783     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, MinorVersion, 2)
784     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, MinorVersion, 10)
785     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, Name, 4)
786     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, Name, 4)
787     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, Name, 12)
788     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, Base, 4)
789     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, Base, 4)
790     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, Base, 16)
791     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, NumberOfFunctions, 4)
792     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, NumberOfFunctions, 4)
793     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, NumberOfFunctions, 20)
794     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, NumberOfNames, 4)
795     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, NumberOfNames, 4)
796     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, NumberOfNames, 24)
797     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, AddressOfFunctions, 4)
798     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, AddressOfFunctions, 4)
799     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, AddressOfFunctions, 28)
800     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, AddressOfNames, 4)
801     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, AddressOfNames, 4)
802     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, AddressOfNames, 32)
803     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, AddressOfNameOrdinals, 4)
804     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, AddressOfNameOrdinals, 4)
805     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, AddressOfNameOrdinals, 36)
806 }
807
808 static void test_pack_IMAGE_FILE_HEADER(void)
809 {
810     /* IMAGE_FILE_HEADER */
811     TEST_TYPE_SIZE   (IMAGE_FILE_HEADER, 20)
812     TEST_TYPE_ALIGN  (IMAGE_FILE_HEADER, 4)
813     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, Machine, 2)
814     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, Machine, 2)
815     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, Machine, 0)
816     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, NumberOfSections, 2)
817     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, NumberOfSections, 2)
818     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, NumberOfSections, 2)
819     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, TimeDateStamp, 4)
820     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, TimeDateStamp, 4)
821     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, TimeDateStamp, 4)
822     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, PointerToSymbolTable, 4)
823     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, PointerToSymbolTable, 4)
824     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, PointerToSymbolTable, 8)
825     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, NumberOfSymbols, 4)
826     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, NumberOfSymbols, 4)
827     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, NumberOfSymbols, 12)
828     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, SizeOfOptionalHeader, 2)
829     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, SizeOfOptionalHeader, 2)
830     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, SizeOfOptionalHeader, 16)
831     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, Characteristics, 2)
832     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, Characteristics, 2)
833     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, Characteristics, 18)
834 }
835
836 static void test_pack_IMAGE_FUNCTION_ENTRY(void)
837 {
838     /* IMAGE_FUNCTION_ENTRY */
839     TEST_TYPE_SIZE   (IMAGE_FUNCTION_ENTRY, 12)
840     TEST_TYPE_ALIGN  (IMAGE_FUNCTION_ENTRY, 4)
841     TEST_FIELD_SIZE  (IMAGE_FUNCTION_ENTRY, StartingAddress, 4)
842     TEST_FIELD_ALIGN (IMAGE_FUNCTION_ENTRY, StartingAddress, 4)
843     TEST_FIELD_OFFSET(IMAGE_FUNCTION_ENTRY, StartingAddress, 0)
844     TEST_FIELD_SIZE  (IMAGE_FUNCTION_ENTRY, EndingAddress, 4)
845     TEST_FIELD_ALIGN (IMAGE_FUNCTION_ENTRY, EndingAddress, 4)
846     TEST_FIELD_OFFSET(IMAGE_FUNCTION_ENTRY, EndingAddress, 4)
847     TEST_FIELD_SIZE  (IMAGE_FUNCTION_ENTRY, EndOfPrologue, 4)
848     TEST_FIELD_ALIGN (IMAGE_FUNCTION_ENTRY, EndOfPrologue, 4)
849     TEST_FIELD_OFFSET(IMAGE_FUNCTION_ENTRY, EndOfPrologue, 8)
850 }
851
852 static void test_pack_IMAGE_IMPORT_BY_NAME(void)
853 {
854     /* IMAGE_IMPORT_BY_NAME */
855     TEST_TYPE_SIZE   (IMAGE_IMPORT_BY_NAME, 4)
856     TEST_TYPE_ALIGN  (IMAGE_IMPORT_BY_NAME, 2)
857     TEST_FIELD_SIZE  (IMAGE_IMPORT_BY_NAME, Hint, 2)
858     TEST_FIELD_ALIGN (IMAGE_IMPORT_BY_NAME, Hint, 2)
859     TEST_FIELD_OFFSET(IMAGE_IMPORT_BY_NAME, Hint, 0)
860     TEST_FIELD_SIZE  (IMAGE_IMPORT_BY_NAME, Name, 1)
861     TEST_FIELD_ALIGN (IMAGE_IMPORT_BY_NAME, Name, 1)
862     TEST_FIELD_OFFSET(IMAGE_IMPORT_BY_NAME, Name, 2)
863 }
864
865 static void test_pack_IMAGE_IMPORT_DESCRIPTOR(void)
866 {
867     /* IMAGE_IMPORT_DESCRIPTOR */
868 }
869
870 static void test_pack_IMAGE_LINENUMBER(void)
871 {
872     /* IMAGE_LINENUMBER (pack 2) */
873 }
874
875 static void test_pack_IMAGE_LOAD_CONFIG_DIRECTORY(void)
876 {
877     /* IMAGE_LOAD_CONFIG_DIRECTORY */
878     TEST_TYPE_SIZE   (IMAGE_LOAD_CONFIG_DIRECTORY, 88)
879     TEST_TYPE_ALIGN  (IMAGE_LOAD_CONFIG_DIRECTORY, 8)
880     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, Size, 4)
881     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, Size, 4)
882     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, Size, 0)
883     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, TimeDateStamp, 4)
884     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, TimeDateStamp, 4)
885     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, TimeDateStamp, 4)
886     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, MajorVersion, 2)
887     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, MajorVersion, 2)
888     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, MajorVersion, 8)
889     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, MinorVersion, 2)
890     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, MinorVersion, 2)
891     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, MinorVersion, 10)
892     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsClear, 4)
893     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsClear, 4)
894     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsClear, 12)
895     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsSet, 4)
896     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsSet, 4)
897     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsSet, 16)
898     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, CriticalSectionDefaultTimeout, 4)
899     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, CriticalSectionDefaultTimeout, 4)
900     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, CriticalSectionDefaultTimeout, 20)
901     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitFreeBlockThreshold, 4)
902     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitFreeBlockThreshold, 4)
903     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitFreeBlockThreshold, 24)
904     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitTotalFreeThreshold, 4)
905     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitTotalFreeThreshold, 4)
906     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitTotalFreeThreshold, 28)
907     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, LockPrefixTable, 8)
908     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, LockPrefixTable, 8)
909     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, LockPrefixTable, 32)
910     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, MaximumAllocationSize, 4)
911     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, MaximumAllocationSize, 4)
912     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, MaximumAllocationSize, 40)
913     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, VirtualMemoryThreshold, 4)
914     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, VirtualMemoryThreshold, 4)
915     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, VirtualMemoryThreshold, 44)
916     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, ProcessHeapFlags, 4)
917     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, ProcessHeapFlags, 4)
918     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, ProcessHeapFlags, 48)
919     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, ProcessAffinityMask, 4)
920     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, ProcessAffinityMask, 4)
921     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, ProcessAffinityMask, 52)
922     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, CSDVersion, 2)
923     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, CSDVersion, 2)
924     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, CSDVersion, 56)
925     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, Reserved1, 2)
926     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, Reserved1, 2)
927     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, Reserved1, 58)
928     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, EditList, 8)
929     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, EditList, 8)
930     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, EditList, 64)
931     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, SecurityCookie, 4)
932     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, SecurityCookie, 4)
933     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, SecurityCookie, 72)
934     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerTable, 4)
935     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerTable, 4)
936     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerTable, 76)
937     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerCount, 4)
938     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerCount, 4)
939     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerCount, 80)
940 }
941
942 static void test_pack_IMAGE_NT_HEADERS(void)
943 {
944     /* IMAGE_NT_HEADERS */
945     TEST_TYPE_SIZE   (IMAGE_NT_HEADERS, 264)
946     TEST_TYPE_ALIGN  (IMAGE_NT_HEADERS, 8)
947 }
948
949 static void test_pack_IMAGE_NT_HEADERS32(void)
950 {
951     /* IMAGE_NT_HEADERS32 */
952     TEST_TYPE_SIZE   (IMAGE_NT_HEADERS32, 248)
953     TEST_TYPE_ALIGN  (IMAGE_NT_HEADERS32, 4)
954     TEST_FIELD_SIZE  (IMAGE_NT_HEADERS32, Signature, 4)
955     TEST_FIELD_ALIGN (IMAGE_NT_HEADERS32, Signature, 4)
956     TEST_FIELD_OFFSET(IMAGE_NT_HEADERS32, Signature, 0)
957     TEST_FIELD_SIZE  (IMAGE_NT_HEADERS32, FileHeader, 20)
958     TEST_FIELD_ALIGN (IMAGE_NT_HEADERS32, FileHeader, 4)
959     TEST_FIELD_OFFSET(IMAGE_NT_HEADERS32, FileHeader, 4)
960     TEST_FIELD_SIZE  (IMAGE_NT_HEADERS32, OptionalHeader, 224)
961     TEST_FIELD_ALIGN (IMAGE_NT_HEADERS32, OptionalHeader, 4)
962     TEST_FIELD_OFFSET(IMAGE_NT_HEADERS32, OptionalHeader, 24)
963 }
964
965 static void test_pack_IMAGE_NT_HEADERS64(void)
966 {
967     /* IMAGE_NT_HEADERS64 */
968     TEST_TYPE_SIZE   (IMAGE_NT_HEADERS64, 264)
969     TEST_TYPE_ALIGN  (IMAGE_NT_HEADERS64, 8)
970     TEST_FIELD_SIZE  (IMAGE_NT_HEADERS64, Signature, 4)
971     TEST_FIELD_ALIGN (IMAGE_NT_HEADERS64, Signature, 4)
972     TEST_FIELD_OFFSET(IMAGE_NT_HEADERS64, Signature, 0)
973     TEST_FIELD_SIZE  (IMAGE_NT_HEADERS64, FileHeader, 20)
974     TEST_FIELD_ALIGN (IMAGE_NT_HEADERS64, FileHeader, 4)
975     TEST_FIELD_OFFSET(IMAGE_NT_HEADERS64, FileHeader, 4)
976     TEST_FIELD_SIZE  (IMAGE_NT_HEADERS64, OptionalHeader, 240)
977     TEST_FIELD_ALIGN (IMAGE_NT_HEADERS64, OptionalHeader, 8)
978     TEST_FIELD_OFFSET(IMAGE_NT_HEADERS64, OptionalHeader, 24)
979 }
980
981 static void test_pack_IMAGE_OPTIONAL_HEADER(void)
982 {
983     /* IMAGE_OPTIONAL_HEADER */
984     TEST_TYPE_SIZE   (IMAGE_OPTIONAL_HEADER, 240)
985     TEST_TYPE_ALIGN  (IMAGE_OPTIONAL_HEADER, 8)
986 }
987
988 static void test_pack_IMAGE_OPTIONAL_HEADER32(void)
989 {
990     /* IMAGE_OPTIONAL_HEADER32 */
991     TEST_TYPE_SIZE   (IMAGE_OPTIONAL_HEADER32, 224)
992     TEST_TYPE_ALIGN  (IMAGE_OPTIONAL_HEADER32, 4)
993     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, Magic, 2)
994     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, Magic, 2)
995     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, Magic, 0)
996     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MajorLinkerVersion, 1)
997     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorLinkerVersion, 1)
998     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorLinkerVersion, 2)
999     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MinorLinkerVersion, 1)
1000     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorLinkerVersion, 1)
1001     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorLinkerVersion, 3)
1002     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfCode, 4)
1003     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfCode, 4)
1004     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfCode, 4)
1005     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfInitializedData, 4)
1006     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfInitializedData, 4)
1007     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfInitializedData, 8)
1008     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfUninitializedData, 4)
1009     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfUninitializedData, 4)
1010     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfUninitializedData, 12)
1011     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, AddressOfEntryPoint, 4)
1012     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, AddressOfEntryPoint, 4)
1013     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, AddressOfEntryPoint, 16)
1014     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, BaseOfCode, 4)
1015     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, BaseOfCode, 4)
1016     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, BaseOfCode, 20)
1017     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, BaseOfData, 4)
1018     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, BaseOfData, 4)
1019     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, BaseOfData, 24)
1020     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, ImageBase, 4)
1021     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, ImageBase, 4)
1022     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, ImageBase, 28)
1023     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SectionAlignment, 4)
1024     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SectionAlignment, 4)
1025     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SectionAlignment, 32)
1026     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, FileAlignment, 4)
1027     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, FileAlignment, 4)
1028     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, FileAlignment, 36)
1029     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MajorOperatingSystemVersion, 2)
1030     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorOperatingSystemVersion, 2)
1031     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorOperatingSystemVersion, 40)
1032     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MinorOperatingSystemVersion, 2)
1033     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorOperatingSystemVersion, 2)
1034     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorOperatingSystemVersion, 42)
1035     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MajorImageVersion, 2)
1036     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorImageVersion, 2)
1037     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorImageVersion, 44)
1038     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MinorImageVersion, 2)
1039     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorImageVersion, 2)
1040     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorImageVersion, 46)
1041     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MajorSubsystemVersion, 2)
1042     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorSubsystemVersion, 2)
1043     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorSubsystemVersion, 48)
1044     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MinorSubsystemVersion, 2)
1045     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorSubsystemVersion, 2)
1046     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorSubsystemVersion, 50)
1047     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, Win32VersionValue, 4)
1048     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, Win32VersionValue, 4)
1049     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, Win32VersionValue, 52)
1050     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfImage, 4)
1051     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfImage, 4)
1052     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfImage, 56)
1053     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfHeaders, 4)
1054     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfHeaders, 4)
1055     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfHeaders, 60)
1056     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, CheckSum, 4)
1057     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, CheckSum, 4)
1058     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, CheckSum, 64)
1059     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, Subsystem, 2)
1060     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, Subsystem, 2)
1061     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, Subsystem, 68)
1062     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, DllCharacteristics, 2)
1063     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, DllCharacteristics, 2)
1064     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, DllCharacteristics, 70)
1065     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfStackReserve, 4)
1066     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfStackReserve, 4)
1067     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfStackReserve, 72)
1068     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfStackCommit, 4)
1069     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfStackCommit, 4)
1070     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfStackCommit, 76)
1071     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfHeapReserve, 4)
1072     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfHeapReserve, 4)
1073     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfHeapReserve, 80)
1074     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfHeapCommit, 4)
1075     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfHeapCommit, 4)
1076     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfHeapCommit, 84)
1077     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, LoaderFlags, 4)
1078     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, LoaderFlags, 4)
1079     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, LoaderFlags, 88)
1080     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, NumberOfRvaAndSizes, 4)
1081     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, NumberOfRvaAndSizes, 4)
1082     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, NumberOfRvaAndSizes, 92)
1083     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, DataDirectory, 128)
1084     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, DataDirectory, 4)
1085     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, DataDirectory, 96)
1086 }
1087
1088 static void test_pack_IMAGE_OPTIONAL_HEADER64(void)
1089 {
1090     /* IMAGE_OPTIONAL_HEADER64 */
1091     TEST_TYPE_SIZE   (IMAGE_OPTIONAL_HEADER64, 240)
1092     TEST_TYPE_ALIGN  (IMAGE_OPTIONAL_HEADER64, 8)
1093     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, Magic, 2)
1094     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, Magic, 2)
1095     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, Magic, 0)
1096     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MajorLinkerVersion, 1)
1097     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorLinkerVersion, 1)
1098     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorLinkerVersion, 2)
1099     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MinorLinkerVersion, 1)
1100     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorLinkerVersion, 1)
1101     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorLinkerVersion, 3)
1102     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfCode, 4)
1103     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfCode, 4)
1104     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfCode, 4)
1105     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfInitializedData, 4)
1106     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfInitializedData, 4)
1107     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfInitializedData, 8)
1108     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfUninitializedData, 4)
1109     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfUninitializedData, 4)
1110     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfUninitializedData, 12)
1111     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, AddressOfEntryPoint, 4)
1112     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, AddressOfEntryPoint, 4)
1113     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, AddressOfEntryPoint, 16)
1114     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, BaseOfCode, 4)
1115     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, BaseOfCode, 4)
1116     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, BaseOfCode, 20)
1117     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, ImageBase, 8)
1118     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, ImageBase, 8)
1119     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, ImageBase, 24)
1120     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SectionAlignment, 4)
1121     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SectionAlignment, 4)
1122     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SectionAlignment, 32)
1123     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, FileAlignment, 4)
1124     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, FileAlignment, 4)
1125     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, FileAlignment, 36)
1126     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MajorOperatingSystemVersion, 2)
1127     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorOperatingSystemVersion, 2)
1128     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorOperatingSystemVersion, 40)
1129     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MinorOperatingSystemVersion, 2)
1130     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorOperatingSystemVersion, 2)
1131     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorOperatingSystemVersion, 42)
1132     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MajorImageVersion, 2)
1133     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorImageVersion, 2)
1134     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorImageVersion, 44)
1135     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MinorImageVersion, 2)
1136     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorImageVersion, 2)
1137     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorImageVersion, 46)
1138     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MajorSubsystemVersion, 2)
1139     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorSubsystemVersion, 2)
1140     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorSubsystemVersion, 48)
1141     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MinorSubsystemVersion, 2)
1142     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorSubsystemVersion, 2)
1143     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorSubsystemVersion, 50)
1144     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, Win32VersionValue, 4)
1145     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, Win32VersionValue, 4)
1146     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, Win32VersionValue, 52)
1147     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfImage, 4)
1148     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfImage, 4)
1149     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfImage, 56)
1150     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfHeaders, 4)
1151     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfHeaders, 4)
1152     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfHeaders, 60)
1153     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, CheckSum, 4)
1154     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, CheckSum, 4)
1155     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, CheckSum, 64)
1156     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, Subsystem, 2)
1157     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, Subsystem, 2)
1158     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, Subsystem, 68)
1159     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, DllCharacteristics, 2)
1160     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, DllCharacteristics, 2)
1161     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, DllCharacteristics, 70)
1162     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfStackReserve, 8)
1163     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfStackReserve, 8)
1164     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfStackReserve, 72)
1165     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfStackCommit, 8)
1166     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfStackCommit, 8)
1167     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfStackCommit, 80)
1168     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfHeapReserve, 8)
1169     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfHeapReserve, 8)
1170     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfHeapReserve, 88)
1171     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfHeapCommit, 8)
1172     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfHeapCommit, 8)
1173     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfHeapCommit, 96)
1174     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, LoaderFlags, 4)
1175     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, LoaderFlags, 4)
1176     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, LoaderFlags, 104)
1177     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, NumberOfRvaAndSizes, 4)
1178     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, NumberOfRvaAndSizes, 4)
1179     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, NumberOfRvaAndSizes, 108)
1180     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, DataDirectory, 128)
1181     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, DataDirectory, 4)
1182     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, DataDirectory, 112)
1183 }
1184
1185 static void test_pack_IMAGE_OS2_HEADER(void)
1186 {
1187     /* IMAGE_OS2_HEADER (pack 2) */
1188     TEST_TYPE_SIZE   (IMAGE_OS2_HEADER, 64)
1189     TEST_TYPE_ALIGN  (IMAGE_OS2_HEADER, 2)
1190     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_magic, 2)
1191     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_magic, 2)
1192     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_magic, 0)
1193     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_ver, 1)
1194     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_ver, 1)
1195     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_ver, 2)
1196     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_rev, 1)
1197     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_rev, 1)
1198     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_rev, 3)
1199     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_enttab, 2)
1200     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_enttab, 2)
1201     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_enttab, 4)
1202     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cbenttab, 2)
1203     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cbenttab, 2)
1204     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cbenttab, 6)
1205     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_crc, 4)
1206     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_crc, 2)
1207     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_crc, 8)
1208     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_flags, 2)
1209     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_flags, 2)
1210     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_flags, 12)
1211     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_autodata, 2)
1212     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_autodata, 2)
1213     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_autodata, 14)
1214     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_heap, 2)
1215     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_heap, 2)
1216     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_heap, 16)
1217     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_stack, 2)
1218     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_stack, 2)
1219     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_stack, 18)
1220     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_csip, 4)
1221     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_csip, 2)
1222     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_csip, 20)
1223     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_sssp, 4)
1224     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_sssp, 2)
1225     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_sssp, 24)
1226     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cseg, 2)
1227     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cseg, 2)
1228     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cseg, 28)
1229     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cmod, 2)
1230     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cmod, 2)
1231     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cmod, 30)
1232     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cbnrestab, 2)
1233     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cbnrestab, 2)
1234     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cbnrestab, 32)
1235     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_segtab, 2)
1236     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_segtab, 2)
1237     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_segtab, 34)
1238     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_rsrctab, 2)
1239     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_rsrctab, 2)
1240     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_rsrctab, 36)
1241     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_restab, 2)
1242     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_restab, 2)
1243     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_restab, 38)
1244     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_modtab, 2)
1245     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_modtab, 2)
1246     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_modtab, 40)
1247     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_imptab, 2)
1248     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_imptab, 2)
1249     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_imptab, 42)
1250     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_nrestab, 4)
1251     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_nrestab, 2)
1252     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_nrestab, 44)
1253     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cmovent, 2)
1254     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cmovent, 2)
1255     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cmovent, 48)
1256     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_align, 2)
1257     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_align, 2)
1258     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_align, 50)
1259     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cres, 2)
1260     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cres, 2)
1261     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cres, 52)
1262     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_exetyp, 1)
1263     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_exetyp, 1)
1264     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_exetyp, 54)
1265     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_flagsothers, 1)
1266     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_flagsothers, 1)
1267     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_flagsothers, 55)
1268     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_pretthunks, 2)
1269     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_pretthunks, 2)
1270     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_pretthunks, 56)
1271     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_psegrefbytes, 2)
1272     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_psegrefbytes, 2)
1273     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_psegrefbytes, 58)
1274     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_swaparea, 2)
1275     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_swaparea, 2)
1276     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_swaparea, 60)
1277     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_expver, 2)
1278     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_expver, 2)
1279     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_expver, 62)
1280 }
1281
1282 static void test_pack_IMAGE_RELOCATION(void)
1283 {
1284     /* IMAGE_RELOCATION (pack 2) */
1285 }
1286
1287 static void test_pack_IMAGE_RESOURCE_DATA_ENTRY(void)
1288 {
1289     /* IMAGE_RESOURCE_DATA_ENTRY */
1290     TEST_TYPE_SIZE   (IMAGE_RESOURCE_DATA_ENTRY, 16)
1291     TEST_TYPE_ALIGN  (IMAGE_RESOURCE_DATA_ENTRY, 4)
1292     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DATA_ENTRY, OffsetToData, 4)
1293     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DATA_ENTRY, OffsetToData, 4)
1294     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DATA_ENTRY, OffsetToData, 0)
1295     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DATA_ENTRY, Size, 4)
1296     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DATA_ENTRY, Size, 4)
1297     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DATA_ENTRY, Size, 4)
1298     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DATA_ENTRY, CodePage, 4)
1299     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DATA_ENTRY, CodePage, 4)
1300     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DATA_ENTRY, CodePage, 8)
1301     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DATA_ENTRY, Reserved, 4)
1302     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DATA_ENTRY, Reserved, 4)
1303     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DATA_ENTRY, Reserved, 12)
1304 }
1305
1306 static void test_pack_IMAGE_RESOURCE_DIRECTORY(void)
1307 {
1308     /* IMAGE_RESOURCE_DIRECTORY */
1309     TEST_TYPE_SIZE   (IMAGE_RESOURCE_DIRECTORY, 16)
1310     TEST_TYPE_ALIGN  (IMAGE_RESOURCE_DIRECTORY, 4)
1311     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, Characteristics, 4)
1312     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, Characteristics, 4)
1313     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, Characteristics, 0)
1314     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, TimeDateStamp, 4)
1315     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, TimeDateStamp, 4)
1316     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, TimeDateStamp, 4)
1317     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, MajorVersion, 2)
1318     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, MajorVersion, 2)
1319     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, MajorVersion, 8)
1320     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, MinorVersion, 2)
1321     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, MinorVersion, 2)
1322     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, MinorVersion, 10)
1323     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, NumberOfNamedEntries, 2)
1324     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, NumberOfNamedEntries, 2)
1325     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, NumberOfNamedEntries, 12)
1326     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, NumberOfIdEntries, 2)
1327     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, NumberOfIdEntries, 2)
1328     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, NumberOfIdEntries, 14)
1329 }
1330
1331 static void test_pack_IMAGE_RESOURCE_DIRECTORY_ENTRY(void)
1332 {
1333     /* IMAGE_RESOURCE_DIRECTORY_ENTRY */
1334 }
1335
1336 static void test_pack_IMAGE_RESOURCE_DIRECTORY_STRING(void)
1337 {
1338     /* IMAGE_RESOURCE_DIRECTORY_STRING */
1339     TEST_TYPE_SIZE   (IMAGE_RESOURCE_DIRECTORY_STRING, 4)
1340     TEST_TYPE_ALIGN  (IMAGE_RESOURCE_DIRECTORY_STRING, 2)
1341     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY_STRING, Length, 2)
1342     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY_STRING, Length, 2)
1343     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY_STRING, Length, 0)
1344     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY_STRING, NameString, 1)
1345     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY_STRING, NameString, 1)
1346     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY_STRING, NameString, 2)
1347 }
1348
1349 static void test_pack_IMAGE_RESOURCE_DIR_STRING_U(void)
1350 {
1351     /* IMAGE_RESOURCE_DIR_STRING_U */
1352     TEST_TYPE_SIZE   (IMAGE_RESOURCE_DIR_STRING_U, 4)
1353     TEST_TYPE_ALIGN  (IMAGE_RESOURCE_DIR_STRING_U, 2)
1354     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIR_STRING_U, Length, 2)
1355     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIR_STRING_U, Length, 2)
1356     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIR_STRING_U, Length, 0)
1357     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIR_STRING_U, NameString, 2)
1358     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIR_STRING_U, NameString, 2)
1359     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIR_STRING_U, NameString, 2)
1360 }
1361
1362 static void test_pack_IMAGE_SECTION_HEADER(void)
1363 {
1364     /* IMAGE_SECTION_HEADER */
1365     TEST_FIELD_SIZE  (IMAGE_SECTION_HEADER, Name, 8)
1366     TEST_FIELD_ALIGN (IMAGE_SECTION_HEADER, Name, 1)
1367     TEST_FIELD_OFFSET(IMAGE_SECTION_HEADER, Name, 0)
1368 }
1369
1370 static void test_pack_IMAGE_SEPARATE_DEBUG_HEADER(void)
1371 {
1372     /* IMAGE_SEPARATE_DEBUG_HEADER */
1373     TEST_TYPE_SIZE   (IMAGE_SEPARATE_DEBUG_HEADER, 48)
1374     TEST_TYPE_ALIGN  (IMAGE_SEPARATE_DEBUG_HEADER, 4)
1375     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Signature, 2)
1376     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Signature, 2)
1377     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Signature, 0)
1378     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Flags, 2)
1379     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Flags, 2)
1380     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Flags, 2)
1381     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Machine, 2)
1382     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Machine, 2)
1383     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Machine, 4)
1384     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Characteristics, 2)
1385     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Characteristics, 2)
1386     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Characteristics, 6)
1387     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, TimeDateStamp, 4)
1388     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, TimeDateStamp, 4)
1389     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, TimeDateStamp, 8)
1390     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, CheckSum, 4)
1391     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, CheckSum, 4)
1392     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, CheckSum, 12)
1393     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, ImageBase, 4)
1394     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, ImageBase, 4)
1395     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, ImageBase, 16)
1396     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, SizeOfImage, 4)
1397     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, SizeOfImage, 4)
1398     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, SizeOfImage, 20)
1399     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, NumberOfSections, 4)
1400     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, NumberOfSections, 4)
1401     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, NumberOfSections, 24)
1402     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, ExportedNamesSize, 4)
1403     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, ExportedNamesSize, 4)
1404     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, ExportedNamesSize, 28)
1405     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, DebugDirectorySize, 4)
1406     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, DebugDirectorySize, 4)
1407     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, DebugDirectorySize, 32)
1408     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, SectionAlignment, 4)
1409     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, SectionAlignment, 4)
1410     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, SectionAlignment, 36)
1411     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Reserved, 8)
1412     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Reserved, 4)
1413     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Reserved, 40)
1414 }
1415
1416 static void test_pack_IMAGE_SYMBOL(void)
1417 {
1418     /* IMAGE_SYMBOL (pack 2) */
1419 }
1420
1421 static void test_pack_IMAGE_THUNK_DATA(void)
1422 {
1423     /* IMAGE_THUNK_DATA */
1424 }
1425
1426 static void test_pack_IMAGE_TLS_DIRECTORY(void)
1427 {
1428     /* IMAGE_TLS_DIRECTORY */
1429     TEST_TYPE_SIZE   (IMAGE_TLS_DIRECTORY, 40)
1430     TEST_TYPE_ALIGN  (IMAGE_TLS_DIRECTORY, 8)
1431 }
1432
1433 static void test_pack_IMAGE_TLS_DIRECTORY32(void)
1434 {
1435     /* IMAGE_TLS_DIRECTORY32 */
1436     TEST_TYPE_SIZE   (IMAGE_TLS_DIRECTORY32, 24)
1437     TEST_TYPE_ALIGN  (IMAGE_TLS_DIRECTORY32, 4)
1438     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY32, StartAddressOfRawData, 4)
1439     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, StartAddressOfRawData, 4)
1440     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, StartAddressOfRawData, 0)
1441     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY32, EndAddressOfRawData, 4)
1442     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, EndAddressOfRawData, 4)
1443     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, EndAddressOfRawData, 4)
1444     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY32, AddressOfIndex, 4)
1445     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, AddressOfIndex, 4)
1446     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, AddressOfIndex, 8)
1447     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY32, AddressOfCallBacks, 4)
1448     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, AddressOfCallBacks, 4)
1449     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, AddressOfCallBacks, 12)
1450     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY32, SizeOfZeroFill, 4)
1451     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, SizeOfZeroFill, 4)
1452     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, SizeOfZeroFill, 16)
1453     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY32, Characteristics, 4)
1454     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, Characteristics, 4)
1455     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, Characteristics, 20)
1456 }
1457
1458 static void test_pack_IMAGE_TLS_DIRECTORY64(void)
1459 {
1460     /* IMAGE_TLS_DIRECTORY64 */
1461     TEST_TYPE_SIZE   (IMAGE_TLS_DIRECTORY64, 40)
1462     TEST_TYPE_ALIGN  (IMAGE_TLS_DIRECTORY64, 8)
1463     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY64, StartAddressOfRawData, 8)
1464     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, StartAddressOfRawData, 8)
1465     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, StartAddressOfRawData, 0)
1466     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY64, EndAddressOfRawData, 8)
1467     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, EndAddressOfRawData, 8)
1468     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, EndAddressOfRawData, 8)
1469     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY64, AddressOfIndex, 8)
1470     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, AddressOfIndex, 8)
1471     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, AddressOfIndex, 16)
1472     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY64, AddressOfCallBacks, 8)
1473     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, AddressOfCallBacks, 8)
1474     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, AddressOfCallBacks, 24)
1475     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY64, SizeOfZeroFill, 4)
1476     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, SizeOfZeroFill, 4)
1477     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, SizeOfZeroFill, 32)
1478     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY64, Characteristics, 4)
1479     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, Characteristics, 4)
1480     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, Characteristics, 36)
1481 }
1482
1483 static void test_pack_IMAGE_VXD_HEADER(void)
1484 {
1485     /* IMAGE_VXD_HEADER (pack 2) */
1486     TEST_TYPE_SIZE   (IMAGE_VXD_HEADER, 196)
1487     TEST_TYPE_ALIGN  (IMAGE_VXD_HEADER, 2)
1488     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_magic, 2)
1489     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_magic, 2)
1490     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_magic, 0)
1491     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_border, 1)
1492     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_border, 1)
1493     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_border, 2)
1494     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_worder, 1)
1495     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_worder, 1)
1496     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_worder, 3)
1497     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_level, 4)
1498     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_level, 2)
1499     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_level, 4)
1500     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_cpu, 2)
1501     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_cpu, 2)
1502     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_cpu, 8)
1503     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_os, 2)
1504     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_os, 2)
1505     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_os, 10)
1506     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_ver, 4)
1507     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_ver, 2)
1508     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_ver, 12)
1509     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_mflags, 4)
1510     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_mflags, 2)
1511     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_mflags, 16)
1512     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_mpages, 4)
1513     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_mpages, 2)
1514     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_mpages, 20)
1515     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_startobj, 4)
1516     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_startobj, 2)
1517     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_startobj, 24)
1518     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_eip, 4)
1519     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_eip, 2)
1520     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_eip, 28)
1521     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_stackobj, 4)
1522     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_stackobj, 2)
1523     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_stackobj, 32)
1524     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_esp, 4)
1525     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_esp, 2)
1526     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_esp, 36)
1527     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_pagesize, 4)
1528     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_pagesize, 2)
1529     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_pagesize, 40)
1530     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_lastpagesize, 4)
1531     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_lastpagesize, 2)
1532     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_lastpagesize, 44)
1533     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_fixupsize, 4)
1534     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_fixupsize, 2)
1535     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_fixupsize, 48)
1536     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_fixupsum, 4)
1537     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_fixupsum, 2)
1538     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_fixupsum, 52)
1539     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_ldrsize, 4)
1540     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_ldrsize, 2)
1541     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_ldrsize, 56)
1542     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_ldrsum, 4)
1543     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_ldrsum, 2)
1544     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_ldrsum, 60)
1545     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_objtab, 4)
1546     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_objtab, 2)
1547     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_objtab, 64)
1548     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_objcnt, 4)
1549     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_objcnt, 2)
1550     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_objcnt, 68)
1551     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_objmap, 4)
1552     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_objmap, 2)
1553     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_objmap, 72)
1554     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_itermap, 4)
1555     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_itermap, 2)
1556     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_itermap, 76)
1557     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_rsrctab, 4)
1558     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_rsrctab, 2)
1559     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_rsrctab, 80)
1560     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_rsrccnt, 4)
1561     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_rsrccnt, 2)
1562     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_rsrccnt, 84)
1563     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_restab, 4)
1564     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_restab, 2)
1565     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_restab, 88)
1566     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_enttab, 4)
1567     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_enttab, 2)
1568     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_enttab, 92)
1569     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_dirtab, 4)
1570     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_dirtab, 2)
1571     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_dirtab, 96)
1572     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_dircnt, 4)
1573     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_dircnt, 2)
1574     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_dircnt, 100)
1575     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_fpagetab, 4)
1576     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_fpagetab, 2)
1577     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_fpagetab, 104)
1578     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_frectab, 4)
1579     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_frectab, 2)
1580     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_frectab, 108)
1581     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_impmod, 4)
1582     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_impmod, 2)
1583     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_impmod, 112)
1584     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_impmodcnt, 4)
1585     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_impmodcnt, 2)
1586     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_impmodcnt, 116)
1587     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_impproc, 4)
1588     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_impproc, 2)
1589     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_impproc, 120)
1590     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_pagesum, 4)
1591     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_pagesum, 2)
1592     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_pagesum, 124)
1593     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_datapage, 4)
1594     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_datapage, 2)
1595     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_datapage, 128)
1596     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_preload, 4)
1597     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_preload, 2)
1598     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_preload, 132)
1599     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_nrestab, 4)
1600     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_nrestab, 2)
1601     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_nrestab, 136)
1602     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_cbnrestab, 4)
1603     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_cbnrestab, 2)
1604     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_cbnrestab, 140)
1605     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_nressum, 4)
1606     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_nressum, 2)
1607     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_nressum, 144)
1608     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_autodata, 4)
1609     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_autodata, 2)
1610     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_autodata, 148)
1611     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_debuginfo, 4)
1612     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_debuginfo, 2)
1613     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_debuginfo, 152)
1614     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_debuglen, 4)
1615     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_debuglen, 2)
1616     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_debuglen, 156)
1617     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_instpreload, 4)
1618     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_instpreload, 2)
1619     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_instpreload, 160)
1620     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_instdemand, 4)
1621     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_instdemand, 2)
1622     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_instdemand, 164)
1623     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_heapsize, 4)
1624     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_heapsize, 2)
1625     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_heapsize, 168)
1626     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_res3, 12)
1627     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_res3, 1)
1628     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_res3, 172)
1629     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_winresoff, 4)
1630     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_winresoff, 2)
1631     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_winresoff, 184)
1632     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_winreslen, 4)
1633     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_winreslen, 2)
1634     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_winreslen, 188)
1635     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_devid, 2)
1636     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_devid, 2)
1637     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_devid, 192)
1638     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_ddkver, 2)
1639     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_ddkver, 2)
1640     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_ddkver, 194)
1641 }
1642
1643 static void test_pack_IO_COUNTERS(void)
1644 {
1645     /* IO_COUNTERS (pack 8) */
1646     TEST_TYPE_SIZE   (IO_COUNTERS, 48)
1647     TEST_TYPE_ALIGN  (IO_COUNTERS, 8)
1648     TEST_FIELD_SIZE  (IO_COUNTERS, ReadOperationCount, 8)
1649     TEST_FIELD_ALIGN (IO_COUNTERS, ReadOperationCount, 8)
1650     TEST_FIELD_OFFSET(IO_COUNTERS, ReadOperationCount, 0)
1651     TEST_FIELD_SIZE  (IO_COUNTERS, WriteOperationCount, 8)
1652     TEST_FIELD_ALIGN (IO_COUNTERS, WriteOperationCount, 8)
1653     TEST_FIELD_OFFSET(IO_COUNTERS, WriteOperationCount, 8)
1654     TEST_FIELD_SIZE  (IO_COUNTERS, OtherOperationCount, 8)
1655     TEST_FIELD_ALIGN (IO_COUNTERS, OtherOperationCount, 8)
1656     TEST_FIELD_OFFSET(IO_COUNTERS, OtherOperationCount, 16)
1657     TEST_FIELD_SIZE  (IO_COUNTERS, ReadTransferCount, 8)
1658     TEST_FIELD_ALIGN (IO_COUNTERS, ReadTransferCount, 8)
1659     TEST_FIELD_OFFSET(IO_COUNTERS, ReadTransferCount, 24)
1660     TEST_FIELD_SIZE  (IO_COUNTERS, WriteTransferCount, 8)
1661     TEST_FIELD_ALIGN (IO_COUNTERS, WriteTransferCount, 8)
1662     TEST_FIELD_OFFSET(IO_COUNTERS, WriteTransferCount, 32)
1663     TEST_FIELD_SIZE  (IO_COUNTERS, OtherTransferCount, 8)
1664     TEST_FIELD_ALIGN (IO_COUNTERS, OtherTransferCount, 8)
1665     TEST_FIELD_OFFSET(IO_COUNTERS, OtherTransferCount, 40)
1666 }
1667
1668 static void test_pack_LANGID(void)
1669 {
1670     /* LANGID */
1671     TEST_TYPE_SIZE   (LANGID, 2)
1672     TEST_TYPE_ALIGN  (LANGID, 2)
1673     TEST_TYPE_UNSIGNED(LANGID)
1674 }
1675
1676 static void test_pack_LARGE_INTEGER(void)
1677 {
1678     /* LARGE_INTEGER */
1679 }
1680
1681 static void test_pack_LCID(void)
1682 {
1683     /* LCID */
1684     TEST_TYPE_SIZE   (LCID, 4)
1685     TEST_TYPE_ALIGN  (LCID, 4)
1686     TEST_TYPE_UNSIGNED(LCID)
1687 }
1688
1689 static void test_pack_LIST_ENTRY(void)
1690 {
1691     /* LIST_ENTRY */
1692     TEST_TYPE_SIZE   (LIST_ENTRY, 16)
1693     TEST_TYPE_ALIGN  (LIST_ENTRY, 8)
1694     TEST_FIELD_SIZE  (LIST_ENTRY, Flink, 8)
1695     TEST_FIELD_ALIGN (LIST_ENTRY, Flink, 8)
1696     TEST_FIELD_OFFSET(LIST_ENTRY, Flink, 0)
1697     TEST_FIELD_SIZE  (LIST_ENTRY, Blink, 8)
1698     TEST_FIELD_ALIGN (LIST_ENTRY, Blink, 8)
1699     TEST_FIELD_OFFSET(LIST_ENTRY, Blink, 8)
1700 }
1701
1702 static void test_pack_LONG(void)
1703 {
1704     /* LONG */
1705     TEST_TYPE_SIZE   (LONG, 4)
1706     TEST_TYPE_ALIGN  (LONG, 4)
1707     TEST_TYPE_SIGNED(LONG)
1708 }
1709
1710 static void test_pack_LONGLONG(void)
1711 {
1712     /* LONGLONG */
1713     TEST_TYPE_SIZE   (LONGLONG, 8)
1714     TEST_TYPE_ALIGN  (LONGLONG, 8)
1715     TEST_TYPE_SIGNED(LONGLONG)
1716 }
1717
1718 static void test_pack_LUID(void)
1719 {
1720     /* LUID */
1721     TEST_TYPE_SIZE   (LUID, 8)
1722     TEST_TYPE_ALIGN  (LUID, 4)
1723     TEST_FIELD_SIZE  (LUID, LowPart, 4)
1724     TEST_FIELD_ALIGN (LUID, LowPart, 4)
1725     TEST_FIELD_OFFSET(LUID, LowPart, 0)
1726     TEST_FIELD_SIZE  (LUID, HighPart, 4)
1727     TEST_FIELD_ALIGN (LUID, HighPart, 4)
1728     TEST_FIELD_OFFSET(LUID, HighPart, 4)
1729 }
1730
1731 static void test_pack_LUID_AND_ATTRIBUTES(void)
1732 {
1733     /* LUID_AND_ATTRIBUTES (pack 4) */
1734     TEST_TYPE_SIZE   (LUID_AND_ATTRIBUTES, 12)
1735     TEST_TYPE_ALIGN  (LUID_AND_ATTRIBUTES, 4)
1736     TEST_FIELD_SIZE  (LUID_AND_ATTRIBUTES, Luid, 8)
1737     TEST_FIELD_ALIGN (LUID_AND_ATTRIBUTES, Luid, 4)
1738     TEST_FIELD_OFFSET(LUID_AND_ATTRIBUTES, Luid, 0)
1739     TEST_FIELD_SIZE  (LUID_AND_ATTRIBUTES, Attributes, 4)
1740     TEST_FIELD_ALIGN (LUID_AND_ATTRIBUTES, Attributes, 4)
1741     TEST_FIELD_OFFSET(LUID_AND_ATTRIBUTES, Attributes, 8)
1742 }
1743
1744 static void test_pack_MEMORY_BASIC_INFORMATION(void)
1745 {
1746     /* MEMORY_BASIC_INFORMATION */
1747     TEST_TYPE_SIZE   (MEMORY_BASIC_INFORMATION, 48)
1748     TEST_TYPE_ALIGN  (MEMORY_BASIC_INFORMATION, 8)
1749     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, BaseAddress, 8)
1750     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, BaseAddress, 8)
1751     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, BaseAddress, 0)
1752     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, AllocationBase, 8)
1753     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, AllocationBase, 8)
1754     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, AllocationBase, 8)
1755     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, AllocationProtect, 4)
1756     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, AllocationProtect, 4)
1757     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, AllocationProtect, 16)
1758     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, RegionSize, 8)
1759     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, RegionSize, 8)
1760     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, RegionSize, 24)
1761     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, State, 4)
1762     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, State, 4)
1763     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, State, 32)
1764     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, Protect, 4)
1765     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, Protect, 4)
1766     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, Protect, 36)
1767     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, Type, 4)
1768     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, Type, 4)
1769     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, Type, 40)
1770 }
1771
1772 static void test_pack_MESSAGE_RESOURCE_BLOCK(void)
1773 {
1774     /* MESSAGE_RESOURCE_BLOCK */
1775     TEST_TYPE_SIZE   (MESSAGE_RESOURCE_BLOCK, 12)
1776     TEST_TYPE_ALIGN  (MESSAGE_RESOURCE_BLOCK, 4)
1777     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_BLOCK, LowId, 4)
1778     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_BLOCK, LowId, 4)
1779     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_BLOCK, LowId, 0)
1780     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_BLOCK, HighId, 4)
1781     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_BLOCK, HighId, 4)
1782     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_BLOCK, HighId, 4)
1783     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_BLOCK, OffsetToEntries, 4)
1784     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_BLOCK, OffsetToEntries, 4)
1785     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_BLOCK, OffsetToEntries, 8)
1786 }
1787
1788 static void test_pack_MESSAGE_RESOURCE_DATA(void)
1789 {
1790     /* MESSAGE_RESOURCE_DATA */
1791     TEST_TYPE_SIZE   (MESSAGE_RESOURCE_DATA, 16)
1792     TEST_TYPE_ALIGN  (MESSAGE_RESOURCE_DATA, 4)
1793     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_DATA, NumberOfBlocks, 4)
1794     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_DATA, NumberOfBlocks, 4)
1795     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_DATA, NumberOfBlocks, 0)
1796     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_DATA, Blocks, 12)
1797     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_DATA, Blocks, 4)
1798     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_DATA, Blocks, 4)
1799 }
1800
1801 static void test_pack_MESSAGE_RESOURCE_ENTRY(void)
1802 {
1803     /* MESSAGE_RESOURCE_ENTRY */
1804     TEST_TYPE_SIZE   (MESSAGE_RESOURCE_ENTRY, 6)
1805     TEST_TYPE_ALIGN  (MESSAGE_RESOURCE_ENTRY, 2)
1806     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_ENTRY, Length, 2)
1807     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_ENTRY, Length, 2)
1808     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_ENTRY, Length, 0)
1809     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_ENTRY, Flags, 2)
1810     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_ENTRY, Flags, 2)
1811     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_ENTRY, Flags, 2)
1812     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_ENTRY, Text, 1)
1813     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_ENTRY, Text, 1)
1814     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_ENTRY, Text, 4)
1815 }
1816
1817 static void test_pack_NT_TIB(void)
1818 {
1819     /* NT_TIB */
1820     TEST_FIELD_SIZE  (NT_TIB, ExceptionList, 8)
1821     TEST_FIELD_ALIGN (NT_TIB, ExceptionList, 8)
1822     TEST_FIELD_OFFSET(NT_TIB, ExceptionList, 0)
1823     TEST_FIELD_SIZE  (NT_TIB, StackBase, 8)
1824     TEST_FIELD_ALIGN (NT_TIB, StackBase, 8)
1825     TEST_FIELD_OFFSET(NT_TIB, StackBase, 8)
1826     TEST_FIELD_SIZE  (NT_TIB, StackLimit, 8)
1827     TEST_FIELD_ALIGN (NT_TIB, StackLimit, 8)
1828     TEST_FIELD_OFFSET(NT_TIB, StackLimit, 16)
1829     TEST_FIELD_SIZE  (NT_TIB, SubSystemTib, 8)
1830     TEST_FIELD_ALIGN (NT_TIB, SubSystemTib, 8)
1831     TEST_FIELD_OFFSET(NT_TIB, SubSystemTib, 24)
1832 }
1833
1834 static void test_pack_OBJECT_TYPE_LIST(void)
1835 {
1836     /* OBJECT_TYPE_LIST */
1837     TEST_TYPE_SIZE   (OBJECT_TYPE_LIST, 16)
1838     TEST_TYPE_ALIGN  (OBJECT_TYPE_LIST, 8)
1839     TEST_FIELD_SIZE  (OBJECT_TYPE_LIST, Level, 2)
1840     TEST_FIELD_ALIGN (OBJECT_TYPE_LIST, Level, 2)
1841     TEST_FIELD_OFFSET(OBJECT_TYPE_LIST, Level, 0)
1842     TEST_FIELD_SIZE  (OBJECT_TYPE_LIST, Sbz, 2)
1843     TEST_FIELD_ALIGN (OBJECT_TYPE_LIST, Sbz, 2)
1844     TEST_FIELD_OFFSET(OBJECT_TYPE_LIST, Sbz, 2)
1845     TEST_FIELD_SIZE  (OBJECT_TYPE_LIST, ObjectType, 8)
1846     TEST_FIELD_ALIGN (OBJECT_TYPE_LIST, ObjectType, 8)
1847     TEST_FIELD_OFFSET(OBJECT_TYPE_LIST, ObjectType, 8)
1848 }
1849
1850 static void test_pack_PACCESS_ALLOWED_ACE(void)
1851 {
1852     /* PACCESS_ALLOWED_ACE */
1853     TEST_TYPE_SIZE   (PACCESS_ALLOWED_ACE, 8)
1854     TEST_TYPE_ALIGN  (PACCESS_ALLOWED_ACE, 8)
1855     TEST_TARGET_SIZE (PACCESS_ALLOWED_ACE, 12)
1856     TEST_TARGET_ALIGN(PACCESS_ALLOWED_ACE, 4)
1857 }
1858
1859 static void test_pack_PACCESS_DENIED_ACE(void)
1860 {
1861     /* PACCESS_DENIED_ACE */
1862     TEST_TYPE_SIZE   (PACCESS_DENIED_ACE, 8)
1863     TEST_TYPE_ALIGN  (PACCESS_DENIED_ACE, 8)
1864     TEST_TARGET_SIZE (PACCESS_DENIED_ACE, 12)
1865     TEST_TARGET_ALIGN(PACCESS_DENIED_ACE, 4)
1866 }
1867
1868 static void test_pack_PACCESS_TOKEN(void)
1869 {
1870     /* PACCESS_TOKEN */
1871     TEST_TYPE_SIZE   (PACCESS_TOKEN, 8)
1872     TEST_TYPE_ALIGN  (PACCESS_TOKEN, 8)
1873 }
1874
1875 static void test_pack_PACE_HEADER(void)
1876 {
1877     /* PACE_HEADER */
1878     TEST_TYPE_SIZE   (PACE_HEADER, 8)
1879     TEST_TYPE_ALIGN  (PACE_HEADER, 8)
1880     TEST_TARGET_SIZE (PACE_HEADER, 4)
1881     TEST_TARGET_ALIGN(PACE_HEADER, 2)
1882 }
1883
1884 static void test_pack_PACL(void)
1885 {
1886     /* PACL */
1887     TEST_TYPE_SIZE   (PACL, 8)
1888     TEST_TYPE_ALIGN  (PACL, 8)
1889     TEST_TARGET_SIZE (PACL, 8)
1890     TEST_TARGET_ALIGN(PACL, 2)
1891 }
1892
1893 static void test_pack_PACL_REVISION_INFORMATION(void)
1894 {
1895     /* PACL_REVISION_INFORMATION */
1896     TEST_TYPE_SIZE   (PACL_REVISION_INFORMATION, 8)
1897     TEST_TYPE_ALIGN  (PACL_REVISION_INFORMATION, 8)
1898     TEST_TARGET_SIZE (PACL_REVISION_INFORMATION, 4)
1899     TEST_TARGET_ALIGN(PACL_REVISION_INFORMATION, 4)
1900 }
1901
1902 static void test_pack_PACL_SIZE_INFORMATION(void)
1903 {
1904     /* PACL_SIZE_INFORMATION */
1905     TEST_TYPE_SIZE   (PACL_SIZE_INFORMATION, 8)
1906     TEST_TYPE_ALIGN  (PACL_SIZE_INFORMATION, 8)
1907     TEST_TARGET_SIZE (PACL_SIZE_INFORMATION, 12)
1908     TEST_TARGET_ALIGN(PACL_SIZE_INFORMATION, 4)
1909 }
1910
1911 static void test_pack_PCCH(void)
1912 {
1913     /* PCCH */
1914     TEST_TYPE_SIZE   (PCCH, 8)
1915     TEST_TYPE_ALIGN  (PCCH, 8)
1916     TEST_TARGET_SIZE (PCCH, 1)
1917     TEST_TARGET_ALIGN(PCCH, 1)
1918 }
1919
1920 static void test_pack_PCH(void)
1921 {
1922     /* PCH */
1923     TEST_TYPE_SIZE   (PCH, 8)
1924     TEST_TYPE_ALIGN  (PCH, 8)
1925     TEST_TARGET_SIZE (PCH, 1)
1926     TEST_TARGET_ALIGN(PCH, 1)
1927 }
1928
1929 static void test_pack_PCSTR(void)
1930 {
1931     /* PCSTR */
1932     TEST_TYPE_SIZE   (PCSTR, 8)
1933     TEST_TYPE_ALIGN  (PCSTR, 8)
1934     TEST_TARGET_SIZE (PCSTR, 1)
1935     TEST_TARGET_ALIGN(PCSTR, 1)
1936 }
1937
1938 static void test_pack_PCTSTR(void)
1939 {
1940     /* PCTSTR */
1941     TEST_TYPE_SIZE   (PCTSTR, 8)
1942     TEST_TYPE_ALIGN  (PCTSTR, 8)
1943 }
1944
1945 static void test_pack_PCWCH(void)
1946 {
1947     /* PCWCH */
1948     TEST_TYPE_SIZE   (PCWCH, 8)
1949     TEST_TYPE_ALIGN  (PCWCH, 8)
1950     TEST_TARGET_SIZE (PCWCH, 2)
1951     TEST_TARGET_ALIGN(PCWCH, 2)
1952 }
1953
1954 static void test_pack_PCWSTR(void)
1955 {
1956     /* PCWSTR */
1957     TEST_TYPE_SIZE   (PCWSTR, 8)
1958     TEST_TYPE_ALIGN  (PCWSTR, 8)
1959     TEST_TARGET_SIZE (PCWSTR, 2)
1960     TEST_TARGET_ALIGN(PCWSTR, 2)
1961 }
1962
1963 static void test_pack_PEXCEPTION_POINTERS(void)
1964 {
1965     /* PEXCEPTION_POINTERS */
1966     TEST_TYPE_SIZE   (PEXCEPTION_POINTERS, 8)
1967     TEST_TYPE_ALIGN  (PEXCEPTION_POINTERS, 8)
1968     TEST_TARGET_SIZE (PEXCEPTION_POINTERS, 16)
1969     TEST_TARGET_ALIGN(PEXCEPTION_POINTERS, 8)
1970 }
1971
1972 static void test_pack_PEXCEPTION_RECORD(void)
1973 {
1974     /* PEXCEPTION_RECORD */
1975     TEST_TYPE_SIZE   (PEXCEPTION_RECORD, 8)
1976     TEST_TYPE_ALIGN  (PEXCEPTION_RECORD, 8)
1977     TEST_TARGET_SIZE (PEXCEPTION_RECORD, 152)
1978     TEST_TARGET_ALIGN(PEXCEPTION_RECORD, 8)
1979 }
1980
1981 static void test_pack_PFLOATING_SAVE_AREA(void)
1982 {
1983     /* PFLOATING_SAVE_AREA */
1984     TEST_TYPE_SIZE   (PFLOATING_SAVE_AREA, 8)
1985     TEST_TYPE_ALIGN  (PFLOATING_SAVE_AREA, 8)
1986     TEST_TARGET_SIZE (PFLOATING_SAVE_AREA, 112)
1987     TEST_TARGET_ALIGN(PFLOATING_SAVE_AREA, 4)
1988 }
1989
1990 static void test_pack_PFPO_DATA(void)
1991 {
1992     /* PFPO_DATA */
1993     TEST_TYPE_SIZE   (PFPO_DATA, 8)
1994     TEST_TYPE_ALIGN  (PFPO_DATA, 8)
1995     TEST_TARGET_SIZE (PFPO_DATA, 16)
1996     TEST_TARGET_ALIGN(PFPO_DATA, 4)
1997 }
1998
1999 static void test_pack_PGENERIC_MAPPING(void)
2000 {
2001     /* PGENERIC_MAPPING */
2002     TEST_TYPE_SIZE   (PGENERIC_MAPPING, 8)
2003     TEST_TYPE_ALIGN  (PGENERIC_MAPPING, 8)
2004     TEST_TARGET_SIZE (PGENERIC_MAPPING, 16)
2005     TEST_TARGET_ALIGN(PGENERIC_MAPPING, 4)
2006 }
2007
2008 static void test_pack_PHANDLE(void)
2009 {
2010     /* PHANDLE */
2011     TEST_TYPE_SIZE   (PHANDLE, 8)
2012     TEST_TYPE_ALIGN  (PHANDLE, 8)
2013     TEST_TARGET_SIZE (PHANDLE, 8)
2014     TEST_TARGET_ALIGN(PHANDLE, 8)
2015 }
2016
2017 static void test_pack_PIMAGE_ARCHIVE_MEMBER_HEADER(void)
2018 {
2019     /* PIMAGE_ARCHIVE_MEMBER_HEADER */
2020     TEST_TYPE_SIZE   (PIMAGE_ARCHIVE_MEMBER_HEADER, 8)
2021     TEST_TYPE_ALIGN  (PIMAGE_ARCHIVE_MEMBER_HEADER, 8)
2022     TEST_TARGET_SIZE (PIMAGE_ARCHIVE_MEMBER_HEADER, 60)
2023     TEST_TARGET_ALIGN(PIMAGE_ARCHIVE_MEMBER_HEADER, 1)
2024 }
2025
2026 static void test_pack_PIMAGE_AUX_SYMBOL(void)
2027 {
2028     /* PIMAGE_AUX_SYMBOL */
2029     TEST_TYPE_SIZE   (PIMAGE_AUX_SYMBOL, 8)
2030     TEST_TYPE_ALIGN  (PIMAGE_AUX_SYMBOL, 8)
2031 }
2032
2033 static void test_pack_PIMAGE_BASE_RELOCATION(void)
2034 {
2035     /* PIMAGE_BASE_RELOCATION */
2036     TEST_TYPE_SIZE   (PIMAGE_BASE_RELOCATION, 8)
2037     TEST_TYPE_ALIGN  (PIMAGE_BASE_RELOCATION, 8)
2038     TEST_TARGET_SIZE (PIMAGE_BASE_RELOCATION, 8)
2039     TEST_TARGET_ALIGN(PIMAGE_BASE_RELOCATION, 4)
2040 }
2041
2042 static void test_pack_PIMAGE_BOUND_FORWARDER_REF(void)
2043 {
2044     /* PIMAGE_BOUND_FORWARDER_REF */
2045     TEST_TYPE_SIZE   (PIMAGE_BOUND_FORWARDER_REF, 8)
2046     TEST_TYPE_ALIGN  (PIMAGE_BOUND_FORWARDER_REF, 8)
2047     TEST_TARGET_SIZE (PIMAGE_BOUND_FORWARDER_REF, 8)
2048     TEST_TARGET_ALIGN(PIMAGE_BOUND_FORWARDER_REF, 4)
2049 }
2050
2051 static void test_pack_PIMAGE_BOUND_IMPORT_DESCRIPTOR(void)
2052 {
2053     /* PIMAGE_BOUND_IMPORT_DESCRIPTOR */
2054     TEST_TYPE_SIZE   (PIMAGE_BOUND_IMPORT_DESCRIPTOR, 8)
2055     TEST_TYPE_ALIGN  (PIMAGE_BOUND_IMPORT_DESCRIPTOR, 8)
2056     TEST_TARGET_SIZE (PIMAGE_BOUND_IMPORT_DESCRIPTOR, 8)
2057     TEST_TARGET_ALIGN(PIMAGE_BOUND_IMPORT_DESCRIPTOR, 4)
2058 }
2059
2060 static void test_pack_PIMAGE_COFF_SYMBOLS_HEADER(void)
2061 {
2062     /* PIMAGE_COFF_SYMBOLS_HEADER */
2063     TEST_TYPE_SIZE   (PIMAGE_COFF_SYMBOLS_HEADER, 8)
2064     TEST_TYPE_ALIGN  (PIMAGE_COFF_SYMBOLS_HEADER, 8)
2065     TEST_TARGET_SIZE (PIMAGE_COFF_SYMBOLS_HEADER, 32)
2066     TEST_TARGET_ALIGN(PIMAGE_COFF_SYMBOLS_HEADER, 4)
2067 }
2068
2069 static void test_pack_PIMAGE_DATA_DIRECTORY(void)
2070 {
2071     /* PIMAGE_DATA_DIRECTORY */
2072     TEST_TYPE_SIZE   (PIMAGE_DATA_DIRECTORY, 8)
2073     TEST_TYPE_ALIGN  (PIMAGE_DATA_DIRECTORY, 8)
2074     TEST_TARGET_SIZE (PIMAGE_DATA_DIRECTORY, 8)
2075     TEST_TARGET_ALIGN(PIMAGE_DATA_DIRECTORY, 4)
2076 }
2077
2078 static void test_pack_PIMAGE_DEBUG_DIRECTORY(void)
2079 {
2080     /* PIMAGE_DEBUG_DIRECTORY */
2081     TEST_TYPE_SIZE   (PIMAGE_DEBUG_DIRECTORY, 8)
2082     TEST_TYPE_ALIGN  (PIMAGE_DEBUG_DIRECTORY, 8)
2083     TEST_TARGET_SIZE (PIMAGE_DEBUG_DIRECTORY, 28)
2084     TEST_TARGET_ALIGN(PIMAGE_DEBUG_DIRECTORY, 4)
2085 }
2086
2087 static void test_pack_PIMAGE_DEBUG_MISC(void)
2088 {
2089     /* PIMAGE_DEBUG_MISC */
2090     TEST_TYPE_SIZE   (PIMAGE_DEBUG_MISC, 8)
2091     TEST_TYPE_ALIGN  (PIMAGE_DEBUG_MISC, 8)
2092     TEST_TARGET_SIZE (PIMAGE_DEBUG_MISC, 16)
2093     TEST_TARGET_ALIGN(PIMAGE_DEBUG_MISC, 4)
2094 }
2095
2096 static void test_pack_PIMAGE_DOS_HEADER(void)
2097 {
2098     /* PIMAGE_DOS_HEADER */
2099     TEST_TYPE_SIZE   (PIMAGE_DOS_HEADER, 8)
2100     TEST_TYPE_ALIGN  (PIMAGE_DOS_HEADER, 8)
2101     TEST_TARGET_SIZE (PIMAGE_DOS_HEADER, 64)
2102     TEST_TARGET_ALIGN(PIMAGE_DOS_HEADER, 2)
2103 }
2104
2105 static void test_pack_PIMAGE_EXPORT_DIRECTORY(void)
2106 {
2107     /* PIMAGE_EXPORT_DIRECTORY */
2108     TEST_TYPE_SIZE   (PIMAGE_EXPORT_DIRECTORY, 8)
2109     TEST_TYPE_ALIGN  (PIMAGE_EXPORT_DIRECTORY, 8)
2110     TEST_TARGET_SIZE (PIMAGE_EXPORT_DIRECTORY, 40)
2111     TEST_TARGET_ALIGN(PIMAGE_EXPORT_DIRECTORY, 4)
2112 }
2113
2114 static void test_pack_PIMAGE_FILE_HEADER(void)
2115 {
2116     /* PIMAGE_FILE_HEADER */
2117     TEST_TYPE_SIZE   (PIMAGE_FILE_HEADER, 8)
2118     TEST_TYPE_ALIGN  (PIMAGE_FILE_HEADER, 8)
2119     TEST_TARGET_SIZE (PIMAGE_FILE_HEADER, 20)
2120     TEST_TARGET_ALIGN(PIMAGE_FILE_HEADER, 4)
2121 }
2122
2123 static void test_pack_PIMAGE_FUNCTION_ENTRY(void)
2124 {
2125     /* PIMAGE_FUNCTION_ENTRY */
2126     TEST_TYPE_SIZE   (PIMAGE_FUNCTION_ENTRY, 8)
2127     TEST_TYPE_ALIGN  (PIMAGE_FUNCTION_ENTRY, 8)
2128     TEST_TARGET_SIZE (PIMAGE_FUNCTION_ENTRY, 12)
2129     TEST_TARGET_ALIGN(PIMAGE_FUNCTION_ENTRY, 4)
2130 }
2131
2132 static void test_pack_PIMAGE_IMPORT_BY_NAME(void)
2133 {
2134     /* PIMAGE_IMPORT_BY_NAME */
2135     TEST_TYPE_SIZE   (PIMAGE_IMPORT_BY_NAME, 8)
2136     TEST_TYPE_ALIGN  (PIMAGE_IMPORT_BY_NAME, 8)
2137     TEST_TARGET_SIZE (PIMAGE_IMPORT_BY_NAME, 4)
2138     TEST_TARGET_ALIGN(PIMAGE_IMPORT_BY_NAME, 2)
2139 }
2140
2141 static void test_pack_PIMAGE_IMPORT_DESCRIPTOR(void)
2142 {
2143     /* PIMAGE_IMPORT_DESCRIPTOR */
2144     TEST_TYPE_SIZE   (PIMAGE_IMPORT_DESCRIPTOR, 8)
2145     TEST_TYPE_ALIGN  (PIMAGE_IMPORT_DESCRIPTOR, 8)
2146 }
2147
2148 static void test_pack_PIMAGE_LINENUMBER(void)
2149 {
2150     /* PIMAGE_LINENUMBER */
2151     TEST_TYPE_SIZE   (PIMAGE_LINENUMBER, 8)
2152     TEST_TYPE_ALIGN  (PIMAGE_LINENUMBER, 8)
2153 }
2154
2155 static void test_pack_PIMAGE_LOAD_CONFIG_DIRECTORY(void)
2156 {
2157     /* PIMAGE_LOAD_CONFIG_DIRECTORY */
2158     TEST_TYPE_SIZE   (PIMAGE_LOAD_CONFIG_DIRECTORY, 8)
2159     TEST_TYPE_ALIGN  (PIMAGE_LOAD_CONFIG_DIRECTORY, 8)
2160     TEST_TARGET_SIZE (PIMAGE_LOAD_CONFIG_DIRECTORY, 88)
2161     TEST_TARGET_ALIGN(PIMAGE_LOAD_CONFIG_DIRECTORY, 8)
2162 }
2163
2164 static void test_pack_PIMAGE_NT_HEADERS(void)
2165 {
2166     /* PIMAGE_NT_HEADERS */
2167     TEST_TYPE_SIZE   (PIMAGE_NT_HEADERS, 8)
2168     TEST_TYPE_ALIGN  (PIMAGE_NT_HEADERS, 8)
2169 }
2170
2171 static void test_pack_PIMAGE_NT_HEADERS32(void)
2172 {
2173     /* PIMAGE_NT_HEADERS32 */
2174     TEST_TYPE_SIZE   (PIMAGE_NT_HEADERS32, 8)
2175     TEST_TYPE_ALIGN  (PIMAGE_NT_HEADERS32, 8)
2176     TEST_TARGET_SIZE (PIMAGE_NT_HEADERS32, 248)
2177     TEST_TARGET_ALIGN(PIMAGE_NT_HEADERS32, 4)
2178 }
2179
2180 static void test_pack_PIMAGE_NT_HEADERS64(void)
2181 {
2182     /* PIMAGE_NT_HEADERS64 */
2183     TEST_TYPE_SIZE   (PIMAGE_NT_HEADERS64, 8)
2184     TEST_TYPE_ALIGN  (PIMAGE_NT_HEADERS64, 8)
2185     TEST_TARGET_SIZE (PIMAGE_NT_HEADERS64, 264)
2186     TEST_TARGET_ALIGN(PIMAGE_NT_HEADERS64, 8)
2187 }
2188
2189 static void test_pack_PIMAGE_OPTIONAL_HEADER(void)
2190 {
2191     /* PIMAGE_OPTIONAL_HEADER */
2192     TEST_TYPE_SIZE   (PIMAGE_OPTIONAL_HEADER, 8)
2193     TEST_TYPE_ALIGN  (PIMAGE_OPTIONAL_HEADER, 8)
2194 }
2195
2196 static void test_pack_PIMAGE_OPTIONAL_HEADER32(void)
2197 {
2198     /* PIMAGE_OPTIONAL_HEADER32 */
2199     TEST_TYPE_SIZE   (PIMAGE_OPTIONAL_HEADER32, 8)
2200     TEST_TYPE_ALIGN  (PIMAGE_OPTIONAL_HEADER32, 8)
2201     TEST_TARGET_SIZE (PIMAGE_OPTIONAL_HEADER32, 224)
2202     TEST_TARGET_ALIGN(PIMAGE_OPTIONAL_HEADER32, 4)
2203 }
2204
2205 static void test_pack_PIMAGE_OPTIONAL_HEADER64(void)
2206 {
2207     /* PIMAGE_OPTIONAL_HEADER64 */
2208     TEST_TYPE_SIZE   (PIMAGE_OPTIONAL_HEADER64, 8)
2209     TEST_TYPE_ALIGN  (PIMAGE_OPTIONAL_HEADER64, 8)
2210     TEST_TARGET_SIZE (PIMAGE_OPTIONAL_HEADER64, 240)
2211     TEST_TARGET_ALIGN(PIMAGE_OPTIONAL_HEADER64, 8)
2212 }
2213
2214 static void test_pack_PIMAGE_OS2_HEADER(void)
2215 {
2216     /* PIMAGE_OS2_HEADER */
2217     TEST_TYPE_SIZE   (PIMAGE_OS2_HEADER, 8)
2218     TEST_TYPE_ALIGN  (PIMAGE_OS2_HEADER, 8)
2219     TEST_TARGET_SIZE (PIMAGE_OS2_HEADER, 64)
2220     TEST_TARGET_ALIGN(PIMAGE_OS2_HEADER, 2)
2221 }
2222
2223 static void test_pack_PIMAGE_RELOCATION(void)
2224 {
2225     /* PIMAGE_RELOCATION */
2226     TEST_TYPE_SIZE   (PIMAGE_RELOCATION, 8)
2227     TEST_TYPE_ALIGN  (PIMAGE_RELOCATION, 8)
2228 }
2229
2230 static void test_pack_PIMAGE_RESOURCE_DATA_ENTRY(void)
2231 {
2232     /* PIMAGE_RESOURCE_DATA_ENTRY */
2233     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DATA_ENTRY, 8)
2234     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DATA_ENTRY, 8)
2235     TEST_TARGET_SIZE (PIMAGE_RESOURCE_DATA_ENTRY, 16)
2236     TEST_TARGET_ALIGN(PIMAGE_RESOURCE_DATA_ENTRY, 4)
2237 }
2238
2239 static void test_pack_PIMAGE_RESOURCE_DIRECTORY(void)
2240 {
2241     /* PIMAGE_RESOURCE_DIRECTORY */
2242     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DIRECTORY, 8)
2243     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DIRECTORY, 8)
2244     TEST_TARGET_SIZE (PIMAGE_RESOURCE_DIRECTORY, 16)
2245     TEST_TARGET_ALIGN(PIMAGE_RESOURCE_DIRECTORY, 4)
2246 }
2247
2248 static void test_pack_PIMAGE_RESOURCE_DIRECTORY_ENTRY(void)
2249 {
2250     /* PIMAGE_RESOURCE_DIRECTORY_ENTRY */
2251     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DIRECTORY_ENTRY, 8)
2252     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DIRECTORY_ENTRY, 8)
2253 }
2254
2255 static void test_pack_PIMAGE_RESOURCE_DIRECTORY_STRING(void)
2256 {
2257     /* PIMAGE_RESOURCE_DIRECTORY_STRING */
2258     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DIRECTORY_STRING, 8)
2259     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DIRECTORY_STRING, 8)
2260     TEST_TARGET_SIZE (PIMAGE_RESOURCE_DIRECTORY_STRING, 4)
2261     TEST_TARGET_ALIGN(PIMAGE_RESOURCE_DIRECTORY_STRING, 2)
2262 }
2263
2264 static void test_pack_PIMAGE_RESOURCE_DIR_STRING_U(void)
2265 {
2266     /* PIMAGE_RESOURCE_DIR_STRING_U */
2267     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DIR_STRING_U, 8)
2268     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DIR_STRING_U, 8)
2269     TEST_TARGET_SIZE (PIMAGE_RESOURCE_DIR_STRING_U, 4)
2270     TEST_TARGET_ALIGN(PIMAGE_RESOURCE_DIR_STRING_U, 2)
2271 }
2272
2273 static void test_pack_PIMAGE_SECTION_HEADER(void)
2274 {
2275     /* PIMAGE_SECTION_HEADER */
2276     TEST_TYPE_SIZE   (PIMAGE_SECTION_HEADER, 8)
2277     TEST_TYPE_ALIGN  (PIMAGE_SECTION_HEADER, 8)
2278 }
2279
2280 static void test_pack_PIMAGE_SEPARATE_DEBUG_HEADER(void)
2281 {
2282     /* PIMAGE_SEPARATE_DEBUG_HEADER */
2283     TEST_TYPE_SIZE   (PIMAGE_SEPARATE_DEBUG_HEADER, 8)
2284     TEST_TYPE_ALIGN  (PIMAGE_SEPARATE_DEBUG_HEADER, 8)
2285     TEST_TARGET_SIZE (PIMAGE_SEPARATE_DEBUG_HEADER, 48)
2286     TEST_TARGET_ALIGN(PIMAGE_SEPARATE_DEBUG_HEADER, 4)
2287 }
2288
2289 static void test_pack_PIMAGE_SYMBOL(void)
2290 {
2291     /* PIMAGE_SYMBOL */
2292     TEST_TYPE_SIZE   (PIMAGE_SYMBOL, 8)
2293     TEST_TYPE_ALIGN  (PIMAGE_SYMBOL, 8)
2294 }
2295
2296 static void test_pack_PIMAGE_THUNK_DATA(void)
2297 {
2298     /* PIMAGE_THUNK_DATA */
2299     TEST_TYPE_SIZE   (PIMAGE_THUNK_DATA, 8)
2300     TEST_TYPE_ALIGN  (PIMAGE_THUNK_DATA, 8)
2301 }
2302
2303 static void test_pack_PIMAGE_TLS_CALLBACK(void)
2304 {
2305     /* PIMAGE_TLS_CALLBACK */
2306     TEST_TYPE_SIZE   (PIMAGE_TLS_CALLBACK, 8)
2307     TEST_TYPE_ALIGN  (PIMAGE_TLS_CALLBACK, 8)
2308 }
2309
2310 static void test_pack_PIMAGE_TLS_DIRECTORY(void)
2311 {
2312     /* PIMAGE_TLS_DIRECTORY */
2313     TEST_TYPE_SIZE   (PIMAGE_TLS_DIRECTORY, 8)
2314     TEST_TYPE_ALIGN  (PIMAGE_TLS_DIRECTORY, 8)
2315 }
2316
2317 static void test_pack_PIMAGE_VXD_HEADER(void)
2318 {
2319     /* PIMAGE_VXD_HEADER */
2320     TEST_TYPE_SIZE   (PIMAGE_VXD_HEADER, 8)
2321     TEST_TYPE_ALIGN  (PIMAGE_VXD_HEADER, 8)
2322     TEST_TARGET_SIZE (PIMAGE_VXD_HEADER, 196)
2323     TEST_TARGET_ALIGN(PIMAGE_VXD_HEADER, 2)
2324 }
2325
2326 static void test_pack_PIO_COUNTERS(void)
2327 {
2328     /* PIO_COUNTERS */
2329     TEST_TYPE_SIZE   (PIO_COUNTERS, 8)
2330     TEST_TYPE_ALIGN  (PIO_COUNTERS, 8)
2331     TEST_TARGET_SIZE (PIO_COUNTERS, 48)
2332     TEST_TARGET_ALIGN(PIO_COUNTERS, 8)
2333 }
2334
2335 static void test_pack_PISECURITY_DESCRIPTOR(void)
2336 {
2337     /* PISECURITY_DESCRIPTOR */
2338     TEST_TYPE_SIZE   (PISECURITY_DESCRIPTOR, 8)
2339     TEST_TYPE_ALIGN  (PISECURITY_DESCRIPTOR, 8)
2340     TEST_TARGET_SIZE (PISECURITY_DESCRIPTOR, 40)
2341     TEST_TARGET_ALIGN(PISECURITY_DESCRIPTOR, 8)
2342 }
2343
2344 static void test_pack_PISECURITY_DESCRIPTOR_RELATIVE(void)
2345 {
2346     /* PISECURITY_DESCRIPTOR_RELATIVE */
2347     TEST_TYPE_SIZE   (PISECURITY_DESCRIPTOR_RELATIVE, 8)
2348     TEST_TYPE_ALIGN  (PISECURITY_DESCRIPTOR_RELATIVE, 8)
2349     TEST_TARGET_SIZE (PISECURITY_DESCRIPTOR_RELATIVE, 20)
2350     TEST_TARGET_ALIGN(PISECURITY_DESCRIPTOR_RELATIVE, 4)
2351 }
2352
2353 static void test_pack_PISID(void)
2354 {
2355     /* PISID */
2356     TEST_TYPE_SIZE   (PISID, 8)
2357     TEST_TYPE_ALIGN  (PISID, 8)
2358     TEST_TARGET_SIZE (PISID, 12)
2359     TEST_TARGET_ALIGN(PISID, 4)
2360 }
2361
2362 static void test_pack_PLARGE_INTEGER(void)
2363 {
2364     /* PLARGE_INTEGER */
2365     TEST_TYPE_SIZE   (PLARGE_INTEGER, 8)
2366     TEST_TYPE_ALIGN  (PLARGE_INTEGER, 8)
2367 }
2368
2369 static void test_pack_PLIST_ENTRY(void)
2370 {
2371     /* PLIST_ENTRY */
2372     TEST_TYPE_SIZE   (PLIST_ENTRY, 8)
2373     TEST_TYPE_ALIGN  (PLIST_ENTRY, 8)
2374     TEST_TARGET_SIZE (PLIST_ENTRY, 16)
2375     TEST_TARGET_ALIGN(PLIST_ENTRY, 8)
2376 }
2377
2378 static void test_pack_PLUID(void)
2379 {
2380     /* PLUID */
2381     TEST_TYPE_SIZE   (PLUID, 8)
2382     TEST_TYPE_ALIGN  (PLUID, 8)
2383     TEST_TARGET_SIZE (PLUID, 8)
2384     TEST_TARGET_ALIGN(PLUID, 4)
2385 }
2386
2387 static void test_pack_PLUID_AND_ATTRIBUTES(void)
2388 {
2389     /* PLUID_AND_ATTRIBUTES */
2390     TEST_TYPE_SIZE   (PLUID_AND_ATTRIBUTES, 8)
2391     TEST_TYPE_ALIGN  (PLUID_AND_ATTRIBUTES, 8)
2392     TEST_TARGET_SIZE (PLUID_AND_ATTRIBUTES, 12)
2393     TEST_TARGET_ALIGN(PLUID_AND_ATTRIBUTES, 4)
2394 }
2395
2396 static void test_pack_PMEMORY_BASIC_INFORMATION(void)
2397 {
2398     /* PMEMORY_BASIC_INFORMATION */
2399     TEST_TYPE_SIZE   (PMEMORY_BASIC_INFORMATION, 8)
2400     TEST_TYPE_ALIGN  (PMEMORY_BASIC_INFORMATION, 8)
2401     TEST_TARGET_SIZE (PMEMORY_BASIC_INFORMATION, 48)
2402     TEST_TARGET_ALIGN(PMEMORY_BASIC_INFORMATION, 8)
2403 }
2404
2405 static void test_pack_PMESSAGE_RESOURCE_BLOCK(void)
2406 {
2407     /* PMESSAGE_RESOURCE_BLOCK */
2408     TEST_TYPE_SIZE   (PMESSAGE_RESOURCE_BLOCK, 8)
2409     TEST_TYPE_ALIGN  (PMESSAGE_RESOURCE_BLOCK, 8)
2410     TEST_TARGET_SIZE (PMESSAGE_RESOURCE_BLOCK, 12)
2411     TEST_TARGET_ALIGN(PMESSAGE_RESOURCE_BLOCK, 4)
2412 }
2413
2414 static void test_pack_PMESSAGE_RESOURCE_DATA(void)
2415 {
2416     /* PMESSAGE_RESOURCE_DATA */
2417     TEST_TYPE_SIZE   (PMESSAGE_RESOURCE_DATA, 8)
2418     TEST_TYPE_ALIGN  (PMESSAGE_RESOURCE_DATA, 8)
2419     TEST_TARGET_SIZE (PMESSAGE_RESOURCE_DATA, 16)
2420     TEST_TARGET_ALIGN(PMESSAGE_RESOURCE_DATA, 4)
2421 }
2422
2423 static void test_pack_PMESSAGE_RESOURCE_ENTRY(void)
2424 {
2425     /* PMESSAGE_RESOURCE_ENTRY */
2426     TEST_TYPE_SIZE   (PMESSAGE_RESOURCE_ENTRY, 8)
2427     TEST_TYPE_ALIGN  (PMESSAGE_RESOURCE_ENTRY, 8)
2428     TEST_TARGET_SIZE (PMESSAGE_RESOURCE_ENTRY, 6)
2429     TEST_TARGET_ALIGN(PMESSAGE_RESOURCE_ENTRY, 2)
2430 }
2431
2432 static void test_pack_PNT_TIB(void)
2433 {
2434     /* PNT_TIB */
2435     TEST_TYPE_SIZE   (PNT_TIB, 8)
2436     TEST_TYPE_ALIGN  (PNT_TIB, 8)
2437 }
2438
2439 static void test_pack_POBJECT_TYPE_LIST(void)
2440 {
2441     /* POBJECT_TYPE_LIST */
2442     TEST_TYPE_SIZE   (POBJECT_TYPE_LIST, 8)
2443     TEST_TYPE_ALIGN  (POBJECT_TYPE_LIST, 8)
2444     TEST_TARGET_SIZE (POBJECT_TYPE_LIST, 16)
2445     TEST_TARGET_ALIGN(POBJECT_TYPE_LIST, 8)
2446 }
2447
2448 static void test_pack_PPRIVILEGE_SET(void)
2449 {
2450     /* PPRIVILEGE_SET */
2451     TEST_TYPE_SIZE   (PPRIVILEGE_SET, 8)
2452     TEST_TYPE_ALIGN  (PPRIVILEGE_SET, 8)
2453     TEST_TARGET_SIZE (PPRIVILEGE_SET, 20)
2454     TEST_TARGET_ALIGN(PPRIVILEGE_SET, 4)
2455 }
2456
2457 static void test_pack_PRIVILEGE_SET(void)
2458 {
2459     /* PRIVILEGE_SET */
2460     TEST_TYPE_SIZE   (PRIVILEGE_SET, 20)
2461     TEST_TYPE_ALIGN  (PRIVILEGE_SET, 4)
2462     TEST_FIELD_SIZE  (PRIVILEGE_SET, PrivilegeCount, 4)
2463     TEST_FIELD_ALIGN (PRIVILEGE_SET, PrivilegeCount, 4)
2464     TEST_FIELD_OFFSET(PRIVILEGE_SET, PrivilegeCount, 0)
2465     TEST_FIELD_SIZE  (PRIVILEGE_SET, Control, 4)
2466     TEST_FIELD_ALIGN (PRIVILEGE_SET, Control, 4)
2467     TEST_FIELD_OFFSET(PRIVILEGE_SET, Control, 4)
2468     TEST_FIELD_SIZE  (PRIVILEGE_SET, Privilege, 12)
2469     TEST_FIELD_ALIGN (PRIVILEGE_SET, Privilege, 4)
2470     TEST_FIELD_OFFSET(PRIVILEGE_SET, Privilege, 8)
2471 }
2472
2473 static void test_pack_PRLIST_ENTRY(void)
2474 {
2475     /* PRLIST_ENTRY */
2476     TEST_TYPE_SIZE   (PRLIST_ENTRY, 8)
2477     TEST_TYPE_ALIGN  (PRLIST_ENTRY, 8)
2478     TEST_TARGET_SIZE (PRLIST_ENTRY, 16)
2479     TEST_TARGET_ALIGN(PRLIST_ENTRY, 8)
2480 }
2481
2482 static void test_pack_PRTL_CRITICAL_SECTION(void)
2483 {
2484     /* PRTL_CRITICAL_SECTION */
2485     TEST_TYPE_SIZE   (PRTL_CRITICAL_SECTION, 8)
2486     TEST_TYPE_ALIGN  (PRTL_CRITICAL_SECTION, 8)
2487     TEST_TARGET_SIZE (PRTL_CRITICAL_SECTION, 40)
2488     TEST_TARGET_ALIGN(PRTL_CRITICAL_SECTION, 8)
2489 }
2490
2491 static void test_pack_PRTL_CRITICAL_SECTION_DEBUG(void)
2492 {
2493     /* PRTL_CRITICAL_SECTION_DEBUG */
2494     TEST_TYPE_SIZE   (PRTL_CRITICAL_SECTION_DEBUG, 8)
2495     TEST_TYPE_ALIGN  (PRTL_CRITICAL_SECTION_DEBUG, 8)
2496 }
2497
2498 static void test_pack_PRTL_OSVERSIONINFOEXW(void)
2499 {
2500     /* PRTL_OSVERSIONINFOEXW */
2501     TEST_TYPE_SIZE   (PRTL_OSVERSIONINFOEXW, 8)
2502     TEST_TYPE_ALIGN  (PRTL_OSVERSIONINFOEXW, 8)
2503     TEST_TARGET_SIZE (PRTL_OSVERSIONINFOEXW, 284)
2504     TEST_TARGET_ALIGN(PRTL_OSVERSIONINFOEXW, 4)
2505 }
2506
2507 static void test_pack_PRTL_OSVERSIONINFOW(void)
2508 {
2509     /* PRTL_OSVERSIONINFOW */
2510     TEST_TYPE_SIZE   (PRTL_OSVERSIONINFOW, 8)
2511     TEST_TYPE_ALIGN  (PRTL_OSVERSIONINFOW, 8)
2512     TEST_TARGET_SIZE (PRTL_OSVERSIONINFOW, 276)
2513     TEST_TARGET_ALIGN(PRTL_OSVERSIONINFOW, 4)
2514 }
2515
2516 static void test_pack_PRTL_RESOURCE_DEBUG(void)
2517 {
2518     /* PRTL_RESOURCE_DEBUG */
2519     TEST_TYPE_SIZE   (PRTL_RESOURCE_DEBUG, 8)
2520     TEST_TYPE_ALIGN  (PRTL_RESOURCE_DEBUG, 8)
2521 }
2522
2523 static void test_pack_PSECURITY_DESCRIPTOR(void)
2524 {
2525     /* PSECURITY_DESCRIPTOR */
2526     TEST_TYPE_SIZE   (PSECURITY_DESCRIPTOR, 8)
2527     TEST_TYPE_ALIGN  (PSECURITY_DESCRIPTOR, 8)
2528 }
2529
2530 static void test_pack_PSECURITY_QUALITY_OF_SERVICE(void)
2531 {
2532     /* PSECURITY_QUALITY_OF_SERVICE */
2533     TEST_TYPE_SIZE   (PSECURITY_QUALITY_OF_SERVICE, 8)
2534     TEST_TYPE_ALIGN  (PSECURITY_QUALITY_OF_SERVICE, 8)
2535 }
2536
2537 static void test_pack_PSID(void)
2538 {
2539     /* PSID */
2540     TEST_TYPE_SIZE   (PSID, 8)
2541     TEST_TYPE_ALIGN  (PSID, 8)
2542 }
2543
2544 static void test_pack_PSID_IDENTIFIER_AUTHORITY(void)
2545 {
2546     /* PSID_IDENTIFIER_AUTHORITY */
2547     TEST_TYPE_SIZE   (PSID_IDENTIFIER_AUTHORITY, 8)
2548     TEST_TYPE_ALIGN  (PSID_IDENTIFIER_AUTHORITY, 8)
2549     TEST_TARGET_SIZE (PSID_IDENTIFIER_AUTHORITY, 6)
2550     TEST_TARGET_ALIGN(PSID_IDENTIFIER_AUTHORITY, 1)
2551 }
2552
2553 static void test_pack_PSINGLE_LIST_ENTRY(void)
2554 {
2555     /* PSINGLE_LIST_ENTRY */
2556     TEST_TYPE_SIZE   (PSINGLE_LIST_ENTRY, 8)
2557     TEST_TYPE_ALIGN  (PSINGLE_LIST_ENTRY, 8)
2558     TEST_TARGET_SIZE (PSINGLE_LIST_ENTRY, 8)
2559     TEST_TARGET_ALIGN(PSINGLE_LIST_ENTRY, 8)
2560 }
2561
2562 static void test_pack_PSTR(void)
2563 {
2564     /* PSTR */
2565     TEST_TYPE_SIZE   (PSTR, 8)
2566     TEST_TYPE_ALIGN  (PSTR, 8)
2567     TEST_TARGET_SIZE (PSTR, 1)
2568     TEST_TARGET_ALIGN(PSTR, 1)
2569 }
2570
2571 static void test_pack_PSYSTEM_ALARM_ACE(void)
2572 {
2573     /* PSYSTEM_ALARM_ACE */
2574     TEST_TYPE_SIZE   (PSYSTEM_ALARM_ACE, 8)
2575     TEST_TYPE_ALIGN  (PSYSTEM_ALARM_ACE, 8)
2576     TEST_TARGET_SIZE (PSYSTEM_ALARM_ACE, 12)
2577     TEST_TARGET_ALIGN(PSYSTEM_ALARM_ACE, 4)
2578 }
2579
2580 static void test_pack_PSYSTEM_AUDIT_ACE(void)
2581 {
2582     /* PSYSTEM_AUDIT_ACE */
2583     TEST_TYPE_SIZE   (PSYSTEM_AUDIT_ACE, 8)
2584     TEST_TYPE_ALIGN  (PSYSTEM_AUDIT_ACE, 8)
2585     TEST_TARGET_SIZE (PSYSTEM_AUDIT_ACE, 12)
2586     TEST_TARGET_ALIGN(PSYSTEM_AUDIT_ACE, 4)
2587 }
2588
2589 static void test_pack_PTOKEN_GROUPS(void)
2590 {
2591     /* PTOKEN_GROUPS */
2592     TEST_TYPE_SIZE   (PTOKEN_GROUPS, 8)
2593     TEST_TYPE_ALIGN  (PTOKEN_GROUPS, 8)
2594     TEST_TARGET_SIZE (PTOKEN_GROUPS, 24)
2595     TEST_TARGET_ALIGN(PTOKEN_GROUPS, 8)
2596 }
2597
2598 static void test_pack_PTOKEN_PRIVILEGES(void)
2599 {
2600     /* PTOKEN_PRIVILEGES */
2601     TEST_TYPE_SIZE   (PTOKEN_PRIVILEGES, 8)
2602     TEST_TYPE_ALIGN  (PTOKEN_PRIVILEGES, 8)
2603     TEST_TARGET_SIZE (PTOKEN_PRIVILEGES, 16)
2604     TEST_TARGET_ALIGN(PTOKEN_PRIVILEGES, 4)
2605 }
2606
2607 static void test_pack_PTOKEN_USER(void)
2608 {
2609     /* PTOKEN_USER */
2610     TEST_TYPE_SIZE   (PTOKEN_USER, 8)
2611     TEST_TYPE_ALIGN  (PTOKEN_USER, 8)
2612     TEST_TARGET_SIZE (PTOKEN_USER, 16)
2613     TEST_TARGET_ALIGN(PTOKEN_USER, 8)
2614 }
2615
2616 static void test_pack_PTSTR(void)
2617 {
2618     /* PTSTR */
2619     TEST_TYPE_SIZE   (PTSTR, 8)
2620     TEST_TYPE_ALIGN  (PTSTR, 8)
2621 }
2622
2623 static void test_pack_PULARGE_INTEGER(void)
2624 {
2625     /* PULARGE_INTEGER */
2626     TEST_TYPE_SIZE   (PULARGE_INTEGER, 8)
2627     TEST_TYPE_ALIGN  (PULARGE_INTEGER, 8)
2628 }
2629
2630 static void test_pack_PVECTORED_EXCEPTION_HANDLER(void)
2631 {
2632     /* PVECTORED_EXCEPTION_HANDLER */
2633     TEST_TYPE_SIZE   (PVECTORED_EXCEPTION_HANDLER, 8)
2634     TEST_TYPE_ALIGN  (PVECTORED_EXCEPTION_HANDLER, 8)
2635 }
2636
2637 static void test_pack_PVOID(void)
2638 {
2639     /* PVOID */
2640     TEST_TYPE_SIZE   (PVOID, 8)
2641     TEST_TYPE_ALIGN  (PVOID, 8)
2642 }
2643
2644 static void test_pack_PWCH(void)
2645 {
2646     /* PWCH */
2647     TEST_TYPE_SIZE   (PWCH, 8)
2648     TEST_TYPE_ALIGN  (PWCH, 8)
2649     TEST_TARGET_SIZE (PWCH, 2)
2650     TEST_TARGET_ALIGN(PWCH, 2)
2651 }
2652
2653 static void test_pack_PWSTR(void)
2654 {
2655     /* PWSTR */
2656     TEST_TYPE_SIZE   (PWSTR, 8)
2657     TEST_TYPE_ALIGN  (PWSTR, 8)
2658     TEST_TARGET_SIZE (PWSTR, 2)
2659     TEST_TARGET_ALIGN(PWSTR, 2)
2660 }
2661
2662 static void test_pack_RTL_CRITICAL_SECTION(void)
2663 {
2664     /* RTL_CRITICAL_SECTION */
2665     TEST_TYPE_SIZE   (RTL_CRITICAL_SECTION, 40)
2666     TEST_TYPE_ALIGN  (RTL_CRITICAL_SECTION, 8)
2667     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, DebugInfo, 8)
2668     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, DebugInfo, 8)
2669     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, DebugInfo, 0)
2670     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, LockCount, 4)
2671     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, LockCount, 4)
2672     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, LockCount, 8)
2673     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, RecursionCount, 4)
2674     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, RecursionCount, 4)
2675     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, RecursionCount, 12)
2676     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, OwningThread, 8)
2677     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, OwningThread, 8)
2678     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, OwningThread, 16)
2679     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, LockSemaphore, 8)
2680     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, LockSemaphore, 8)
2681     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, LockSemaphore, 24)
2682     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, SpinCount, 8)
2683     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, SpinCount, 8)
2684     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, SpinCount, 32)
2685 }
2686
2687 static void test_pack_RTL_CRITICAL_SECTION_DEBUG(void)
2688 {
2689     /* RTL_CRITICAL_SECTION_DEBUG */
2690     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, Type, 2)
2691     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, Type, 2)
2692     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, Type, 0)
2693     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, CreatorBackTraceIndex, 2)
2694     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, CreatorBackTraceIndex, 2)
2695     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, CreatorBackTraceIndex, 2)
2696     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, CriticalSection, 8)
2697     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, CriticalSection, 8)
2698     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, CriticalSection, 8)
2699     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, ProcessLocksList, 16)
2700     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, ProcessLocksList, 8)
2701     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, ProcessLocksList, 16)
2702     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, EntryCount, 4)
2703     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, EntryCount, 4)
2704     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, EntryCount, 32)
2705     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, ContentionCount, 4)
2706     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, ContentionCount, 4)
2707     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, ContentionCount, 36)
2708 }
2709
2710 static void test_pack_RTL_OSVERSIONINFOEXW(void)
2711 {
2712     /* RTL_OSVERSIONINFOEXW */
2713     TEST_TYPE_SIZE   (RTL_OSVERSIONINFOEXW, 284)
2714     TEST_TYPE_ALIGN  (RTL_OSVERSIONINFOEXW, 4)
2715     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwOSVersionInfoSize, 4)
2716     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwOSVersionInfoSize, 4)
2717     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwOSVersionInfoSize, 0)
2718     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwMajorVersion, 4)
2719     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwMajorVersion, 4)
2720     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwMajorVersion, 4)
2721     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwMinorVersion, 4)
2722     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwMinorVersion, 4)
2723     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwMinorVersion, 8)
2724     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwBuildNumber, 4)
2725     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwBuildNumber, 4)
2726     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwBuildNumber, 12)
2727     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwPlatformId, 4)
2728     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwPlatformId, 4)
2729     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwPlatformId, 16)
2730     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, szCSDVersion, 256)
2731     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, szCSDVersion, 2)
2732     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, szCSDVersion, 20)
2733     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wServicePackMajor, 2)
2734     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wServicePackMajor, 2)
2735     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wServicePackMajor, 276)
2736     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wServicePackMinor, 2)
2737     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wServicePackMinor, 2)
2738     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wServicePackMinor, 278)
2739     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wSuiteMask, 2)
2740     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wSuiteMask, 2)
2741     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wSuiteMask, 280)
2742     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wProductType, 1)
2743     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wProductType, 1)
2744     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wProductType, 282)
2745     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wReserved, 1)
2746     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wReserved, 1)
2747     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wReserved, 283)
2748 }
2749
2750 static void test_pack_RTL_OSVERSIONINFOW(void)
2751 {
2752     /* RTL_OSVERSIONINFOW */
2753     TEST_TYPE_SIZE   (RTL_OSVERSIONINFOW, 276)
2754     TEST_TYPE_ALIGN  (RTL_OSVERSIONINFOW, 4)
2755     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwOSVersionInfoSize, 4)
2756     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwOSVersionInfoSize, 4)
2757     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwOSVersionInfoSize, 0)
2758     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwMajorVersion, 4)
2759     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwMajorVersion, 4)
2760     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwMajorVersion, 4)
2761     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwMinorVersion, 4)
2762     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwMinorVersion, 4)
2763     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwMinorVersion, 8)
2764     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwBuildNumber, 4)
2765     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwBuildNumber, 4)
2766     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwBuildNumber, 12)
2767     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwPlatformId, 4)
2768     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwPlatformId, 4)
2769     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwPlatformId, 16)
2770     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, szCSDVersion, 256)
2771     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, szCSDVersion, 2)
2772     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, szCSDVersion, 20)
2773 }
2774
2775 static void test_pack_RTL_RESOURCE_DEBUG(void)
2776 {
2777     /* RTL_RESOURCE_DEBUG */
2778     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, Type, 2)
2779     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, Type, 2)
2780     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, Type, 0)
2781     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, CreatorBackTraceIndex, 2)
2782     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, CreatorBackTraceIndex, 2)
2783     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, CreatorBackTraceIndex, 2)
2784     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, CriticalSection, 8)
2785     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, CriticalSection, 8)
2786     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, CriticalSection, 8)
2787     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, ProcessLocksList, 16)
2788     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, ProcessLocksList, 8)
2789     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, ProcessLocksList, 16)
2790     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, EntryCount, 4)
2791     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, EntryCount, 4)
2792     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, EntryCount, 32)
2793     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, ContentionCount, 4)
2794     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, ContentionCount, 4)
2795     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, ContentionCount, 36)
2796 }
2797
2798 static void test_pack_SECURITY_CONTEXT_TRACKING_MODE(void)
2799 {
2800     /* SECURITY_CONTEXT_TRACKING_MODE */
2801     TEST_TYPE_SIZE   (SECURITY_CONTEXT_TRACKING_MODE, 1)
2802     TEST_TYPE_ALIGN  (SECURITY_CONTEXT_TRACKING_MODE, 1)
2803 }
2804
2805 static void test_pack_SECURITY_DESCRIPTOR(void)
2806 {
2807     /* SECURITY_DESCRIPTOR */
2808     TEST_TYPE_SIZE   (SECURITY_DESCRIPTOR, 40)
2809     TEST_TYPE_ALIGN  (SECURITY_DESCRIPTOR, 8)
2810     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Revision, 1)
2811     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Revision, 1)
2812     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Revision, 0)
2813     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Sbz1, 1)
2814     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Sbz1, 1)
2815     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Sbz1, 1)
2816     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Control, 2)
2817     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Control, 2)
2818     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Control, 2)
2819     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Owner, 8)
2820     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Owner, 8)
2821     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Owner, 8)
2822     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Group, 8)
2823     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Group, 8)
2824     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Group, 16)
2825     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Sacl, 8)
2826     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Sacl, 8)
2827     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Sacl, 24)
2828     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Dacl, 8)
2829     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Dacl, 8)
2830     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Dacl, 32)
2831 }
2832
2833 static void test_pack_SECURITY_DESCRIPTOR_CONTROL(void)
2834 {
2835     /* SECURITY_DESCRIPTOR_CONTROL */
2836     TEST_TYPE_SIZE   (SECURITY_DESCRIPTOR_CONTROL, 2)
2837     TEST_TYPE_ALIGN  (SECURITY_DESCRIPTOR_CONTROL, 2)
2838     TEST_TYPE_UNSIGNED(SECURITY_DESCRIPTOR_CONTROL)
2839 }
2840
2841 static void test_pack_SECURITY_DESCRIPTOR_RELATIVE(void)
2842 {
2843     /* SECURITY_DESCRIPTOR_RELATIVE */
2844     TEST_TYPE_SIZE   (SECURITY_DESCRIPTOR_RELATIVE, 20)
2845     TEST_TYPE_ALIGN  (SECURITY_DESCRIPTOR_RELATIVE, 4)
2846     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Revision, 1)
2847     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Revision, 1)
2848     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Revision, 0)
2849     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Sbz1, 1)
2850     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Sbz1, 1)
2851     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Sbz1, 1)
2852     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Control, 2)
2853     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Control, 2)
2854     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Control, 2)
2855     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Owner, 4)
2856     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Owner, 4)
2857     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Owner, 4)
2858     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Group, 4)
2859     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Group, 4)
2860     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Group, 8)
2861     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Sacl, 4)
2862     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Sacl, 4)
2863     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Sacl, 12)
2864     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Dacl, 4)
2865     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Dacl, 4)
2866     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Dacl, 16)
2867 }
2868
2869 static void test_pack_SECURITY_INFORMATION(void)
2870 {
2871     /* SECURITY_INFORMATION */
2872     TEST_TYPE_SIZE   (SECURITY_INFORMATION, 4)
2873     TEST_TYPE_ALIGN  (SECURITY_INFORMATION, 4)
2874     TEST_TYPE_UNSIGNED(SECURITY_INFORMATION)
2875 }
2876
2877 static void test_pack_SECURITY_QUALITY_OF_SERVICE(void)
2878 {
2879     /* SECURITY_QUALITY_OF_SERVICE */
2880     TEST_FIELD_SIZE  (SECURITY_QUALITY_OF_SERVICE, Length, 4)
2881     TEST_FIELD_ALIGN (SECURITY_QUALITY_OF_SERVICE, Length, 4)
2882     TEST_FIELD_OFFSET(SECURITY_QUALITY_OF_SERVICE, Length, 0)
2883 }
2884
2885 static void test_pack_SHORT(void)
2886 {
2887     /* SHORT */
2888     TEST_TYPE_SIZE   (SHORT, 2)
2889     TEST_TYPE_ALIGN  (SHORT, 2)
2890     TEST_TYPE_SIGNED(SHORT)
2891 }
2892
2893 static void test_pack_SID(void)
2894 {
2895     /* SID */
2896     TEST_TYPE_SIZE   (SID, 12)
2897     TEST_TYPE_ALIGN  (SID, 4)
2898     TEST_FIELD_SIZE  (SID, Revision, 1)
2899     TEST_FIELD_ALIGN (SID, Revision, 1)
2900     TEST_FIELD_OFFSET(SID, Revision, 0)
2901     TEST_FIELD_SIZE  (SID, SubAuthorityCount, 1)
2902     TEST_FIELD_ALIGN (SID, SubAuthorityCount, 1)
2903     TEST_FIELD_OFFSET(SID, SubAuthorityCount, 1)
2904     TEST_FIELD_SIZE  (SID, IdentifierAuthority, 6)
2905     TEST_FIELD_ALIGN (SID, IdentifierAuthority, 1)
2906     TEST_FIELD_OFFSET(SID, IdentifierAuthority, 2)
2907     TEST_FIELD_SIZE  (SID, SubAuthority, 4)
2908     TEST_FIELD_ALIGN (SID, SubAuthority, 4)
2909     TEST_FIELD_OFFSET(SID, SubAuthority, 8)
2910 }
2911
2912 static void test_pack_SID_AND_ATTRIBUTES(void)
2913 {
2914     /* SID_AND_ATTRIBUTES */
2915     TEST_TYPE_SIZE   (SID_AND_ATTRIBUTES, 16)
2916     TEST_TYPE_ALIGN  (SID_AND_ATTRIBUTES, 8)
2917     TEST_FIELD_SIZE  (SID_AND_ATTRIBUTES, Sid, 8)
2918     TEST_FIELD_ALIGN (SID_AND_ATTRIBUTES, Sid, 8)
2919     TEST_FIELD_OFFSET(SID_AND_ATTRIBUTES, Sid, 0)
2920     TEST_FIELD_SIZE  (SID_AND_ATTRIBUTES, Attributes, 4)
2921     TEST_FIELD_ALIGN (SID_AND_ATTRIBUTES, Attributes, 4)
2922     TEST_FIELD_OFFSET(SID_AND_ATTRIBUTES, Attributes, 8)
2923 }
2924
2925 static void test_pack_SID_IDENTIFIER_AUTHORITY(void)
2926 {
2927     /* SID_IDENTIFIER_AUTHORITY */
2928     TEST_TYPE_SIZE   (SID_IDENTIFIER_AUTHORITY, 6)
2929     TEST_TYPE_ALIGN  (SID_IDENTIFIER_AUTHORITY, 1)
2930     TEST_FIELD_SIZE  (SID_IDENTIFIER_AUTHORITY, Value, 6)
2931     TEST_FIELD_ALIGN (SID_IDENTIFIER_AUTHORITY, Value, 1)
2932     TEST_FIELD_OFFSET(SID_IDENTIFIER_AUTHORITY, Value, 0)
2933 }
2934
2935 static void test_pack_SINGLE_LIST_ENTRY(void)
2936 {
2937     /* SINGLE_LIST_ENTRY */
2938     TEST_TYPE_SIZE   (SINGLE_LIST_ENTRY, 8)
2939     TEST_TYPE_ALIGN  (SINGLE_LIST_ENTRY, 8)
2940     TEST_FIELD_SIZE  (SINGLE_LIST_ENTRY, Next, 8)
2941     TEST_FIELD_ALIGN (SINGLE_LIST_ENTRY, Next, 8)
2942     TEST_FIELD_OFFSET(SINGLE_LIST_ENTRY, Next, 0)
2943 }
2944
2945 static void test_pack_SYSTEM_ALARM_ACE(void)
2946 {
2947     /* SYSTEM_ALARM_ACE */
2948     TEST_TYPE_SIZE   (SYSTEM_ALARM_ACE, 12)
2949     TEST_TYPE_ALIGN  (SYSTEM_ALARM_ACE, 4)
2950     TEST_FIELD_SIZE  (SYSTEM_ALARM_ACE, Header, 4)
2951     TEST_FIELD_ALIGN (SYSTEM_ALARM_ACE, Header, 2)
2952     TEST_FIELD_OFFSET(SYSTEM_ALARM_ACE, Header, 0)
2953     TEST_FIELD_SIZE  (SYSTEM_ALARM_ACE, Mask, 4)
2954     TEST_FIELD_ALIGN (SYSTEM_ALARM_ACE, Mask, 4)
2955     TEST_FIELD_OFFSET(SYSTEM_ALARM_ACE, Mask, 4)
2956     TEST_FIELD_SIZE  (SYSTEM_ALARM_ACE, SidStart, 4)
2957     TEST_FIELD_ALIGN (SYSTEM_ALARM_ACE, SidStart, 4)
2958     TEST_FIELD_OFFSET(SYSTEM_ALARM_ACE, SidStart, 8)
2959 }
2960
2961 static void test_pack_SYSTEM_AUDIT_ACE(void)
2962 {
2963     /* SYSTEM_AUDIT_ACE */
2964     TEST_TYPE_SIZE   (SYSTEM_AUDIT_ACE, 12)
2965     TEST_TYPE_ALIGN  (SYSTEM_AUDIT_ACE, 4)
2966     TEST_FIELD_SIZE  (SYSTEM_AUDIT_ACE, Header, 4)
2967     TEST_FIELD_ALIGN (SYSTEM_AUDIT_ACE, Header, 2)
2968     TEST_FIELD_OFFSET(SYSTEM_AUDIT_ACE, Header, 0)
2969     TEST_FIELD_SIZE  (SYSTEM_AUDIT_ACE, Mask, 4)
2970     TEST_FIELD_ALIGN (SYSTEM_AUDIT_ACE, Mask, 4)
2971     TEST_FIELD_OFFSET(SYSTEM_AUDIT_ACE, Mask, 4)
2972     TEST_FIELD_SIZE  (SYSTEM_AUDIT_ACE, SidStart, 4)
2973     TEST_FIELD_ALIGN (SYSTEM_AUDIT_ACE, SidStart, 4)
2974     TEST_FIELD_OFFSET(SYSTEM_AUDIT_ACE, SidStart, 8)
2975 }
2976
2977 static void test_pack_TCHAR(void)
2978 {
2979     /* TCHAR */
2980     TEST_TYPE_SIZE   (TCHAR, 1)
2981     TEST_TYPE_ALIGN  (TCHAR, 1)
2982 }
2983
2984 static void test_pack_TOKEN_DEFAULT_DACL(void)
2985 {
2986     /* TOKEN_DEFAULT_DACL */
2987     TEST_TYPE_SIZE   (TOKEN_DEFAULT_DACL, 8)
2988     TEST_TYPE_ALIGN  (TOKEN_DEFAULT_DACL, 8)
2989     TEST_FIELD_SIZE  (TOKEN_DEFAULT_DACL, DefaultDacl, 8)
2990     TEST_FIELD_ALIGN (TOKEN_DEFAULT_DACL, DefaultDacl, 8)
2991     TEST_FIELD_OFFSET(TOKEN_DEFAULT_DACL, DefaultDacl, 0)
2992 }
2993
2994 static void test_pack_TOKEN_GROUPS(void)
2995 {
2996     /* TOKEN_GROUPS */
2997     TEST_TYPE_SIZE   (TOKEN_GROUPS, 24)
2998     TEST_TYPE_ALIGN  (TOKEN_GROUPS, 8)
2999     TEST_FIELD_SIZE  (TOKEN_GROUPS, GroupCount, 4)
3000     TEST_FIELD_ALIGN (TOKEN_GROUPS, GroupCount, 4)
3001     TEST_FIELD_OFFSET(TOKEN_GROUPS, GroupCount, 0)
3002     TEST_FIELD_SIZE  (TOKEN_GROUPS, Groups, 16)
3003     TEST_FIELD_ALIGN (TOKEN_GROUPS, Groups, 8)
3004     TEST_FIELD_OFFSET(TOKEN_GROUPS, Groups, 8)
3005 }
3006
3007 static void test_pack_TOKEN_OWNER(void)
3008 {
3009     /* TOKEN_OWNER */
3010     TEST_TYPE_SIZE   (TOKEN_OWNER, 8)
3011     TEST_TYPE_ALIGN  (TOKEN_OWNER, 8)
3012     TEST_FIELD_SIZE  (TOKEN_OWNER, Owner, 8)
3013     TEST_FIELD_ALIGN (TOKEN_OWNER, Owner, 8)
3014     TEST_FIELD_OFFSET(TOKEN_OWNER, Owner, 0)
3015 }
3016
3017 static void test_pack_TOKEN_PRIMARY_GROUP(void)
3018 {
3019     /* TOKEN_PRIMARY_GROUP */
3020     TEST_TYPE_SIZE   (TOKEN_PRIMARY_GROUP, 8)
3021     TEST_TYPE_ALIGN  (TOKEN_PRIMARY_GROUP, 8)
3022     TEST_FIELD_SIZE  (TOKEN_PRIMARY_GROUP, PrimaryGroup, 8)
3023     TEST_FIELD_ALIGN (TOKEN_PRIMARY_GROUP, PrimaryGroup, 8)
3024     TEST_FIELD_OFFSET(TOKEN_PRIMARY_GROUP, PrimaryGroup, 0)
3025 }
3026
3027 static void test_pack_TOKEN_PRIVILEGES(void)
3028 {
3029     /* TOKEN_PRIVILEGES */
3030     TEST_TYPE_SIZE   (TOKEN_PRIVILEGES, 16)
3031     TEST_TYPE_ALIGN  (TOKEN_PRIVILEGES, 4)
3032     TEST_FIELD_SIZE  (TOKEN_PRIVILEGES, PrivilegeCount, 4)
3033     TEST_FIELD_ALIGN (TOKEN_PRIVILEGES, PrivilegeCount, 4)
3034     TEST_FIELD_OFFSET(TOKEN_PRIVILEGES, PrivilegeCount, 0)
3035     TEST_FIELD_SIZE  (TOKEN_PRIVILEGES, Privileges, 12)
3036     TEST_FIELD_ALIGN (TOKEN_PRIVILEGES, Privileges, 4)
3037     TEST_FIELD_OFFSET(TOKEN_PRIVILEGES, Privileges, 4)
3038 }
3039
3040 static void test_pack_TOKEN_SOURCE(void)
3041 {
3042     /* TOKEN_SOURCE */
3043     TEST_TYPE_SIZE   (TOKEN_SOURCE, 16)
3044     TEST_TYPE_ALIGN  (TOKEN_SOURCE, 4)
3045     TEST_FIELD_SIZE  (TOKEN_SOURCE, SourceName, 8)
3046     TEST_FIELD_ALIGN (TOKEN_SOURCE, SourceName, 1)
3047     TEST_FIELD_OFFSET(TOKEN_SOURCE, SourceName, 0)
3048     TEST_FIELD_SIZE  (TOKEN_SOURCE, SourceIdentifier, 8)
3049     TEST_FIELD_ALIGN (TOKEN_SOURCE, SourceIdentifier, 4)
3050     TEST_FIELD_OFFSET(TOKEN_SOURCE, SourceIdentifier, 8)
3051 }
3052
3053 static void test_pack_TOKEN_STATISTICS(void)
3054 {
3055     /* TOKEN_STATISTICS (pack 4) */
3056     TEST_FIELD_SIZE  (TOKEN_STATISTICS, TokenId, 8)
3057     TEST_FIELD_ALIGN (TOKEN_STATISTICS, TokenId, 4)
3058     TEST_FIELD_OFFSET(TOKEN_STATISTICS, TokenId, 0)
3059     TEST_FIELD_SIZE  (TOKEN_STATISTICS, AuthenticationId, 8)
3060     TEST_FIELD_ALIGN (TOKEN_STATISTICS, AuthenticationId, 4)
3061     TEST_FIELD_OFFSET(TOKEN_STATISTICS, AuthenticationId, 8)
3062     TEST_FIELD_SIZE  (TOKEN_STATISTICS, ExpirationTime, 8)
3063     TEST_FIELD_ALIGN (TOKEN_STATISTICS, ExpirationTime, 4)
3064     TEST_FIELD_OFFSET(TOKEN_STATISTICS, ExpirationTime, 16)
3065 }
3066
3067 static void test_pack_TOKEN_USER(void)
3068 {
3069     /* TOKEN_USER */
3070     TEST_TYPE_SIZE   (TOKEN_USER, 16)
3071     TEST_TYPE_ALIGN  (TOKEN_USER, 8)
3072     TEST_FIELD_SIZE  (TOKEN_USER, User, 16)
3073     TEST_FIELD_ALIGN (TOKEN_USER, User, 8)
3074     TEST_FIELD_OFFSET(TOKEN_USER, User, 0)
3075 }
3076
3077 static void test_pack_ULARGE_INTEGER(void)
3078 {
3079     /* ULARGE_INTEGER */
3080 }
3081
3082 static void test_pack_ULONGLONG(void)
3083 {
3084     /* ULONGLONG */
3085     TEST_TYPE_SIZE   (ULONGLONG, 8)
3086     TEST_TYPE_ALIGN  (ULONGLONG, 8)
3087     TEST_TYPE_UNSIGNED(ULONGLONG)
3088 }
3089
3090 static void test_pack_WAITORTIMERCALLBACKFUNC(void)
3091 {
3092     /* WAITORTIMERCALLBACKFUNC */
3093     TEST_TYPE_SIZE   (WAITORTIMERCALLBACKFUNC, 8)
3094     TEST_TYPE_ALIGN  (WAITORTIMERCALLBACKFUNC, 8)
3095 }
3096
3097 static void test_pack_WCHAR(void)
3098 {
3099     /* WCHAR */
3100     TEST_TYPE_SIZE   (WCHAR, 2)
3101     TEST_TYPE_ALIGN  (WCHAR, 2)
3102     TEST_TYPE_UNSIGNED(WCHAR)
3103 }
3104
3105 static void test_pack_ATOM(void)
3106 {
3107     /* ATOM */
3108     TEST_TYPE_SIZE   (ATOM, 2)
3109     TEST_TYPE_ALIGN  (ATOM, 2)
3110     TEST_TYPE_UNSIGNED(ATOM)
3111 }
3112
3113 static void test_pack_BOOL(void)
3114 {
3115     /* BOOL */
3116     TEST_TYPE_SIZE   (BOOL, 4)
3117     TEST_TYPE_ALIGN  (BOOL, 4)
3118     TEST_TYPE_SIGNED(BOOL)
3119 }
3120
3121 static void test_pack_BYTE(void)
3122 {
3123     /* BYTE */
3124     TEST_TYPE_SIZE   (BYTE, 1)
3125     TEST_TYPE_ALIGN  (BYTE, 1)
3126     TEST_TYPE_UNSIGNED(BYTE)
3127 }
3128
3129 static void test_pack_COLORREF(void)
3130 {
3131     /* COLORREF */
3132     TEST_TYPE_SIZE   (COLORREF, 4)
3133     TEST_TYPE_ALIGN  (COLORREF, 4)
3134     TEST_TYPE_UNSIGNED(COLORREF)
3135 }
3136
3137 static void test_pack_DWORD(void)
3138 {
3139     /* DWORD */
3140     TEST_TYPE_SIZE   (DWORD, 4)
3141     TEST_TYPE_ALIGN  (DWORD, 4)
3142     TEST_TYPE_UNSIGNED(DWORD)
3143 }
3144
3145 static void test_pack_FARPROC(void)
3146 {
3147     /* FARPROC */
3148     TEST_TYPE_SIZE   (FARPROC, 8)
3149     TEST_TYPE_ALIGN  (FARPROC, 8)
3150 }
3151
3152 static void test_pack_FLOAT(void)
3153 {
3154     /* FLOAT */
3155     TEST_TYPE_SIZE   (FLOAT, 4)
3156     TEST_TYPE_ALIGN  (FLOAT, 4)
3157 }
3158
3159 static void test_pack_GLOBALHANDLE(void)
3160 {
3161     /* GLOBALHANDLE */
3162     TEST_TYPE_SIZE   (GLOBALHANDLE, 8)
3163     TEST_TYPE_ALIGN  (GLOBALHANDLE, 8)
3164 }
3165
3166 static void test_pack_HCURSOR(void)
3167 {
3168     /* HCURSOR */
3169     TEST_TYPE_SIZE   (HCURSOR, 8)
3170     TEST_TYPE_ALIGN  (HCURSOR, 8)
3171 }
3172
3173 static void test_pack_HFILE(void)
3174 {
3175     /* HFILE */
3176     TEST_TYPE_SIZE   (HFILE, 4)
3177     TEST_TYPE_ALIGN  (HFILE, 4)
3178     TEST_TYPE_SIGNED(HFILE)
3179 }
3180
3181 static void test_pack_HGDIOBJ(void)
3182 {
3183     /* HGDIOBJ */
3184     TEST_TYPE_SIZE   (HGDIOBJ, 8)
3185     TEST_TYPE_ALIGN  (HGDIOBJ, 8)
3186 }
3187
3188 static void test_pack_HGLOBAL(void)
3189 {
3190     /* HGLOBAL */
3191     TEST_TYPE_SIZE   (HGLOBAL, 8)
3192     TEST_TYPE_ALIGN  (HGLOBAL, 8)
3193 }
3194
3195 static void test_pack_HLOCAL(void)
3196 {
3197     /* HLOCAL */
3198     TEST_TYPE_SIZE   (HLOCAL, 8)
3199     TEST_TYPE_ALIGN  (HLOCAL, 8)
3200 }
3201
3202 static void test_pack_HMODULE(void)
3203 {
3204     /* HMODULE */
3205     TEST_TYPE_SIZE   (HMODULE, 8)
3206     TEST_TYPE_ALIGN  (HMODULE, 8)
3207 }
3208
3209 static void test_pack_INT(void)
3210 {
3211     /* INT */
3212     TEST_TYPE_SIZE   (INT, 4)
3213     TEST_TYPE_ALIGN  (INT, 4)
3214     TEST_TYPE_SIGNED(INT)
3215 }
3216
3217 static void test_pack_LOCALHANDLE(void)
3218 {
3219     /* LOCALHANDLE */
3220     TEST_TYPE_SIZE   (LOCALHANDLE, 8)
3221     TEST_TYPE_ALIGN  (LOCALHANDLE, 8)
3222 }
3223
3224 static void test_pack_LPARAM(void)
3225 {
3226     /* LPARAM */
3227     TEST_TYPE_SIZE   (LPARAM, 8)
3228     TEST_TYPE_ALIGN  (LPARAM, 8)
3229 }
3230
3231 static void test_pack_LPCRECT(void)
3232 {
3233     /* LPCRECT */
3234     TEST_TYPE_SIZE   (LPCRECT, 8)
3235     TEST_TYPE_ALIGN  (LPCRECT, 8)
3236     TEST_TARGET_SIZE (LPCRECT, 16)
3237     TEST_TARGET_ALIGN(LPCRECT, 4)
3238 }
3239
3240 static void test_pack_LPCRECTL(void)
3241 {
3242     /* LPCRECTL */
3243     TEST_TYPE_SIZE   (LPCRECTL, 8)
3244     TEST_TYPE_ALIGN  (LPCRECTL, 8)
3245     TEST_TARGET_SIZE (LPCRECTL, 16)
3246     TEST_TARGET_ALIGN(LPCRECTL, 4)
3247 }
3248
3249 static void test_pack_LPCVOID(void)
3250 {
3251     /* LPCVOID */
3252     TEST_TYPE_SIZE   (LPCVOID, 8)
3253     TEST_TYPE_ALIGN  (LPCVOID, 8)
3254 }
3255
3256 static void test_pack_LPPOINT(void)
3257 {
3258     /* LPPOINT */
3259     TEST_TYPE_SIZE   (LPPOINT, 8)
3260     TEST_TYPE_ALIGN  (LPPOINT, 8)
3261     TEST_TARGET_SIZE (LPPOINT, 8)
3262     TEST_TARGET_ALIGN(LPPOINT, 4)
3263 }
3264
3265 static void test_pack_LPRECT(void)
3266 {
3267     /* LPRECT */
3268     TEST_TYPE_SIZE   (LPRECT, 8)
3269     TEST_TYPE_ALIGN  (LPRECT, 8)
3270     TEST_TARGET_SIZE (LPRECT, 16)
3271     TEST_TARGET_ALIGN(LPRECT, 4)
3272 }
3273
3274 static void test_pack_LPRECTL(void)
3275 {
3276     /* LPRECTL */
3277     TEST_TYPE_SIZE   (LPRECTL, 8)
3278     TEST_TYPE_ALIGN  (LPRECTL, 8)
3279     TEST_TARGET_SIZE (LPRECTL, 16)
3280     TEST_TARGET_ALIGN(LPRECTL, 4)
3281 }
3282
3283 static void test_pack_LPSIZE(void)
3284 {
3285     /* LPSIZE */
3286     TEST_TYPE_SIZE   (LPSIZE, 8)
3287     TEST_TYPE_ALIGN  (LPSIZE, 8)
3288     TEST_TARGET_SIZE (LPSIZE, 8)
3289     TEST_TARGET_ALIGN(LPSIZE, 4)
3290 }
3291
3292 static void test_pack_LRESULT(void)
3293 {
3294     /* LRESULT */
3295     TEST_TYPE_SIZE   (LRESULT, 8)
3296     TEST_TYPE_ALIGN  (LRESULT, 8)
3297 }
3298
3299 static void test_pack_POINT(void)
3300 {
3301     /* POINT */
3302     TEST_TYPE_SIZE   (POINT, 8)
3303     TEST_TYPE_ALIGN  (POINT, 4)
3304     TEST_FIELD_SIZE  (POINT, x, 4)
3305     TEST_FIELD_ALIGN (POINT, x, 4)
3306     TEST_FIELD_OFFSET(POINT, x, 0)
3307     TEST_FIELD_SIZE  (POINT, y, 4)
3308     TEST_FIELD_ALIGN (POINT, y, 4)
3309     TEST_FIELD_OFFSET(POINT, y, 4)
3310 }
3311
3312 static void test_pack_POINTL(void)
3313 {
3314     /* POINTL */
3315     TEST_TYPE_SIZE   (POINTL, 8)
3316     TEST_TYPE_ALIGN  (POINTL, 4)
3317     TEST_FIELD_SIZE  (POINTL, x, 4)
3318     TEST_FIELD_ALIGN (POINTL, x, 4)
3319     TEST_FIELD_OFFSET(POINTL, x, 0)
3320     TEST_FIELD_SIZE  (POINTL, y, 4)
3321     TEST_FIELD_ALIGN (POINTL, y, 4)
3322     TEST_FIELD_OFFSET(POINTL, y, 4)
3323 }
3324
3325 static void test_pack_PPOINT(void)
3326 {
3327     /* PPOINT */
3328     TEST_TYPE_SIZE   (PPOINT, 8)
3329     TEST_TYPE_ALIGN  (PPOINT, 8)
3330     TEST_TARGET_SIZE (PPOINT, 8)
3331     TEST_TARGET_ALIGN(PPOINT, 4)
3332 }
3333
3334 static void test_pack_PPOINTL(void)
3335 {
3336     /* PPOINTL */
3337     TEST_TYPE_SIZE   (PPOINTL, 8)
3338     TEST_TYPE_ALIGN  (PPOINTL, 8)
3339     TEST_TARGET_SIZE (PPOINTL, 8)
3340     TEST_TARGET_ALIGN(PPOINTL, 4)
3341 }
3342
3343 static void test_pack_PRECT(void)
3344 {
3345     /* PRECT */
3346     TEST_TYPE_SIZE   (PRECT, 8)
3347     TEST_TYPE_ALIGN  (PRECT, 8)
3348     TEST_TARGET_SIZE (PRECT, 16)
3349     TEST_TARGET_ALIGN(PRECT, 4)
3350 }
3351
3352 static void test_pack_PRECTL(void)
3353 {
3354     /* PRECTL */
3355     TEST_TYPE_SIZE   (PRECTL, 8)
3356     TEST_TYPE_ALIGN  (PRECTL, 8)
3357     TEST_TARGET_SIZE (PRECTL, 16)
3358     TEST_TARGET_ALIGN(PRECTL, 4)
3359 }
3360
3361 static void test_pack_PROC(void)
3362 {
3363     /* PROC */
3364     TEST_TYPE_SIZE   (PROC, 8)
3365     TEST_TYPE_ALIGN  (PROC, 8)
3366 }
3367
3368 static void test_pack_PSIZE(void)
3369 {
3370     /* PSIZE */
3371     TEST_TYPE_SIZE   (PSIZE, 8)
3372     TEST_TYPE_ALIGN  (PSIZE, 8)
3373     TEST_TARGET_SIZE (PSIZE, 8)
3374     TEST_TARGET_ALIGN(PSIZE, 4)
3375 }
3376
3377 static void test_pack_PSZ(void)
3378 {
3379     /* PSZ */
3380     TEST_TYPE_SIZE   (PSZ, 8)
3381     TEST_TYPE_ALIGN  (PSZ, 8)
3382 }
3383
3384 static void test_pack_RECT(void)
3385 {
3386     /* RECT */
3387     TEST_TYPE_SIZE   (RECT, 16)
3388     TEST_TYPE_ALIGN  (RECT, 4)
3389     TEST_FIELD_SIZE  (RECT, left, 4)
3390     TEST_FIELD_ALIGN (RECT, left, 4)
3391     TEST_FIELD_OFFSET(RECT, left, 0)
3392     TEST_FIELD_SIZE  (RECT, top, 4)
3393     TEST_FIELD_ALIGN (RECT, top, 4)
3394     TEST_FIELD_OFFSET(RECT, top, 4)
3395     TEST_FIELD_SIZE  (RECT, right, 4)
3396     TEST_FIELD_ALIGN (RECT, right, 4)
3397     TEST_FIELD_OFFSET(RECT, right, 8)
3398     TEST_FIELD_SIZE  (RECT, bottom, 4)
3399     TEST_FIELD_ALIGN (RECT, bottom, 4)
3400     TEST_FIELD_OFFSET(RECT, bottom, 12)
3401 }
3402
3403 static void test_pack_RECTL(void)
3404 {
3405     /* RECTL */
3406     TEST_TYPE_SIZE   (RECTL, 16)
3407     TEST_TYPE_ALIGN  (RECTL, 4)
3408     TEST_FIELD_SIZE  (RECTL, left, 4)
3409     TEST_FIELD_ALIGN (RECTL, left, 4)
3410     TEST_FIELD_OFFSET(RECTL, left, 0)
3411     TEST_FIELD_SIZE  (RECTL, top, 4)
3412     TEST_FIELD_ALIGN (RECTL, top, 4)
3413     TEST_FIELD_OFFSET(RECTL, top, 4)
3414     TEST_FIELD_SIZE  (RECTL, right, 4)
3415     TEST_FIELD_ALIGN (RECTL, right, 4)
3416     TEST_FIELD_OFFSET(RECTL, right, 8)
3417     TEST_FIELD_SIZE  (RECTL, bottom, 4)
3418     TEST_FIELD_ALIGN (RECTL, bottom, 4)
3419     TEST_FIELD_OFFSET(RECTL, bottom, 12)
3420 }
3421
3422 static void test_pack_SIZE(void)
3423 {
3424     /* SIZE */
3425     TEST_TYPE_SIZE   (SIZE, 8)
3426     TEST_TYPE_ALIGN  (SIZE, 4)
3427     TEST_FIELD_SIZE  (SIZE, cx, 4)
3428     TEST_FIELD_ALIGN (SIZE, cx, 4)
3429     TEST_FIELD_OFFSET(SIZE, cx, 0)
3430     TEST_FIELD_SIZE  (SIZE, cy, 4)
3431     TEST_FIELD_ALIGN (SIZE, cy, 4)
3432     TEST_FIELD_OFFSET(SIZE, cy, 4)
3433 }
3434
3435 static void test_pack_SIZEL(void)
3436 {
3437     /* SIZEL */
3438     TEST_TYPE_SIZE   (SIZEL, 8)
3439     TEST_TYPE_ALIGN  (SIZEL, 4)
3440 }
3441
3442 static void test_pack_UCHAR(void)
3443 {
3444     /* UCHAR */
3445     TEST_TYPE_SIZE   (UCHAR, 1)
3446     TEST_TYPE_ALIGN  (UCHAR, 1)
3447     TEST_TYPE_UNSIGNED(UCHAR)
3448 }
3449
3450 static void test_pack_UINT(void)
3451 {
3452     /* UINT */
3453     TEST_TYPE_SIZE   (UINT, 4)
3454     TEST_TYPE_ALIGN  (UINT, 4)
3455     TEST_TYPE_UNSIGNED(UINT)
3456 }
3457
3458 static void test_pack_ULONG(void)
3459 {
3460     /* ULONG */
3461     TEST_TYPE_SIZE   (ULONG, 4)
3462     TEST_TYPE_ALIGN  (ULONG, 4)
3463     TEST_TYPE_UNSIGNED(ULONG)
3464 }
3465
3466 static void test_pack_USHORT(void)
3467 {
3468     /* USHORT */
3469     TEST_TYPE_SIZE   (USHORT, 2)
3470     TEST_TYPE_ALIGN  (USHORT, 2)
3471     TEST_TYPE_UNSIGNED(USHORT)
3472 }
3473
3474 static void test_pack_WORD(void)
3475 {
3476     /* WORD */
3477     TEST_TYPE_SIZE   (WORD, 2)
3478     TEST_TYPE_ALIGN  (WORD, 2)
3479     TEST_TYPE_UNSIGNED(WORD)
3480 }
3481
3482 static void test_pack_WPARAM(void)
3483 {
3484     /* WPARAM */
3485     TEST_TYPE_SIZE   (WPARAM, 8)
3486     TEST_TYPE_ALIGN  (WPARAM, 8)
3487 }
3488
3489 #else /* _WIN64 */
3490
3491 static void test_pack_DWORD32(void)
3492 {
3493     /* DWORD32 */
3494     TEST_TYPE_SIZE   (DWORD32, 4)
3495     TEST_TYPE_ALIGN  (DWORD32, 4)
3496     TEST_TYPE_UNSIGNED(DWORD32)
3497 }
3498
3499 static void test_pack_DWORD64(void)
3500 {
3501     /* DWORD64 */
3502     TEST_TYPE_SIZE   (DWORD64, 8)
3503     TEST_TYPE_ALIGN  (DWORD64, 8)
3504     TEST_TYPE_UNSIGNED(DWORD64)
3505 }
3506
3507 static void test_pack_DWORD_PTR(void)
3508 {
3509     /* DWORD_PTR */
3510     TEST_TYPE_SIZE   (DWORD_PTR, 4)
3511     TEST_TYPE_ALIGN  (DWORD_PTR, 4)
3512 }
3513
3514 static void test_pack_HALF_PTR(void)
3515 {
3516     /* HALF_PTR */
3517     TEST_TYPE_SIZE   (HALF_PTR, 2)
3518     TEST_TYPE_ALIGN  (HALF_PTR, 2)
3519     TEST_TYPE_SIGNED(HALF_PTR)
3520 }
3521
3522 static void test_pack_INT16(void)
3523 {
3524     /* INT16 */
3525     TEST_TYPE_SIZE   (INT16, 2)
3526     TEST_TYPE_ALIGN  (INT16, 2)
3527     TEST_TYPE_SIGNED(INT16)
3528 }
3529
3530 static void test_pack_INT32(void)
3531 {
3532     /* INT32 */
3533     TEST_TYPE_SIZE   (INT32, 4)
3534     TEST_TYPE_ALIGN  (INT32, 4)
3535     TEST_TYPE_SIGNED(INT32)
3536 }
3537
3538 static void test_pack_INT64(void)
3539 {
3540     /* INT64 */
3541     TEST_TYPE_SIZE   (INT64, 8)
3542     TEST_TYPE_ALIGN  (INT64, 8)
3543     TEST_TYPE_SIGNED(INT64)
3544 }
3545
3546 static void test_pack_INT8(void)
3547 {
3548     /* INT8 */
3549     TEST_TYPE_SIZE   (INT8, 1)
3550     TEST_TYPE_ALIGN  (INT8, 1)
3551     TEST_TYPE_SIGNED(INT8)
3552 }
3553
3554 static void test_pack_INT_PTR(void)
3555 {
3556     /* INT_PTR */
3557     TEST_TYPE_SIZE   (INT_PTR, 4)
3558     TEST_TYPE_ALIGN  (INT_PTR, 4)
3559     TEST_TYPE_SIGNED(INT_PTR)
3560 }
3561
3562 static void test_pack_LONG32(void)
3563 {
3564     /* LONG32 */
3565     TEST_TYPE_SIZE   (LONG32, 4)
3566     TEST_TYPE_ALIGN  (LONG32, 4)
3567     TEST_TYPE_SIGNED(LONG32)
3568 }
3569
3570 static void test_pack_LONG64(void)
3571 {
3572     /* LONG64 */
3573     TEST_TYPE_SIZE   (LONG64, 8)
3574     TEST_TYPE_ALIGN  (LONG64, 8)
3575     TEST_TYPE_SIGNED(LONG64)
3576 }
3577
3578 static void test_pack_LONG_PTR(void)
3579 {
3580     /* LONG_PTR */
3581     TEST_TYPE_SIZE   (LONG_PTR, 4)
3582     TEST_TYPE_ALIGN  (LONG_PTR, 4)
3583     TEST_TYPE_SIGNED(LONG_PTR)
3584 }
3585
3586 static void test_pack_SIZE_T(void)
3587 {
3588     /* SIZE_T */
3589     TEST_TYPE_SIZE   (SIZE_T, 4)
3590     TEST_TYPE_ALIGN  (SIZE_T, 4)
3591 }
3592
3593 static void test_pack_SSIZE_T(void)
3594 {
3595     /* SSIZE_T */
3596     TEST_TYPE_SIZE   (SSIZE_T, 4)
3597     TEST_TYPE_ALIGN  (SSIZE_T, 4)
3598 }
3599
3600 static void test_pack_UHALF_PTR(void)
3601 {
3602     /* UHALF_PTR */
3603     TEST_TYPE_SIZE   (UHALF_PTR, 2)
3604     TEST_TYPE_ALIGN  (UHALF_PTR, 2)
3605     TEST_TYPE_UNSIGNED(UHALF_PTR)
3606 }
3607
3608 static void test_pack_UINT16(void)
3609 {
3610     /* UINT16 */
3611     TEST_TYPE_SIZE   (UINT16, 2)
3612     TEST_TYPE_ALIGN  (UINT16, 2)
3613     TEST_TYPE_UNSIGNED(UINT16)
3614 }
3615
3616 static void test_pack_UINT32(void)
3617 {
3618     /* UINT32 */
3619     TEST_TYPE_SIZE   (UINT32, 4)
3620     TEST_TYPE_ALIGN  (UINT32, 4)
3621     TEST_TYPE_UNSIGNED(UINT32)
3622 }
3623
3624 static void test_pack_UINT64(void)
3625 {
3626     /* UINT64 */
3627     TEST_TYPE_SIZE   (UINT64, 8)
3628     TEST_TYPE_ALIGN  (UINT64, 8)
3629     TEST_TYPE_UNSIGNED(UINT64)
3630 }
3631
3632 static void test_pack_UINT8(void)
3633 {
3634     /* UINT8 */
3635     TEST_TYPE_SIZE   (UINT8, 1)
3636     TEST_TYPE_ALIGN  (UINT8, 1)
3637     TEST_TYPE_UNSIGNED(UINT8)
3638 }
3639
3640 static void test_pack_UINT_PTR(void)
3641 {
3642     /* UINT_PTR */
3643     TEST_TYPE_SIZE   (UINT_PTR, 4)
3644     TEST_TYPE_ALIGN  (UINT_PTR, 4)
3645     TEST_TYPE_UNSIGNED(UINT_PTR)
3646 }
3647
3648 static void test_pack_ULONG32(void)
3649 {
3650     /* ULONG32 */
3651     TEST_TYPE_SIZE   (ULONG32, 4)
3652     TEST_TYPE_ALIGN  (ULONG32, 4)
3653     TEST_TYPE_UNSIGNED(ULONG32)
3654 }
3655
3656 static void test_pack_ULONG64(void)
3657 {
3658     /* ULONG64 */
3659     TEST_TYPE_SIZE   (ULONG64, 8)
3660     TEST_TYPE_ALIGN  (ULONG64, 8)
3661     TEST_TYPE_UNSIGNED(ULONG64)
3662 }
3663
3664 static void test_pack_ULONG_PTR(void)
3665 {
3666     /* ULONG_PTR */
3667     TEST_TYPE_SIZE   (ULONG_PTR, 4)
3668     TEST_TYPE_ALIGN  (ULONG_PTR, 4)
3669     TEST_TYPE_UNSIGNED(ULONG_PTR)
3670 }
3671
3672 static void test_pack_ACCESS_ALLOWED_ACE(void)
3673 {
3674     /* ACCESS_ALLOWED_ACE */
3675     TEST_TYPE_SIZE   (ACCESS_ALLOWED_ACE, 12)
3676     TEST_TYPE_ALIGN  (ACCESS_ALLOWED_ACE, 4)
3677     TEST_FIELD_SIZE  (ACCESS_ALLOWED_ACE, Header, 4)
3678     TEST_FIELD_ALIGN (ACCESS_ALLOWED_ACE, Header, 2)
3679     TEST_FIELD_OFFSET(ACCESS_ALLOWED_ACE, Header, 0)
3680     TEST_FIELD_SIZE  (ACCESS_ALLOWED_ACE, Mask, 4)
3681     TEST_FIELD_ALIGN (ACCESS_ALLOWED_ACE, Mask, 4)
3682     TEST_FIELD_OFFSET(ACCESS_ALLOWED_ACE, Mask, 4)
3683     TEST_FIELD_SIZE  (ACCESS_ALLOWED_ACE, SidStart, 4)
3684     TEST_FIELD_ALIGN (ACCESS_ALLOWED_ACE, SidStart, 4)
3685     TEST_FIELD_OFFSET(ACCESS_ALLOWED_ACE, SidStart, 8)
3686 }
3687
3688 static void test_pack_ACCESS_DENIED_ACE(void)
3689 {
3690     /* ACCESS_DENIED_ACE */
3691     TEST_TYPE_SIZE   (ACCESS_DENIED_ACE, 12)
3692     TEST_TYPE_ALIGN  (ACCESS_DENIED_ACE, 4)
3693     TEST_FIELD_SIZE  (ACCESS_DENIED_ACE, Header, 4)
3694     TEST_FIELD_ALIGN (ACCESS_DENIED_ACE, Header, 2)
3695     TEST_FIELD_OFFSET(ACCESS_DENIED_ACE, Header, 0)
3696     TEST_FIELD_SIZE  (ACCESS_DENIED_ACE, Mask, 4)
3697     TEST_FIELD_ALIGN (ACCESS_DENIED_ACE, Mask, 4)
3698     TEST_FIELD_OFFSET(ACCESS_DENIED_ACE, Mask, 4)
3699     TEST_FIELD_SIZE  (ACCESS_DENIED_ACE, SidStart, 4)
3700     TEST_FIELD_ALIGN (ACCESS_DENIED_ACE, SidStart, 4)
3701     TEST_FIELD_OFFSET(ACCESS_DENIED_ACE, SidStart, 8)
3702 }
3703
3704 static void test_pack_ACCESS_MASK(void)
3705 {
3706     /* ACCESS_MASK */
3707     TEST_TYPE_SIZE   (ACCESS_MASK, 4)
3708     TEST_TYPE_ALIGN  (ACCESS_MASK, 4)
3709     TEST_TYPE_UNSIGNED(ACCESS_MASK)
3710 }
3711
3712 static void test_pack_ACE_HEADER(void)
3713 {
3714     /* ACE_HEADER */
3715     TEST_TYPE_SIZE   (ACE_HEADER, 4)
3716     TEST_TYPE_ALIGN  (ACE_HEADER, 2)
3717     TEST_FIELD_SIZE  (ACE_HEADER, AceType, 1)
3718     TEST_FIELD_ALIGN (ACE_HEADER, AceType, 1)
3719     TEST_FIELD_OFFSET(ACE_HEADER, AceType, 0)
3720     TEST_FIELD_SIZE  (ACE_HEADER, AceFlags, 1)
3721     TEST_FIELD_ALIGN (ACE_HEADER, AceFlags, 1)
3722     TEST_FIELD_OFFSET(ACE_HEADER, AceFlags, 1)
3723     TEST_FIELD_SIZE  (ACE_HEADER, AceSize, 2)
3724     TEST_FIELD_ALIGN (ACE_HEADER, AceSize, 2)
3725     TEST_FIELD_OFFSET(ACE_HEADER, AceSize, 2)
3726 }
3727
3728 static void test_pack_ACL(void)
3729 {
3730     /* ACL */
3731     TEST_TYPE_SIZE   (ACL, 8)
3732     TEST_TYPE_ALIGN  (ACL, 2)
3733     TEST_FIELD_SIZE  (ACL, AclRevision, 1)
3734     TEST_FIELD_ALIGN (ACL, AclRevision, 1)
3735     TEST_FIELD_OFFSET(ACL, AclRevision, 0)
3736     TEST_FIELD_SIZE  (ACL, Sbz1, 1)
3737     TEST_FIELD_ALIGN (ACL, Sbz1, 1)
3738     TEST_FIELD_OFFSET(ACL, Sbz1, 1)
3739     TEST_FIELD_SIZE  (ACL, AclSize, 2)
3740     TEST_FIELD_ALIGN (ACL, AclSize, 2)
3741     TEST_FIELD_OFFSET(ACL, AclSize, 2)
3742     TEST_FIELD_SIZE  (ACL, AceCount, 2)
3743     TEST_FIELD_ALIGN (ACL, AceCount, 2)
3744     TEST_FIELD_OFFSET(ACL, AceCount, 4)
3745     TEST_FIELD_SIZE  (ACL, Sbz2, 2)
3746     TEST_FIELD_ALIGN (ACL, Sbz2, 2)
3747     TEST_FIELD_OFFSET(ACL, Sbz2, 6)
3748 }
3749
3750 static void test_pack_ACL_REVISION_INFORMATION(void)
3751 {
3752     /* ACL_REVISION_INFORMATION */
3753     TEST_TYPE_SIZE   (ACL_REVISION_INFORMATION, 4)
3754     TEST_TYPE_ALIGN  (ACL_REVISION_INFORMATION, 4)
3755     TEST_FIELD_SIZE  (ACL_REVISION_INFORMATION, AclRevision, 4)
3756     TEST_FIELD_ALIGN (ACL_REVISION_INFORMATION, AclRevision, 4)
3757     TEST_FIELD_OFFSET(ACL_REVISION_INFORMATION, AclRevision, 0)
3758 }
3759
3760 static void test_pack_ACL_SIZE_INFORMATION(void)
3761 {
3762     /* ACL_SIZE_INFORMATION */
3763     TEST_TYPE_SIZE   (ACL_SIZE_INFORMATION, 12)
3764     TEST_TYPE_ALIGN  (ACL_SIZE_INFORMATION, 4)
3765     TEST_FIELD_SIZE  (ACL_SIZE_INFORMATION, AceCount, 4)
3766     TEST_FIELD_ALIGN (ACL_SIZE_INFORMATION, AceCount, 4)
3767     TEST_FIELD_OFFSET(ACL_SIZE_INFORMATION, AceCount, 0)
3768     TEST_FIELD_SIZE  (ACL_SIZE_INFORMATION, AclBytesInUse, 4)
3769     TEST_FIELD_ALIGN (ACL_SIZE_INFORMATION, AclBytesInUse, 4)
3770     TEST_FIELD_OFFSET(ACL_SIZE_INFORMATION, AclBytesInUse, 4)
3771     TEST_FIELD_SIZE  (ACL_SIZE_INFORMATION, AclBytesFree, 4)
3772     TEST_FIELD_ALIGN (ACL_SIZE_INFORMATION, AclBytesFree, 4)
3773     TEST_FIELD_OFFSET(ACL_SIZE_INFORMATION, AclBytesFree, 8)
3774 }
3775
3776 static void test_pack_BOOLEAN(void)
3777 {
3778     /* BOOLEAN */
3779     TEST_TYPE_SIZE   (BOOLEAN, 1)
3780     TEST_TYPE_ALIGN  (BOOLEAN, 1)
3781     TEST_TYPE_UNSIGNED(BOOLEAN)
3782 }
3783
3784 static void test_pack_CCHAR(void)
3785 {
3786     /* CCHAR */
3787     TEST_TYPE_SIZE   (CCHAR, 1)
3788     TEST_TYPE_ALIGN  (CCHAR, 1)
3789     TEST_TYPE_SIGNED(CCHAR)
3790 }
3791
3792 static void test_pack_CHAR(void)
3793 {
3794     /* CHAR */
3795     TEST_TYPE_SIZE   (CHAR, 1)
3796     TEST_TYPE_ALIGN  (CHAR, 1)
3797     TEST_TYPE_SIGNED(CHAR)
3798 }
3799
3800 static void test_pack_DWORDLONG(void)
3801 {
3802     /* DWORDLONG */
3803     TEST_TYPE_SIZE   (DWORDLONG, 8)
3804     TEST_TYPE_ALIGN  (DWORDLONG, 8)
3805     TEST_TYPE_UNSIGNED(DWORDLONG)
3806 }
3807
3808 static void test_pack_EXCEPTION_POINTERS(void)
3809 {
3810     /* EXCEPTION_POINTERS */
3811     TEST_TYPE_SIZE   (EXCEPTION_POINTERS, 8)
3812     TEST_TYPE_ALIGN  (EXCEPTION_POINTERS, 4)
3813     TEST_FIELD_SIZE  (EXCEPTION_POINTERS, ExceptionRecord, 4)
3814     TEST_FIELD_ALIGN (EXCEPTION_POINTERS, ExceptionRecord, 4)
3815     TEST_FIELD_OFFSET(EXCEPTION_POINTERS, ExceptionRecord, 0)
3816     TEST_FIELD_SIZE  (EXCEPTION_POINTERS, ContextRecord, 4)
3817     TEST_FIELD_ALIGN (EXCEPTION_POINTERS, ContextRecord, 4)
3818     TEST_FIELD_OFFSET(EXCEPTION_POINTERS, ContextRecord, 4)
3819 }
3820
3821 static void test_pack_EXCEPTION_RECORD(void)
3822 {
3823     /* EXCEPTION_RECORD */
3824     TEST_TYPE_SIZE   (EXCEPTION_RECORD, 80)
3825     TEST_TYPE_ALIGN  (EXCEPTION_RECORD, 4)
3826     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionCode, 4)
3827     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionCode, 4)
3828     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionCode, 0)
3829     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionFlags, 4)
3830     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionFlags, 4)
3831     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionFlags, 4)
3832     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionRecord, 4)
3833     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionRecord, 4)
3834     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionRecord, 8)
3835     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionAddress, 4)
3836     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionAddress, 4)
3837     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionAddress, 12)
3838     TEST_FIELD_SIZE  (EXCEPTION_RECORD, NumberParameters, 4)
3839     TEST_FIELD_ALIGN (EXCEPTION_RECORD, NumberParameters, 4)
3840     TEST_FIELD_OFFSET(EXCEPTION_RECORD, NumberParameters, 16)
3841     TEST_FIELD_SIZE  (EXCEPTION_RECORD, ExceptionInformation, 60)
3842     TEST_FIELD_ALIGN (EXCEPTION_RECORD, ExceptionInformation, 4)
3843     TEST_FIELD_OFFSET(EXCEPTION_RECORD, ExceptionInformation, 20)
3844 }
3845
3846 static void test_pack_EXECUTION_STATE(void)
3847 {
3848     /* EXECUTION_STATE */
3849     TEST_TYPE_SIZE   (EXECUTION_STATE, 4)
3850     TEST_TYPE_ALIGN  (EXECUTION_STATE, 4)
3851     TEST_TYPE_UNSIGNED(EXECUTION_STATE)
3852 }
3853
3854 static void test_pack_FLOATING_SAVE_AREA(void)
3855 {
3856     /* FLOATING_SAVE_AREA */
3857     TEST_TYPE_SIZE   (FLOATING_SAVE_AREA, 112)
3858     TEST_TYPE_ALIGN  (FLOATING_SAVE_AREA, 4)
3859     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, ControlWord, 4)
3860     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, ControlWord, 4)
3861     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, ControlWord, 0)
3862     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, StatusWord, 4)
3863     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, StatusWord, 4)
3864     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, StatusWord, 4)
3865     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, TagWord, 4)
3866     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, TagWord, 4)
3867     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, TagWord, 8)
3868     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, ErrorOffset, 4)
3869     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, ErrorOffset, 4)
3870     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, ErrorOffset, 12)
3871     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, ErrorSelector, 4)
3872     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, ErrorSelector, 4)
3873     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, ErrorSelector, 16)
3874     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, DataOffset, 4)
3875     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, DataOffset, 4)
3876     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, DataOffset, 20)
3877     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, DataSelector, 4)
3878     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, DataSelector, 4)
3879     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, DataSelector, 24)
3880     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, RegisterArea, 80)
3881     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, RegisterArea, 1)
3882     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, RegisterArea, 28)
3883     TEST_FIELD_SIZE  (FLOATING_SAVE_AREA, Cr0NpxState, 4)
3884     TEST_FIELD_ALIGN (FLOATING_SAVE_AREA, Cr0NpxState, 4)
3885     TEST_FIELD_OFFSET(FLOATING_SAVE_AREA, Cr0NpxState, 108)
3886 }
3887
3888 static void test_pack_FPO_DATA(void)
3889 {
3890     /* FPO_DATA */
3891     TEST_TYPE_SIZE   (FPO_DATA, 16)
3892     TEST_TYPE_ALIGN  (FPO_DATA, 4)
3893     TEST_FIELD_SIZE  (FPO_DATA, ulOffStart, 4)
3894     TEST_FIELD_ALIGN (FPO_DATA, ulOffStart, 4)
3895     TEST_FIELD_OFFSET(FPO_DATA, ulOffStart, 0)
3896     TEST_FIELD_SIZE  (FPO_DATA, cbProcSize, 4)
3897     TEST_FIELD_ALIGN (FPO_DATA, cbProcSize, 4)
3898     TEST_FIELD_OFFSET(FPO_DATA, cbProcSize, 4)
3899     TEST_FIELD_SIZE  (FPO_DATA, cdwLocals, 4)
3900     TEST_FIELD_ALIGN (FPO_DATA, cdwLocals, 4)
3901     TEST_FIELD_OFFSET(FPO_DATA, cdwLocals, 8)
3902     TEST_FIELD_SIZE  (FPO_DATA, cdwParams, 2)
3903     TEST_FIELD_ALIGN (FPO_DATA, cdwParams, 2)
3904     TEST_FIELD_OFFSET(FPO_DATA, cdwParams, 12)
3905 }
3906
3907 static void test_pack_GENERIC_MAPPING(void)
3908 {
3909     /* GENERIC_MAPPING */
3910     TEST_TYPE_SIZE   (GENERIC_MAPPING, 16)
3911     TEST_TYPE_ALIGN  (GENERIC_MAPPING, 4)
3912     TEST_FIELD_SIZE  (GENERIC_MAPPING, GenericRead, 4)
3913     TEST_FIELD_ALIGN (GENERIC_MAPPING, GenericRead, 4)
3914     TEST_FIELD_OFFSET(GENERIC_MAPPING, GenericRead, 0)
3915     TEST_FIELD_SIZE  (GENERIC_MAPPING, GenericWrite, 4)
3916     TEST_FIELD_ALIGN (GENERIC_MAPPING, GenericWrite, 4)
3917     TEST_FIELD_OFFSET(GENERIC_MAPPING, GenericWrite, 4)
3918     TEST_FIELD_SIZE  (GENERIC_MAPPING, GenericExecute, 4)
3919     TEST_FIELD_ALIGN (GENERIC_MAPPING, GenericExecute, 4)
3920     TEST_FIELD_OFFSET(GENERIC_MAPPING, GenericExecute, 8)
3921     TEST_FIELD_SIZE  (GENERIC_MAPPING, GenericAll, 4)
3922     TEST_FIELD_ALIGN (GENERIC_MAPPING, GenericAll, 4)
3923     TEST_FIELD_OFFSET(GENERIC_MAPPING, GenericAll, 12)
3924 }
3925
3926 static void test_pack_HANDLE(void)
3927 {
3928     /* HANDLE */
3929     TEST_TYPE_SIZE   (HANDLE, 4)
3930     TEST_TYPE_ALIGN  (HANDLE, 4)
3931 }
3932
3933 static void test_pack_HRESULT(void)
3934 {
3935     /* HRESULT */
3936     TEST_TYPE_SIZE   (HRESULT, 4)
3937     TEST_TYPE_ALIGN  (HRESULT, 4)
3938 }
3939
3940 static void test_pack_IMAGE_ARCHIVE_MEMBER_HEADER(void)
3941 {
3942     /* IMAGE_ARCHIVE_MEMBER_HEADER */
3943     TEST_TYPE_SIZE   (IMAGE_ARCHIVE_MEMBER_HEADER, 60)
3944     TEST_TYPE_ALIGN  (IMAGE_ARCHIVE_MEMBER_HEADER, 1)
3945     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, Name, 16)
3946     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, Name, 1)
3947     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, Name, 0)
3948     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, Date, 12)
3949     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, Date, 1)
3950     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, Date, 16)
3951     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, UserID, 6)
3952     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, UserID, 1)
3953     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, UserID, 28)
3954     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, GroupID, 6)
3955     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, GroupID, 1)
3956     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, GroupID, 34)
3957     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, Mode, 8)
3958     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, Mode, 1)
3959     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, Mode, 40)
3960     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, Size, 10)
3961     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, Size, 1)
3962     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, Size, 48)
3963     TEST_FIELD_SIZE  (IMAGE_ARCHIVE_MEMBER_HEADER, EndHeader, 2)
3964     TEST_FIELD_ALIGN (IMAGE_ARCHIVE_MEMBER_HEADER, EndHeader, 1)
3965     TEST_FIELD_OFFSET(IMAGE_ARCHIVE_MEMBER_HEADER, EndHeader, 58)
3966 }
3967
3968 static void test_pack_IMAGE_AUX_SYMBOL(void)
3969 {
3970     /* IMAGE_AUX_SYMBOL (pack 2) */
3971 }
3972
3973 static void test_pack_IMAGE_BASE_RELOCATION(void)
3974 {
3975     /* IMAGE_BASE_RELOCATION */
3976     TEST_TYPE_SIZE   (IMAGE_BASE_RELOCATION, 8)
3977     TEST_TYPE_ALIGN  (IMAGE_BASE_RELOCATION, 4)
3978     TEST_FIELD_SIZE  (IMAGE_BASE_RELOCATION, VirtualAddress, 4)
3979     TEST_FIELD_ALIGN (IMAGE_BASE_RELOCATION, VirtualAddress, 4)
3980     TEST_FIELD_OFFSET(IMAGE_BASE_RELOCATION, VirtualAddress, 0)
3981     TEST_FIELD_SIZE  (IMAGE_BASE_RELOCATION, SizeOfBlock, 4)
3982     TEST_FIELD_ALIGN (IMAGE_BASE_RELOCATION, SizeOfBlock, 4)
3983     TEST_FIELD_OFFSET(IMAGE_BASE_RELOCATION, SizeOfBlock, 4)
3984 }
3985
3986 static void test_pack_IMAGE_BOUND_FORWARDER_REF(void)
3987 {
3988     /* IMAGE_BOUND_FORWARDER_REF */
3989     TEST_TYPE_SIZE   (IMAGE_BOUND_FORWARDER_REF, 8)
3990     TEST_TYPE_ALIGN  (IMAGE_BOUND_FORWARDER_REF, 4)
3991     TEST_FIELD_SIZE  (IMAGE_BOUND_FORWARDER_REF, TimeDateStamp, 4)
3992     TEST_FIELD_ALIGN (IMAGE_BOUND_FORWARDER_REF, TimeDateStamp, 4)
3993     TEST_FIELD_OFFSET(IMAGE_BOUND_FORWARDER_REF, TimeDateStamp, 0)
3994     TEST_FIELD_SIZE  (IMAGE_BOUND_FORWARDER_REF, OffsetModuleName, 2)
3995     TEST_FIELD_ALIGN (IMAGE_BOUND_FORWARDER_REF, OffsetModuleName, 2)
3996     TEST_FIELD_OFFSET(IMAGE_BOUND_FORWARDER_REF, OffsetModuleName, 4)
3997     TEST_FIELD_SIZE  (IMAGE_BOUND_FORWARDER_REF, Reserved, 2)
3998     TEST_FIELD_ALIGN (IMAGE_BOUND_FORWARDER_REF, Reserved, 2)
3999     TEST_FIELD_OFFSET(IMAGE_BOUND_FORWARDER_REF, Reserved, 6)
4000 }
4001
4002 static void test_pack_IMAGE_BOUND_IMPORT_DESCRIPTOR(void)
4003 {
4004     /* IMAGE_BOUND_IMPORT_DESCRIPTOR */
4005     TEST_TYPE_SIZE   (IMAGE_BOUND_IMPORT_DESCRIPTOR, 8)
4006     TEST_TYPE_ALIGN  (IMAGE_BOUND_IMPORT_DESCRIPTOR, 4)
4007     TEST_FIELD_SIZE  (IMAGE_BOUND_IMPORT_DESCRIPTOR, TimeDateStamp, 4)
4008     TEST_FIELD_ALIGN (IMAGE_BOUND_IMPORT_DESCRIPTOR, TimeDateStamp, 4)
4009     TEST_FIELD_OFFSET(IMAGE_BOUND_IMPORT_DESCRIPTOR, TimeDateStamp, 0)
4010     TEST_FIELD_SIZE  (IMAGE_BOUND_IMPORT_DESCRIPTOR, OffsetModuleName, 2)
4011     TEST_FIELD_ALIGN (IMAGE_BOUND_IMPORT_DESCRIPTOR, OffsetModuleName, 2)
4012     TEST_FIELD_OFFSET(IMAGE_BOUND_IMPORT_DESCRIPTOR, OffsetModuleName, 4)
4013     TEST_FIELD_SIZE  (IMAGE_BOUND_IMPORT_DESCRIPTOR, NumberOfModuleForwarderRefs, 2)
4014     TEST_FIELD_ALIGN (IMAGE_BOUND_IMPORT_DESCRIPTOR, NumberOfModuleForwarderRefs, 2)
4015     TEST_FIELD_OFFSET(IMAGE_BOUND_IMPORT_DESCRIPTOR, NumberOfModuleForwarderRefs, 6)
4016 }
4017
4018 static void test_pack_IMAGE_COFF_SYMBOLS_HEADER(void)
4019 {
4020     /* IMAGE_COFF_SYMBOLS_HEADER */
4021     TEST_TYPE_SIZE   (IMAGE_COFF_SYMBOLS_HEADER, 32)
4022     TEST_TYPE_ALIGN  (IMAGE_COFF_SYMBOLS_HEADER, 4)
4023     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, NumberOfSymbols, 4)
4024     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, NumberOfSymbols, 4)
4025     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, NumberOfSymbols, 0)
4026     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstSymbol, 4)
4027     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstSymbol, 4)
4028     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstSymbol, 4)
4029     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, NumberOfLinenumbers, 4)
4030     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, NumberOfLinenumbers, 4)
4031     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, NumberOfLinenumbers, 8)
4032     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstLinenumber, 4)
4033     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstLinenumber, 4)
4034     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, LvaToFirstLinenumber, 12)
4035     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfCode, 4)
4036     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfCode, 4)
4037     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfCode, 16)
4038     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfCode, 4)
4039     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfCode, 4)
4040     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfCode, 20)
4041     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfData, 4)
4042     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfData, 4)
4043     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, RvaToFirstByteOfData, 24)
4044     TEST_FIELD_SIZE  (IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfData, 4)
4045     TEST_FIELD_ALIGN (IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfData, 4)
4046     TEST_FIELD_OFFSET(IMAGE_COFF_SYMBOLS_HEADER, RvaToLastByteOfData, 28)
4047 }
4048
4049 static void test_pack_IMAGE_DATA_DIRECTORY(void)
4050 {
4051     /* IMAGE_DATA_DIRECTORY */
4052     TEST_TYPE_SIZE   (IMAGE_DATA_DIRECTORY, 8)
4053     TEST_TYPE_ALIGN  (IMAGE_DATA_DIRECTORY, 4)
4054     TEST_FIELD_SIZE  (IMAGE_DATA_DIRECTORY, VirtualAddress, 4)
4055     TEST_FIELD_ALIGN (IMAGE_DATA_DIRECTORY, VirtualAddress, 4)
4056     TEST_FIELD_OFFSET(IMAGE_DATA_DIRECTORY, VirtualAddress, 0)
4057     TEST_FIELD_SIZE  (IMAGE_DATA_DIRECTORY, Size, 4)
4058     TEST_FIELD_ALIGN (IMAGE_DATA_DIRECTORY, Size, 4)
4059     TEST_FIELD_OFFSET(IMAGE_DATA_DIRECTORY, Size, 4)
4060 }
4061
4062 static void test_pack_IMAGE_DEBUG_DIRECTORY(void)
4063 {
4064     /* IMAGE_DEBUG_DIRECTORY */
4065     TEST_TYPE_SIZE   (IMAGE_DEBUG_DIRECTORY, 28)
4066     TEST_TYPE_ALIGN  (IMAGE_DEBUG_DIRECTORY, 4)
4067     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, Characteristics, 4)
4068     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, Characteristics, 4)
4069     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, Characteristics, 0)
4070     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, TimeDateStamp, 4)
4071     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, TimeDateStamp, 4)
4072     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, TimeDateStamp, 4)
4073     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, MajorVersion, 2)
4074     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, MajorVersion, 2)
4075     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, MajorVersion, 8)
4076     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, MinorVersion, 2)
4077     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, MinorVersion, 2)
4078     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, MinorVersion, 10)
4079     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, Type, 4)
4080     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, Type, 4)
4081     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, Type, 12)
4082     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, SizeOfData, 4)
4083     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, SizeOfData, 4)
4084     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, SizeOfData, 16)
4085     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, AddressOfRawData, 4)
4086     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, AddressOfRawData, 4)
4087     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, AddressOfRawData, 20)
4088     TEST_FIELD_SIZE  (IMAGE_DEBUG_DIRECTORY, PointerToRawData, 4)
4089     TEST_FIELD_ALIGN (IMAGE_DEBUG_DIRECTORY, PointerToRawData, 4)
4090     TEST_FIELD_OFFSET(IMAGE_DEBUG_DIRECTORY, PointerToRawData, 24)
4091 }
4092
4093 static void test_pack_IMAGE_DEBUG_MISC(void)
4094 {
4095     /* IMAGE_DEBUG_MISC */
4096     TEST_TYPE_SIZE   (IMAGE_DEBUG_MISC, 16)
4097     TEST_TYPE_ALIGN  (IMAGE_DEBUG_MISC, 4)
4098     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, DataType, 4)
4099     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, DataType, 4)
4100     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, DataType, 0)
4101     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, Length, 4)
4102     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, Length, 4)
4103     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, Length, 4)
4104     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, Unicode, 1)
4105     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, Unicode, 1)
4106     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, Unicode, 8)
4107     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, Reserved, 3)
4108     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, Reserved, 1)
4109     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, Reserved, 9)
4110     TEST_FIELD_SIZE  (IMAGE_DEBUG_MISC, Data, 1)
4111     TEST_FIELD_ALIGN (IMAGE_DEBUG_MISC, Data, 1)
4112     TEST_FIELD_OFFSET(IMAGE_DEBUG_MISC, Data, 12)
4113 }
4114
4115 static void test_pack_IMAGE_DOS_HEADER(void)
4116 {
4117     /* IMAGE_DOS_HEADER (pack 2) */
4118     TEST_TYPE_SIZE   (IMAGE_DOS_HEADER, 64)
4119     TEST_TYPE_ALIGN  (IMAGE_DOS_HEADER, 2)
4120     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_magic, 2)
4121     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_magic, 2)
4122     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_magic, 0)
4123     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_cblp, 2)
4124     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_cblp, 2)
4125     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_cblp, 2)
4126     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_cp, 2)
4127     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_cp, 2)
4128     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_cp, 4)
4129     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_crlc, 2)
4130     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_crlc, 2)
4131     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_crlc, 6)
4132     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_cparhdr, 2)
4133     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_cparhdr, 2)
4134     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_cparhdr, 8)
4135     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_minalloc, 2)
4136     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_minalloc, 2)
4137     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_minalloc, 10)
4138     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_maxalloc, 2)
4139     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_maxalloc, 2)
4140     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_maxalloc, 12)
4141     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_ss, 2)
4142     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_ss, 2)
4143     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_ss, 14)
4144     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_sp, 2)
4145     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_sp, 2)
4146     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_sp, 16)
4147     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_csum, 2)
4148     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_csum, 2)
4149     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_csum, 18)
4150     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_ip, 2)
4151     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_ip, 2)
4152     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_ip, 20)
4153     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_cs, 2)
4154     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_cs, 2)
4155     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_cs, 22)
4156     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_lfarlc, 2)
4157     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_lfarlc, 2)
4158     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_lfarlc, 24)
4159     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_ovno, 2)
4160     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_ovno, 2)
4161     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_ovno, 26)
4162     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_res, 8)
4163     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_res, 2)
4164     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_res, 28)
4165     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_oemid, 2)
4166     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_oemid, 2)
4167     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_oemid, 36)
4168     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_oeminfo, 2)
4169     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_oeminfo, 2)
4170     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_oeminfo, 38)
4171     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_res2, 20)
4172     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_res2, 2)
4173     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_res2, 40)
4174     TEST_FIELD_SIZE  (IMAGE_DOS_HEADER, e_lfanew, 4)
4175     TEST_FIELD_ALIGN (IMAGE_DOS_HEADER, e_lfanew, 2)
4176     TEST_FIELD_OFFSET(IMAGE_DOS_HEADER, e_lfanew, 60)
4177 }
4178
4179 static void test_pack_IMAGE_EXPORT_DIRECTORY(void)
4180 {
4181     /* IMAGE_EXPORT_DIRECTORY */
4182     TEST_TYPE_SIZE   (IMAGE_EXPORT_DIRECTORY, 40)
4183     TEST_TYPE_ALIGN  (IMAGE_EXPORT_DIRECTORY, 4)
4184     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, Characteristics, 4)
4185     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, Characteristics, 4)
4186     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, Characteristics, 0)
4187     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, TimeDateStamp, 4)
4188     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, TimeDateStamp, 4)
4189     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, TimeDateStamp, 4)
4190     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, MajorVersion, 2)
4191     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, MajorVersion, 2)
4192     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, MajorVersion, 8)
4193     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, MinorVersion, 2)
4194     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, MinorVersion, 2)
4195     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, MinorVersion, 10)
4196     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, Name, 4)
4197     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, Name, 4)
4198     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, Name, 12)
4199     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, Base, 4)
4200     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, Base, 4)
4201     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, Base, 16)
4202     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, NumberOfFunctions, 4)
4203     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, NumberOfFunctions, 4)
4204     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, NumberOfFunctions, 20)
4205     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, NumberOfNames, 4)
4206     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, NumberOfNames, 4)
4207     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, NumberOfNames, 24)
4208     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, AddressOfFunctions, 4)
4209     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, AddressOfFunctions, 4)
4210     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, AddressOfFunctions, 28)
4211     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, AddressOfNames, 4)
4212     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, AddressOfNames, 4)
4213     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, AddressOfNames, 32)
4214     TEST_FIELD_SIZE  (IMAGE_EXPORT_DIRECTORY, AddressOfNameOrdinals, 4)
4215     TEST_FIELD_ALIGN (IMAGE_EXPORT_DIRECTORY, AddressOfNameOrdinals, 4)
4216     TEST_FIELD_OFFSET(IMAGE_EXPORT_DIRECTORY, AddressOfNameOrdinals, 36)
4217 }
4218
4219 static void test_pack_IMAGE_FILE_HEADER(void)
4220 {
4221     /* IMAGE_FILE_HEADER */
4222     TEST_TYPE_SIZE   (IMAGE_FILE_HEADER, 20)
4223     TEST_TYPE_ALIGN  (IMAGE_FILE_HEADER, 4)
4224     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, Machine, 2)
4225     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, Machine, 2)
4226     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, Machine, 0)
4227     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, NumberOfSections, 2)
4228     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, NumberOfSections, 2)
4229     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, NumberOfSections, 2)
4230     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, TimeDateStamp, 4)
4231     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, TimeDateStamp, 4)
4232     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, TimeDateStamp, 4)
4233     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, PointerToSymbolTable, 4)
4234     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, PointerToSymbolTable, 4)
4235     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, PointerToSymbolTable, 8)
4236     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, NumberOfSymbols, 4)
4237     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, NumberOfSymbols, 4)
4238     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, NumberOfSymbols, 12)
4239     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, SizeOfOptionalHeader, 2)
4240     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, SizeOfOptionalHeader, 2)
4241     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, SizeOfOptionalHeader, 16)
4242     TEST_FIELD_SIZE  (IMAGE_FILE_HEADER, Characteristics, 2)
4243     TEST_FIELD_ALIGN (IMAGE_FILE_HEADER, Characteristics, 2)
4244     TEST_FIELD_OFFSET(IMAGE_FILE_HEADER, Characteristics, 18)
4245 }
4246
4247 static void test_pack_IMAGE_FUNCTION_ENTRY(void)
4248 {
4249     /* IMAGE_FUNCTION_ENTRY */
4250     TEST_TYPE_SIZE   (IMAGE_FUNCTION_ENTRY, 12)
4251     TEST_TYPE_ALIGN  (IMAGE_FUNCTION_ENTRY, 4)
4252     TEST_FIELD_SIZE  (IMAGE_FUNCTION_ENTRY, StartingAddress, 4)
4253     TEST_FIELD_ALIGN (IMAGE_FUNCTION_ENTRY, StartingAddress, 4)
4254     TEST_FIELD_OFFSET(IMAGE_FUNCTION_ENTRY, StartingAddress, 0)
4255     TEST_FIELD_SIZE  (IMAGE_FUNCTION_ENTRY, EndingAddress, 4)
4256     TEST_FIELD_ALIGN (IMAGE_FUNCTION_ENTRY, EndingAddress, 4)
4257     TEST_FIELD_OFFSET(IMAGE_FUNCTION_ENTRY, EndingAddress, 4)
4258     TEST_FIELD_SIZE  (IMAGE_FUNCTION_ENTRY, EndOfPrologue, 4)
4259     TEST_FIELD_ALIGN (IMAGE_FUNCTION_ENTRY, EndOfPrologue, 4)
4260     TEST_FIELD_OFFSET(IMAGE_FUNCTION_ENTRY, EndOfPrologue, 8)
4261 }
4262
4263 static void test_pack_IMAGE_IMPORT_BY_NAME(void)
4264 {
4265     /* IMAGE_IMPORT_BY_NAME */
4266     TEST_TYPE_SIZE   (IMAGE_IMPORT_BY_NAME, 4)
4267     TEST_TYPE_ALIGN  (IMAGE_IMPORT_BY_NAME, 2)
4268     TEST_FIELD_SIZE  (IMAGE_IMPORT_BY_NAME, Hint, 2)
4269     TEST_FIELD_ALIGN (IMAGE_IMPORT_BY_NAME, Hint, 2)
4270     TEST_FIELD_OFFSET(IMAGE_IMPORT_BY_NAME, Hint, 0)
4271     TEST_FIELD_SIZE  (IMAGE_IMPORT_BY_NAME, Name, 1)
4272     TEST_FIELD_ALIGN (IMAGE_IMPORT_BY_NAME, Name, 1)
4273     TEST_FIELD_OFFSET(IMAGE_IMPORT_BY_NAME, Name, 2)
4274 }
4275
4276 static void test_pack_IMAGE_IMPORT_DESCRIPTOR(void)
4277 {
4278     /* IMAGE_IMPORT_DESCRIPTOR */
4279 }
4280
4281 static void test_pack_IMAGE_LINENUMBER(void)
4282 {
4283     /* IMAGE_LINENUMBER (pack 2) */
4284 }
4285
4286 static void test_pack_IMAGE_LOAD_CONFIG_DIRECTORY(void)
4287 {
4288     /* IMAGE_LOAD_CONFIG_DIRECTORY */
4289     TEST_TYPE_SIZE   (IMAGE_LOAD_CONFIG_DIRECTORY, 72)
4290     TEST_TYPE_ALIGN  (IMAGE_LOAD_CONFIG_DIRECTORY, 4)
4291     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, Size, 4)
4292     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, Size, 4)
4293     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, Size, 0)
4294     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, TimeDateStamp, 4)
4295     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, TimeDateStamp, 4)
4296     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, TimeDateStamp, 4)
4297     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, MajorVersion, 2)
4298     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, MajorVersion, 2)
4299     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, MajorVersion, 8)
4300     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, MinorVersion, 2)
4301     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, MinorVersion, 2)
4302     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, MinorVersion, 10)
4303     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsClear, 4)
4304     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsClear, 4)
4305     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsClear, 12)
4306     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsSet, 4)
4307     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsSet, 4)
4308     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, GlobalFlagsSet, 16)
4309     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, CriticalSectionDefaultTimeout, 4)
4310     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, CriticalSectionDefaultTimeout, 4)
4311     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, CriticalSectionDefaultTimeout, 20)
4312     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitFreeBlockThreshold, 4)
4313     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitFreeBlockThreshold, 4)
4314     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitFreeBlockThreshold, 24)
4315     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitTotalFreeThreshold, 4)
4316     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitTotalFreeThreshold, 4)
4317     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, DeCommitTotalFreeThreshold, 28)
4318     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, LockPrefixTable, 4)
4319     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, LockPrefixTable, 4)
4320     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, LockPrefixTable, 32)
4321     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, MaximumAllocationSize, 4)
4322     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, MaximumAllocationSize, 4)
4323     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, MaximumAllocationSize, 36)
4324     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, VirtualMemoryThreshold, 4)
4325     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, VirtualMemoryThreshold, 4)
4326     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, VirtualMemoryThreshold, 40)
4327     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, ProcessHeapFlags, 4)
4328     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, ProcessHeapFlags, 4)
4329     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, ProcessHeapFlags, 44)
4330     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, ProcessAffinityMask, 4)
4331     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, ProcessAffinityMask, 4)
4332     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, ProcessAffinityMask, 48)
4333     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, CSDVersion, 2)
4334     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, CSDVersion, 2)
4335     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, CSDVersion, 52)
4336     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, Reserved1, 2)
4337     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, Reserved1, 2)
4338     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, Reserved1, 54)
4339     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, EditList, 4)
4340     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, EditList, 4)
4341     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, EditList, 56)
4342     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, SecurityCookie, 4)
4343     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, SecurityCookie, 4)
4344     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, SecurityCookie, 60)
4345     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerTable, 4)
4346     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerTable, 4)
4347     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerTable, 64)
4348     TEST_FIELD_SIZE  (IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerCount, 4)
4349     TEST_FIELD_ALIGN (IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerCount, 4)
4350     TEST_FIELD_OFFSET(IMAGE_LOAD_CONFIG_DIRECTORY, SEHandlerCount, 68)
4351 }
4352
4353 static void test_pack_IMAGE_NT_HEADERS(void)
4354 {
4355     /* IMAGE_NT_HEADERS */
4356     TEST_TYPE_SIZE   (IMAGE_NT_HEADERS, 248)
4357     TEST_TYPE_ALIGN  (IMAGE_NT_HEADERS, 4)
4358 }
4359
4360 static void test_pack_IMAGE_NT_HEADERS32(void)
4361 {
4362     /* IMAGE_NT_HEADERS32 */
4363     TEST_TYPE_SIZE   (IMAGE_NT_HEADERS32, 248)
4364     TEST_TYPE_ALIGN  (IMAGE_NT_HEADERS32, 4)
4365     TEST_FIELD_SIZE  (IMAGE_NT_HEADERS32, Signature, 4)
4366     TEST_FIELD_ALIGN (IMAGE_NT_HEADERS32, Signature, 4)
4367     TEST_FIELD_OFFSET(IMAGE_NT_HEADERS32, Signature, 0)
4368     TEST_FIELD_SIZE  (IMAGE_NT_HEADERS32, FileHeader, 20)
4369     TEST_FIELD_ALIGN (IMAGE_NT_HEADERS32, FileHeader, 4)
4370     TEST_FIELD_OFFSET(IMAGE_NT_HEADERS32, FileHeader, 4)
4371     TEST_FIELD_SIZE  (IMAGE_NT_HEADERS32, OptionalHeader, 224)
4372     TEST_FIELD_ALIGN (IMAGE_NT_HEADERS32, OptionalHeader, 4)
4373     TEST_FIELD_OFFSET(IMAGE_NT_HEADERS32, OptionalHeader, 24)
4374 }
4375
4376 static void test_pack_IMAGE_NT_HEADERS64(void)
4377 {
4378     /* IMAGE_NT_HEADERS64 */
4379     TEST_TYPE_SIZE   (IMAGE_NT_HEADERS64, 264)
4380     TEST_TYPE_ALIGN  (IMAGE_NT_HEADERS64, 8)
4381     TEST_FIELD_SIZE  (IMAGE_NT_HEADERS64, Signature, 4)
4382     TEST_FIELD_ALIGN (IMAGE_NT_HEADERS64, Signature, 4)
4383     TEST_FIELD_OFFSET(IMAGE_NT_HEADERS64, Signature, 0)
4384     TEST_FIELD_SIZE  (IMAGE_NT_HEADERS64, FileHeader, 20)
4385     TEST_FIELD_ALIGN (IMAGE_NT_HEADERS64, FileHeader, 4)
4386     TEST_FIELD_OFFSET(IMAGE_NT_HEADERS64, FileHeader, 4)
4387     TEST_FIELD_SIZE  (IMAGE_NT_HEADERS64, OptionalHeader, 240)
4388     TEST_FIELD_ALIGN (IMAGE_NT_HEADERS64, OptionalHeader, 8)
4389     TEST_FIELD_OFFSET(IMAGE_NT_HEADERS64, OptionalHeader, 24)
4390 }
4391
4392 static void test_pack_IMAGE_OPTIONAL_HEADER(void)
4393 {
4394     /* IMAGE_OPTIONAL_HEADER */
4395     TEST_TYPE_SIZE   (IMAGE_OPTIONAL_HEADER, 224)
4396     TEST_TYPE_ALIGN  (IMAGE_OPTIONAL_HEADER, 4)
4397 }
4398
4399 static void test_pack_IMAGE_OPTIONAL_HEADER32(void)
4400 {
4401     /* IMAGE_OPTIONAL_HEADER32 */
4402     TEST_TYPE_SIZE   (IMAGE_OPTIONAL_HEADER32, 224)
4403     TEST_TYPE_ALIGN  (IMAGE_OPTIONAL_HEADER32, 4)
4404     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, Magic, 2)
4405     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, Magic, 2)
4406     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, Magic, 0)
4407     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MajorLinkerVersion, 1)
4408     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorLinkerVersion, 1)
4409     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorLinkerVersion, 2)
4410     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MinorLinkerVersion, 1)
4411     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorLinkerVersion, 1)
4412     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorLinkerVersion, 3)
4413     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfCode, 4)
4414     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfCode, 4)
4415     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfCode, 4)
4416     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfInitializedData, 4)
4417     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfInitializedData, 4)
4418     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfInitializedData, 8)
4419     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfUninitializedData, 4)
4420     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfUninitializedData, 4)
4421     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfUninitializedData, 12)
4422     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, AddressOfEntryPoint, 4)
4423     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, AddressOfEntryPoint, 4)
4424     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, AddressOfEntryPoint, 16)
4425     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, BaseOfCode, 4)
4426     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, BaseOfCode, 4)
4427     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, BaseOfCode, 20)
4428     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, BaseOfData, 4)
4429     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, BaseOfData, 4)
4430     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, BaseOfData, 24)
4431     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, ImageBase, 4)
4432     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, ImageBase, 4)
4433     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, ImageBase, 28)
4434     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SectionAlignment, 4)
4435     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SectionAlignment, 4)
4436     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SectionAlignment, 32)
4437     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, FileAlignment, 4)
4438     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, FileAlignment, 4)
4439     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, FileAlignment, 36)
4440     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MajorOperatingSystemVersion, 2)
4441     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorOperatingSystemVersion, 2)
4442     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorOperatingSystemVersion, 40)
4443     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MinorOperatingSystemVersion, 2)
4444     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorOperatingSystemVersion, 2)
4445     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorOperatingSystemVersion, 42)
4446     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MajorImageVersion, 2)
4447     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorImageVersion, 2)
4448     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorImageVersion, 44)
4449     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MinorImageVersion, 2)
4450     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorImageVersion, 2)
4451     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorImageVersion, 46)
4452     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MajorSubsystemVersion, 2)
4453     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorSubsystemVersion, 2)
4454     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorSubsystemVersion, 48)
4455     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, MinorSubsystemVersion, 2)
4456     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorSubsystemVersion, 2)
4457     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorSubsystemVersion, 50)
4458     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, Win32VersionValue, 4)
4459     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, Win32VersionValue, 4)
4460     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, Win32VersionValue, 52)
4461     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfImage, 4)
4462     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfImage, 4)
4463     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfImage, 56)
4464     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfHeaders, 4)
4465     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfHeaders, 4)
4466     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfHeaders, 60)
4467     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, CheckSum, 4)
4468     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, CheckSum, 4)
4469     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, CheckSum, 64)
4470     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, Subsystem, 2)
4471     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, Subsystem, 2)
4472     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, Subsystem, 68)
4473     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, DllCharacteristics, 2)
4474     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, DllCharacteristics, 2)
4475     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, DllCharacteristics, 70)
4476     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfStackReserve, 4)
4477     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfStackReserve, 4)
4478     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfStackReserve, 72)
4479     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfStackCommit, 4)
4480     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfStackCommit, 4)
4481     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfStackCommit, 76)
4482     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfHeapReserve, 4)
4483     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfHeapReserve, 4)
4484     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfHeapReserve, 80)
4485     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, SizeOfHeapCommit, 4)
4486     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfHeapCommit, 4)
4487     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfHeapCommit, 84)
4488     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, LoaderFlags, 4)
4489     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, LoaderFlags, 4)
4490     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, LoaderFlags, 88)
4491     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, NumberOfRvaAndSizes, 4)
4492     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, NumberOfRvaAndSizes, 4)
4493     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, NumberOfRvaAndSizes, 92)
4494     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER32, DataDirectory, 128)
4495     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, DataDirectory, 4)
4496     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, DataDirectory, 96)
4497 }
4498
4499 static void test_pack_IMAGE_OPTIONAL_HEADER64(void)
4500 {
4501     /* IMAGE_OPTIONAL_HEADER64 */
4502     TEST_TYPE_SIZE   (IMAGE_OPTIONAL_HEADER64, 240)
4503     TEST_TYPE_ALIGN  (IMAGE_OPTIONAL_HEADER64, 8)
4504     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, Magic, 2)
4505     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, Magic, 2)
4506     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, Magic, 0)
4507     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MajorLinkerVersion, 1)
4508     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorLinkerVersion, 1)
4509     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorLinkerVersion, 2)
4510     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MinorLinkerVersion, 1)
4511     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorLinkerVersion, 1)
4512     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorLinkerVersion, 3)
4513     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfCode, 4)
4514     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfCode, 4)
4515     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfCode, 4)
4516     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfInitializedData, 4)
4517     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfInitializedData, 4)
4518     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfInitializedData, 8)
4519     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfUninitializedData, 4)
4520     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfUninitializedData, 4)
4521     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfUninitializedData, 12)
4522     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, AddressOfEntryPoint, 4)
4523     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, AddressOfEntryPoint, 4)
4524     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, AddressOfEntryPoint, 16)
4525     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, BaseOfCode, 4)
4526     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, BaseOfCode, 4)
4527     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, BaseOfCode, 20)
4528     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, ImageBase, 8)
4529     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, ImageBase, 8)
4530     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, ImageBase, 24)
4531     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SectionAlignment, 4)
4532     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SectionAlignment, 4)
4533     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SectionAlignment, 32)
4534     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, FileAlignment, 4)
4535     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, FileAlignment, 4)
4536     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, FileAlignment, 36)
4537     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MajorOperatingSystemVersion, 2)
4538     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorOperatingSystemVersion, 2)
4539     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorOperatingSystemVersion, 40)
4540     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MinorOperatingSystemVersion, 2)
4541     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorOperatingSystemVersion, 2)
4542     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorOperatingSystemVersion, 42)
4543     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MajorImageVersion, 2)
4544     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorImageVersion, 2)
4545     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorImageVersion, 44)
4546     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MinorImageVersion, 2)
4547     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorImageVersion, 2)
4548     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorImageVersion, 46)
4549     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MajorSubsystemVersion, 2)
4550     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorSubsystemVersion, 2)
4551     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorSubsystemVersion, 48)
4552     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, MinorSubsystemVersion, 2)
4553     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorSubsystemVersion, 2)
4554     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorSubsystemVersion, 50)
4555     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, Win32VersionValue, 4)
4556     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, Win32VersionValue, 4)
4557     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, Win32VersionValue, 52)
4558     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfImage, 4)
4559     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfImage, 4)
4560     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfImage, 56)
4561     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfHeaders, 4)
4562     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfHeaders, 4)
4563     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfHeaders, 60)
4564     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, CheckSum, 4)
4565     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, CheckSum, 4)
4566     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, CheckSum, 64)
4567     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, Subsystem, 2)
4568     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, Subsystem, 2)
4569     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, Subsystem, 68)
4570     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, DllCharacteristics, 2)
4571     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, DllCharacteristics, 2)
4572     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, DllCharacteristics, 70)
4573     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfStackReserve, 8)
4574     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfStackReserve, 8)
4575     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfStackReserve, 72)
4576     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfStackCommit, 8)
4577     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfStackCommit, 8)
4578     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfStackCommit, 80)
4579     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfHeapReserve, 8)
4580     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfHeapReserve, 8)
4581     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfHeapReserve, 88)
4582     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, SizeOfHeapCommit, 8)
4583     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfHeapCommit, 8)
4584     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfHeapCommit, 96)
4585     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, LoaderFlags, 4)
4586     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, LoaderFlags, 4)
4587     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, LoaderFlags, 104)
4588     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, NumberOfRvaAndSizes, 4)
4589     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, NumberOfRvaAndSizes, 4)
4590     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, NumberOfRvaAndSizes, 108)
4591     TEST_FIELD_SIZE  (IMAGE_OPTIONAL_HEADER64, DataDirectory, 128)
4592     TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, DataDirectory, 4)
4593     TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, DataDirectory, 112)
4594 }
4595
4596 static void test_pack_IMAGE_OS2_HEADER(void)
4597 {
4598     /* IMAGE_OS2_HEADER (pack 2) */
4599     TEST_TYPE_SIZE   (IMAGE_OS2_HEADER, 64)
4600     TEST_TYPE_ALIGN  (IMAGE_OS2_HEADER, 2)
4601     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_magic, 2)
4602     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_magic, 2)
4603     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_magic, 0)
4604     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_ver, 1)
4605     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_ver, 1)
4606     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_ver, 2)
4607     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_rev, 1)
4608     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_rev, 1)
4609     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_rev, 3)
4610     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_enttab, 2)
4611     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_enttab, 2)
4612     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_enttab, 4)
4613     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cbenttab, 2)
4614     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cbenttab, 2)
4615     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cbenttab, 6)
4616     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_crc, 4)
4617     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_crc, 2)
4618     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_crc, 8)
4619     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_flags, 2)
4620     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_flags, 2)
4621     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_flags, 12)
4622     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_autodata, 2)
4623     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_autodata, 2)
4624     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_autodata, 14)
4625     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_heap, 2)
4626     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_heap, 2)
4627     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_heap, 16)
4628     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_stack, 2)
4629     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_stack, 2)
4630     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_stack, 18)
4631     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_csip, 4)
4632     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_csip, 2)
4633     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_csip, 20)
4634     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_sssp, 4)
4635     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_sssp, 2)
4636     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_sssp, 24)
4637     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cseg, 2)
4638     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cseg, 2)
4639     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cseg, 28)
4640     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cmod, 2)
4641     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cmod, 2)
4642     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cmod, 30)
4643     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cbnrestab, 2)
4644     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cbnrestab, 2)
4645     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cbnrestab, 32)
4646     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_segtab, 2)
4647     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_segtab, 2)
4648     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_segtab, 34)
4649     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_rsrctab, 2)
4650     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_rsrctab, 2)
4651     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_rsrctab, 36)
4652     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_restab, 2)
4653     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_restab, 2)
4654     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_restab, 38)
4655     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_modtab, 2)
4656     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_modtab, 2)
4657     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_modtab, 40)
4658     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_imptab, 2)
4659     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_imptab, 2)
4660     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_imptab, 42)
4661     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_nrestab, 4)
4662     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_nrestab, 2)
4663     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_nrestab, 44)
4664     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cmovent, 2)
4665     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cmovent, 2)
4666     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cmovent, 48)
4667     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_align, 2)
4668     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_align, 2)
4669     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_align, 50)
4670     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_cres, 2)
4671     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_cres, 2)
4672     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_cres, 52)
4673     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_exetyp, 1)
4674     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_exetyp, 1)
4675     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_exetyp, 54)
4676     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_flagsothers, 1)
4677     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_flagsothers, 1)
4678     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_flagsothers, 55)
4679     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_pretthunks, 2)
4680     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_pretthunks, 2)
4681     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_pretthunks, 56)
4682     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_psegrefbytes, 2)
4683     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_psegrefbytes, 2)
4684     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_psegrefbytes, 58)
4685     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_swaparea, 2)
4686     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_swaparea, 2)
4687     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_swaparea, 60)
4688     TEST_FIELD_SIZE  (IMAGE_OS2_HEADER, ne_expver, 2)
4689     TEST_FIELD_ALIGN (IMAGE_OS2_HEADER, ne_expver, 2)
4690     TEST_FIELD_OFFSET(IMAGE_OS2_HEADER, ne_expver, 62)
4691 }
4692
4693 static void test_pack_IMAGE_RELOCATION(void)
4694 {
4695     /* IMAGE_RELOCATION (pack 2) */
4696 }
4697
4698 static void test_pack_IMAGE_RESOURCE_DATA_ENTRY(void)
4699 {
4700     /* IMAGE_RESOURCE_DATA_ENTRY */
4701     TEST_TYPE_SIZE   (IMAGE_RESOURCE_DATA_ENTRY, 16)
4702     TEST_TYPE_ALIGN  (IMAGE_RESOURCE_DATA_ENTRY, 4)
4703     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DATA_ENTRY, OffsetToData, 4)
4704     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DATA_ENTRY, OffsetToData, 4)
4705     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DATA_ENTRY, OffsetToData, 0)
4706     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DATA_ENTRY, Size, 4)
4707     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DATA_ENTRY, Size, 4)
4708     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DATA_ENTRY, Size, 4)
4709     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DATA_ENTRY, CodePage, 4)
4710     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DATA_ENTRY, CodePage, 4)
4711     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DATA_ENTRY, CodePage, 8)
4712     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DATA_ENTRY, Reserved, 4)
4713     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DATA_ENTRY, Reserved, 4)
4714     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DATA_ENTRY, Reserved, 12)
4715 }
4716
4717 static void test_pack_IMAGE_RESOURCE_DIRECTORY(void)
4718 {
4719     /* IMAGE_RESOURCE_DIRECTORY */
4720     TEST_TYPE_SIZE   (IMAGE_RESOURCE_DIRECTORY, 16)
4721     TEST_TYPE_ALIGN  (IMAGE_RESOURCE_DIRECTORY, 4)
4722     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, Characteristics, 4)
4723     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, Characteristics, 4)
4724     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, Characteristics, 0)
4725     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, TimeDateStamp, 4)
4726     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, TimeDateStamp, 4)
4727     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, TimeDateStamp, 4)
4728     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, MajorVersion, 2)
4729     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, MajorVersion, 2)
4730     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, MajorVersion, 8)
4731     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, MinorVersion, 2)
4732     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, MinorVersion, 2)
4733     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, MinorVersion, 10)
4734     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, NumberOfNamedEntries, 2)
4735     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, NumberOfNamedEntries, 2)
4736     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, NumberOfNamedEntries, 12)
4737     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY, NumberOfIdEntries, 2)
4738     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY, NumberOfIdEntries, 2)
4739     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY, NumberOfIdEntries, 14)
4740 }
4741
4742 static void test_pack_IMAGE_RESOURCE_DIRECTORY_ENTRY(void)
4743 {
4744     /* IMAGE_RESOURCE_DIRECTORY_ENTRY */
4745 }
4746
4747 static void test_pack_IMAGE_RESOURCE_DIRECTORY_STRING(void)
4748 {
4749     /* IMAGE_RESOURCE_DIRECTORY_STRING */
4750     TEST_TYPE_SIZE   (IMAGE_RESOURCE_DIRECTORY_STRING, 4)
4751     TEST_TYPE_ALIGN  (IMAGE_RESOURCE_DIRECTORY_STRING, 2)
4752     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY_STRING, Length, 2)
4753     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY_STRING, Length, 2)
4754     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY_STRING, Length, 0)
4755     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIRECTORY_STRING, NameString, 1)
4756     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIRECTORY_STRING, NameString, 1)
4757     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIRECTORY_STRING, NameString, 2)
4758 }
4759
4760 static void test_pack_IMAGE_RESOURCE_DIR_STRING_U(void)
4761 {
4762     /* IMAGE_RESOURCE_DIR_STRING_U */
4763     TEST_TYPE_SIZE   (IMAGE_RESOURCE_DIR_STRING_U, 4)
4764     TEST_TYPE_ALIGN  (IMAGE_RESOURCE_DIR_STRING_U, 2)
4765     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIR_STRING_U, Length, 2)
4766     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIR_STRING_U, Length, 2)
4767     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIR_STRING_U, Length, 0)
4768     TEST_FIELD_SIZE  (IMAGE_RESOURCE_DIR_STRING_U, NameString, 2)
4769     TEST_FIELD_ALIGN (IMAGE_RESOURCE_DIR_STRING_U, NameString, 2)
4770     TEST_FIELD_OFFSET(IMAGE_RESOURCE_DIR_STRING_U, NameString, 2)
4771 }
4772
4773 static void test_pack_IMAGE_SECTION_HEADER(void)
4774 {
4775     /* IMAGE_SECTION_HEADER */
4776     TEST_FIELD_SIZE  (IMAGE_SECTION_HEADER, Name, 8)
4777     TEST_FIELD_ALIGN (IMAGE_SECTION_HEADER, Name, 1)
4778     TEST_FIELD_OFFSET(IMAGE_SECTION_HEADER, Name, 0)
4779 }
4780
4781 static void test_pack_IMAGE_SEPARATE_DEBUG_HEADER(void)
4782 {
4783     /* IMAGE_SEPARATE_DEBUG_HEADER */
4784     TEST_TYPE_SIZE   (IMAGE_SEPARATE_DEBUG_HEADER, 48)
4785     TEST_TYPE_ALIGN  (IMAGE_SEPARATE_DEBUG_HEADER, 4)
4786     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Signature, 2)
4787     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Signature, 2)
4788     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Signature, 0)
4789     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Flags, 2)
4790     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Flags, 2)
4791     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Flags, 2)
4792     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Machine, 2)
4793     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Machine, 2)
4794     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Machine, 4)
4795     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Characteristics, 2)
4796     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Characteristics, 2)
4797     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Characteristics, 6)
4798     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, TimeDateStamp, 4)
4799     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, TimeDateStamp, 4)
4800     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, TimeDateStamp, 8)
4801     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, CheckSum, 4)
4802     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, CheckSum, 4)
4803     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, CheckSum, 12)
4804     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, ImageBase, 4)
4805     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, ImageBase, 4)
4806     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, ImageBase, 16)
4807     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, SizeOfImage, 4)
4808     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, SizeOfImage, 4)
4809     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, SizeOfImage, 20)
4810     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, NumberOfSections, 4)
4811     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, NumberOfSections, 4)
4812     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, NumberOfSections, 24)
4813     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, ExportedNamesSize, 4)
4814     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, ExportedNamesSize, 4)
4815     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, ExportedNamesSize, 28)
4816     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, DebugDirectorySize, 4)
4817     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, DebugDirectorySize, 4)
4818     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, DebugDirectorySize, 32)
4819     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, SectionAlignment, 4)
4820     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, SectionAlignment, 4)
4821     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, SectionAlignment, 36)
4822     TEST_FIELD_SIZE  (IMAGE_SEPARATE_DEBUG_HEADER, Reserved, 8)
4823     TEST_FIELD_ALIGN (IMAGE_SEPARATE_DEBUG_HEADER, Reserved, 4)
4824     TEST_FIELD_OFFSET(IMAGE_SEPARATE_DEBUG_HEADER, Reserved, 40)
4825 }
4826
4827 static void test_pack_IMAGE_SYMBOL(void)
4828 {
4829     /* IMAGE_SYMBOL (pack 2) */
4830 }
4831
4832 static void test_pack_IMAGE_THUNK_DATA(void)
4833 {
4834     /* IMAGE_THUNK_DATA */
4835 }
4836
4837 static void test_pack_IMAGE_TLS_DIRECTORY(void)
4838 {
4839     /* IMAGE_TLS_DIRECTORY */
4840     TEST_TYPE_SIZE   (IMAGE_TLS_DIRECTORY, 24)
4841     TEST_TYPE_ALIGN  (IMAGE_TLS_DIRECTORY, 4)
4842 }
4843
4844 static void test_pack_IMAGE_TLS_DIRECTORY32(void)
4845 {
4846     /* IMAGE_TLS_DIRECTORY32 */
4847     TEST_TYPE_SIZE   (IMAGE_TLS_DIRECTORY32, 24)
4848     TEST_TYPE_ALIGN  (IMAGE_TLS_DIRECTORY32, 4)
4849     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY32, StartAddressOfRawData, 4)
4850     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, StartAddressOfRawData, 4)
4851     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, StartAddressOfRawData, 0)
4852     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY32, EndAddressOfRawData, 4)
4853     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, EndAddressOfRawData, 4)
4854     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, EndAddressOfRawData, 4)
4855     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY32, AddressOfIndex, 4)
4856     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, AddressOfIndex, 4)
4857     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, AddressOfIndex, 8)
4858     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY32, AddressOfCallBacks, 4)
4859     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, AddressOfCallBacks, 4)
4860     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, AddressOfCallBacks, 12)
4861     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY32, SizeOfZeroFill, 4)
4862     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, SizeOfZeroFill, 4)
4863     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, SizeOfZeroFill, 16)
4864     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY32, Characteristics, 4)
4865     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, Characteristics, 4)
4866     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, Characteristics, 20)
4867 }
4868
4869 static void test_pack_IMAGE_TLS_DIRECTORY64(void)
4870 {
4871     /* IMAGE_TLS_DIRECTORY64 */
4872     TEST_TYPE_SIZE   (IMAGE_TLS_DIRECTORY64, 40)
4873     TEST_TYPE_ALIGN  (IMAGE_TLS_DIRECTORY64, 8)
4874     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY64, StartAddressOfRawData, 8)
4875     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, StartAddressOfRawData, 8)
4876     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, StartAddressOfRawData, 0)
4877     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY64, EndAddressOfRawData, 8)
4878     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, EndAddressOfRawData, 8)
4879     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, EndAddressOfRawData, 8)
4880     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY64, AddressOfIndex, 8)
4881     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, AddressOfIndex, 8)
4882     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, AddressOfIndex, 16)
4883     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY64, AddressOfCallBacks, 8)
4884     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, AddressOfCallBacks, 8)
4885     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, AddressOfCallBacks, 24)
4886     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY64, SizeOfZeroFill, 4)
4887     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, SizeOfZeroFill, 4)
4888     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, SizeOfZeroFill, 32)
4889     TEST_FIELD_SIZE  (IMAGE_TLS_DIRECTORY64, Characteristics, 4)
4890     TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, Characteristics, 4)
4891     TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, Characteristics, 36)
4892 }
4893
4894 static void test_pack_IMAGE_VXD_HEADER(void)
4895 {
4896     /* IMAGE_VXD_HEADER (pack 2) */
4897     TEST_TYPE_SIZE   (IMAGE_VXD_HEADER, 196)
4898     TEST_TYPE_ALIGN  (IMAGE_VXD_HEADER, 2)
4899     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_magic, 2)
4900     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_magic, 2)
4901     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_magic, 0)
4902     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_border, 1)
4903     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_border, 1)
4904     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_border, 2)
4905     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_worder, 1)
4906     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_worder, 1)
4907     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_worder, 3)
4908     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_level, 4)
4909     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_level, 2)
4910     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_level, 4)
4911     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_cpu, 2)
4912     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_cpu, 2)
4913     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_cpu, 8)
4914     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_os, 2)
4915     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_os, 2)
4916     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_os, 10)
4917     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_ver, 4)
4918     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_ver, 2)
4919     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_ver, 12)
4920     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_mflags, 4)
4921     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_mflags, 2)
4922     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_mflags, 16)
4923     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_mpages, 4)
4924     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_mpages, 2)
4925     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_mpages, 20)
4926     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_startobj, 4)
4927     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_startobj, 2)
4928     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_startobj, 24)
4929     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_eip, 4)
4930     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_eip, 2)
4931     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_eip, 28)
4932     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_stackobj, 4)
4933     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_stackobj, 2)
4934     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_stackobj, 32)
4935     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_esp, 4)
4936     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_esp, 2)
4937     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_esp, 36)
4938     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_pagesize, 4)
4939     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_pagesize, 2)
4940     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_pagesize, 40)
4941     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_lastpagesize, 4)
4942     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_lastpagesize, 2)
4943     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_lastpagesize, 44)
4944     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_fixupsize, 4)
4945     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_fixupsize, 2)
4946     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_fixupsize, 48)
4947     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_fixupsum, 4)
4948     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_fixupsum, 2)
4949     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_fixupsum, 52)
4950     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_ldrsize, 4)
4951     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_ldrsize, 2)
4952     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_ldrsize, 56)
4953     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_ldrsum, 4)
4954     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_ldrsum, 2)
4955     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_ldrsum, 60)
4956     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_objtab, 4)
4957     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_objtab, 2)
4958     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_objtab, 64)
4959     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_objcnt, 4)
4960     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_objcnt, 2)
4961     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_objcnt, 68)
4962     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_objmap, 4)
4963     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_objmap, 2)
4964     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_objmap, 72)
4965     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_itermap, 4)
4966     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_itermap, 2)
4967     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_itermap, 76)
4968     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_rsrctab, 4)
4969     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_rsrctab, 2)
4970     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_rsrctab, 80)
4971     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_rsrccnt, 4)
4972     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_rsrccnt, 2)
4973     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_rsrccnt, 84)
4974     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_restab, 4)
4975     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_restab, 2)
4976     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_restab, 88)
4977     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_enttab, 4)
4978     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_enttab, 2)
4979     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_enttab, 92)
4980     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_dirtab, 4)
4981     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_dirtab, 2)
4982     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_dirtab, 96)
4983     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_dircnt, 4)
4984     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_dircnt, 2)
4985     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_dircnt, 100)
4986     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_fpagetab, 4)
4987     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_fpagetab, 2)
4988     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_fpagetab, 104)
4989     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_frectab, 4)
4990     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_frectab, 2)
4991     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_frectab, 108)
4992     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_impmod, 4)
4993     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_impmod, 2)
4994     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_impmod, 112)
4995     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_impmodcnt, 4)
4996     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_impmodcnt, 2)
4997     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_impmodcnt, 116)
4998     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_impproc, 4)
4999     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_impproc, 2)
5000     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_impproc, 120)
5001     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_pagesum, 4)
5002     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_pagesum, 2)
5003     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_pagesum, 124)
5004     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_datapage, 4)
5005     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_datapage, 2)
5006     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_datapage, 128)
5007     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_preload, 4)
5008     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_preload, 2)
5009     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_preload, 132)
5010     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_nrestab, 4)
5011     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_nrestab, 2)
5012     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_nrestab, 136)
5013     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_cbnrestab, 4)
5014     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_cbnrestab, 2)
5015     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_cbnrestab, 140)
5016     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_nressum, 4)
5017     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_nressum, 2)
5018     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_nressum, 144)
5019     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_autodata, 4)
5020     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_autodata, 2)
5021     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_autodata, 148)
5022     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_debuginfo, 4)
5023     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_debuginfo, 2)
5024     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_debuginfo, 152)
5025     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_debuglen, 4)
5026     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_debuglen, 2)
5027     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_debuglen, 156)
5028     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_instpreload, 4)
5029     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_instpreload, 2)
5030     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_instpreload, 160)
5031     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_instdemand, 4)
5032     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_instdemand, 2)
5033     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_instdemand, 164)
5034     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_heapsize, 4)
5035     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_heapsize, 2)
5036     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_heapsize, 168)
5037     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_res3, 12)
5038     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_res3, 1)
5039     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_res3, 172)
5040     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_winresoff, 4)
5041     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_winresoff, 2)
5042     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_winresoff, 184)
5043     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_winreslen, 4)
5044     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_winreslen, 2)
5045     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_winreslen, 188)
5046     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_devid, 2)
5047     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_devid, 2)
5048     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_devid, 192)
5049     TEST_FIELD_SIZE  (IMAGE_VXD_HEADER, e32_ddkver, 2)
5050     TEST_FIELD_ALIGN (IMAGE_VXD_HEADER, e32_ddkver, 2)
5051     TEST_FIELD_OFFSET(IMAGE_VXD_HEADER, e32_ddkver, 194)
5052 }
5053
5054 static void test_pack_IO_COUNTERS(void)
5055 {
5056     /* IO_COUNTERS (pack 8) */
5057     TEST_TYPE_SIZE   (IO_COUNTERS, 48)
5058     TEST_TYPE_ALIGN  (IO_COUNTERS, 8)
5059     TEST_FIELD_SIZE  (IO_COUNTERS, ReadOperationCount, 8)
5060     TEST_FIELD_ALIGN (IO_COUNTERS, ReadOperationCount, 8)
5061     TEST_FIELD_OFFSET(IO_COUNTERS, ReadOperationCount, 0)
5062     TEST_FIELD_SIZE  (IO_COUNTERS, WriteOperationCount, 8)
5063     TEST_FIELD_ALIGN (IO_COUNTERS, WriteOperationCount, 8)
5064     TEST_FIELD_OFFSET(IO_COUNTERS, WriteOperationCount, 8)
5065     TEST_FIELD_SIZE  (IO_COUNTERS, OtherOperationCount, 8)
5066     TEST_FIELD_ALIGN (IO_COUNTERS, OtherOperationCount, 8)
5067     TEST_FIELD_OFFSET(IO_COUNTERS, OtherOperationCount, 16)
5068     TEST_FIELD_SIZE  (IO_COUNTERS, ReadTransferCount, 8)
5069     TEST_FIELD_ALIGN (IO_COUNTERS, ReadTransferCount, 8)
5070     TEST_FIELD_OFFSET(IO_COUNTERS, ReadTransferCount, 24)
5071     TEST_FIELD_SIZE  (IO_COUNTERS, WriteTransferCount, 8)
5072     TEST_FIELD_ALIGN (IO_COUNTERS, WriteTransferCount, 8)
5073     TEST_FIELD_OFFSET(IO_COUNTERS, WriteTransferCount, 32)
5074     TEST_FIELD_SIZE  (IO_COUNTERS, OtherTransferCount, 8)
5075     TEST_FIELD_ALIGN (IO_COUNTERS, OtherTransferCount, 8)
5076     TEST_FIELD_OFFSET(IO_COUNTERS, OtherTransferCount, 40)
5077 }
5078
5079 static void test_pack_LANGID(void)
5080 {
5081     /* LANGID */
5082     TEST_TYPE_SIZE   (LANGID, 2)
5083     TEST_TYPE_ALIGN  (LANGID, 2)
5084     TEST_TYPE_UNSIGNED(LANGID)
5085 }
5086
5087 static void test_pack_LARGE_INTEGER(void)
5088 {
5089     /* LARGE_INTEGER */
5090 }
5091
5092 static void test_pack_LCID(void)
5093 {
5094     /* LCID */
5095     TEST_TYPE_SIZE   (LCID, 4)
5096     TEST_TYPE_ALIGN  (LCID, 4)
5097     TEST_TYPE_UNSIGNED(LCID)
5098 }
5099
5100 static void test_pack_LIST_ENTRY(void)
5101 {
5102     /* LIST_ENTRY */
5103     TEST_TYPE_SIZE   (LIST_ENTRY, 8)
5104     TEST_TYPE_ALIGN  (LIST_ENTRY, 4)
5105     TEST_FIELD_SIZE  (LIST_ENTRY, Flink, 4)
5106     TEST_FIELD_ALIGN (LIST_ENTRY, Flink, 4)
5107     TEST_FIELD_OFFSET(LIST_ENTRY, Flink, 0)
5108     TEST_FIELD_SIZE  (LIST_ENTRY, Blink, 4)
5109     TEST_FIELD_ALIGN (LIST_ENTRY, Blink, 4)
5110     TEST_FIELD_OFFSET(LIST_ENTRY, Blink, 4)
5111 }
5112
5113 static void test_pack_LONG(void)
5114 {
5115     /* LONG */
5116     TEST_TYPE_SIZE   (LONG, 4)
5117     TEST_TYPE_ALIGN  (LONG, 4)
5118     TEST_TYPE_SIGNED(LONG)
5119 }
5120
5121 static void test_pack_LONGLONG(void)
5122 {
5123     /* LONGLONG */
5124     TEST_TYPE_SIZE   (LONGLONG, 8)
5125     TEST_TYPE_ALIGN  (LONGLONG, 8)
5126     TEST_TYPE_SIGNED(LONGLONG)
5127 }
5128
5129 static void test_pack_LUID(void)
5130 {
5131     /* LUID */
5132     TEST_TYPE_SIZE   (LUID, 8)
5133     TEST_TYPE_ALIGN  (LUID, 4)
5134     TEST_FIELD_SIZE  (LUID, LowPart, 4)
5135     TEST_FIELD_ALIGN (LUID, LowPart, 4)
5136     TEST_FIELD_OFFSET(LUID, LowPart, 0)
5137     TEST_FIELD_SIZE  (LUID, HighPart, 4)
5138     TEST_FIELD_ALIGN (LUID, HighPart, 4)
5139     TEST_FIELD_OFFSET(LUID, HighPart, 4)
5140 }
5141
5142 static void test_pack_LUID_AND_ATTRIBUTES(void)
5143 {
5144     /* LUID_AND_ATTRIBUTES (pack 4) */
5145     TEST_TYPE_SIZE   (LUID_AND_ATTRIBUTES, 12)
5146     TEST_TYPE_ALIGN  (LUID_AND_ATTRIBUTES, 4)
5147     TEST_FIELD_SIZE  (LUID_AND_ATTRIBUTES, Luid, 8)
5148     TEST_FIELD_ALIGN (LUID_AND_ATTRIBUTES, Luid, 4)
5149     TEST_FIELD_OFFSET(LUID_AND_ATTRIBUTES, Luid, 0)
5150     TEST_FIELD_SIZE  (LUID_AND_ATTRIBUTES, Attributes, 4)
5151     TEST_FIELD_ALIGN (LUID_AND_ATTRIBUTES, Attributes, 4)
5152     TEST_FIELD_OFFSET(LUID_AND_ATTRIBUTES, Attributes, 8)
5153 }
5154
5155 static void test_pack_MEMORY_BASIC_INFORMATION(void)
5156 {
5157     /* MEMORY_BASIC_INFORMATION */
5158     TEST_TYPE_SIZE   (MEMORY_BASIC_INFORMATION, 28)
5159     TEST_TYPE_ALIGN  (MEMORY_BASIC_INFORMATION, 4)
5160     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, BaseAddress, 4)
5161     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, BaseAddress, 4)
5162     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, BaseAddress, 0)
5163     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, AllocationBase, 4)
5164     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, AllocationBase, 4)
5165     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, AllocationBase, 4)
5166     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, AllocationProtect, 4)
5167     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, AllocationProtect, 4)
5168     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, AllocationProtect, 8)
5169     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, RegionSize, 4)
5170     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, RegionSize, 4)
5171     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, RegionSize, 12)
5172     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, State, 4)
5173     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, State, 4)
5174     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, State, 16)
5175     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, Protect, 4)
5176     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, Protect, 4)
5177     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, Protect, 20)
5178     TEST_FIELD_SIZE  (MEMORY_BASIC_INFORMATION, Type, 4)
5179     TEST_FIELD_ALIGN (MEMORY_BASIC_INFORMATION, Type, 4)
5180     TEST_FIELD_OFFSET(MEMORY_BASIC_INFORMATION, Type, 24)
5181 }
5182
5183 static void test_pack_MESSAGE_RESOURCE_BLOCK(void)
5184 {
5185     /* MESSAGE_RESOURCE_BLOCK */
5186     TEST_TYPE_SIZE   (MESSAGE_RESOURCE_BLOCK, 12)
5187     TEST_TYPE_ALIGN  (MESSAGE_RESOURCE_BLOCK, 4)
5188     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_BLOCK, LowId, 4)
5189     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_BLOCK, LowId, 4)
5190     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_BLOCK, LowId, 0)
5191     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_BLOCK, HighId, 4)
5192     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_BLOCK, HighId, 4)
5193     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_BLOCK, HighId, 4)
5194     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_BLOCK, OffsetToEntries, 4)
5195     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_BLOCK, OffsetToEntries, 4)
5196     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_BLOCK, OffsetToEntries, 8)
5197 }
5198
5199 static void test_pack_MESSAGE_RESOURCE_DATA(void)
5200 {
5201     /* MESSAGE_RESOURCE_DATA */
5202     TEST_TYPE_SIZE   (MESSAGE_RESOURCE_DATA, 16)
5203     TEST_TYPE_ALIGN  (MESSAGE_RESOURCE_DATA, 4)
5204     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_DATA, NumberOfBlocks, 4)
5205     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_DATA, NumberOfBlocks, 4)
5206     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_DATA, NumberOfBlocks, 0)
5207     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_DATA, Blocks, 12)
5208     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_DATA, Blocks, 4)
5209     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_DATA, Blocks, 4)
5210 }
5211
5212 static void test_pack_MESSAGE_RESOURCE_ENTRY(void)
5213 {
5214     /* MESSAGE_RESOURCE_ENTRY */
5215     TEST_TYPE_SIZE   (MESSAGE_RESOURCE_ENTRY, 6)
5216     TEST_TYPE_ALIGN  (MESSAGE_RESOURCE_ENTRY, 2)
5217     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_ENTRY, Length, 2)
5218     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_ENTRY, Length, 2)
5219     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_ENTRY, Length, 0)
5220     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_ENTRY, Flags, 2)
5221     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_ENTRY, Flags, 2)
5222     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_ENTRY, Flags, 2)
5223     TEST_FIELD_SIZE  (MESSAGE_RESOURCE_ENTRY, Text, 1)
5224     TEST_FIELD_ALIGN (MESSAGE_RESOURCE_ENTRY, Text, 1)
5225     TEST_FIELD_OFFSET(MESSAGE_RESOURCE_ENTRY, Text, 4)
5226 }
5227
5228 static void test_pack_NT_TIB(void)
5229 {
5230     /* NT_TIB */
5231     TEST_FIELD_SIZE  (NT_TIB, ExceptionList, 4)
5232     TEST_FIELD_ALIGN (NT_TIB, ExceptionList, 4)
5233     TEST_FIELD_OFFSET(NT_TIB, ExceptionList, 0)
5234     TEST_FIELD_SIZE  (NT_TIB, StackBase, 4)
5235     TEST_FIELD_ALIGN (NT_TIB, StackBase, 4)
5236     TEST_FIELD_OFFSET(NT_TIB, StackBase, 4)
5237     TEST_FIELD_SIZE  (NT_TIB, StackLimit, 4)
5238     TEST_FIELD_ALIGN (NT_TIB, StackLimit, 4)
5239     TEST_FIELD_OFFSET(NT_TIB, StackLimit, 8)
5240     TEST_FIELD_SIZE  (NT_TIB, SubSystemTib, 4)
5241     TEST_FIELD_ALIGN (NT_TIB, SubSystemTib, 4)
5242     TEST_FIELD_OFFSET(NT_TIB, SubSystemTib, 12)
5243 }
5244
5245 static void test_pack_OBJECT_TYPE_LIST(void)
5246 {
5247     /* OBJECT_TYPE_LIST */
5248     TEST_TYPE_SIZE   (OBJECT_TYPE_LIST, 8)
5249     TEST_TYPE_ALIGN  (OBJECT_TYPE_LIST, 4)
5250     TEST_FIELD_SIZE  (OBJECT_TYPE_LIST, Level, 2)
5251     TEST_FIELD_ALIGN (OBJECT_TYPE_LIST, Level, 2)
5252     TEST_FIELD_OFFSET(OBJECT_TYPE_LIST, Level, 0)
5253     TEST_FIELD_SIZE  (OBJECT_TYPE_LIST, Sbz, 2)
5254     TEST_FIELD_ALIGN (OBJECT_TYPE_LIST, Sbz, 2)
5255     TEST_FIELD_OFFSET(OBJECT_TYPE_LIST, Sbz, 2)
5256     TEST_FIELD_SIZE  (OBJECT_TYPE_LIST, ObjectType, 4)
5257     TEST_FIELD_ALIGN (OBJECT_TYPE_LIST, ObjectType, 4)
5258     TEST_FIELD_OFFSET(OBJECT_TYPE_LIST, ObjectType, 4)
5259 }
5260
5261 static void test_pack_PACCESS_ALLOWED_ACE(void)
5262 {
5263     /* PACCESS_ALLOWED_ACE */
5264     TEST_TYPE_SIZE   (PACCESS_ALLOWED_ACE, 4)
5265     TEST_TYPE_ALIGN  (PACCESS_ALLOWED_ACE, 4)
5266     TEST_TARGET_SIZE (PACCESS_ALLOWED_ACE, 12)
5267     TEST_TARGET_ALIGN(PACCESS_ALLOWED_ACE, 4)
5268 }
5269
5270 static void test_pack_PACCESS_DENIED_ACE(void)
5271 {
5272     /* PACCESS_DENIED_ACE */
5273     TEST_TYPE_SIZE   (PACCESS_DENIED_ACE, 4)
5274     TEST_TYPE_ALIGN  (PACCESS_DENIED_ACE, 4)
5275     TEST_TARGET_SIZE (PACCESS_DENIED_ACE, 12)
5276     TEST_TARGET_ALIGN(PACCESS_DENIED_ACE, 4)
5277 }
5278
5279 static void test_pack_PACCESS_TOKEN(void)
5280 {
5281     /* PACCESS_TOKEN */
5282     TEST_TYPE_SIZE   (PACCESS_TOKEN, 4)
5283     TEST_TYPE_ALIGN  (PACCESS_TOKEN, 4)
5284 }
5285
5286 static void test_pack_PACE_HEADER(void)
5287 {
5288     /* PACE_HEADER */
5289     TEST_TYPE_SIZE   (PACE_HEADER, 4)
5290     TEST_TYPE_ALIGN  (PACE_HEADER, 4)
5291     TEST_TARGET_SIZE (PACE_HEADER, 4)
5292     TEST_TARGET_ALIGN(PACE_HEADER, 2)
5293 }
5294
5295 static void test_pack_PACL(void)
5296 {
5297     /* PACL */
5298     TEST_TYPE_SIZE   (PACL, 4)
5299     TEST_TYPE_ALIGN  (PACL, 4)
5300     TEST_TARGET_SIZE (PACL, 8)
5301     TEST_TARGET_ALIGN(PACL, 2)
5302 }
5303
5304 static void test_pack_PACL_REVISION_INFORMATION(void)
5305 {
5306     /* PACL_REVISION_INFORMATION */
5307     TEST_TYPE_SIZE   (PACL_REVISION_INFORMATION, 4)
5308     TEST_TYPE_ALIGN  (PACL_REVISION_INFORMATION, 4)
5309     TEST_TARGET_SIZE (PACL_REVISION_INFORMATION, 4)
5310     TEST_TARGET_ALIGN(PACL_REVISION_INFORMATION, 4)
5311 }
5312
5313 static void test_pack_PACL_SIZE_INFORMATION(void)
5314 {
5315     /* PACL_SIZE_INFORMATION */
5316     TEST_TYPE_SIZE   (PACL_SIZE_INFORMATION, 4)
5317     TEST_TYPE_ALIGN  (PACL_SIZE_INFORMATION, 4)
5318     TEST_TARGET_SIZE (PACL_SIZE_INFORMATION, 12)
5319     TEST_TARGET_ALIGN(PACL_SIZE_INFORMATION, 4)
5320 }
5321
5322 static void test_pack_PCCH(void)
5323 {
5324     /* PCCH */
5325     TEST_TYPE_SIZE   (PCCH, 4)
5326     TEST_TYPE_ALIGN  (PCCH, 4)
5327     TEST_TARGET_SIZE (PCCH, 1)
5328     TEST_TARGET_ALIGN(PCCH, 1)
5329 }
5330
5331 static void test_pack_PCH(void)
5332 {
5333     /* PCH */
5334     TEST_TYPE_SIZE   (PCH, 4)
5335     TEST_TYPE_ALIGN  (PCH, 4)
5336     TEST_TARGET_SIZE (PCH, 1)
5337     TEST_TARGET_ALIGN(PCH, 1)
5338 }
5339
5340 static void test_pack_PCSTR(void)
5341 {
5342     /* PCSTR */
5343     TEST_TYPE_SIZE   (PCSTR, 4)
5344     TEST_TYPE_ALIGN  (PCSTR, 4)
5345     TEST_TARGET_SIZE (PCSTR, 1)
5346     TEST_TARGET_ALIGN(PCSTR, 1)
5347 }
5348
5349 static void test_pack_PCTSTR(void)
5350 {
5351     /* PCTSTR */
5352     TEST_TYPE_SIZE   (PCTSTR, 4)
5353     TEST_TYPE_ALIGN  (PCTSTR, 4)
5354 }
5355
5356 static void test_pack_PCWCH(void)
5357 {
5358     /* PCWCH */
5359     TEST_TYPE_SIZE   (PCWCH, 4)
5360     TEST_TYPE_ALIGN  (PCWCH, 4)
5361     TEST_TARGET_SIZE (PCWCH, 2)
5362     TEST_TARGET_ALIGN(PCWCH, 2)
5363 }
5364
5365 static void test_pack_PCWSTR(void)
5366 {
5367     /* PCWSTR */
5368     TEST_TYPE_SIZE   (PCWSTR, 4)
5369     TEST_TYPE_ALIGN  (PCWSTR, 4)
5370     TEST_TARGET_SIZE (PCWSTR, 2)
5371     TEST_TARGET_ALIGN(PCWSTR, 2)
5372 }
5373
5374 static void test_pack_PEXCEPTION_POINTERS(void)
5375 {
5376     /* PEXCEPTION_POINTERS */
5377     TEST_TYPE_SIZE   (PEXCEPTION_POINTERS, 4)
5378     TEST_TYPE_ALIGN  (PEXCEPTION_POINTERS, 4)
5379     TEST_TARGET_SIZE (PEXCEPTION_POINTERS, 8)
5380     TEST_TARGET_ALIGN(PEXCEPTION_POINTERS, 4)
5381 }
5382
5383 static void test_pack_PEXCEPTION_RECORD(void)
5384 {
5385     /* PEXCEPTION_RECORD */
5386     TEST_TYPE_SIZE   (PEXCEPTION_RECORD, 4)
5387     TEST_TYPE_ALIGN  (PEXCEPTION_RECORD, 4)
5388     TEST_TARGET_SIZE (PEXCEPTION_RECORD, 80)
5389     TEST_TARGET_ALIGN(PEXCEPTION_RECORD, 4)
5390 }
5391
5392 static void test_pack_PFLOATING_SAVE_AREA(void)
5393 {
5394     /* PFLOATING_SAVE_AREA */
5395     TEST_TYPE_SIZE   (PFLOATING_SAVE_AREA, 4)
5396     TEST_TYPE_ALIGN  (PFLOATING_SAVE_AREA, 4)
5397     TEST_TARGET_SIZE (PFLOATING_SAVE_AREA, 112)
5398     TEST_TARGET_ALIGN(PFLOATING_SAVE_AREA, 4)
5399 }
5400
5401 static void test_pack_PFPO_DATA(void)
5402 {
5403     /* PFPO_DATA */
5404     TEST_TYPE_SIZE   (PFPO_DATA, 4)
5405     TEST_TYPE_ALIGN  (PFPO_DATA, 4)
5406     TEST_TARGET_SIZE (PFPO_DATA, 16)
5407     TEST_TARGET_ALIGN(PFPO_DATA, 4)
5408 }
5409
5410 static void test_pack_PGENERIC_MAPPING(void)
5411 {
5412     /* PGENERIC_MAPPING */
5413     TEST_TYPE_SIZE   (PGENERIC_MAPPING, 4)
5414     TEST_TYPE_ALIGN  (PGENERIC_MAPPING, 4)
5415     TEST_TARGET_SIZE (PGENERIC_MAPPING, 16)
5416     TEST_TARGET_ALIGN(PGENERIC_MAPPING, 4)
5417 }
5418
5419 static void test_pack_PHANDLE(void)
5420 {
5421     /* PHANDLE */
5422     TEST_TYPE_SIZE   (PHANDLE, 4)
5423     TEST_TYPE_ALIGN  (PHANDLE, 4)
5424     TEST_TARGET_SIZE (PHANDLE, 4)
5425     TEST_TARGET_ALIGN(PHANDLE, 4)
5426 }
5427
5428 static void test_pack_PIMAGE_ARCHIVE_MEMBER_HEADER(void)
5429 {
5430     /* PIMAGE_ARCHIVE_MEMBER_HEADER */
5431     TEST_TYPE_SIZE   (PIMAGE_ARCHIVE_MEMBER_HEADER, 4)
5432     TEST_TYPE_ALIGN  (PIMAGE_ARCHIVE_MEMBER_HEADER, 4)
5433     TEST_TARGET_SIZE (PIMAGE_ARCHIVE_MEMBER_HEADER, 60)
5434     TEST_TARGET_ALIGN(PIMAGE_ARCHIVE_MEMBER_HEADER, 1)
5435 }
5436
5437 static void test_pack_PIMAGE_AUX_SYMBOL(void)
5438 {
5439     /* PIMAGE_AUX_SYMBOL */
5440     TEST_TYPE_SIZE   (PIMAGE_AUX_SYMBOL, 4)
5441     TEST_TYPE_ALIGN  (PIMAGE_AUX_SYMBOL, 4)
5442 }
5443
5444 static void test_pack_PIMAGE_BASE_RELOCATION(void)
5445 {
5446     /* PIMAGE_BASE_RELOCATION */
5447     TEST_TYPE_SIZE   (PIMAGE_BASE_RELOCATION, 4)
5448     TEST_TYPE_ALIGN  (PIMAGE_BASE_RELOCATION, 4)
5449     TEST_TARGET_SIZE (PIMAGE_BASE_RELOCATION, 8)
5450     TEST_TARGET_ALIGN(PIMAGE_BASE_RELOCATION, 4)
5451 }
5452
5453 static void test_pack_PIMAGE_BOUND_FORWARDER_REF(void)
5454 {
5455     /* PIMAGE_BOUND_FORWARDER_REF */
5456     TEST_TYPE_SIZE   (PIMAGE_BOUND_FORWARDER_REF, 4)
5457     TEST_TYPE_ALIGN  (PIMAGE_BOUND_FORWARDER_REF, 4)
5458     TEST_TARGET_SIZE (PIMAGE_BOUND_FORWARDER_REF, 8)
5459     TEST_TARGET_ALIGN(PIMAGE_BOUND_FORWARDER_REF, 4)
5460 }
5461
5462 static void test_pack_PIMAGE_BOUND_IMPORT_DESCRIPTOR(void)
5463 {
5464     /* PIMAGE_BOUND_IMPORT_DESCRIPTOR */
5465     TEST_TYPE_SIZE   (PIMAGE_BOUND_IMPORT_DESCRIPTOR, 4)
5466     TEST_TYPE_ALIGN  (PIMAGE_BOUND_IMPORT_DESCRIPTOR, 4)
5467     TEST_TARGET_SIZE (PIMAGE_BOUND_IMPORT_DESCRIPTOR, 8)
5468     TEST_TARGET_ALIGN(PIMAGE_BOUND_IMPORT_DESCRIPTOR, 4)
5469 }
5470
5471 static void test_pack_PIMAGE_COFF_SYMBOLS_HEADER(void)
5472 {
5473     /* PIMAGE_COFF_SYMBOLS_HEADER */
5474     TEST_TYPE_SIZE   (PIMAGE_COFF_SYMBOLS_HEADER, 4)
5475     TEST_TYPE_ALIGN  (PIMAGE_COFF_SYMBOLS_HEADER, 4)
5476     TEST_TARGET_SIZE (PIMAGE_COFF_SYMBOLS_HEADER, 32)
5477     TEST_TARGET_ALIGN(PIMAGE_COFF_SYMBOLS_HEADER, 4)
5478 }
5479
5480 static void test_pack_PIMAGE_DATA_DIRECTORY(void)
5481 {
5482     /* PIMAGE_DATA_DIRECTORY */
5483     TEST_TYPE_SIZE   (PIMAGE_DATA_DIRECTORY, 4)
5484     TEST_TYPE_ALIGN  (PIMAGE_DATA_DIRECTORY, 4)
5485     TEST_TARGET_SIZE (PIMAGE_DATA_DIRECTORY, 8)
5486     TEST_TARGET_ALIGN(PIMAGE_DATA_DIRECTORY, 4)
5487 }
5488
5489 static void test_pack_PIMAGE_DEBUG_DIRECTORY(void)
5490 {
5491     /* PIMAGE_DEBUG_DIRECTORY */
5492     TEST_TYPE_SIZE   (PIMAGE_DEBUG_DIRECTORY, 4)
5493     TEST_TYPE_ALIGN  (PIMAGE_DEBUG_DIRECTORY, 4)
5494     TEST_TARGET_SIZE (PIMAGE_DEBUG_DIRECTORY, 28)
5495     TEST_TARGET_ALIGN(PIMAGE_DEBUG_DIRECTORY, 4)
5496 }
5497
5498 static void test_pack_PIMAGE_DEBUG_MISC(void)
5499 {
5500     /* PIMAGE_DEBUG_MISC */
5501     TEST_TYPE_SIZE   (PIMAGE_DEBUG_MISC, 4)
5502     TEST_TYPE_ALIGN  (PIMAGE_DEBUG_MISC, 4)
5503     TEST_TARGET_SIZE (PIMAGE_DEBUG_MISC, 16)
5504     TEST_TARGET_ALIGN(PIMAGE_DEBUG_MISC, 4)
5505 }
5506
5507 static void test_pack_PIMAGE_DOS_HEADER(void)
5508 {
5509     /* PIMAGE_DOS_HEADER */
5510     TEST_TYPE_SIZE   (PIMAGE_DOS_HEADER, 4)
5511     TEST_TYPE_ALIGN  (PIMAGE_DOS_HEADER, 4)
5512     TEST_TARGET_SIZE (PIMAGE_DOS_HEADER, 64)
5513     TEST_TARGET_ALIGN(PIMAGE_DOS_HEADER, 2)
5514 }
5515
5516 static void test_pack_PIMAGE_EXPORT_DIRECTORY(void)
5517 {
5518     /* PIMAGE_EXPORT_DIRECTORY */
5519     TEST_TYPE_SIZE   (PIMAGE_EXPORT_DIRECTORY, 4)
5520     TEST_TYPE_ALIGN  (PIMAGE_EXPORT_DIRECTORY, 4)
5521     TEST_TARGET_SIZE (PIMAGE_EXPORT_DIRECTORY, 40)
5522     TEST_TARGET_ALIGN(PIMAGE_EXPORT_DIRECTORY, 4)
5523 }
5524
5525 static void test_pack_PIMAGE_FILE_HEADER(void)
5526 {
5527     /* PIMAGE_FILE_HEADER */
5528     TEST_TYPE_SIZE   (PIMAGE_FILE_HEADER, 4)
5529     TEST_TYPE_ALIGN  (PIMAGE_FILE_HEADER, 4)
5530     TEST_TARGET_SIZE (PIMAGE_FILE_HEADER, 20)
5531     TEST_TARGET_ALIGN(PIMAGE_FILE_HEADER, 4)
5532 }
5533
5534 static void test_pack_PIMAGE_FUNCTION_ENTRY(void)
5535 {
5536     /* PIMAGE_FUNCTION_ENTRY */
5537     TEST_TYPE_SIZE   (PIMAGE_FUNCTION_ENTRY, 4)
5538     TEST_TYPE_ALIGN  (PIMAGE_FUNCTION_ENTRY, 4)
5539     TEST_TARGET_SIZE (PIMAGE_FUNCTION_ENTRY, 12)
5540     TEST_TARGET_ALIGN(PIMAGE_FUNCTION_ENTRY, 4)
5541 }
5542
5543 static void test_pack_PIMAGE_IMPORT_BY_NAME(void)
5544 {
5545     /* PIMAGE_IMPORT_BY_NAME */
5546     TEST_TYPE_SIZE   (PIMAGE_IMPORT_BY_NAME, 4)
5547     TEST_TYPE_ALIGN  (PIMAGE_IMPORT_BY_NAME, 4)
5548     TEST_TARGET_SIZE (PIMAGE_IMPORT_BY_NAME, 4)
5549     TEST_TARGET_ALIGN(PIMAGE_IMPORT_BY_NAME, 2)
5550 }
5551
5552 static void test_pack_PIMAGE_IMPORT_DESCRIPTOR(void)
5553 {
5554     /* PIMAGE_IMPORT_DESCRIPTOR */
5555     TEST_TYPE_SIZE   (PIMAGE_IMPORT_DESCRIPTOR, 4)
5556     TEST_TYPE_ALIGN  (PIMAGE_IMPORT_DESCRIPTOR, 4)
5557 }
5558
5559 static void test_pack_PIMAGE_LINENUMBER(void)
5560 {
5561     /* PIMAGE_LINENUMBER */
5562     TEST_TYPE_SIZE   (PIMAGE_LINENUMBER, 4)
5563     TEST_TYPE_ALIGN  (PIMAGE_LINENUMBER, 4)
5564 }
5565
5566 static void test_pack_PIMAGE_LOAD_CONFIG_DIRECTORY(void)
5567 {
5568     /* PIMAGE_LOAD_CONFIG_DIRECTORY */
5569     TEST_TYPE_SIZE   (PIMAGE_LOAD_CONFIG_DIRECTORY, 4)
5570     TEST_TYPE_ALIGN  (PIMAGE_LOAD_CONFIG_DIRECTORY, 4)
5571     TEST_TARGET_SIZE (PIMAGE_LOAD_CONFIG_DIRECTORY, 72)
5572     TEST_TARGET_ALIGN(PIMAGE_LOAD_CONFIG_DIRECTORY, 4)
5573 }
5574
5575 static void test_pack_PIMAGE_NT_HEADERS(void)
5576 {
5577     /* PIMAGE_NT_HEADERS */
5578     TEST_TYPE_SIZE   (PIMAGE_NT_HEADERS, 4)
5579     TEST_TYPE_ALIGN  (PIMAGE_NT_HEADERS, 4)
5580 }
5581
5582 static void test_pack_PIMAGE_NT_HEADERS32(void)
5583 {
5584     /* PIMAGE_NT_HEADERS32 */
5585     TEST_TYPE_SIZE   (PIMAGE_NT_HEADERS32, 4)
5586     TEST_TYPE_ALIGN  (PIMAGE_NT_HEADERS32, 4)
5587     TEST_TARGET_SIZE (PIMAGE_NT_HEADERS32, 248)
5588     TEST_TARGET_ALIGN(PIMAGE_NT_HEADERS32, 4)
5589 }
5590
5591 static void test_pack_PIMAGE_NT_HEADERS64(void)
5592 {
5593     /* PIMAGE_NT_HEADERS64 */
5594     TEST_TYPE_SIZE   (PIMAGE_NT_HEADERS64, 4)
5595     TEST_TYPE_ALIGN  (PIMAGE_NT_HEADERS64, 4)
5596     TEST_TARGET_SIZE (PIMAGE_NT_HEADERS64, 264)
5597     TEST_TARGET_ALIGN(PIMAGE_NT_HEADERS64, 8)
5598 }
5599
5600 static void test_pack_PIMAGE_OPTIONAL_HEADER(void)
5601 {
5602     /* PIMAGE_OPTIONAL_HEADER */
5603     TEST_TYPE_SIZE   (PIMAGE_OPTIONAL_HEADER, 4)
5604     TEST_TYPE_ALIGN  (PIMAGE_OPTIONAL_HEADER, 4)
5605 }
5606
5607 static void test_pack_PIMAGE_OPTIONAL_HEADER32(void)
5608 {
5609     /* PIMAGE_OPTIONAL_HEADER32 */
5610     TEST_TYPE_SIZE   (PIMAGE_OPTIONAL_HEADER32, 4)
5611     TEST_TYPE_ALIGN  (PIMAGE_OPTIONAL_HEADER32, 4)
5612     TEST_TARGET_SIZE (PIMAGE_OPTIONAL_HEADER32, 224)
5613     TEST_TARGET_ALIGN(PIMAGE_OPTIONAL_HEADER32, 4)
5614 }
5615
5616 static void test_pack_PIMAGE_OPTIONAL_HEADER64(void)
5617 {
5618     /* PIMAGE_OPTIONAL_HEADER64 */
5619     TEST_TYPE_SIZE   (PIMAGE_OPTIONAL_HEADER64, 4)
5620     TEST_TYPE_ALIGN  (PIMAGE_OPTIONAL_HEADER64, 4)
5621     TEST_TARGET_SIZE (PIMAGE_OPTIONAL_HEADER64, 240)
5622     TEST_TARGET_ALIGN(PIMAGE_OPTIONAL_HEADER64, 8)
5623 }
5624
5625 static void test_pack_PIMAGE_OS2_HEADER(void)
5626 {
5627     /* PIMAGE_OS2_HEADER */
5628     TEST_TYPE_SIZE   (PIMAGE_OS2_HEADER, 4)
5629     TEST_TYPE_ALIGN  (PIMAGE_OS2_HEADER, 4)
5630     TEST_TARGET_SIZE (PIMAGE_OS2_HEADER, 64)
5631     TEST_TARGET_ALIGN(PIMAGE_OS2_HEADER, 2)
5632 }
5633
5634 static void test_pack_PIMAGE_RELOCATION(void)
5635 {
5636     /* PIMAGE_RELOCATION */
5637     TEST_TYPE_SIZE   (PIMAGE_RELOCATION, 4)
5638     TEST_TYPE_ALIGN  (PIMAGE_RELOCATION, 4)
5639 }
5640
5641 static void test_pack_PIMAGE_RESOURCE_DATA_ENTRY(void)
5642 {
5643     /* PIMAGE_RESOURCE_DATA_ENTRY */
5644     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DATA_ENTRY, 4)
5645     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DATA_ENTRY, 4)
5646     TEST_TARGET_SIZE (PIMAGE_RESOURCE_DATA_ENTRY, 16)
5647     TEST_TARGET_ALIGN(PIMAGE_RESOURCE_DATA_ENTRY, 4)
5648 }
5649
5650 static void test_pack_PIMAGE_RESOURCE_DIRECTORY(void)
5651 {
5652     /* PIMAGE_RESOURCE_DIRECTORY */
5653     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DIRECTORY, 4)
5654     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DIRECTORY, 4)
5655     TEST_TARGET_SIZE (PIMAGE_RESOURCE_DIRECTORY, 16)
5656     TEST_TARGET_ALIGN(PIMAGE_RESOURCE_DIRECTORY, 4)
5657 }
5658
5659 static void test_pack_PIMAGE_RESOURCE_DIRECTORY_ENTRY(void)
5660 {
5661     /* PIMAGE_RESOURCE_DIRECTORY_ENTRY */
5662     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DIRECTORY_ENTRY, 4)
5663     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DIRECTORY_ENTRY, 4)
5664 }
5665
5666 static void test_pack_PIMAGE_RESOURCE_DIRECTORY_STRING(void)
5667 {
5668     /* PIMAGE_RESOURCE_DIRECTORY_STRING */
5669     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DIRECTORY_STRING, 4)
5670     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DIRECTORY_STRING, 4)
5671     TEST_TARGET_SIZE (PIMAGE_RESOURCE_DIRECTORY_STRING, 4)
5672     TEST_TARGET_ALIGN(PIMAGE_RESOURCE_DIRECTORY_STRING, 2)
5673 }
5674
5675 static void test_pack_PIMAGE_RESOURCE_DIR_STRING_U(void)
5676 {
5677     /* PIMAGE_RESOURCE_DIR_STRING_U */
5678     TEST_TYPE_SIZE   (PIMAGE_RESOURCE_DIR_STRING_U, 4)
5679     TEST_TYPE_ALIGN  (PIMAGE_RESOURCE_DIR_STRING_U, 4)
5680     TEST_TARGET_SIZE (PIMAGE_RESOURCE_DIR_STRING_U, 4)
5681     TEST_TARGET_ALIGN(PIMAGE_RESOURCE_DIR_STRING_U, 2)
5682 }
5683
5684 static void test_pack_PIMAGE_SECTION_HEADER(void)
5685 {
5686     /* PIMAGE_SECTION_HEADER */
5687     TEST_TYPE_SIZE   (PIMAGE_SECTION_HEADER, 4)
5688     TEST_TYPE_ALIGN  (PIMAGE_SECTION_HEADER, 4)
5689 }
5690
5691 static void test_pack_PIMAGE_SEPARATE_DEBUG_HEADER(void)
5692 {
5693     /* PIMAGE_SEPARATE_DEBUG_HEADER */
5694     TEST_TYPE_SIZE   (PIMAGE_SEPARATE_DEBUG_HEADER, 4)
5695     TEST_TYPE_ALIGN  (PIMAGE_SEPARATE_DEBUG_HEADER, 4)
5696     TEST_TARGET_SIZE (PIMAGE_SEPARATE_DEBUG_HEADER, 48)
5697     TEST_TARGET_ALIGN(PIMAGE_SEPARATE_DEBUG_HEADER, 4)
5698 }
5699
5700 static void test_pack_PIMAGE_SYMBOL(void)
5701 {
5702     /* PIMAGE_SYMBOL */
5703     TEST_TYPE_SIZE   (PIMAGE_SYMBOL, 4)
5704     TEST_TYPE_ALIGN  (PIMAGE_SYMBOL, 4)
5705 }
5706
5707 static void test_pack_PIMAGE_THUNK_DATA(void)
5708 {
5709     /* PIMAGE_THUNK_DATA */
5710     TEST_TYPE_SIZE   (PIMAGE_THUNK_DATA, 4)
5711     TEST_TYPE_ALIGN  (PIMAGE_THUNK_DATA, 4)
5712 }
5713
5714 static void test_pack_PIMAGE_TLS_CALLBACK(void)
5715 {
5716     /* PIMAGE_TLS_CALLBACK */
5717     TEST_TYPE_SIZE   (PIMAGE_TLS_CALLBACK, 4)
5718     TEST_TYPE_ALIGN  (PIMAGE_TLS_CALLBACK, 4)
5719 }
5720
5721 static void test_pack_PIMAGE_TLS_DIRECTORY(void)
5722 {
5723     /* PIMAGE_TLS_DIRECTORY */
5724     TEST_TYPE_SIZE   (PIMAGE_TLS_DIRECTORY, 4)
5725     TEST_TYPE_ALIGN  (PIMAGE_TLS_DIRECTORY, 4)
5726 }
5727
5728 static void test_pack_PIMAGE_VXD_HEADER(void)
5729 {
5730     /* PIMAGE_VXD_HEADER */
5731     TEST_TYPE_SIZE   (PIMAGE_VXD_HEADER, 4)
5732     TEST_TYPE_ALIGN  (PIMAGE_VXD_HEADER, 4)
5733     TEST_TARGET_SIZE (PIMAGE_VXD_HEADER, 196)
5734     TEST_TARGET_ALIGN(PIMAGE_VXD_HEADER, 2)
5735 }
5736
5737 static void test_pack_PIO_COUNTERS(void)
5738 {
5739     /* PIO_COUNTERS */
5740     TEST_TYPE_SIZE   (PIO_COUNTERS, 4)
5741     TEST_TYPE_ALIGN  (PIO_COUNTERS, 4)
5742     TEST_TARGET_SIZE (PIO_COUNTERS, 48)
5743     TEST_TARGET_ALIGN(PIO_COUNTERS, 8)
5744 }
5745
5746 static void test_pack_PISECURITY_DESCRIPTOR(void)
5747 {
5748     /* PISECURITY_DESCRIPTOR */
5749     TEST_TYPE_SIZE   (PISECURITY_DESCRIPTOR, 4)
5750     TEST_TYPE_ALIGN  (PISECURITY_DESCRIPTOR, 4)
5751     TEST_TARGET_SIZE (PISECURITY_DESCRIPTOR, 20)
5752     TEST_TARGET_ALIGN(PISECURITY_DESCRIPTOR, 4)
5753 }
5754
5755 static void test_pack_PISECURITY_DESCRIPTOR_RELATIVE(void)
5756 {
5757     /* PISECURITY_DESCRIPTOR_RELATIVE */
5758     TEST_TYPE_SIZE   (PISECURITY_DESCRIPTOR_RELATIVE, 4)
5759     TEST_TYPE_ALIGN  (PISECURITY_DESCRIPTOR_RELATIVE, 4)
5760     TEST_TARGET_SIZE (PISECURITY_DESCRIPTOR_RELATIVE, 20)
5761     TEST_TARGET_ALIGN(PISECURITY_DESCRIPTOR_RELATIVE, 4)
5762 }
5763
5764 static void test_pack_PISID(void)
5765 {
5766     /* PISID */
5767     TEST_TYPE_SIZE   (PISID, 4)
5768     TEST_TYPE_ALIGN  (PISID, 4)
5769     TEST_TARGET_SIZE (PISID, 12)
5770     TEST_TARGET_ALIGN(PISID, 4)
5771 }
5772
5773 static void test_pack_PLARGE_INTEGER(void)
5774 {
5775     /* PLARGE_INTEGER */
5776     TEST_TYPE_SIZE   (PLARGE_INTEGER, 4)
5777     TEST_TYPE_ALIGN  (PLARGE_INTEGER, 4)
5778 }
5779
5780 static void test_pack_PLIST_ENTRY(void)
5781 {
5782     /* PLIST_ENTRY */
5783     TEST_TYPE_SIZE   (PLIST_ENTRY, 4)
5784     TEST_TYPE_ALIGN  (PLIST_ENTRY, 4)
5785     TEST_TARGET_SIZE (PLIST_ENTRY, 8)
5786     TEST_TARGET_ALIGN(PLIST_ENTRY, 4)
5787 }
5788
5789 static void test_pack_PLUID(void)
5790 {
5791     /* PLUID */
5792     TEST_TYPE_SIZE   (PLUID, 4)
5793     TEST_TYPE_ALIGN  (PLUID, 4)
5794     TEST_TARGET_SIZE (PLUID, 8)
5795     TEST_TARGET_ALIGN(PLUID, 4)
5796 }
5797
5798 static void test_pack_PLUID_AND_ATTRIBUTES(void)
5799 {
5800     /* PLUID_AND_ATTRIBUTES */
5801     TEST_TYPE_SIZE   (PLUID_AND_ATTRIBUTES, 4)
5802     TEST_TYPE_ALIGN  (PLUID_AND_ATTRIBUTES, 4)
5803     TEST_TARGET_SIZE (PLUID_AND_ATTRIBUTES, 12)
5804     TEST_TARGET_ALIGN(PLUID_AND_ATTRIBUTES, 4)
5805 }
5806
5807 static void test_pack_PMEMORY_BASIC_INFORMATION(void)
5808 {
5809     /* PMEMORY_BASIC_INFORMATION */
5810     TEST_TYPE_SIZE   (PMEMORY_BASIC_INFORMATION, 4)
5811     TEST_TYPE_ALIGN  (PMEMORY_BASIC_INFORMATION, 4)
5812     TEST_TARGET_SIZE (PMEMORY_BASIC_INFORMATION, 28)
5813     TEST_TARGET_ALIGN(PMEMORY_BASIC_INFORMATION, 4)
5814 }
5815
5816 static void test_pack_PMESSAGE_RESOURCE_BLOCK(void)
5817 {
5818     /* PMESSAGE_RESOURCE_BLOCK */
5819     TEST_TYPE_SIZE   (PMESSAGE_RESOURCE_BLOCK, 4)
5820     TEST_TYPE_ALIGN  (PMESSAGE_RESOURCE_BLOCK, 4)
5821     TEST_TARGET_SIZE (PMESSAGE_RESOURCE_BLOCK, 12)
5822     TEST_TARGET_ALIGN(PMESSAGE_RESOURCE_BLOCK, 4)
5823 }
5824
5825 static void test_pack_PMESSAGE_RESOURCE_DATA(void)
5826 {
5827     /* PMESSAGE_RESOURCE_DATA */
5828     TEST_TYPE_SIZE   (PMESSAGE_RESOURCE_DATA, 4)
5829     TEST_TYPE_ALIGN  (PMESSAGE_RESOURCE_DATA, 4)
5830     TEST_TARGET_SIZE (PMESSAGE_RESOURCE_DATA, 16)
5831     TEST_TARGET_ALIGN(PMESSAGE_RESOURCE_DATA, 4)
5832 }
5833
5834 static void test_pack_PMESSAGE_RESOURCE_ENTRY(void)
5835 {
5836     /* PMESSAGE_RESOURCE_ENTRY */
5837     TEST_TYPE_SIZE   (PMESSAGE_RESOURCE_ENTRY, 4)
5838     TEST_TYPE_ALIGN  (PMESSAGE_RESOURCE_ENTRY, 4)
5839     TEST_TARGET_SIZE (PMESSAGE_RESOURCE_ENTRY, 6)
5840     TEST_TARGET_ALIGN(PMESSAGE_RESOURCE_ENTRY, 2)
5841 }
5842
5843 static void test_pack_PNT_TIB(void)
5844 {
5845     /* PNT_TIB */
5846     TEST_TYPE_SIZE   (PNT_TIB, 4)
5847     TEST_TYPE_ALIGN  (PNT_TIB, 4)
5848 }
5849
5850 static void test_pack_POBJECT_TYPE_LIST(void)
5851 {
5852     /* POBJECT_TYPE_LIST */
5853     TEST_TYPE_SIZE   (POBJECT_TYPE_LIST, 4)
5854     TEST_TYPE_ALIGN  (POBJECT_TYPE_LIST, 4)
5855     TEST_TARGET_SIZE (POBJECT_TYPE_LIST, 8)
5856     TEST_TARGET_ALIGN(POBJECT_TYPE_LIST, 4)
5857 }
5858
5859 static void test_pack_PPRIVILEGE_SET(void)
5860 {
5861     /* PPRIVILEGE_SET */
5862     TEST_TYPE_SIZE   (PPRIVILEGE_SET, 4)
5863     TEST_TYPE_ALIGN  (PPRIVILEGE_SET, 4)
5864     TEST_TARGET_SIZE (PPRIVILEGE_SET, 20)
5865     TEST_TARGET_ALIGN(PPRIVILEGE_SET, 4)
5866 }
5867
5868 static void test_pack_PRIVILEGE_SET(void)
5869 {
5870     /* PRIVILEGE_SET */
5871     TEST_TYPE_SIZE   (PRIVILEGE_SET, 20)
5872     TEST_TYPE_ALIGN  (PRIVILEGE_SET, 4)
5873     TEST_FIELD_SIZE  (PRIVILEGE_SET, PrivilegeCount, 4)
5874     TEST_FIELD_ALIGN (PRIVILEGE_SET, PrivilegeCount, 4)
5875     TEST_FIELD_OFFSET(PRIVILEGE_SET, PrivilegeCount, 0)
5876     TEST_FIELD_SIZE  (PRIVILEGE_SET, Control, 4)
5877     TEST_FIELD_ALIGN (PRIVILEGE_SET, Control, 4)
5878     TEST_FIELD_OFFSET(PRIVILEGE_SET, Control, 4)
5879     TEST_FIELD_SIZE  (PRIVILEGE_SET, Privilege, 12)
5880     TEST_FIELD_ALIGN (PRIVILEGE_SET, Privilege, 4)
5881     TEST_FIELD_OFFSET(PRIVILEGE_SET, Privilege, 8)
5882 }
5883
5884 static void test_pack_PRLIST_ENTRY(void)
5885 {
5886     /* PRLIST_ENTRY */
5887     TEST_TYPE_SIZE   (PRLIST_ENTRY, 4)
5888     TEST_TYPE_ALIGN  (PRLIST_ENTRY, 4)
5889     TEST_TARGET_SIZE (PRLIST_ENTRY, 8)
5890     TEST_TARGET_ALIGN(PRLIST_ENTRY, 4)
5891 }
5892
5893 static void test_pack_PRTL_CRITICAL_SECTION(void)
5894 {
5895     /* PRTL_CRITICAL_SECTION */
5896     TEST_TYPE_SIZE   (PRTL_CRITICAL_SECTION, 4)
5897     TEST_TYPE_ALIGN  (PRTL_CRITICAL_SECTION, 4)
5898     TEST_TARGET_SIZE (PRTL_CRITICAL_SECTION, 24)
5899     TEST_TARGET_ALIGN(PRTL_CRITICAL_SECTION, 4)
5900 }
5901
5902 static void test_pack_PRTL_CRITICAL_SECTION_DEBUG(void)
5903 {
5904     /* PRTL_CRITICAL_SECTION_DEBUG */
5905     TEST_TYPE_SIZE   (PRTL_CRITICAL_SECTION_DEBUG, 4)
5906     TEST_TYPE_ALIGN  (PRTL_CRITICAL_SECTION_DEBUG, 4)
5907 }
5908
5909 static void test_pack_PRTL_OSVERSIONINFOEXW(void)
5910 {
5911     /* PRTL_OSVERSIONINFOEXW */
5912     TEST_TYPE_SIZE   (PRTL_OSVERSIONINFOEXW, 4)
5913     TEST_TYPE_ALIGN  (PRTL_OSVERSIONINFOEXW, 4)
5914     TEST_TARGET_SIZE (PRTL_OSVERSIONINFOEXW, 284)
5915     TEST_TARGET_ALIGN(PRTL_OSVERSIONINFOEXW, 4)
5916 }
5917
5918 static void test_pack_PRTL_OSVERSIONINFOW(void)
5919 {
5920     /* PRTL_OSVERSIONINFOW */
5921     TEST_TYPE_SIZE   (PRTL_OSVERSIONINFOW, 4)
5922     TEST_TYPE_ALIGN  (PRTL_OSVERSIONINFOW, 4)
5923     TEST_TARGET_SIZE (PRTL_OSVERSIONINFOW, 276)
5924     TEST_TARGET_ALIGN(PRTL_OSVERSIONINFOW, 4)
5925 }
5926
5927 static void test_pack_PRTL_RESOURCE_DEBUG(void)
5928 {
5929     /* PRTL_RESOURCE_DEBUG */
5930     TEST_TYPE_SIZE   (PRTL_RESOURCE_DEBUG, 4)
5931     TEST_TYPE_ALIGN  (PRTL_RESOURCE_DEBUG, 4)
5932 }
5933
5934 static void test_pack_PSECURITY_DESCRIPTOR(void)
5935 {
5936     /* PSECURITY_DESCRIPTOR */
5937     TEST_TYPE_SIZE   (PSECURITY_DESCRIPTOR, 4)
5938     TEST_TYPE_ALIGN  (PSECURITY_DESCRIPTOR, 4)
5939 }
5940
5941 static void test_pack_PSECURITY_QUALITY_OF_SERVICE(void)
5942 {
5943     /* PSECURITY_QUALITY_OF_SERVICE */
5944     TEST_TYPE_SIZE   (PSECURITY_QUALITY_OF_SERVICE, 4)
5945     TEST_TYPE_ALIGN  (PSECURITY_QUALITY_OF_SERVICE, 4)
5946 }
5947
5948 static void test_pack_PSID(void)
5949 {
5950     /* PSID */
5951     TEST_TYPE_SIZE   (PSID, 4)
5952     TEST_TYPE_ALIGN  (PSID, 4)
5953 }
5954
5955 static void test_pack_PSID_IDENTIFIER_AUTHORITY(void)
5956 {
5957     /* PSID_IDENTIFIER_AUTHORITY */
5958     TEST_TYPE_SIZE   (PSID_IDENTIFIER_AUTHORITY, 4)
5959     TEST_TYPE_ALIGN  (PSID_IDENTIFIER_AUTHORITY, 4)
5960     TEST_TARGET_SIZE (PSID_IDENTIFIER_AUTHORITY, 6)
5961     TEST_TARGET_ALIGN(PSID_IDENTIFIER_AUTHORITY, 1)
5962 }
5963
5964 static void test_pack_PSINGLE_LIST_ENTRY(void)
5965 {
5966     /* PSINGLE_LIST_ENTRY */
5967     TEST_TYPE_SIZE   (PSINGLE_LIST_ENTRY, 4)
5968     TEST_TYPE_ALIGN  (PSINGLE_LIST_ENTRY, 4)
5969     TEST_TARGET_SIZE (PSINGLE_LIST_ENTRY, 4)
5970     TEST_TARGET_ALIGN(PSINGLE_LIST_ENTRY, 4)
5971 }
5972
5973 static void test_pack_PSTR(void)
5974 {
5975     /* PSTR */
5976     TEST_TYPE_SIZE   (PSTR, 4)
5977     TEST_TYPE_ALIGN  (PSTR, 4)
5978     TEST_TARGET_SIZE (PSTR, 1)
5979     TEST_TARGET_ALIGN(PSTR, 1)
5980 }
5981
5982 static void test_pack_PSYSTEM_ALARM_ACE(void)
5983 {
5984     /* PSYSTEM_ALARM_ACE */
5985     TEST_TYPE_SIZE   (PSYSTEM_ALARM_ACE, 4)
5986     TEST_TYPE_ALIGN  (PSYSTEM_ALARM_ACE, 4)
5987     TEST_TARGET_SIZE (PSYSTEM_ALARM_ACE, 12)
5988     TEST_TARGET_ALIGN(PSYSTEM_ALARM_ACE, 4)
5989 }
5990
5991 static void test_pack_PSYSTEM_AUDIT_ACE(void)
5992 {
5993     /* PSYSTEM_AUDIT_ACE */
5994     TEST_TYPE_SIZE   (PSYSTEM_AUDIT_ACE, 4)
5995     TEST_TYPE_ALIGN  (PSYSTEM_AUDIT_ACE, 4)
5996     TEST_TARGET_SIZE (PSYSTEM_AUDIT_ACE, 12)
5997     TEST_TARGET_ALIGN(PSYSTEM_AUDIT_ACE, 4)
5998 }
5999
6000 static void test_pack_PTOKEN_GROUPS(void)
6001 {
6002     /* PTOKEN_GROUPS */
6003     TEST_TYPE_SIZE   (PTOKEN_GROUPS, 4)
6004     TEST_TYPE_ALIGN  (PTOKEN_GROUPS, 4)
6005     TEST_TARGET_SIZE (PTOKEN_GROUPS, 12)
6006     TEST_TARGET_ALIGN(PTOKEN_GROUPS, 4)
6007 }
6008
6009 static void test_pack_PTOKEN_PRIVILEGES(void)
6010 {
6011     /* PTOKEN_PRIVILEGES */
6012     TEST_TYPE_SIZE   (PTOKEN_PRIVILEGES, 4)
6013     TEST_TYPE_ALIGN  (PTOKEN_PRIVILEGES, 4)
6014     TEST_TARGET_SIZE (PTOKEN_PRIVILEGES, 16)
6015     TEST_TARGET_ALIGN(PTOKEN_PRIVILEGES, 4)
6016 }
6017
6018 static void test_pack_PTOKEN_USER(void)
6019 {
6020     /* PTOKEN_USER */
6021     TEST_TYPE_SIZE   (PTOKEN_USER, 4)
6022     TEST_TYPE_ALIGN  (PTOKEN_USER, 4)
6023     TEST_TARGET_SIZE (PTOKEN_USER, 8)
6024     TEST_TARGET_ALIGN(PTOKEN_USER, 4)
6025 }
6026
6027 static void test_pack_PTSTR(void)
6028 {
6029     /* PTSTR */
6030     TEST_TYPE_SIZE   (PTSTR, 4)
6031     TEST_TYPE_ALIGN  (PTSTR, 4)
6032 }
6033
6034 static void test_pack_PULARGE_INTEGER(void)
6035 {
6036     /* PULARGE_INTEGER */
6037     TEST_TYPE_SIZE   (PULARGE_INTEGER, 4)
6038     TEST_TYPE_ALIGN  (PULARGE_INTEGER, 4)
6039 }
6040
6041 static void test_pack_PVECTORED_EXCEPTION_HANDLER(void)
6042 {
6043     /* PVECTORED_EXCEPTION_HANDLER */
6044     TEST_TYPE_SIZE   (PVECTORED_EXCEPTION_HANDLER, 4)
6045     TEST_TYPE_ALIGN  (PVECTORED_EXCEPTION_HANDLER, 4)
6046 }
6047
6048 static void test_pack_PVOID(void)
6049 {
6050     /* PVOID */
6051     TEST_TYPE_SIZE   (PVOID, 4)
6052     TEST_TYPE_ALIGN  (PVOID, 4)
6053 }
6054
6055 static void test_pack_PWCH(void)
6056 {
6057     /* PWCH */
6058     TEST_TYPE_SIZE   (PWCH, 4)
6059     TEST_TYPE_ALIGN  (PWCH, 4)
6060     TEST_TARGET_SIZE (PWCH, 2)
6061     TEST_TARGET_ALIGN(PWCH, 2)
6062 }
6063
6064 static void test_pack_PWSTR(void)
6065 {
6066     /* PWSTR */
6067     TEST_TYPE_SIZE   (PWSTR, 4)
6068     TEST_TYPE_ALIGN  (PWSTR, 4)
6069     TEST_TARGET_SIZE (PWSTR, 2)
6070     TEST_TARGET_ALIGN(PWSTR, 2)
6071 }
6072
6073 static void test_pack_RTL_CRITICAL_SECTION(void)
6074 {
6075     /* RTL_CRITICAL_SECTION */
6076     TEST_TYPE_SIZE   (RTL_CRITICAL_SECTION, 24)
6077     TEST_TYPE_ALIGN  (RTL_CRITICAL_SECTION, 4)
6078     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, DebugInfo, 4)
6079     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, DebugInfo, 4)
6080     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, DebugInfo, 0)
6081     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, LockCount, 4)
6082     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, LockCount, 4)
6083     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, LockCount, 4)
6084     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, RecursionCount, 4)
6085     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, RecursionCount, 4)
6086     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, RecursionCount, 8)
6087     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, OwningThread, 4)
6088     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, OwningThread, 4)
6089     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, OwningThread, 12)
6090     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, LockSemaphore, 4)
6091     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, LockSemaphore, 4)
6092     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, LockSemaphore, 16)
6093     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION, SpinCount, 4)
6094     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION, SpinCount, 4)
6095     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION, SpinCount, 20)
6096 }
6097
6098 static void test_pack_RTL_CRITICAL_SECTION_DEBUG(void)
6099 {
6100     /* RTL_CRITICAL_SECTION_DEBUG */
6101     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, Type, 2)
6102     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, Type, 2)
6103     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, Type, 0)
6104     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, CreatorBackTraceIndex, 2)
6105     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, CreatorBackTraceIndex, 2)
6106     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, CreatorBackTraceIndex, 2)
6107     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, CriticalSection, 4)
6108     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, CriticalSection, 4)
6109     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, CriticalSection, 4)
6110     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, ProcessLocksList, 8)
6111     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, ProcessLocksList, 4)
6112     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, ProcessLocksList, 8)
6113     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, EntryCount, 4)
6114     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, EntryCount, 4)
6115     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, EntryCount, 16)
6116     TEST_FIELD_SIZE  (RTL_CRITICAL_SECTION_DEBUG, ContentionCount, 4)
6117     TEST_FIELD_ALIGN (RTL_CRITICAL_SECTION_DEBUG, ContentionCount, 4)
6118     TEST_FIELD_OFFSET(RTL_CRITICAL_SECTION_DEBUG, ContentionCount, 20)
6119 }
6120
6121 static void test_pack_RTL_OSVERSIONINFOEXW(void)
6122 {
6123     /* RTL_OSVERSIONINFOEXW */
6124     TEST_TYPE_SIZE   (RTL_OSVERSIONINFOEXW, 284)
6125     TEST_TYPE_ALIGN  (RTL_OSVERSIONINFOEXW, 4)
6126     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwOSVersionInfoSize, 4)
6127     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwOSVersionInfoSize, 4)
6128     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwOSVersionInfoSize, 0)
6129     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwMajorVersion, 4)
6130     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwMajorVersion, 4)
6131     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwMajorVersion, 4)
6132     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwMinorVersion, 4)
6133     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwMinorVersion, 4)
6134     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwMinorVersion, 8)
6135     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwBuildNumber, 4)
6136     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwBuildNumber, 4)
6137     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwBuildNumber, 12)
6138     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, dwPlatformId, 4)
6139     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, dwPlatformId, 4)
6140     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, dwPlatformId, 16)
6141     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, szCSDVersion, 256)
6142     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, szCSDVersion, 2)
6143     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, szCSDVersion, 20)
6144     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wServicePackMajor, 2)
6145     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wServicePackMajor, 2)
6146     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wServicePackMajor, 276)
6147     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wServicePackMinor, 2)
6148     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wServicePackMinor, 2)
6149     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wServicePackMinor, 278)
6150     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wSuiteMask, 2)
6151     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wSuiteMask, 2)
6152     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wSuiteMask, 280)
6153     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wProductType, 1)
6154     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wProductType, 1)
6155     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wProductType, 282)
6156     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOEXW, wReserved, 1)
6157     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOEXW, wReserved, 1)
6158     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOEXW, wReserved, 283)
6159 }
6160
6161 static void test_pack_RTL_OSVERSIONINFOW(void)
6162 {
6163     /* RTL_OSVERSIONINFOW */
6164     TEST_TYPE_SIZE   (RTL_OSVERSIONINFOW, 276)
6165     TEST_TYPE_ALIGN  (RTL_OSVERSIONINFOW, 4)
6166     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwOSVersionInfoSize, 4)
6167     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwOSVersionInfoSize, 4)
6168     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwOSVersionInfoSize, 0)
6169     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwMajorVersion, 4)
6170     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwMajorVersion, 4)
6171     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwMajorVersion, 4)
6172     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwMinorVersion, 4)
6173     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwMinorVersion, 4)
6174     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwMinorVersion, 8)
6175     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwBuildNumber, 4)
6176     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwBuildNumber, 4)
6177     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwBuildNumber, 12)
6178     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, dwPlatformId, 4)
6179     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, dwPlatformId, 4)
6180     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, dwPlatformId, 16)
6181     TEST_FIELD_SIZE  (RTL_OSVERSIONINFOW, szCSDVersion, 256)
6182     TEST_FIELD_ALIGN (RTL_OSVERSIONINFOW, szCSDVersion, 2)
6183     TEST_FIELD_OFFSET(RTL_OSVERSIONINFOW, szCSDVersion, 20)
6184 }
6185
6186 static void test_pack_RTL_RESOURCE_DEBUG(void)
6187 {
6188     /* RTL_RESOURCE_DEBUG */
6189     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, Type, 2)
6190     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, Type, 2)
6191     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, Type, 0)
6192     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, CreatorBackTraceIndex, 2)
6193     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, CreatorBackTraceIndex, 2)
6194     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, CreatorBackTraceIndex, 2)
6195     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, CriticalSection, 4)
6196     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, CriticalSection, 4)
6197     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, CriticalSection, 4)
6198     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, ProcessLocksList, 8)
6199     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, ProcessLocksList, 4)
6200     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, ProcessLocksList, 8)
6201     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, EntryCount, 4)
6202     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, EntryCount, 4)
6203     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, EntryCount, 16)
6204     TEST_FIELD_SIZE  (RTL_RESOURCE_DEBUG, ContentionCount, 4)
6205     TEST_FIELD_ALIGN (RTL_RESOURCE_DEBUG, ContentionCount, 4)
6206     TEST_FIELD_OFFSET(RTL_RESOURCE_DEBUG, ContentionCount, 20)
6207 }
6208
6209 static void test_pack_SECURITY_CONTEXT_TRACKING_MODE(void)
6210 {
6211     /* SECURITY_CONTEXT_TRACKING_MODE */
6212     TEST_TYPE_SIZE   (SECURITY_CONTEXT_TRACKING_MODE, 1)
6213     TEST_TYPE_ALIGN  (SECURITY_CONTEXT_TRACKING_MODE, 1)
6214 }
6215
6216 static void test_pack_SECURITY_DESCRIPTOR(void)
6217 {
6218     /* SECURITY_DESCRIPTOR */
6219     TEST_TYPE_SIZE   (SECURITY_DESCRIPTOR, 20)
6220     TEST_TYPE_ALIGN  (SECURITY_DESCRIPTOR, 4)
6221     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Revision, 1)
6222     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Revision, 1)
6223     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Revision, 0)
6224     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Sbz1, 1)
6225     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Sbz1, 1)
6226     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Sbz1, 1)
6227     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Control, 2)
6228     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Control, 2)
6229     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Control, 2)
6230     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Owner, 4)
6231     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Owner, 4)
6232     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Owner, 4)
6233     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Group, 4)
6234     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Group, 4)
6235     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Group, 8)
6236     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Sacl, 4)
6237     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Sacl, 4)
6238     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Sacl, 12)
6239     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR, Dacl, 4)
6240     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR, Dacl, 4)
6241     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR, Dacl, 16)
6242 }
6243
6244 static void test_pack_SECURITY_DESCRIPTOR_CONTROL(void)
6245 {
6246     /* SECURITY_DESCRIPTOR_CONTROL */
6247     TEST_TYPE_SIZE   (SECURITY_DESCRIPTOR_CONTROL, 2)
6248     TEST_TYPE_ALIGN  (SECURITY_DESCRIPTOR_CONTROL, 2)
6249     TEST_TYPE_UNSIGNED(SECURITY_DESCRIPTOR_CONTROL)
6250 }
6251
6252 static void test_pack_SECURITY_DESCRIPTOR_RELATIVE(void)
6253 {
6254     /* SECURITY_DESCRIPTOR_RELATIVE */
6255     TEST_TYPE_SIZE   (SECURITY_DESCRIPTOR_RELATIVE, 20)
6256     TEST_TYPE_ALIGN  (SECURITY_DESCRIPTOR_RELATIVE, 4)
6257     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Revision, 1)
6258     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Revision, 1)
6259     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Revision, 0)
6260     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Sbz1, 1)
6261     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Sbz1, 1)
6262     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Sbz1, 1)
6263     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Control, 2)
6264     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Control, 2)
6265     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Control, 2)
6266     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Owner, 4)
6267     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Owner, 4)
6268     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Owner, 4)
6269     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Group, 4)
6270     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Group, 4)
6271     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Group, 8)
6272     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Sacl, 4)
6273     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Sacl, 4)
6274     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Sacl, 12)
6275     TEST_FIELD_SIZE  (SECURITY_DESCRIPTOR_RELATIVE, Dacl, 4)
6276     TEST_FIELD_ALIGN (SECURITY_DESCRIPTOR_RELATIVE, Dacl, 4)
6277     TEST_FIELD_OFFSET(SECURITY_DESCRIPTOR_RELATIVE, Dacl, 16)
6278 }
6279
6280 static void test_pack_SECURITY_INFORMATION(void)
6281 {
6282     /* SECURITY_INFORMATION */
6283     TEST_TYPE_SIZE   (SECURITY_INFORMATION, 4)
6284     TEST_TYPE_ALIGN  (SECURITY_INFORMATION, 4)
6285     TEST_TYPE_UNSIGNED(SECURITY_INFORMATION)
6286 }
6287
6288 static void test_pack_SECURITY_QUALITY_OF_SERVICE(void)
6289 {
6290     /* SECURITY_QUALITY_OF_SERVICE */
6291     TEST_FIELD_SIZE  (SECURITY_QUALITY_OF_SERVICE, Length, 4)
6292     TEST_FIELD_ALIGN (SECURITY_QUALITY_OF_SERVICE, Length, 4)
6293     TEST_FIELD_OFFSET(SECURITY_QUALITY_OF_SERVICE, Length, 0)
6294 }
6295
6296 static void test_pack_SHORT(void)
6297 {
6298     /* SHORT */
6299     TEST_TYPE_SIZE   (SHORT, 2)
6300     TEST_TYPE_ALIGN  (SHORT, 2)
6301     TEST_TYPE_SIGNED(SHORT)
6302 }
6303
6304 static void test_pack_SID(void)
6305 {
6306     /* SID */
6307     TEST_TYPE_SIZE   (SID, 12)
6308     TEST_TYPE_ALIGN  (SID, 4)
6309     TEST_FIELD_SIZE  (SID, Revision, 1)
6310     TEST_FIELD_ALIGN (SID, Revision, 1)
6311     TEST_FIELD_OFFSET(SID, Revision, 0)
6312     TEST_FIELD_SIZE  (SID, SubAuthorityCount, 1)
6313     TEST_FIELD_ALIGN (SID, SubAuthorityCount, 1)
6314     TEST_FIELD_OFFSET(SID, SubAuthorityCount, 1)
6315     TEST_FIELD_SIZE  (SID, IdentifierAuthority, 6)
6316     TEST_FIELD_ALIGN (SID, IdentifierAuthority, 1)
6317     TEST_FIELD_OFFSET(SID, IdentifierAuthority, 2)
6318     TEST_FIELD_SIZE  (SID, SubAuthority, 4)
6319     TEST_FIELD_ALIGN (SID, SubAuthority, 4)
6320     TEST_FIELD_OFFSET(SID, SubAuthority, 8)
6321 }
6322
6323 static void test_pack_SID_AND_ATTRIBUTES(void)
6324 {
6325     /* SID_AND_ATTRIBUTES */
6326     TEST_TYPE_SIZE   (SID_AND_ATTRIBUTES, 8)
6327     TEST_TYPE_ALIGN  (SID_AND_ATTRIBUTES, 4)
6328     TEST_FIELD_SIZE  (SID_AND_ATTRIBUTES, Sid, 4)
6329     TEST_FIELD_ALIGN (SID_AND_ATTRIBUTES, Sid, 4)
6330     TEST_FIELD_OFFSET(SID_AND_ATTRIBUTES, Sid, 0)
6331     TEST_FIELD_SIZE  (SID_AND_ATTRIBUTES, Attributes, 4)
6332     TEST_FIELD_ALIGN (SID_AND_ATTRIBUTES, Attributes, 4)
6333     TEST_FIELD_OFFSET(SID_AND_ATTRIBUTES, Attributes, 4)
6334 }
6335
6336 static void test_pack_SID_IDENTIFIER_AUTHORITY(void)
6337 {
6338     /* SID_IDENTIFIER_AUTHORITY */
6339     TEST_TYPE_SIZE   (SID_IDENTIFIER_AUTHORITY, 6)
6340     TEST_TYPE_ALIGN  (SID_IDENTIFIER_AUTHORITY, 1)
6341     TEST_FIELD_SIZE  (SID_IDENTIFIER_AUTHORITY, Value, 6)
6342     TEST_FIELD_ALIGN (SID_IDENTIFIER_AUTHORITY, Value, 1)
6343     TEST_FIELD_OFFSET(SID_IDENTIFIER_AUTHORITY, Value, 0)
6344 }
6345
6346 static void test_pack_SINGLE_LIST_ENTRY(void)
6347 {
6348     /* SINGLE_LIST_ENTRY */
6349     TEST_TYPE_SIZE   (SINGLE_LIST_ENTRY, 4)
6350     TEST_TYPE_ALIGN  (SINGLE_LIST_ENTRY, 4)
6351     TEST_FIELD_SIZE  (SINGLE_LIST_ENTRY, Next, 4)
6352     TEST_FIELD_ALIGN (SINGLE_LIST_ENTRY, Next, 4)
6353     TEST_FIELD_OFFSET(SINGLE_LIST_ENTRY, Next, 0)
6354 }
6355
6356 static void test_pack_SYSTEM_ALARM_ACE(void)
6357 {
6358     /* SYSTEM_ALARM_ACE */
6359     TEST_TYPE_SIZE   (SYSTEM_ALARM_ACE, 12)
6360     TEST_TYPE_ALIGN  (SYSTEM_ALARM_ACE, 4)
6361     TEST_FIELD_SIZE  (SYSTEM_ALARM_ACE, Header, 4)
6362     TEST_FIELD_ALIGN (SYSTEM_ALARM_ACE, Header, 2)
6363     TEST_FIELD_OFFSET(SYSTEM_ALARM_ACE, Header, 0)
6364     TEST_FIELD_SIZE  (SYSTEM_ALARM_ACE, Mask, 4)
6365     TEST_FIELD_ALIGN (SYSTEM_ALARM_ACE, Mask, 4)
6366     TEST_FIELD_OFFSET(SYSTEM_ALARM_ACE, Mask, 4)
6367     TEST_FIELD_SIZE  (SYSTEM_ALARM_ACE, SidStart, 4)
6368     TEST_FIELD_ALIGN (SYSTEM_ALARM_ACE, SidStart, 4)
6369     TEST_FIELD_OFFSET(SYSTEM_ALARM_ACE, SidStart, 8)
6370 }
6371
6372 static void test_pack_SYSTEM_AUDIT_ACE(void)
6373 {
6374     /* SYSTEM_AUDIT_ACE */
6375     TEST_TYPE_SIZE   (SYSTEM_AUDIT_ACE, 12)
6376     TEST_TYPE_ALIGN  (SYSTEM_AUDIT_ACE, 4)
6377     TEST_FIELD_SIZE  (SYSTEM_AUDIT_ACE, Header, 4)
6378     TEST_FIELD_ALIGN (SYSTEM_AUDIT_ACE, Header, 2)
6379     TEST_FIELD_OFFSET(SYSTEM_AUDIT_ACE, Header, 0)
6380     TEST_FIELD_SIZE  (SYSTEM_AUDIT_ACE, Mask, 4)
6381     TEST_FIELD_ALIGN (SYSTEM_AUDIT_ACE, Mask, 4)
6382     TEST_FIELD_OFFSET(SYSTEM_AUDIT_ACE, Mask, 4)
6383     TEST_FIELD_SIZE  (SYSTEM_AUDIT_ACE, SidStart, 4)
6384     TEST_FIELD_ALIGN (SYSTEM_AUDIT_ACE, SidStart, 4)
6385     TEST_FIELD_OFFSET(SYSTEM_AUDIT_ACE, SidStart, 8)
6386 }
6387
6388 static void test_pack_TCHAR(void)
6389 {
6390     /* TCHAR */
6391     TEST_TYPE_SIZE   (TCHAR, 1)
6392     TEST_TYPE_ALIGN  (TCHAR, 1)
6393 }
6394
6395 static void test_pack_TOKEN_DEFAULT_DACL(void)
6396 {
6397     /* TOKEN_DEFAULT_DACL */
6398     TEST_TYPE_SIZE   (TOKEN_DEFAULT_DACL, 4)
6399     TEST_TYPE_ALIGN  (TOKEN_DEFAULT_DACL, 4)
6400     TEST_FIELD_SIZE  (TOKEN_DEFAULT_DACL, DefaultDacl, 4)
6401     TEST_FIELD_ALIGN (TOKEN_DEFAULT_DACL, DefaultDacl, 4)
6402     TEST_FIELD_OFFSET(TOKEN_DEFAULT_DACL, DefaultDacl, 0)
6403 }
6404
6405 static void test_pack_TOKEN_GROUPS(void)
6406 {
6407     /* TOKEN_GROUPS */
6408     TEST_TYPE_SIZE   (TOKEN_GROUPS, 12)
6409     TEST_TYPE_ALIGN  (TOKEN_GROUPS, 4)
6410     TEST_FIELD_SIZE  (TOKEN_GROUPS, GroupCount, 4)
6411     TEST_FIELD_ALIGN (TOKEN_GROUPS, GroupCount, 4)
6412     TEST_FIELD_OFFSET(TOKEN_GROUPS, GroupCount, 0)
6413     TEST_FIELD_SIZE  (TOKEN_GROUPS, Groups, 8)
6414     TEST_FIELD_ALIGN (TOKEN_GROUPS, Groups, 4)
6415     TEST_FIELD_OFFSET(TOKEN_GROUPS, Groups, 4)
6416 }
6417
6418 static void test_pack_TOKEN_OWNER(void)
6419 {
6420     /* TOKEN_OWNER */
6421     TEST_TYPE_SIZE   (TOKEN_OWNER, 4)
6422     TEST_TYPE_ALIGN  (TOKEN_OWNER, 4)
6423     TEST_FIELD_SIZE  (TOKEN_OWNER, Owner, 4)
6424     TEST_FIELD_ALIGN (TOKEN_OWNER, Owner, 4)
6425     TEST_FIELD_OFFSET(TOKEN_OWNER, Owner, 0)
6426 }
6427
6428 static void test_pack_TOKEN_PRIMARY_GROUP(void)
6429 {
6430     /* TOKEN_PRIMARY_GROUP */
6431     TEST_TYPE_SIZE   (TOKEN_PRIMARY_GROUP, 4)
6432     TEST_TYPE_ALIGN  (TOKEN_PRIMARY_GROUP, 4)
6433     TEST_FIELD_SIZE  (TOKEN_PRIMARY_GROUP, PrimaryGroup, 4)
6434     TEST_FIELD_ALIGN (TOKEN_PRIMARY_GROUP, PrimaryGroup, 4)
6435     TEST_FIELD_OFFSET(TOKEN_PRIMARY_GROUP, PrimaryGroup, 0)
6436 }
6437
6438 static void test_pack_TOKEN_PRIVILEGES(void)
6439 {
6440     /* TOKEN_PRIVILEGES */
6441     TEST_TYPE_SIZE   (TOKEN_PRIVILEGES, 16)
6442     TEST_TYPE_ALIGN  (TOKEN_PRIVILEGES, 4)
6443     TEST_FIELD_SIZE  (TOKEN_PRIVILEGES, PrivilegeCount, 4)
6444     TEST_FIELD_ALIGN (TOKEN_PRIVILEGES, PrivilegeCount, 4)
6445     TEST_FIELD_OFFSET(TOKEN_PRIVILEGES, PrivilegeCount, 0)
6446     TEST_FIELD_SIZE  (TOKEN_PRIVILEGES, Privileges, 12)
6447     TEST_FIELD_ALIGN (TOKEN_PRIVILEGES, Privileges, 4)
6448     TEST_FIELD_OFFSET(TOKEN_PRIVILEGES, Privileges, 4)
6449 }
6450
6451 static void test_pack_TOKEN_SOURCE(void)
6452 {
6453     /* TOKEN_SOURCE */
6454     TEST_TYPE_SIZE   (TOKEN_SOURCE, 16)
6455     TEST_TYPE_ALIGN  (TOKEN_SOURCE, 4)
6456     TEST_FIELD_SIZE  (TOKEN_SOURCE, SourceName, 8)
6457     TEST_FIELD_ALIGN (TOKEN_SOURCE, SourceName, 1)
6458     TEST_FIELD_OFFSET(TOKEN_SOURCE, SourceName, 0)
6459     TEST_FIELD_SIZE  (TOKEN_SOURCE, SourceIdentifier, 8)
6460     TEST_FIELD_ALIGN (TOKEN_SOURCE, SourceIdentifier, 4)
6461     TEST_FIELD_OFFSET(TOKEN_SOURCE, SourceIdentifier, 8)
6462 }
6463
6464 static void test_pack_TOKEN_STATISTICS(void)
6465 {
6466     /* TOKEN_STATISTICS (pack 4) */
6467     TEST_FIELD_SIZE  (TOKEN_STATISTICS, TokenId, 8)
6468     TEST_FIELD_ALIGN (TOKEN_STATISTICS, TokenId, 4)
6469     TEST_FIELD_OFFSET(TOKEN_STATISTICS, TokenId, 0)
6470     TEST_FIELD_SIZE  (TOKEN_STATISTICS, AuthenticationId, 8)
6471     TEST_FIELD_ALIGN (TOKEN_STATISTICS, AuthenticationId, 4)
6472     TEST_FIELD_OFFSET(TOKEN_STATISTICS, AuthenticationId, 8)
6473     TEST_FIELD_SIZE  (TOKEN_STATISTICS, ExpirationTime, 8)
6474     TEST_FIELD_ALIGN (TOKEN_STATISTICS, ExpirationTime, 4)
6475     TEST_FIELD_OFFSET(TOKEN_STATISTICS, ExpirationTime, 16)
6476 }
6477
6478 static void test_pack_TOKEN_USER(void)
6479 {
6480     /* TOKEN_USER */
6481     TEST_TYPE_SIZE   (TOKEN_USER, 8)
6482     TEST_TYPE_ALIGN  (TOKEN_USER, 4)
6483     TEST_FIELD_SIZE  (TOKEN_USER, User, 8)
6484     TEST_FIELD_ALIGN (TOKEN_USER, User, 4)
6485     TEST_FIELD_OFFSET(TOKEN_USER, User, 0)
6486 }
6487
6488 static void test_pack_ULARGE_INTEGER(void)
6489 {
6490     /* ULARGE_INTEGER */
6491 }
6492
6493 static void test_pack_ULONGLONG(void)
6494 {
6495     /* ULONGLONG */
6496     TEST_TYPE_SIZE   (ULONGLONG, 8)
6497     TEST_TYPE_ALIGN  (ULONGLONG, 8)
6498     TEST_TYPE_UNSIGNED(ULONGLONG)
6499 }
6500
6501 static void test_pack_WAITORTIMERCALLBACKFUNC(void)
6502 {
6503     /* WAITORTIMERCALLBACKFUNC */
6504     TEST_TYPE_SIZE   (WAITORTIMERCALLBACKFUNC, 4)
6505     TEST_TYPE_ALIGN  (WAITORTIMERCALLBACKFUNC, 4)
6506 }
6507
6508 static void test_pack_WCHAR(void)
6509 {
6510     /* WCHAR */
6511     TEST_TYPE_SIZE   (WCHAR, 2)
6512     TEST_TYPE_ALIGN  (WCHAR, 2)
6513     TEST_TYPE_UNSIGNED(WCHAR)
6514 }
6515
6516 static void test_pack_ATOM(void)
6517 {
6518     /* ATOM */
6519     TEST_TYPE_SIZE   (ATOM, 2)
6520     TEST_TYPE_ALIGN  (ATOM, 2)
6521     TEST_TYPE_UNSIGNED(ATOM)
6522 }
6523
6524 static void test_pack_BOOL(void)
6525 {
6526     /* BOOL */
6527     TEST_TYPE_SIZE   (BOOL, 4)
6528     TEST_TYPE_ALIGN  (BOOL, 4)
6529     TEST_TYPE_SIGNED(BOOL)
6530 }
6531
6532 static void test_pack_BYTE(void)
6533 {
6534     /* BYTE */
6535     TEST_TYPE_SIZE   (BYTE, 1)
6536     TEST_TYPE_ALIGN  (BYTE, 1)
6537     TEST_TYPE_UNSIGNED(BYTE)
6538 }
6539
6540 static void test_pack_COLORREF(void)
6541 {
6542     /* COLORREF */
6543     TEST_TYPE_SIZE   (COLORREF, 4)
6544     TEST_TYPE_ALIGN  (COLORREF, 4)
6545     TEST_TYPE_UNSIGNED(COLORREF)
6546 }
6547
6548 static void test_pack_DWORD(void)
6549 {
6550     /* DWORD */
6551     TEST_TYPE_SIZE   (DWORD, 4)
6552     TEST_TYPE_ALIGN  (DWORD, 4)
6553     TEST_TYPE_UNSIGNED(DWORD)
6554 }
6555
6556 static void test_pack_FARPROC(void)
6557 {
6558     /* FARPROC */
6559     TEST_TYPE_SIZE   (FARPROC, 4)
6560     TEST_TYPE_ALIGN  (FARPROC, 4)
6561 }
6562
6563 static void test_pack_FLOAT(void)
6564 {
6565     /* FLOAT */
6566     TEST_TYPE_SIZE   (FLOAT, 4)
6567     TEST_TYPE_ALIGN  (FLOAT, 4)
6568 }
6569
6570 static void test_pack_GLOBALHANDLE(void)
6571 {
6572     /* GLOBALHANDLE */
6573     TEST_TYPE_SIZE   (GLOBALHANDLE, 4)
6574     TEST_TYPE_ALIGN  (GLOBALHANDLE, 4)
6575 }
6576
6577 static void test_pack_HCURSOR(void)
6578 {
6579     /* HCURSOR */
6580     TEST_TYPE_SIZE   (HCURSOR, 4)
6581     TEST_TYPE_ALIGN  (HCURSOR, 4)
6582 }
6583
6584 static void test_pack_HFILE(void)
6585 {
6586     /* HFILE */
6587     TEST_TYPE_SIZE   (HFILE, 4)
6588     TEST_TYPE_ALIGN  (HFILE, 4)
6589     TEST_TYPE_SIGNED(HFILE)
6590 }
6591
6592 static void test_pack_HGDIOBJ(void)
6593 {
6594     /* HGDIOBJ */
6595     TEST_TYPE_SIZE   (HGDIOBJ, 4)
6596     TEST_TYPE_ALIGN  (HGDIOBJ, 4)
6597 }
6598
6599 static void test_pack_HGLOBAL(void)
6600 {
6601     /* HGLOBAL */
6602     TEST_TYPE_SIZE   (HGLOBAL, 4)
6603     TEST_TYPE_ALIGN  (HGLOBAL, 4)
6604 }
6605
6606 static void test_pack_HLOCAL(void)
6607 {
6608     /* HLOCAL */
6609     TEST_TYPE_SIZE   (HLOCAL, 4)
6610     TEST_TYPE_ALIGN  (HLOCAL, 4)
6611 }
6612
6613 static void test_pack_HMODULE(void)
6614 {
6615     /* HMODULE */
6616     TEST_TYPE_SIZE   (HMODULE, 4)
6617     TEST_TYPE_ALIGN  (HMODULE, 4)
6618 }
6619
6620 static void test_pack_INT(void)
6621 {
6622     /* INT */
6623     TEST_TYPE_SIZE   (INT, 4)
6624     TEST_TYPE_ALIGN  (INT, 4)
6625     TEST_TYPE_SIGNED(INT)
6626 }
6627
6628 static void test_pack_LOCALHANDLE(void)
6629 {
6630     /* LOCALHANDLE */
6631     TEST_TYPE_SIZE   (LOCALHANDLE, 4)
6632     TEST_TYPE_ALIGN  (LOCALHANDLE, 4)
6633 }
6634
6635 static void test_pack_LPARAM(void)
6636 {
6637     /* LPARAM */
6638     TEST_TYPE_SIZE   (LPARAM, 4)
6639     TEST_TYPE_ALIGN  (LPARAM, 4)
6640 }
6641
6642 static void test_pack_LPCRECT(void)
6643 {
6644     /* LPCRECT */
6645     TEST_TYPE_SIZE   (LPCRECT, 4)
6646     TEST_TYPE_ALIGN  (LPCRECT, 4)
6647     TEST_TARGET_SIZE (LPCRECT, 16)
6648     TEST_TARGET_ALIGN(LPCRECT, 4)
6649 }
6650
6651 static void test_pack_LPCRECTL(void)
6652 {
6653     /* LPCRECTL */
6654     TEST_TYPE_SIZE   (LPCRECTL, 4)
6655     TEST_TYPE_ALIGN  (LPCRECTL, 4)
6656     TEST_TARGET_SIZE (LPCRECTL, 16)
6657     TEST_TARGET_ALIGN(LPCRECTL, 4)
6658 }
6659
6660 static void test_pack_LPCVOID(void)
6661 {
6662     /* LPCVOID */
6663     TEST_TYPE_SIZE   (LPCVOID, 4)
6664     TEST_TYPE_ALIGN  (LPCVOID, 4)
6665 }
6666
6667 static void test_pack_LPPOINT(void)
6668 {
6669     /* LPPOINT */
6670     TEST_TYPE_SIZE   (LPPOINT, 4)
6671     TEST_TYPE_ALIGN  (LPPOINT, 4)
6672     TEST_TARGET_SIZE (LPPOINT, 8)
6673     TEST_TARGET_ALIGN(LPPOINT, 4)
6674 }
6675
6676 static void test_pack_LPRECT(void)
6677 {
6678     /* LPRECT */
6679     TEST_TYPE_SIZE   (LPRECT, 4)
6680     TEST_TYPE_ALIGN  (LPRECT, 4)
6681     TEST_TARGET_SIZE (LPRECT, 16)
6682     TEST_TARGET_ALIGN(LPRECT, 4)
6683 }
6684
6685 static void test_pack_LPRECTL(void)
6686 {
6687     /* LPRECTL */
6688     TEST_TYPE_SIZE   (LPRECTL, 4)
6689     TEST_TYPE_ALIGN  (LPRECTL, 4)
6690     TEST_TARGET_SIZE (LPRECTL, 16)
6691     TEST_TARGET_ALIGN(LPRECTL, 4)
6692 }
6693
6694 static void test_pack_LPSIZE(void)
6695 {
6696     /* LPSIZE */
6697     TEST_TYPE_SIZE   (LPSIZE, 4)
6698     TEST_TYPE_ALIGN  (LPSIZE, 4)
6699     TEST_TARGET_SIZE (LPSIZE, 8)
6700     TEST_TARGET_ALIGN(LPSIZE, 4)
6701 }
6702
6703 static void test_pack_LRESULT(void)
6704 {
6705     /* LRESULT */
6706     TEST_TYPE_SIZE   (LRESULT, 4)
6707     TEST_TYPE_ALIGN  (LRESULT, 4)
6708 }
6709
6710 static void test_pack_POINT(void)
6711 {
6712     /* POINT */
6713     TEST_TYPE_SIZE   (POINT, 8)
6714     TEST_TYPE_ALIGN  (POINT, 4)
6715     TEST_FIELD_SIZE  (POINT, x, 4)
6716     TEST_FIELD_ALIGN (POINT, x, 4)
6717     TEST_FIELD_OFFSET(POINT, x, 0)
6718     TEST_FIELD_SIZE  (POINT, y, 4)
6719     TEST_FIELD_ALIGN (POINT, y, 4)
6720     TEST_FIELD_OFFSET(POINT, y, 4)
6721 }
6722
6723 static void test_pack_POINTL(void)
6724 {
6725     /* POINTL */
6726     TEST_TYPE_SIZE   (POINTL, 8)
6727     TEST_TYPE_ALIGN  (POINTL, 4)
6728     TEST_FIELD_SIZE  (POINTL, x, 4)
6729     TEST_FIELD_ALIGN (POINTL, x, 4)
6730     TEST_FIELD_OFFSET(POINTL, x, 0)
6731     TEST_FIELD_SIZE  (POINTL, y, 4)
6732     TEST_FIELD_ALIGN (POINTL, y, 4)
6733     TEST_FIELD_OFFSET(POINTL, y, 4)
6734 }
6735
6736 static void test_pack_PPOINT(void)
6737 {
6738     /* PPOINT */
6739     TEST_TYPE_SIZE   (PPOINT, 4)
6740     TEST_TYPE_ALIGN  (PPOINT, 4)
6741     TEST_TARGET_SIZE (PPOINT, 8)
6742     TEST_TARGET_ALIGN(PPOINT, 4)
6743 }
6744
6745 static void test_pack_PPOINTL(void)
6746 {
6747     /* PPOINTL */
6748     TEST_TYPE_SIZE   (PPOINTL, 4)
6749     TEST_TYPE_ALIGN  (PPOINTL, 4)
6750     TEST_TARGET_SIZE (PPOINTL, 8)
6751     TEST_TARGET_ALIGN(PPOINTL, 4)
6752 }
6753
6754 static void test_pack_PRECT(void)
6755 {
6756     /* PRECT */
6757     TEST_TYPE_SIZE   (PRECT, 4)
6758     TEST_TYPE_ALIGN  (PRECT, 4)
6759     TEST_TARGET_SIZE (PRECT, 16)
6760     TEST_TARGET_ALIGN(PRECT, 4)
6761 }
6762
6763 static void test_pack_PRECTL(void)
6764 {
6765     /* PRECTL */
6766     TEST_TYPE_SIZE   (PRECTL, 4)
6767     TEST_TYPE_ALIGN  (PRECTL, 4)
6768     TEST_TARGET_SIZE (PRECTL, 16)
6769     TEST_TARGET_ALIGN(PRECTL, 4)
6770 }
6771
6772 static void test_pack_PROC(void)
6773 {
6774     /* PROC */
6775     TEST_TYPE_SIZE   (PROC, 4)
6776     TEST_TYPE_ALIGN  (PROC, 4)
6777 }
6778
6779 static void test_pack_PSIZE(void)
6780 {
6781     /* PSIZE */
6782     TEST_TYPE_SIZE   (PSIZE, 4)
6783     TEST_TYPE_ALIGN  (PSIZE, 4)
6784     TEST_TARGET_SIZE (PSIZE, 8)
6785     TEST_TARGET_ALIGN(PSIZE, 4)
6786 }
6787
6788 static void test_pack_PSZ(void)
6789 {
6790     /* PSZ */
6791     TEST_TYPE_SIZE   (PSZ, 4)
6792     TEST_TYPE_ALIGN  (PSZ, 4)
6793 }
6794
6795 static void test_pack_RECT(void)
6796 {
6797     /* RECT */
6798     TEST_TYPE_SIZE   (RECT, 16)
6799     TEST_TYPE_ALIGN  (RECT, 4)
6800     TEST_FIELD_SIZE  (RECT, left, 4)
6801     TEST_FIELD_ALIGN (RECT, left, 4)
6802     TEST_FIELD_OFFSET(RECT, left, 0)
6803     TEST_FIELD_SIZE  (RECT, top, 4)
6804     TEST_FIELD_ALIGN (RECT, top, 4)
6805     TEST_FIELD_OFFSET(RECT, top, 4)
6806     TEST_FIELD_SIZE  (RECT, right, 4)
6807     TEST_FIELD_ALIGN (RECT, right, 4)
6808     TEST_FIELD_OFFSET(RECT, right, 8)
6809     TEST_FIELD_SIZE  (RECT, bottom, 4)
6810     TEST_FIELD_ALIGN (RECT, bottom, 4)
6811     TEST_FIELD_OFFSET(RECT, bottom, 12)
6812 }
6813
6814 static void test_pack_RECTL(void)
6815 {
6816     /* RECTL */
6817     TEST_TYPE_SIZE   (RECTL, 16)
6818     TEST_TYPE_ALIGN  (RECTL, 4)
6819     TEST_FIELD_SIZE  (RECTL, left, 4)
6820     TEST_FIELD_ALIGN (RECTL, left, 4)
6821     TEST_FIELD_OFFSET(RECTL, left, 0)
6822     TEST_FIELD_SIZE  (RECTL, top, 4)
6823     TEST_FIELD_ALIGN (RECTL, top, 4)
6824     TEST_FIELD_OFFSET(RECTL, top, 4)
6825     TEST_FIELD_SIZE  (RECTL, right, 4)
6826     TEST_FIELD_ALIGN (RECTL, right, 4)
6827     TEST_FIELD_OFFSET(RECTL, right, 8)
6828     TEST_FIELD_SIZE  (RECTL, bottom, 4)
6829     TEST_FIELD_ALIGN (RECTL, bottom, 4)
6830     TEST_FIELD_OFFSET(RECTL, bottom, 12)
6831 }
6832
6833 static void test_pack_SIZE(void)
6834 {
6835     /* SIZE */
6836     TEST_TYPE_SIZE   (SIZE, 8)
6837     TEST_TYPE_ALIGN  (SIZE, 4)
6838     TEST_FIELD_SIZE  (SIZE, cx, 4)
6839     TEST_FIELD_ALIGN (SIZE, cx, 4)
6840     TEST_FIELD_OFFSET(SIZE, cx, 0)
6841     TEST_FIELD_SIZE  (SIZE, cy, 4)
6842     TEST_FIELD_ALIGN (SIZE, cy, 4)
6843     TEST_FIELD_OFFSET(SIZE, cy, 4)
6844 }
6845
6846 static void test_pack_SIZEL(void)
6847 {
6848     /* SIZEL */
6849     TEST_TYPE_SIZE   (SIZEL, 8)
6850     TEST_TYPE_ALIGN  (SIZEL, 4)
6851 }
6852
6853 static void test_pack_UCHAR(void)
6854 {
6855     /* UCHAR */
6856     TEST_TYPE_SIZE   (UCHAR, 1)
6857     TEST_TYPE_ALIGN  (UCHAR, 1)
6858     TEST_TYPE_UNSIGNED(UCHAR)
6859 }
6860
6861 static void test_pack_UINT(void)
6862 {
6863     /* UINT */
6864     TEST_TYPE_SIZE   (UINT, 4)
6865     TEST_TYPE_ALIGN  (UINT, 4)
6866     TEST_TYPE_UNSIGNED(UINT)
6867 }
6868
6869 static void test_pack_ULONG(void)
6870 {
6871     /* ULONG */
6872     TEST_TYPE_SIZE   (ULONG, 4)
6873     TEST_TYPE_ALIGN  (ULONG, 4)
6874     TEST_TYPE_UNSIGNED(ULONG)
6875 }
6876
6877 static void test_pack_USHORT(void)
6878 {
6879     /* USHORT */
6880     TEST_TYPE_SIZE   (USHORT, 2)
6881     TEST_TYPE_ALIGN  (USHORT, 2)
6882     TEST_TYPE_UNSIGNED(USHORT)
6883 }
6884
6885 static void test_pack_WORD(void)
6886 {
6887     /* WORD */
6888     TEST_TYPE_SIZE   (WORD, 2)
6889     TEST_TYPE_ALIGN  (WORD, 2)
6890     TEST_TYPE_UNSIGNED(WORD)
6891 }
6892
6893 static void test_pack_WPARAM(void)
6894 {
6895     /* WPARAM */
6896     TEST_TYPE_SIZE   (WPARAM, 4)
6897     TEST_TYPE_ALIGN  (WPARAM, 4)
6898 }
6899
6900 #endif /* _WIN64 */
6901
6902 static void test_pack(void)
6903 {
6904     test_pack_ACCESS_ALLOWED_ACE();
6905     test_pack_ACCESS_DENIED_ACE();
6906     test_pack_ACCESS_MASK();
6907     test_pack_ACE_HEADER();
6908     test_pack_ACL();
6909     test_pack_ACL_REVISION_INFORMATION();
6910     test_pack_ACL_SIZE_INFORMATION();
6911     test_pack_ATOM();
6912     test_pack_BOOL();
6913     test_pack_BOOLEAN();
6914     test_pack_BYTE();
6915     test_pack_CCHAR();
6916     test_pack_CHAR();
6917     test_pack_COLORREF();
6918     test_pack_DWORD();
6919     test_pack_DWORD32();
6920     test_pack_DWORD64();
6921     test_pack_DWORDLONG();
6922     test_pack_DWORD_PTR();
6923     test_pack_EXCEPTION_POINTERS();
6924     test_pack_EXCEPTION_RECORD();
6925     test_pack_EXECUTION_STATE();
6926     test_pack_FARPROC();
6927     test_pack_FLOAT();
6928     test_pack_FLOATING_SAVE_AREA();
6929     test_pack_FPO_DATA();
6930     test_pack_GENERIC_MAPPING();
6931     test_pack_GLOBALHANDLE();
6932     test_pack_HALF_PTR();
6933     test_pack_HANDLE();
6934     test_pack_HCURSOR();
6935     test_pack_HFILE();
6936     test_pack_HGDIOBJ();
6937     test_pack_HGLOBAL();
6938     test_pack_HLOCAL();
6939     test_pack_HMODULE();
6940     test_pack_HRESULT();
6941     test_pack_IMAGE_ARCHIVE_MEMBER_HEADER();
6942     test_pack_IMAGE_AUX_SYMBOL();
6943     test_pack_IMAGE_BASE_RELOCATION();
6944     test_pack_IMAGE_BOUND_FORWARDER_REF();
6945     test_pack_IMAGE_BOUND_IMPORT_DESCRIPTOR();
6946     test_pack_IMAGE_COFF_SYMBOLS_HEADER();
6947     test_pack_IMAGE_DATA_DIRECTORY();
6948     test_pack_IMAGE_DEBUG_DIRECTORY();
6949     test_pack_IMAGE_DEBUG_MISC();
6950     test_pack_IMAGE_DOS_HEADER();
6951     test_pack_IMAGE_EXPORT_DIRECTORY();
6952     test_pack_IMAGE_FILE_HEADER();
6953     test_pack_IMAGE_FUNCTION_ENTRY();
6954     test_pack_IMAGE_IMPORT_BY_NAME();
6955     test_pack_IMAGE_IMPORT_DESCRIPTOR();
6956     test_pack_IMAGE_LINENUMBER();
6957     test_pack_IMAGE_LOAD_CONFIG_DIRECTORY();
6958     test_pack_IMAGE_NT_HEADERS();
6959     test_pack_IMAGE_NT_HEADERS32();
6960     test_pack_IMAGE_NT_HEADERS64();
6961     test_pack_IMAGE_OPTIONAL_HEADER();
6962     test_pack_IMAGE_OPTIONAL_HEADER32();
6963     test_pack_IMAGE_OPTIONAL_HEADER64();
6964     test_pack_IMAGE_OS2_HEADER();
6965     test_pack_IMAGE_RELOCATION();
6966     test_pack_IMAGE_RESOURCE_DATA_ENTRY();
6967     test_pack_IMAGE_RESOURCE_DIRECTORY();
6968     test_pack_IMAGE_RESOURCE_DIRECTORY_ENTRY();
6969     test_pack_IMAGE_RESOURCE_DIRECTORY_STRING();
6970     test_pack_IMAGE_RESOURCE_DIR_STRING_U();
6971     test_pack_IMAGE_SECTION_HEADER();
6972     test_pack_IMAGE_SEPARATE_DEBUG_HEADER();
6973     test_pack_IMAGE_SYMBOL();
6974     test_pack_IMAGE_THUNK_DATA();
6975     test_pack_IMAGE_TLS_DIRECTORY();
6976     test_pack_IMAGE_TLS_DIRECTORY32();
6977     test_pack_IMAGE_TLS_DIRECTORY64();
6978     test_pack_IMAGE_VXD_HEADER();
6979     test_pack_INT();
6980     test_pack_INT16();
6981     test_pack_INT32();
6982     test_pack_INT64();
6983     test_pack_INT8();
6984     test_pack_INT_PTR();
6985     test_pack_IO_COUNTERS();
6986     test_pack_LANGID();
6987     test_pack_LARGE_INTEGER();
6988     test_pack_LCID();
6989     test_pack_LIST_ENTRY();
6990     test_pack_LOCALHANDLE();
6991     test_pack_LONG();
6992     test_pack_LONG32();
6993     test_pack_LONG64();
6994     test_pack_LONGLONG();
6995     test_pack_LONG_PTR();
6996     test_pack_LPARAM();
6997     test_pack_LPCRECT();
6998     test_pack_LPCRECTL();
6999     test_pack_LPCVOID();
7000     test_pack_LPPOINT();
7001     test_pack_LPRECT();
7002     test_pack_LPRECTL();
7003     test_pack_LPSIZE();
7004     test_pack_LRESULT();
7005     test_pack_LUID();
7006     test_pack_LUID_AND_ATTRIBUTES();
7007     test_pack_MEMORY_BASIC_INFORMATION();
7008     test_pack_MESSAGE_RESOURCE_BLOCK();
7009     test_pack_MESSAGE_RESOURCE_DATA();
7010     test_pack_MESSAGE_RESOURCE_ENTRY();
7011     test_pack_NT_TIB();
7012     test_pack_OBJECT_TYPE_LIST();
7013     test_pack_PACCESS_ALLOWED_ACE();
7014     test_pack_PACCESS_DENIED_ACE();
7015     test_pack_PACCESS_TOKEN();
7016     test_pack_PACE_HEADER();
7017     test_pack_PACL();
7018     test_pack_PACL_REVISION_INFORMATION();
7019     test_pack_PACL_SIZE_INFORMATION();
7020     test_pack_PCCH();
7021     test_pack_PCH();
7022     test_pack_PCSTR();
7023     test_pack_PCTSTR();
7024     test_pack_PCWCH();
7025     test_pack_PCWSTR();
7026     test_pack_PEXCEPTION_POINTERS();
7027     test_pack_PEXCEPTION_RECORD();
7028     test_pack_PFLOATING_SAVE_AREA();
7029     test_pack_PFPO_DATA();
7030     test_pack_PGENERIC_MAPPING();
7031     test_pack_PHANDLE();
7032     test_pack_PIMAGE_ARCHIVE_MEMBER_HEADER();
7033     test_pack_PIMAGE_AUX_SYMBOL();
7034     test_pack_PIMAGE_BASE_RELOCATION();
7035     test_pack_PIMAGE_BOUND_FORWARDER_REF();
7036     test_pack_PIMAGE_BOUND_IMPORT_DESCRIPTOR();
7037     test_pack_PIMAGE_COFF_SYMBOLS_HEADER();
7038     test_pack_PIMAGE_DATA_DIRECTORY();
7039     test_pack_PIMAGE_DEBUG_DIRECTORY();
7040     test_pack_PIMAGE_DEBUG_MISC();
7041     test_pack_PIMAGE_DOS_HEADER();
7042     test_pack_PIMAGE_EXPORT_DIRECTORY();
7043     test_pack_PIMAGE_FILE_HEADER();
7044     test_pack_PIMAGE_FUNCTION_ENTRY();
7045     test_pack_PIMAGE_IMPORT_BY_NAME();
7046     test_pack_PIMAGE_IMPORT_DESCRIPTOR();
7047     test_pack_PIMAGE_LINENUMBER();
7048     test_pack_PIMAGE_LOAD_CONFIG_DIRECTORY();
7049     test_pack_PIMAGE_NT_HEADERS();
7050     test_pack_PIMAGE_NT_HEADERS32();
7051     test_pack_PIMAGE_NT_HEADERS64();
7052     test_pack_PIMAGE_OPTIONAL_HEADER();
7053     test_pack_PIMAGE_OPTIONAL_HEADER32();
7054     test_pack_PIMAGE_OPTIONAL_HEADER64();
7055     test_pack_PIMAGE_OS2_HEADER();
7056     test_pack_PIMAGE_RELOCATION();
7057     test_pack_PIMAGE_RESOURCE_DATA_ENTRY();
7058     test_pack_PIMAGE_RESOURCE_DIRECTORY();
7059     test_pack_PIMAGE_RESOURCE_DIRECTORY_ENTRY();
7060     test_pack_PIMAGE_RESOURCE_DIRECTORY_STRING();
7061     test_pack_PIMAGE_RESOURCE_DIR_STRING_U();
7062     test_pack_PIMAGE_SECTION_HEADER();
7063     test_pack_PIMAGE_SEPARATE_DEBUG_HEADER();
7064     test_pack_PIMAGE_SYMBOL();
7065     test_pack_PIMAGE_THUNK_DATA();
7066     test_pack_PIMAGE_TLS_CALLBACK();
7067     test_pack_PIMAGE_TLS_DIRECTORY();
7068     test_pack_PIMAGE_VXD_HEADER();
7069     test_pack_PIO_COUNTERS();
7070     test_pack_PISECURITY_DESCRIPTOR();
7071     test_pack_PISECURITY_DESCRIPTOR_RELATIVE();
7072     test_pack_PISID();
7073     test_pack_PLARGE_INTEGER();
7074     test_pack_PLIST_ENTRY();
7075     test_pack_PLUID();
7076     test_pack_PLUID_AND_ATTRIBUTES();
7077     test_pack_PMEMORY_BASIC_INFORMATION();
7078     test_pack_PMESSAGE_RESOURCE_BLOCK();
7079     test_pack_PMESSAGE_RESOURCE_DATA();
7080     test_pack_PMESSAGE_RESOURCE_ENTRY();
7081     test_pack_PNT_TIB();
7082     test_pack_POBJECT_TYPE_LIST();
7083     test_pack_POINT();
7084     test_pack_POINTL();
7085     test_pack_PPOINT();
7086     test_pack_PPOINTL();
7087     test_pack_PPRIVILEGE_SET();
7088     test_pack_PRECT();
7089     test_pack_PRECTL();
7090     test_pack_PRIVILEGE_SET();
7091     test_pack_PRLIST_ENTRY();
7092     test_pack_PROC();
7093     test_pack_PRTL_CRITICAL_SECTION();
7094     test_pack_PRTL_CRITICAL_SECTION_DEBUG();
7095     test_pack_PRTL_OSVERSIONINFOEXW();
7096     test_pack_PRTL_OSVERSIONINFOW();
7097     test_pack_PRTL_RESOURCE_DEBUG();
7098     test_pack_PSECURITY_DESCRIPTOR();
7099     test_pack_PSECURITY_QUALITY_OF_SERVICE();
7100     test_pack_PSID();
7101     test_pack_PSID_IDENTIFIER_AUTHORITY();
7102     test_pack_PSINGLE_LIST_ENTRY();
7103     test_pack_PSIZE();
7104     test_pack_PSTR();
7105     test_pack_PSYSTEM_ALARM_ACE();
7106     test_pack_PSYSTEM_AUDIT_ACE();
7107     test_pack_PSZ();
7108     test_pack_PTOKEN_GROUPS();
7109     test_pack_PTOKEN_PRIVILEGES();
7110     test_pack_PTOKEN_USER();
7111     test_pack_PTSTR();
7112     test_pack_PULARGE_INTEGER();
7113     test_pack_PVECTORED_EXCEPTION_HANDLER();
7114     test_pack_PVOID();
7115     test_pack_PWCH();
7116     test_pack_PWSTR();
7117     test_pack_RECT();
7118     test_pack_RECTL();
7119     test_pack_RTL_CRITICAL_SECTION();
7120     test_pack_RTL_CRITICAL_SECTION_DEBUG();
7121     test_pack_RTL_OSVERSIONINFOEXW();
7122     test_pack_RTL_OSVERSIONINFOW();
7123     test_pack_RTL_RESOURCE_DEBUG();
7124     test_pack_SECURITY_CONTEXT_TRACKING_MODE();
7125     test_pack_SECURITY_DESCRIPTOR();
7126     test_pack_SECURITY_DESCRIPTOR_CONTROL();
7127     test_pack_SECURITY_DESCRIPTOR_RELATIVE();
7128     test_pack_SECURITY_INFORMATION();
7129     test_pack_SECURITY_QUALITY_OF_SERVICE();
7130     test_pack_SHORT();
7131     test_pack_SID();
7132     test_pack_SID_AND_ATTRIBUTES();
7133     test_pack_SID_IDENTIFIER_AUTHORITY();
7134     test_pack_SINGLE_LIST_ENTRY();
7135     test_pack_SIZE();
7136     test_pack_SIZEL();
7137     test_pack_SIZE_T();
7138     test_pack_SSIZE_T();
7139     test_pack_SYSTEM_ALARM_ACE();
7140     test_pack_SYSTEM_AUDIT_ACE();
7141     test_pack_TCHAR();
7142     test_pack_TOKEN_DEFAULT_DACL();
7143     test_pack_TOKEN_GROUPS();
7144     test_pack_TOKEN_OWNER();
7145     test_pack_TOKEN_PRIMARY_GROUP();
7146     test_pack_TOKEN_PRIVILEGES();
7147     test_pack_TOKEN_SOURCE();
7148     test_pack_TOKEN_STATISTICS();
7149     test_pack_TOKEN_USER();
7150     test_pack_UCHAR();
7151     test_pack_UHALF_PTR();
7152     test_pack_UINT();
7153     test_pack_UINT16();
7154     test_pack_UINT32();
7155     test_pack_UINT64();
7156     test_pack_UINT8();
7157     test_pack_UINT_PTR();
7158     test_pack_ULARGE_INTEGER();
7159     test_pack_ULONG();
7160     test_pack_ULONG32();
7161     test_pack_ULONG64();
7162     test_pack_ULONGLONG();
7163     test_pack_ULONG_PTR();
7164     test_pack_USHORT();
7165     test_pack_WAITORTIMERCALLBACKFUNC();
7166     test_pack_WCHAR();
7167     test_pack_WORD();
7168     test_pack_WPARAM();
7169 }
7170
7171 START_TEST(generated)
7172 {
7173     test_pack();
7174 }