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