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