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