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