1 /* File generated automatically from tools/winapi/test.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
5 * Unit tests for data structure packing
9 #define _WIN32_IE 0x0501
10 #define _WIN32_WINNT 0x0501
12 #define WINE_NOWINSOCK
16 #include "wine/test.h"
18 /***********************************************************************
22 #define DWORD_PTR UINT_PTR
23 #define LONG_PTR INT_PTR
24 #define ULONG_PTR UINT_PTR
26 /***********************************************************************
27 * Windows API extension
30 #if (_MSC_VER >= 1300) && defined(__cplusplus)
31 # define FIELD_ALIGNMENT(type, field) __alignof(((type*)0)->field)
32 #elif defined(__GNUC__)
33 # define FIELD_ALIGNMENT(type, field) __alignof__(((type*)0)->field)
35 /* FIXME: Not sure if is possible to do without compiler extension */
38 #if (_MSC_VER >= 1300) && defined(__cplusplus)
39 # define _TYPE_ALIGNMENT(type) __alignof(type)
40 #elif defined(__GNUC__)
41 # define _TYPE_ALIGNMENT(type) __alignof__(type)
44 * FIXME: Not sure if is possible to do without compiler extension
45 * (if type is not just a name that is, if so the normal)
46 * TYPE_ALIGNMENT can be used)
50 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
51 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
54 /***********************************************************************
58 #ifdef FIELD_ALIGNMENT
59 # define TEST_FIELD_ALIGNMENT(type, field, align) \
60 ok(FIELD_ALIGNMENT(type, field) == align, \
61 "FIELD_ALIGNMENT(" #type ", " #field ") == %d (expected " #align ")", \
62 FIELD_ALIGNMENT(type, field))
64 # define TEST_FIELD_ALIGNMENT(type, field, align) do { } while (0)
67 #define TEST_FIELD_OFFSET(type, field, offset) \
68 ok(FIELD_OFFSET(type, field) == offset, \
69 "FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")", \
70 FIELD_OFFSET(type, field))
72 #ifdef _TYPE_ALIGNMENT
73 #define TEST__TYPE_ALIGNMENT(type, align) \
74 ok(_TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")", _TYPE_ALIGNMENT(type))
76 # define TEST__TYPE_ALIGNMENT(type, align) do { } while (0)
80 #define TEST_TYPE_ALIGNMENT(type, align) \
81 ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")", TYPE_ALIGNMENT(type))
83 # define TEST_TYPE_ALIGNMENT(type, align) do { } while (0)
86 #define TEST_TYPE_SIZE(type, size) \
87 ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")", sizeof(type))
89 /***********************************************************************
93 #define TEST_FIELD(type, field_type, field_name, field_offset, field_size, field_align) \
94 TEST_TYPE_SIZE(field_type, field_size); \
95 TEST_FIELD_ALIGNMENT(type, field_name, field_align); \
96 TEST_FIELD_OFFSET(type, field_name, field_offset); \
98 #define TEST_TYPE(type, size, align) \
99 TEST_TYPE_ALIGNMENT(type, align); \
100 TEST_TYPE_SIZE(type, size)
102 #define TEST_TYPE_POINTER(type, size, align) \
103 TEST__TYPE_ALIGNMENT(*(type)0, align); \
104 TEST_TYPE_SIZE(*(type)0, size)
106 #define TEST_TYPE_SIGNED(type) \
107 ok((type) -1 < 0, "(" #type ") -1 < 0");
109 #define TEST_TYPE_UNSIGNED(type) \
110 ok((type) -1 > 0, "(" #type ") -1 > 0");
112 static void test_pack_DWORD32(void)
115 TEST_TYPE(DWORD32, 4, 4);
116 TEST_TYPE_UNSIGNED(DWORD32);
119 static void test_pack_DWORD_PTR(void)
122 TEST_TYPE(DWORD_PTR, 4, 4);
125 static void test_pack_HALF_PTR(void)
128 TEST_TYPE(HALF_PTR, 2, 2);
129 TEST_TYPE_SIGNED(HALF_PTR);
132 static void test_pack_INT32(void)
135 TEST_TYPE(INT32, 4, 4);
136 TEST_TYPE_SIGNED(INT32);
139 static void test_pack_INT_PTR(void)
142 TEST_TYPE(INT_PTR, 4, 4);
143 TEST_TYPE_SIGNED(INT_PTR);
146 static void test_pack_LONG32(void)
149 TEST_TYPE(LONG32, 4, 4);
150 TEST_TYPE_SIGNED(LONG32);
153 static void test_pack_LONG_PTR(void)
156 TEST_TYPE(LONG_PTR, 4, 4);
157 TEST_TYPE_SIGNED(LONG_PTR);
160 static void test_pack_SIZE_T(void)
163 TEST_TYPE(SIZE_T, 4, 4);
166 static void test_pack_SSIZE_T(void)
169 TEST_TYPE(SSIZE_T, 4, 4);
172 static void test_pack_UHALF_PTR(void)
175 TEST_TYPE(UHALF_PTR, 2, 2);
176 TEST_TYPE_UNSIGNED(UHALF_PTR);
179 static void test_pack_UINT32(void)
182 TEST_TYPE(UINT32, 4, 4);
183 TEST_TYPE_UNSIGNED(UINT32);
186 static void test_pack_UINT_PTR(void)
189 TEST_TYPE(UINT_PTR, 4, 4);
190 TEST_TYPE_UNSIGNED(UINT_PTR);
193 static void test_pack_ULONG32(void)
196 TEST_TYPE(ULONG32, 4, 4);
197 TEST_TYPE_UNSIGNED(ULONG32);
200 static void test_pack_ULONG_PTR(void)
203 TEST_TYPE(ULONG_PTR, 4, 4);
204 TEST_TYPE_UNSIGNED(ULONG_PTR);
207 static void test_pack_ACCESS_ALLOWED_ACE(void)
209 /* ACCESS_ALLOWED_ACE (pack 4) */
210 TEST_TYPE(ACCESS_ALLOWED_ACE, 12, 4);
211 TEST_FIELD(ACCESS_ALLOWED_ACE, ACE_HEADER, Header, 0, 4, 2);
212 TEST_FIELD(ACCESS_ALLOWED_ACE, DWORD, Mask, 4, 4, 4);
213 TEST_FIELD(ACCESS_ALLOWED_ACE, DWORD, SidStart, 8, 4, 4);
216 static void test_pack_ACCESS_DENIED_ACE(void)
218 /* ACCESS_DENIED_ACE (pack 4) */
219 TEST_TYPE(ACCESS_DENIED_ACE, 12, 4);
220 TEST_FIELD(ACCESS_DENIED_ACE, ACE_HEADER, Header, 0, 4, 2);
221 TEST_FIELD(ACCESS_DENIED_ACE, DWORD, Mask, 4, 4, 4);
222 TEST_FIELD(ACCESS_DENIED_ACE, DWORD, SidStart, 8, 4, 4);
225 static void test_pack_ACCESS_MASK(void)
228 TEST_TYPE(ACCESS_MASK, 4, 4);
231 static void test_pack_ACE_HEADER(void)
233 /* ACE_HEADER (pack 4) */
234 TEST_TYPE(ACE_HEADER, 4, 2);
235 TEST_FIELD(ACE_HEADER, BYTE, AceType, 0, 1, 1);
236 TEST_FIELD(ACE_HEADER, BYTE, AceFlags, 1, 1, 1);
237 TEST_FIELD(ACE_HEADER, WORD, AceSize, 2, 2, 2);
240 static void test_pack_ACL(void)
243 TEST_TYPE(ACL, 8, 2);
244 TEST_FIELD(ACL, BYTE, AclRevision, 0, 1, 1);
245 TEST_FIELD(ACL, BYTE, Sbz1, 1, 1, 1);
246 TEST_FIELD(ACL, WORD, AclSize, 2, 2, 2);
247 TEST_FIELD(ACL, WORD, AceCount, 4, 2, 2);
248 TEST_FIELD(ACL, WORD, Sbz2, 6, 2, 2);
251 static void test_pack_BOOL(void)
254 TEST_TYPE(BOOL, 4, 4);
255 TEST_TYPE_SIGNED(BOOL);
258 static void test_pack_BOOLEAN(void)
261 TEST_TYPE(BOOLEAN, 1, 1);
264 static void test_pack_BYTE(void)
267 TEST_TYPE(BYTE, 1, 1);
268 TEST_TYPE_UNSIGNED(BYTE);
271 static void test_pack_CCHAR(void)
274 TEST_TYPE(CCHAR, 1, 1);
275 TEST_TYPE_SIGNED(CCHAR);
278 static void test_pack_CHAR(void)
281 TEST_TYPE(CHAR, 1, 1);
282 TEST_TYPE_SIGNED(CHAR);
285 static void test_pack_DWORD(void)
288 TEST_TYPE(DWORD, 4, 4);
289 TEST_TYPE_UNSIGNED(DWORD);
292 static void test_pack_EXCEPTION_POINTERS(void)
294 /* EXCEPTION_POINTERS (pack 4) */
295 TEST_TYPE(EXCEPTION_POINTERS, 8, 4);
296 TEST_FIELD(EXCEPTION_POINTERS, PEXCEPTION_RECORD, ExceptionRecord, 0, 4, 4);
297 TEST_FIELD(EXCEPTION_POINTERS, PCONTEXT, ContextRecord, 4, 4, 4);
300 static void test_pack_EXCEPTION_RECORD(void)
302 /* EXCEPTION_RECORD (pack 4) */
303 TEST_TYPE(EXCEPTION_RECORD, 80, 4);
304 TEST_FIELD(EXCEPTION_RECORD, DWORD, ExceptionCode, 0, 4, 4);
305 TEST_FIELD(EXCEPTION_RECORD, DWORD, ExceptionFlags, 4, 4, 4);
306 TEST_FIELD(EXCEPTION_RECORD, struct __EXCEPTION_RECORD *, ExceptionRecord, 8, 4, 4);
307 TEST_FIELD(EXCEPTION_RECORD, LPVOID, ExceptionAddress, 12, 4, 4);
308 TEST_FIELD(EXCEPTION_RECORD, DWORD, NumberParameters, 16, 4, 4);
309 TEST_FIELD(EXCEPTION_RECORD, DWORD[EXCEPTION_MAXIMUM_PARAMETERS], ExceptionInformation, 20, 60, 4);
312 static void test_pack_EXECUTION_STATE(void)
314 /* EXECUTION_STATE */
315 TEST_TYPE(EXECUTION_STATE, 4, 4);
318 static void test_pack_FLOAT(void)
321 TEST_TYPE(FLOAT, 4, 4);
324 static void test_pack_FLOATING_SAVE_AREA(void)
326 /* FLOATING_SAVE_AREA (pack 4) */
327 TEST_TYPE(FLOATING_SAVE_AREA, 112, 4);
328 TEST_FIELD(FLOATING_SAVE_AREA, DWORD, ControlWord, 0, 4, 4);
329 TEST_FIELD(FLOATING_SAVE_AREA, DWORD, StatusWord, 4, 4, 4);
330 TEST_FIELD(FLOATING_SAVE_AREA, DWORD, TagWord, 8, 4, 4);
331 TEST_FIELD(FLOATING_SAVE_AREA, DWORD, ErrorOffset, 12, 4, 4);
332 TEST_FIELD(FLOATING_SAVE_AREA, DWORD, ErrorSelector, 16, 4, 4);
333 TEST_FIELD(FLOATING_SAVE_AREA, DWORD, DataOffset, 20, 4, 4);
334 TEST_FIELD(FLOATING_SAVE_AREA, DWORD, DataSelector, 24, 4, 4);
335 TEST_FIELD(FLOATING_SAVE_AREA, BYTE[SIZE_OF_80387_REGISTERS], RegisterArea, 28, 80, 1);
336 TEST_FIELD(FLOATING_SAVE_AREA, DWORD, Cr0NpxState, 108, 4, 4);
339 static void test_pack_FPO_DATA(void)
341 /* FPO_DATA (pack 4) */
342 TEST_FIELD(FPO_DATA, DWORD, ulOffStart, 0, 4, 4);
343 TEST_FIELD(FPO_DATA, DWORD, cbProcSize, 4, 4, 4);
344 TEST_FIELD(FPO_DATA, DWORD, cdwLocals, 8, 4, 4);
345 TEST_FIELD(FPO_DATA, WORD, cdwParams, 12, 2, 2);
348 static void test_pack_GENERIC_MAPPING(void)
350 /* GENERIC_MAPPING (pack 4) */
351 TEST_TYPE(GENERIC_MAPPING, 16, 4);
352 TEST_FIELD(GENERIC_MAPPING, ACCESS_MASK, GenericRead, 0, 4, 4);
353 TEST_FIELD(GENERIC_MAPPING, ACCESS_MASK, GenericWrite, 4, 4, 4);
354 TEST_FIELD(GENERIC_MAPPING, ACCESS_MASK, GenericExecute, 8, 4, 4);
355 TEST_FIELD(GENERIC_MAPPING, ACCESS_MASK, GenericAll, 12, 4, 4);
358 static void test_pack_HANDLE(void)
361 TEST_TYPE(HANDLE, 4, 4);
364 static void test_pack_HRESULT(void)
367 TEST_TYPE(HRESULT, 4, 4);
370 static void test_pack_IMAGE_ARCHIVE_MEMBER_HEADER(void)
372 /* IMAGE_ARCHIVE_MEMBER_HEADER (pack 4) */
373 TEST_TYPE(IMAGE_ARCHIVE_MEMBER_HEADER, 60, 1);
374 TEST_FIELD(IMAGE_ARCHIVE_MEMBER_HEADER, BYTE[16], Name, 0, 16, 1);
375 TEST_FIELD(IMAGE_ARCHIVE_MEMBER_HEADER, BYTE[12], Date, 16, 12, 1);
376 TEST_FIELD(IMAGE_ARCHIVE_MEMBER_HEADER, BYTE[6], UserID, 28, 6, 1);
377 TEST_FIELD(IMAGE_ARCHIVE_MEMBER_HEADER, BYTE[6], GroupID, 34, 6, 1);
378 TEST_FIELD(IMAGE_ARCHIVE_MEMBER_HEADER, BYTE[8], Mode, 40, 8, 1);
379 TEST_FIELD(IMAGE_ARCHIVE_MEMBER_HEADER, BYTE[10], Size, 48, 10, 1);
380 TEST_FIELD(IMAGE_ARCHIVE_MEMBER_HEADER, BYTE[2], EndHeader, 58, 2, 1);
383 static void test_pack_IMAGE_AUX_SYMBOL(void)
385 /* IMAGE_AUX_SYMBOL (pack 2) */
388 static void test_pack_IMAGE_BASE_RELOCATION(void)
390 /* IMAGE_BASE_RELOCATION (pack 4) */
391 TEST_TYPE(IMAGE_BASE_RELOCATION, 8, 4);
392 TEST_FIELD(IMAGE_BASE_RELOCATION, DWORD, VirtualAddress, 0, 4, 4);
393 TEST_FIELD(IMAGE_BASE_RELOCATION, DWORD, SizeOfBlock, 4, 4, 4);
396 static void test_pack_IMAGE_BOUND_FORWARDER_REF(void)
398 /* IMAGE_BOUND_FORWARDER_REF (pack 4) */
399 TEST_TYPE(IMAGE_BOUND_FORWARDER_REF, 8, 4);
400 TEST_FIELD(IMAGE_BOUND_FORWARDER_REF, DWORD, TimeDateStamp, 0, 4, 4);
401 TEST_FIELD(IMAGE_BOUND_FORWARDER_REF, WORD, OffsetModuleName, 4, 2, 2);
402 TEST_FIELD(IMAGE_BOUND_FORWARDER_REF, WORD, Reserved, 6, 2, 2);
405 static void test_pack_IMAGE_BOUND_IMPORT_DESCRIPTOR(void)
407 /* IMAGE_BOUND_IMPORT_DESCRIPTOR (pack 4) */
408 TEST_TYPE(IMAGE_BOUND_IMPORT_DESCRIPTOR, 8, 4);
409 TEST_FIELD(IMAGE_BOUND_IMPORT_DESCRIPTOR, DWORD, TimeDateStamp, 0, 4, 4);
410 TEST_FIELD(IMAGE_BOUND_IMPORT_DESCRIPTOR, WORD, OffsetModuleName, 4, 2, 2);
411 TEST_FIELD(IMAGE_BOUND_IMPORT_DESCRIPTOR, WORD, NumberOfModuleForwarderRefs, 6, 2, 2);
414 static void test_pack_IMAGE_COFF_SYMBOLS_HEADER(void)
416 /* IMAGE_COFF_SYMBOLS_HEADER (pack 4) */
417 TEST_TYPE(IMAGE_COFF_SYMBOLS_HEADER, 32, 4);
418 TEST_FIELD(IMAGE_COFF_SYMBOLS_HEADER, DWORD, NumberOfSymbols, 0, 4, 4);
419 TEST_FIELD(IMAGE_COFF_SYMBOLS_HEADER, DWORD, LvaToFirstSymbol, 4, 4, 4);
420 TEST_FIELD(IMAGE_COFF_SYMBOLS_HEADER, DWORD, NumberOfLinenumbers, 8, 4, 4);
421 TEST_FIELD(IMAGE_COFF_SYMBOLS_HEADER, DWORD, LvaToFirstLinenumber, 12, 4, 4);
422 TEST_FIELD(IMAGE_COFF_SYMBOLS_HEADER, DWORD, RvaToFirstByteOfCode, 16, 4, 4);
423 TEST_FIELD(IMAGE_COFF_SYMBOLS_HEADER, DWORD, RvaToLastByteOfCode, 20, 4, 4);
424 TEST_FIELD(IMAGE_COFF_SYMBOLS_HEADER, DWORD, RvaToFirstByteOfData, 24, 4, 4);
425 TEST_FIELD(IMAGE_COFF_SYMBOLS_HEADER, DWORD, RvaToLastByteOfData, 28, 4, 4);
428 static void test_pack_IMAGE_DATA_DIRECTORY(void)
430 /* IMAGE_DATA_DIRECTORY (pack 4) */
431 TEST_TYPE(IMAGE_DATA_DIRECTORY, 8, 4);
432 TEST_FIELD(IMAGE_DATA_DIRECTORY, DWORD, VirtualAddress, 0, 4, 4);
433 TEST_FIELD(IMAGE_DATA_DIRECTORY, DWORD, Size, 4, 4, 4);
436 static void test_pack_IMAGE_DEBUG_DIRECTORY(void)
438 /* IMAGE_DEBUG_DIRECTORY (pack 4) */
439 TEST_TYPE(IMAGE_DEBUG_DIRECTORY, 28, 4);
440 TEST_FIELD(IMAGE_DEBUG_DIRECTORY, DWORD, Characteristics, 0, 4, 4);
441 TEST_FIELD(IMAGE_DEBUG_DIRECTORY, DWORD, TimeDateStamp, 4, 4, 4);
442 TEST_FIELD(IMAGE_DEBUG_DIRECTORY, WORD, MajorVersion, 8, 2, 2);
443 TEST_FIELD(IMAGE_DEBUG_DIRECTORY, WORD, MinorVersion, 10, 2, 2);
444 TEST_FIELD(IMAGE_DEBUG_DIRECTORY, DWORD, Type, 12, 4, 4);
445 TEST_FIELD(IMAGE_DEBUG_DIRECTORY, DWORD, SizeOfData, 16, 4, 4);
446 TEST_FIELD(IMAGE_DEBUG_DIRECTORY, DWORD, AddressOfRawData, 20, 4, 4);
447 TEST_FIELD(IMAGE_DEBUG_DIRECTORY, DWORD, PointerToRawData, 24, 4, 4);
450 static void test_pack_IMAGE_DEBUG_MISC(void)
452 /* IMAGE_DEBUG_MISC (pack 4) */
453 TEST_TYPE(IMAGE_DEBUG_MISC, 16, 4);
454 TEST_FIELD(IMAGE_DEBUG_MISC, DWORD, DataType, 0, 4, 4);
455 TEST_FIELD(IMAGE_DEBUG_MISC, DWORD, Length, 4, 4, 4);
456 TEST_FIELD(IMAGE_DEBUG_MISC, BYTE, Unicode, 8, 1, 1);
457 TEST_FIELD(IMAGE_DEBUG_MISC, BYTE[ 3 ], Reserved, 9, 3, 1);
458 TEST_FIELD(IMAGE_DEBUG_MISC, BYTE[ 1 ], Data, 12, 1, 1);
461 static void test_pack_IMAGE_DOS_HEADER(void)
463 /* IMAGE_DOS_HEADER (pack 2) */
464 TEST_TYPE(IMAGE_DOS_HEADER, 64, 2);
465 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_magic, 0, 2, 2);
466 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_cblp, 2, 2, 2);
467 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_cp, 4, 2, 2);
468 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_crlc, 6, 2, 2);
469 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_cparhdr, 8, 2, 2);
470 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_minalloc, 10, 2, 2);
471 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_maxalloc, 12, 2, 2);
472 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_ss, 14, 2, 2);
473 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_sp, 16, 2, 2);
474 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_csum, 18, 2, 2);
475 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_ip, 20, 2, 2);
476 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_cs, 22, 2, 2);
477 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_lfarlc, 24, 2, 2);
478 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_ovno, 26, 2, 2);
479 TEST_FIELD(IMAGE_DOS_HEADER, WORD[4], e_res, 28, 8, 2);
480 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_oemid, 36, 2, 2);
481 TEST_FIELD(IMAGE_DOS_HEADER, WORD, e_oeminfo, 38, 2, 2);
482 TEST_FIELD(IMAGE_DOS_HEADER, WORD[10], e_res2, 40, 20, 2);
483 TEST_FIELD(IMAGE_DOS_HEADER, DWORD, e_lfanew, 60, 4, 2);
486 static void test_pack_IMAGE_EXPORT_DIRECTORY(void)
488 /* IMAGE_EXPORT_DIRECTORY (pack 4) */
489 TEST_TYPE(IMAGE_EXPORT_DIRECTORY, 40, 4);
490 TEST_FIELD(IMAGE_EXPORT_DIRECTORY, DWORD, Characteristics, 0, 4, 4);
491 TEST_FIELD(IMAGE_EXPORT_DIRECTORY, DWORD, TimeDateStamp, 4, 4, 4);
492 TEST_FIELD(IMAGE_EXPORT_DIRECTORY, WORD, MajorVersion, 8, 2, 2);
493 TEST_FIELD(IMAGE_EXPORT_DIRECTORY, WORD, MinorVersion, 10, 2, 2);
494 TEST_FIELD(IMAGE_EXPORT_DIRECTORY, DWORD, Name, 12, 4, 4);
495 TEST_FIELD(IMAGE_EXPORT_DIRECTORY, DWORD, Base, 16, 4, 4);
496 TEST_FIELD(IMAGE_EXPORT_DIRECTORY, DWORD, NumberOfFunctions, 20, 4, 4);
497 TEST_FIELD(IMAGE_EXPORT_DIRECTORY, DWORD, NumberOfNames, 24, 4, 4);
498 TEST_FIELD(IMAGE_EXPORT_DIRECTORY, DWORD, AddressOfFunctions, 28, 4, 4);
499 TEST_FIELD(IMAGE_EXPORT_DIRECTORY, DWORD, AddressOfNames, 32, 4, 4);
500 TEST_FIELD(IMAGE_EXPORT_DIRECTORY, DWORD, AddressOfNameOrdinals, 36, 4, 4);
503 static void test_pack_IMAGE_FILE_HEADER(void)
505 /* IMAGE_FILE_HEADER (pack 4) */
506 TEST_TYPE(IMAGE_FILE_HEADER, 20, 4);
507 TEST_FIELD(IMAGE_FILE_HEADER, WORD, Machine, 0, 2, 2);
508 TEST_FIELD(IMAGE_FILE_HEADER, WORD, NumberOfSections, 2, 2, 2);
509 TEST_FIELD(IMAGE_FILE_HEADER, DWORD, TimeDateStamp, 4, 4, 4);
510 TEST_FIELD(IMAGE_FILE_HEADER, DWORD, PointerToSymbolTable, 8, 4, 4);
511 TEST_FIELD(IMAGE_FILE_HEADER, DWORD, NumberOfSymbols, 12, 4, 4);
512 TEST_FIELD(IMAGE_FILE_HEADER, WORD, SizeOfOptionalHeader, 16, 2, 2);
513 TEST_FIELD(IMAGE_FILE_HEADER, WORD, Characteristics, 18, 2, 2);
516 static void test_pack_IMAGE_FUNCTION_ENTRY(void)
518 /* IMAGE_FUNCTION_ENTRY (pack 4) */
519 TEST_TYPE(IMAGE_FUNCTION_ENTRY, 12, 4);
520 TEST_FIELD(IMAGE_FUNCTION_ENTRY, DWORD, StartingAddress, 0, 4, 4);
521 TEST_FIELD(IMAGE_FUNCTION_ENTRY, DWORD, EndingAddress, 4, 4, 4);
522 TEST_FIELD(IMAGE_FUNCTION_ENTRY, DWORD, EndOfPrologue, 8, 4, 4);
525 static void test_pack_IMAGE_IMPORT_BY_NAME(void)
527 /* IMAGE_IMPORT_BY_NAME (pack 4) */
528 TEST_TYPE(IMAGE_IMPORT_BY_NAME, 4, 2);
529 TEST_FIELD(IMAGE_IMPORT_BY_NAME, WORD, Hint, 0, 2, 2);
530 TEST_FIELD(IMAGE_IMPORT_BY_NAME, BYTE[1], Name, 2, 1, 1);
533 static void test_pack_IMAGE_LOAD_CONFIG_DIRECTORY(void)
535 /* IMAGE_LOAD_CONFIG_DIRECTORY (pack 4) */
536 TEST_TYPE(IMAGE_LOAD_CONFIG_DIRECTORY, 64, 4);
537 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, Characteristics, 0, 4, 4);
538 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, TimeDateStamp, 4, 4, 4);
539 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, WORD, MajorVersion, 8, 2, 2);
540 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, WORD, MinorVersion, 10, 2, 2);
541 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, GlobalFlagsClear, 12, 4, 4);
542 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, GlobalFlagsSet, 16, 4, 4);
543 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, CriticalSectionDefaultTimeout, 20, 4, 4);
544 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, DeCommitFreeBlockThreshold, 24, 4, 4);
545 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, DeCommitTotalFreeThreshold, 28, 4, 4);
546 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, PVOID, LockPrefixTable, 32, 4, 4);
547 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, MaximumAllocationSize, 36, 4, 4);
548 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, VirtualMemoryThreshold, 40, 4, 4);
549 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, ProcessHeapFlags, 44, 4, 4);
550 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD, ProcessAffinityMask, 48, 4, 4);
551 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, WORD, CSDVersion, 52, 2, 2);
552 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, WORD, Reserved1, 54, 2, 2);
553 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, PVOID, EditList, 56, 4, 4);
554 TEST_FIELD(IMAGE_LOAD_CONFIG_DIRECTORY, DWORD[1], Reserved, 60, 4, 4);
557 static void test_pack_IMAGE_NT_HEADERS(void)
559 /* IMAGE_NT_HEADERS (pack 4) */
560 TEST_TYPE(IMAGE_NT_HEADERS, 248, 4);
561 TEST_FIELD(IMAGE_NT_HEADERS, DWORD, Signature, 0, 4, 4);
562 TEST_FIELD(IMAGE_NT_HEADERS, IMAGE_FILE_HEADER, FileHeader, 4, 20, 4);
563 TEST_FIELD(IMAGE_NT_HEADERS, IMAGE_OPTIONAL_HEADER, OptionalHeader, 24, 224, 4);
566 static void test_pack_IMAGE_OPTIONAL_HEADER(void)
568 /* IMAGE_OPTIONAL_HEADER (pack 4) */
569 TEST_TYPE(IMAGE_OPTIONAL_HEADER, 224, 4);
570 TEST_FIELD(IMAGE_OPTIONAL_HEADER, WORD, Magic, 0, 2, 2);
571 TEST_FIELD(IMAGE_OPTIONAL_HEADER, BYTE, MajorLinkerVersion, 2, 1, 1);
572 TEST_FIELD(IMAGE_OPTIONAL_HEADER, BYTE, MinorLinkerVersion, 3, 1, 1);
573 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, SizeOfCode, 4, 4, 4);
574 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, SizeOfInitializedData, 8, 4, 4);
575 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, SizeOfUninitializedData, 12, 4, 4);
576 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, AddressOfEntryPoint, 16, 4, 4);
577 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, BaseOfCode, 20, 4, 4);
578 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, BaseOfData, 24, 4, 4);
579 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, ImageBase, 28, 4, 4);
580 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, SectionAlignment, 32, 4, 4);
581 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, FileAlignment, 36, 4, 4);
582 TEST_FIELD(IMAGE_OPTIONAL_HEADER, WORD, MajorOperatingSystemVersion, 40, 2, 2);
583 TEST_FIELD(IMAGE_OPTIONAL_HEADER, WORD, MinorOperatingSystemVersion, 42, 2, 2);
584 TEST_FIELD(IMAGE_OPTIONAL_HEADER, WORD, MajorImageVersion, 44, 2, 2);
585 TEST_FIELD(IMAGE_OPTIONAL_HEADER, WORD, MinorImageVersion, 46, 2, 2);
586 TEST_FIELD(IMAGE_OPTIONAL_HEADER, WORD, MajorSubsystemVersion, 48, 2, 2);
587 TEST_FIELD(IMAGE_OPTIONAL_HEADER, WORD, MinorSubsystemVersion, 50, 2, 2);
588 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, Win32VersionValue, 52, 4, 4);
589 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, SizeOfImage, 56, 4, 4);
590 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, SizeOfHeaders, 60, 4, 4);
591 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, CheckSum, 64, 4, 4);
592 TEST_FIELD(IMAGE_OPTIONAL_HEADER, WORD, Subsystem, 68, 2, 2);
593 TEST_FIELD(IMAGE_OPTIONAL_HEADER, WORD, DllCharacteristics, 70, 2, 2);
594 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, SizeOfStackReserve, 72, 4, 4);
595 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, SizeOfStackCommit, 76, 4, 4);
596 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, SizeOfHeapReserve, 80, 4, 4);
597 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, SizeOfHeapCommit, 84, 4, 4);
598 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, LoaderFlags, 88, 4, 4);
599 TEST_FIELD(IMAGE_OPTIONAL_HEADER, DWORD, NumberOfRvaAndSizes, 92, 4, 4);
600 TEST_FIELD(IMAGE_OPTIONAL_HEADER, IMAGE_DATA_DIRECTORY[IMAGE_NUMBEROF_DIRECTORY_ENTRIES], DataDirectory, 96, 128, 4);
603 static void test_pack_IMAGE_OS2_HEADER(void)
605 /* IMAGE_OS2_HEADER (pack 2) */
606 TEST_TYPE(IMAGE_OS2_HEADER, 64, 2);
607 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_magic, 0, 2, 2);
608 TEST_FIELD(IMAGE_OS2_HEADER, BYTE, ne_ver, 2, 1, 1);
609 TEST_FIELD(IMAGE_OS2_HEADER, BYTE, ne_rev, 3, 1, 1);
610 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_enttab, 4, 2, 2);
611 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_cbenttab, 6, 2, 2);
612 TEST_FIELD(IMAGE_OS2_HEADER, LONG, ne_crc, 8, 4, 2);
613 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_flags, 12, 2, 2);
614 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_autodata, 14, 2, 2);
615 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_heap, 16, 2, 2);
616 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_stack, 18, 2, 2);
617 TEST_FIELD(IMAGE_OS2_HEADER, DWORD, ne_csip, 20, 4, 2);
618 TEST_FIELD(IMAGE_OS2_HEADER, DWORD, ne_sssp, 24, 4, 2);
619 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_cseg, 28, 2, 2);
620 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_cmod, 30, 2, 2);
621 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_cbnrestab, 32, 2, 2);
622 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_segtab, 34, 2, 2);
623 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_rsrctab, 36, 2, 2);
624 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_restab, 38, 2, 2);
625 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_modtab, 40, 2, 2);
626 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_imptab, 42, 2, 2);
627 TEST_FIELD(IMAGE_OS2_HEADER, DWORD, ne_nrestab, 44, 4, 2);
628 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_cmovent, 48, 2, 2);
629 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_align, 50, 2, 2);
630 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_cres, 52, 2, 2);
631 TEST_FIELD(IMAGE_OS2_HEADER, BYTE, ne_exetyp, 54, 1, 1);
632 TEST_FIELD(IMAGE_OS2_HEADER, BYTE, ne_flagsothers, 55, 1, 1);
633 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_pretthunks, 56, 2, 2);
634 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_psegrefbytes, 58, 2, 2);
635 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_swaparea, 60, 2, 2);
636 TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_expver, 62, 2, 2);
639 static void test_pack_IMAGE_RESOURCE_DATA_ENTRY(void)
641 /* IMAGE_RESOURCE_DATA_ENTRY (pack 4) */
642 TEST_FIELD(IMAGE_RESOURCE_DATA_ENTRY, DWORD, OffsetToData, 0, 4, 4);
643 TEST_FIELD(IMAGE_RESOURCE_DATA_ENTRY, DWORD, Size, 4, 4, 4);
644 TEST_FIELD(IMAGE_RESOURCE_DATA_ENTRY, DWORD, CodePage, 8, 4, 4);
647 static void test_pack_IMAGE_RESOURCE_DIRECTORY(void)
649 /* IMAGE_RESOURCE_DIRECTORY (pack 4) */
650 TEST_TYPE(IMAGE_RESOURCE_DIRECTORY, 16, 4);
651 TEST_FIELD(IMAGE_RESOURCE_DIRECTORY, DWORD, Characteristics, 0, 4, 4);
652 TEST_FIELD(IMAGE_RESOURCE_DIRECTORY, DWORD, TimeDateStamp, 4, 4, 4);
653 TEST_FIELD(IMAGE_RESOURCE_DIRECTORY, WORD, MajorVersion, 8, 2, 2);
654 TEST_FIELD(IMAGE_RESOURCE_DIRECTORY, WORD, MinorVersion, 10, 2, 2);
655 TEST_FIELD(IMAGE_RESOURCE_DIRECTORY, WORD, NumberOfNamedEntries, 12, 2, 2);
656 TEST_FIELD(IMAGE_RESOURCE_DIRECTORY, WORD, NumberOfIdEntries, 14, 2, 2);
659 static void test_pack_IMAGE_RESOURCE_DIRECTORY_ENTRY(void)
661 /* IMAGE_RESOURCE_DIRECTORY_ENTRY (pack 4) */
664 static void test_pack_IMAGE_RESOURCE_DIRECTORY_STRING(void)
666 /* IMAGE_RESOURCE_DIRECTORY_STRING (pack 4) */
667 TEST_TYPE(IMAGE_RESOURCE_DIRECTORY_STRING, 4, 2);
668 TEST_FIELD(IMAGE_RESOURCE_DIRECTORY_STRING, WORD, Length, 0, 2, 2);
669 TEST_FIELD(IMAGE_RESOURCE_DIRECTORY_STRING, CHAR[ 1 ], NameString, 2, 1, 1);
672 static void test_pack_IMAGE_RESOURCE_DIR_STRING_U(void)
674 /* IMAGE_RESOURCE_DIR_STRING_U (pack 4) */
675 TEST_TYPE(IMAGE_RESOURCE_DIR_STRING_U, 4, 2);
676 TEST_FIELD(IMAGE_RESOURCE_DIR_STRING_U, WORD, Length, 0, 2, 2);
677 TEST_FIELD(IMAGE_RESOURCE_DIR_STRING_U, WCHAR[ 1 ], NameString, 2, 2, 2);
680 static void test_pack_IMAGE_SEPARATE_DEBUG_HEADER(void)
682 /* IMAGE_SEPARATE_DEBUG_HEADER (pack 4) */
683 TEST_TYPE(IMAGE_SEPARATE_DEBUG_HEADER, 48, 4);
684 TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, WORD, Signature, 0, 2, 2);
685 TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, WORD, Flags, 2, 2, 2);
686 TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, WORD, Machine, 4, 2, 2);
687 TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, WORD, Characteristics, 6, 2, 2);
688 TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, DWORD, TimeDateStamp, 8, 4, 4);
689 TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, DWORD, CheckSum, 12, 4, 4);
690 TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, DWORD, ImageBase, 16, 4, 4);
691 TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, DWORD, SizeOfImage, 20, 4, 4);
692 TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, DWORD, NumberOfSections, 24, 4, 4);
693 TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, DWORD, ExportedNamesSize, 28, 4, 4);
694 TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, DWORD, DebugDirectorySize, 32, 4, 4);
695 TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, DWORD, SectionAlignment, 36, 4, 4);
696 TEST_FIELD(IMAGE_SEPARATE_DEBUG_HEADER, DWORD[ 2 ], Reserved, 40, 8, 4);
699 static void test_pack_IMAGE_THUNK_DATA(void)
701 /* IMAGE_THUNK_DATA (pack 4) */
704 static void test_pack_IMAGE_TLS_DIRECTORY(void)
706 /* IMAGE_TLS_DIRECTORY (pack 4) */
707 TEST_TYPE(IMAGE_TLS_DIRECTORY, 24, 4);
708 TEST_FIELD(IMAGE_TLS_DIRECTORY, DWORD, StartAddressOfRawData, 0, 4, 4);
709 TEST_FIELD(IMAGE_TLS_DIRECTORY, DWORD, EndAddressOfRawData, 4, 4, 4);
710 TEST_FIELD(IMAGE_TLS_DIRECTORY, LPDWORD, AddressOfIndex, 8, 4, 4);
711 TEST_FIELD(IMAGE_TLS_DIRECTORY, PIMAGE_TLS_CALLBACK *, AddressOfCallBacks, 12, 4, 4);
712 TEST_FIELD(IMAGE_TLS_DIRECTORY, DWORD, SizeOfZeroFill, 16, 4, 4);
713 TEST_FIELD(IMAGE_TLS_DIRECTORY, DWORD, Characteristics, 20, 4, 4);
716 static void test_pack_IMAGE_VXD_HEADER(void)
718 /* IMAGE_VXD_HEADER (pack 2) */
719 TEST_TYPE(IMAGE_VXD_HEADER, 196, 2);
720 TEST_FIELD(IMAGE_VXD_HEADER, WORD, e32_magic, 0, 2, 2);
721 TEST_FIELD(IMAGE_VXD_HEADER, BYTE, e32_border, 2, 1, 1);
722 TEST_FIELD(IMAGE_VXD_HEADER, BYTE, e32_worder, 3, 1, 1);
723 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_level, 4, 4, 2);
724 TEST_FIELD(IMAGE_VXD_HEADER, WORD, e32_cpu, 8, 2, 2);
725 TEST_FIELD(IMAGE_VXD_HEADER, WORD, e32_os, 10, 2, 2);
726 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_ver, 12, 4, 2);
727 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_mflags, 16, 4, 2);
728 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_mpages, 20, 4, 2);
729 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_startobj, 24, 4, 2);
730 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_eip, 28, 4, 2);
731 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_stackobj, 32, 4, 2);
732 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_esp, 36, 4, 2);
733 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_pagesize, 40, 4, 2);
734 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_lastpagesize, 44, 4, 2);
735 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_fixupsize, 48, 4, 2);
736 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_fixupsum, 52, 4, 2);
737 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_ldrsize, 56, 4, 2);
738 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_ldrsum, 60, 4, 2);
739 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_objtab, 64, 4, 2);
740 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_objcnt, 68, 4, 2);
741 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_objmap, 72, 4, 2);
742 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_itermap, 76, 4, 2);
743 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_rsrctab, 80, 4, 2);
744 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_rsrccnt, 84, 4, 2);
745 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_restab, 88, 4, 2);
746 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_enttab, 92, 4, 2);
747 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_dirtab, 96, 4, 2);
748 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_dircnt, 100, 4, 2);
749 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_fpagetab, 104, 4, 2);
750 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_frectab, 108, 4, 2);
751 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_impmod, 112, 4, 2);
752 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_impmodcnt, 116, 4, 2);
753 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_impproc, 120, 4, 2);
754 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_pagesum, 124, 4, 2);
755 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_datapage, 128, 4, 2);
756 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_preload, 132, 4, 2);
757 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_nrestab, 136, 4, 2);
758 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_cbnrestab, 140, 4, 2);
759 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_nressum, 144, 4, 2);
760 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_autodata, 148, 4, 2);
761 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_debuginfo, 152, 4, 2);
762 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_debuglen, 156, 4, 2);
763 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_instpreload, 160, 4, 2);
764 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_instdemand, 164, 4, 2);
765 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_heapsize, 168, 4, 2);
766 TEST_FIELD(IMAGE_VXD_HEADER, BYTE[12], e32_res3, 172, 12, 1);
767 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_winresoff, 184, 4, 2);
768 TEST_FIELD(IMAGE_VXD_HEADER, DWORD, e32_winreslen, 188, 4, 2);
769 TEST_FIELD(IMAGE_VXD_HEADER, WORD, e32_devid, 192, 2, 2);
770 TEST_FIELD(IMAGE_VXD_HEADER, WORD, e32_ddkver, 194, 2, 2);
773 static void test_pack_INT(void)
776 TEST_TYPE(INT, 4, 4);
777 TEST_TYPE_SIGNED(INT);
780 static void test_pack_LANGID(void)
783 TEST_TYPE(LANGID, 2, 2);
786 static void test_pack_LCID(void)
789 TEST_TYPE(LCID, 4, 4);
792 static void test_pack_LIST_ENTRY(void)
794 /* LIST_ENTRY (pack 4) */
795 TEST_TYPE(LIST_ENTRY, 8, 4);
796 TEST_FIELD(LIST_ENTRY, struct _LIST_ENTRY *, Flink, 0, 4, 4);
797 TEST_FIELD(LIST_ENTRY, struct _LIST_ENTRY *, Blink, 4, 4, 4);
800 static void test_pack_LONG(void)
803 TEST_TYPE(LONG, 4, 4);
804 TEST_TYPE_SIGNED(LONG);
807 static void test_pack_LPCVOID(void)
810 TEST_TYPE(LPCVOID, 4, 4);
813 static void test_pack_LPTOP_LEVEL_EXCEPTION_FILTER(void)
815 /* LPTOP_LEVEL_EXCEPTION_FILTER */
816 TEST_TYPE(LPTOP_LEVEL_EXCEPTION_FILTER, 4, 4);
819 static void test_pack_LUID(void)
822 TEST_TYPE(LUID, 8, 4);
823 TEST_FIELD(LUID, DWORD, LowPart, 0, 4, 4);
824 TEST_FIELD(LUID, LONG, HighPart, 4, 4, 4);
827 static void test_pack_LUID_AND_ATTRIBUTES(void)
829 /* LUID_AND_ATTRIBUTES (pack 4) */
830 TEST_TYPE(LUID_AND_ATTRIBUTES, 12, 4);
831 TEST_FIELD(LUID_AND_ATTRIBUTES, LUID, Luid, 0, 8, 4);
832 TEST_FIELD(LUID_AND_ATTRIBUTES, DWORD, Attributes, 8, 4, 4);
835 static void test_pack_MEMORY_BASIC_INFORMATION(void)
837 /* MEMORY_BASIC_INFORMATION (pack 4) */
838 TEST_TYPE(MEMORY_BASIC_INFORMATION, 28, 4);
839 TEST_FIELD(MEMORY_BASIC_INFORMATION, LPVOID, BaseAddress, 0, 4, 4);
840 TEST_FIELD(MEMORY_BASIC_INFORMATION, LPVOID, AllocationBase, 4, 4, 4);
841 TEST_FIELD(MEMORY_BASIC_INFORMATION, DWORD, AllocationProtect, 8, 4, 4);
842 TEST_FIELD(MEMORY_BASIC_INFORMATION, DWORD, RegionSize, 12, 4, 4);
843 TEST_FIELD(MEMORY_BASIC_INFORMATION, DWORD, State, 16, 4, 4);
844 TEST_FIELD(MEMORY_BASIC_INFORMATION, DWORD, Protect, 20, 4, 4);
845 TEST_FIELD(MEMORY_BASIC_INFORMATION, DWORD, Type, 24, 4, 4);
848 static void test_pack_MESSAGE_RESOURCE_BLOCK(void)
850 /* MESSAGE_RESOURCE_BLOCK (pack 4) */
851 TEST_TYPE(MESSAGE_RESOURCE_BLOCK, 12, 4);
852 TEST_FIELD(MESSAGE_RESOURCE_BLOCK, DWORD, LowId, 0, 4, 4);
853 TEST_FIELD(MESSAGE_RESOURCE_BLOCK, DWORD, HighId, 4, 4, 4);
854 TEST_FIELD(MESSAGE_RESOURCE_BLOCK, DWORD, OffsetToEntries, 8, 4, 4);
857 static void test_pack_MESSAGE_RESOURCE_DATA(void)
859 /* MESSAGE_RESOURCE_DATA (pack 4) */
860 TEST_TYPE(MESSAGE_RESOURCE_DATA, 16, 4);
861 TEST_FIELD(MESSAGE_RESOURCE_DATA, DWORD, NumberOfBlocks, 0, 4, 4);
862 TEST_FIELD(MESSAGE_RESOURCE_DATA, MESSAGE_RESOURCE_BLOCK[ 1 ], Blocks, 4, 12, 4);
865 static void test_pack_MESSAGE_RESOURCE_ENTRY(void)
867 /* MESSAGE_RESOURCE_ENTRY (pack 4) */
868 TEST_TYPE(MESSAGE_RESOURCE_ENTRY, 6, 2);
869 TEST_FIELD(MESSAGE_RESOURCE_ENTRY, WORD, Length, 0, 2, 2);
870 TEST_FIELD(MESSAGE_RESOURCE_ENTRY, WORD, Flags, 2, 2, 2);
871 TEST_FIELD(MESSAGE_RESOURCE_ENTRY, BYTE[1], Text, 4, 1, 1);
874 static void test_pack_PACCESS_ALLOWED_ACE(void)
876 /* PACCESS_ALLOWED_ACE */
877 TEST_TYPE(PACCESS_ALLOWED_ACE, 4, 4);
878 TEST_TYPE_POINTER(PACCESS_ALLOWED_ACE, 12, 4);
881 static void test_pack_PACCESS_DENIED_ACE(void)
883 /* PACCESS_DENIED_ACE */
884 TEST_TYPE(PACCESS_DENIED_ACE, 4, 4);
885 TEST_TYPE_POINTER(PACCESS_DENIED_ACE, 12, 4);
888 static void test_pack_PACCESS_TOKEN(void)
891 TEST_TYPE(PACCESS_TOKEN, 4, 4);
894 static void test_pack_PACE_HEADER(void)
897 TEST_TYPE(PACE_HEADER, 4, 4);
898 TEST_TYPE_POINTER(PACE_HEADER, 4, 2);
901 static void test_pack_PACL(void)
904 TEST_TYPE(PACL, 4, 4);
905 TEST_TYPE_POINTER(PACL, 8, 2);
908 static void test_pack_PCCH(void)
911 TEST_TYPE(PCCH, 4, 4);
912 TEST_TYPE_POINTER(PCCH, 1, 1);
915 static void test_pack_PCH(void)
918 TEST_TYPE(PCH, 4, 4);
919 TEST_TYPE_POINTER(PCH, 1, 1);
922 static void test_pack_PCSTR(void)
925 TEST_TYPE(PCSTR, 4, 4);
926 TEST_TYPE_POINTER(PCSTR, 1, 1);
929 static void test_pack_PCWCH(void)
932 TEST_TYPE(PCWCH, 4, 4);
933 TEST_TYPE_POINTER(PCWCH, 2, 2);
936 static void test_pack_PCWSTR(void)
939 TEST_TYPE(PCWSTR, 4, 4);
940 TEST_TYPE_POINTER(PCWSTR, 2, 2);
943 static void test_pack_PEXCEPTION_POINTERS(void)
945 /* PEXCEPTION_POINTERS */
946 TEST_TYPE(PEXCEPTION_POINTERS, 4, 4);
947 TEST_TYPE_POINTER(PEXCEPTION_POINTERS, 8, 4);
950 static void test_pack_PEXCEPTION_RECORD(void)
952 /* PEXCEPTION_RECORD */
953 TEST_TYPE(PEXCEPTION_RECORD, 4, 4);
954 TEST_TYPE_POINTER(PEXCEPTION_RECORD, 80, 4);
957 static void test_pack_PFLOATING_SAVE_AREA(void)
959 /* PFLOATING_SAVE_AREA */
960 TEST_TYPE(PFLOATING_SAVE_AREA, 4, 4);
961 TEST_TYPE_POINTER(PFLOATING_SAVE_AREA, 112, 4);
964 static void test_pack_PFPO_DATA(void)
967 TEST_TYPE(PFPO_DATA, 4, 4);
970 static void test_pack_PGENERIC_MAPPING(void)
972 /* PGENERIC_MAPPING */
973 TEST_TYPE(PGENERIC_MAPPING, 4, 4);
974 TEST_TYPE_POINTER(PGENERIC_MAPPING, 16, 4);
977 static void test_pack_PHANDLE(void)
980 TEST_TYPE(PHANDLE, 4, 4);
981 TEST_TYPE_POINTER(PHANDLE, 4, 4);
984 static void test_pack_PIMAGE_ARCHIVE_MEMBER_HEADER(void)
986 /* PIMAGE_ARCHIVE_MEMBER_HEADER */
987 TEST_TYPE(PIMAGE_ARCHIVE_MEMBER_HEADER, 4, 4);
988 TEST_TYPE_POINTER(PIMAGE_ARCHIVE_MEMBER_HEADER, 60, 1);
991 static void test_pack_PIMAGE_AUX_SYMBOL(void)
993 /* PIMAGE_AUX_SYMBOL */
994 TEST_TYPE(PIMAGE_AUX_SYMBOL, 4, 4);
997 static void test_pack_PIMAGE_BASE_RELOCATION(void)
999 /* PIMAGE_BASE_RELOCATION */
1000 TEST_TYPE(PIMAGE_BASE_RELOCATION, 4, 4);
1001 TEST_TYPE_POINTER(PIMAGE_BASE_RELOCATION, 8, 4);
1004 static void test_pack_PIMAGE_BOUND_FORWARDER_REF(void)
1006 /* PIMAGE_BOUND_FORWARDER_REF */
1007 TEST_TYPE(PIMAGE_BOUND_FORWARDER_REF, 4, 4);
1008 TEST_TYPE_POINTER(PIMAGE_BOUND_FORWARDER_REF, 8, 4);
1011 static void test_pack_PIMAGE_BOUND_IMPORT_DESCRIPTOR(void)
1013 /* PIMAGE_BOUND_IMPORT_DESCRIPTOR */
1014 TEST_TYPE(PIMAGE_BOUND_IMPORT_DESCRIPTOR, 4, 4);
1015 TEST_TYPE_POINTER(PIMAGE_BOUND_IMPORT_DESCRIPTOR, 8, 4);
1018 static void test_pack_PIMAGE_COFF_SYMBOLS_HEADER(void)
1020 /* PIMAGE_COFF_SYMBOLS_HEADER */
1021 TEST_TYPE(PIMAGE_COFF_SYMBOLS_HEADER, 4, 4);
1022 TEST_TYPE_POINTER(PIMAGE_COFF_SYMBOLS_HEADER, 32, 4);
1025 static void test_pack_PIMAGE_DATA_DIRECTORY(void)
1027 /* PIMAGE_DATA_DIRECTORY */
1028 TEST_TYPE(PIMAGE_DATA_DIRECTORY, 4, 4);
1029 TEST_TYPE_POINTER(PIMAGE_DATA_DIRECTORY, 8, 4);
1032 static void test_pack_PIMAGE_DEBUG_DIRECTORY(void)
1034 /* PIMAGE_DEBUG_DIRECTORY */
1035 TEST_TYPE(PIMAGE_DEBUG_DIRECTORY, 4, 4);
1036 TEST_TYPE_POINTER(PIMAGE_DEBUG_DIRECTORY, 28, 4);
1039 static void test_pack_PIMAGE_DEBUG_MISC(void)
1041 /* PIMAGE_DEBUG_MISC */
1042 TEST_TYPE(PIMAGE_DEBUG_MISC, 4, 4);
1043 TEST_TYPE_POINTER(PIMAGE_DEBUG_MISC, 16, 4);
1046 static void test_pack_PIMAGE_DOS_HEADER(void)
1048 /* PIMAGE_DOS_HEADER */
1049 TEST_TYPE(PIMAGE_DOS_HEADER, 4, 4);
1050 TEST_TYPE_POINTER(PIMAGE_DOS_HEADER, 64, 2);
1053 static void test_pack_PIMAGE_EXPORT_DIRECTORY(void)
1055 /* PIMAGE_EXPORT_DIRECTORY */
1056 TEST_TYPE(PIMAGE_EXPORT_DIRECTORY, 4, 4);
1057 TEST_TYPE_POINTER(PIMAGE_EXPORT_DIRECTORY, 40, 4);
1060 static void test_pack_PIMAGE_FILE_HEADER(void)
1062 /* PIMAGE_FILE_HEADER */
1063 TEST_TYPE(PIMAGE_FILE_HEADER, 4, 4);
1064 TEST_TYPE_POINTER(PIMAGE_FILE_HEADER, 20, 4);
1067 static void test_pack_PIMAGE_FUNCTION_ENTRY(void)
1069 /* PIMAGE_FUNCTION_ENTRY */
1070 TEST_TYPE(PIMAGE_FUNCTION_ENTRY, 4, 4);
1071 TEST_TYPE_POINTER(PIMAGE_FUNCTION_ENTRY, 12, 4);
1074 static void test_pack_PIMAGE_IMPORT_BY_NAME(void)
1076 /* PIMAGE_IMPORT_BY_NAME */
1077 TEST_TYPE(PIMAGE_IMPORT_BY_NAME, 4, 4);
1078 TEST_TYPE_POINTER(PIMAGE_IMPORT_BY_NAME, 4, 2);
1081 static void test_pack_PIMAGE_IMPORT_DESCRIPTOR(void)
1083 /* PIMAGE_IMPORT_DESCRIPTOR */
1084 TEST_TYPE(PIMAGE_IMPORT_DESCRIPTOR, 4, 4);
1087 static void test_pack_PIMAGE_LINENUMBER(void)
1089 /* PIMAGE_LINENUMBER */
1090 TEST_TYPE(PIMAGE_LINENUMBER, 4, 4);
1093 static void test_pack_PIMAGE_LOAD_CONFIG_DIRECTORY(void)
1095 /* PIMAGE_LOAD_CONFIG_DIRECTORY */
1096 TEST_TYPE(PIMAGE_LOAD_CONFIG_DIRECTORY, 4, 4);
1097 TEST_TYPE_POINTER(PIMAGE_LOAD_CONFIG_DIRECTORY, 64, 4);
1100 static void test_pack_PIMAGE_NT_HEADERS(void)
1102 /* PIMAGE_NT_HEADERS */
1103 TEST_TYPE(PIMAGE_NT_HEADERS, 4, 4);
1104 TEST_TYPE_POINTER(PIMAGE_NT_HEADERS, 248, 4);
1107 static void test_pack_PIMAGE_OPTIONAL_HEADER(void)
1109 /* PIMAGE_OPTIONAL_HEADER */
1110 TEST_TYPE(PIMAGE_OPTIONAL_HEADER, 4, 4);
1111 TEST_TYPE_POINTER(PIMAGE_OPTIONAL_HEADER, 224, 4);
1114 static void test_pack_PIMAGE_OS2_HEADER(void)
1116 /* PIMAGE_OS2_HEADER */
1117 TEST_TYPE(PIMAGE_OS2_HEADER, 4, 4);
1118 TEST_TYPE_POINTER(PIMAGE_OS2_HEADER, 64, 2);
1121 static void test_pack_PIMAGE_RELOCATION(void)
1123 /* PIMAGE_RELOCATION */
1124 TEST_TYPE(PIMAGE_RELOCATION, 4, 4);
1127 static void test_pack_PIMAGE_RESOURCE_DATA_ENTRY(void)
1129 /* PIMAGE_RESOURCE_DATA_ENTRY */
1130 TEST_TYPE(PIMAGE_RESOURCE_DATA_ENTRY, 4, 4);
1133 static void test_pack_PIMAGE_RESOURCE_DIRECTORY(void)
1135 /* PIMAGE_RESOURCE_DIRECTORY */
1136 TEST_TYPE(PIMAGE_RESOURCE_DIRECTORY, 4, 4);
1137 TEST_TYPE_POINTER(PIMAGE_RESOURCE_DIRECTORY, 16, 4);
1140 static void test_pack_PIMAGE_RESOURCE_DIRECTORY_ENTRY(void)
1142 /* PIMAGE_RESOURCE_DIRECTORY_ENTRY */
1143 TEST_TYPE(PIMAGE_RESOURCE_DIRECTORY_ENTRY, 4, 4);
1146 static void test_pack_PIMAGE_RESOURCE_DIRECTORY_STRING(void)
1148 /* PIMAGE_RESOURCE_DIRECTORY_STRING */
1149 TEST_TYPE(PIMAGE_RESOURCE_DIRECTORY_STRING, 4, 4);
1150 TEST_TYPE_POINTER(PIMAGE_RESOURCE_DIRECTORY_STRING, 4, 2);
1153 static void test_pack_PIMAGE_RESOURCE_DIR_STRING_U(void)
1155 /* PIMAGE_RESOURCE_DIR_STRING_U */
1156 TEST_TYPE(PIMAGE_RESOURCE_DIR_STRING_U, 4, 4);
1157 TEST_TYPE_POINTER(PIMAGE_RESOURCE_DIR_STRING_U, 4, 2);
1160 static void test_pack_PIMAGE_SECTION_HEADER(void)
1162 /* PIMAGE_SECTION_HEADER */
1163 TEST_TYPE(PIMAGE_SECTION_HEADER, 4, 4);
1166 static void test_pack_PIMAGE_SEPARATE_DEBUG_HEADER(void)
1168 /* PIMAGE_SEPARATE_DEBUG_HEADER */
1169 TEST_TYPE(PIMAGE_SEPARATE_DEBUG_HEADER, 4, 4);
1170 TEST_TYPE_POINTER(PIMAGE_SEPARATE_DEBUG_HEADER, 48, 4);
1173 static void test_pack_PIMAGE_SYMBOL(void)
1176 TEST_TYPE(PIMAGE_SYMBOL, 4, 4);
1179 static void test_pack_PIMAGE_THUNK_DATA(void)
1181 /* PIMAGE_THUNK_DATA */
1182 TEST_TYPE(PIMAGE_THUNK_DATA, 4, 4);
1185 static void test_pack_PIMAGE_TLS_CALLBACK(void)
1187 /* PIMAGE_TLS_CALLBACK */
1188 TEST_TYPE(PIMAGE_TLS_CALLBACK, 4, 4);
1191 static void test_pack_PIMAGE_TLS_DIRECTORY(void)
1193 /* PIMAGE_TLS_DIRECTORY */
1194 TEST_TYPE(PIMAGE_TLS_DIRECTORY, 4, 4);
1195 TEST_TYPE_POINTER(PIMAGE_TLS_DIRECTORY, 24, 4);
1198 static void test_pack_PIMAGE_VXD_HEADER(void)
1200 /* PIMAGE_VXD_HEADER */
1201 TEST_TYPE(PIMAGE_VXD_HEADER, 4, 4);
1202 TEST_TYPE_POINTER(PIMAGE_VXD_HEADER, 196, 2);
1205 static void test_pack_PISECURITY_DESCRIPTOR_RELATIVE(void)
1207 /* PISECURITY_DESCRIPTOR_RELATIVE */
1208 TEST_TYPE(PISECURITY_DESCRIPTOR_RELATIVE, 4, 4);
1209 TEST_TYPE_POINTER(PISECURITY_DESCRIPTOR_RELATIVE, 20, 4);
1212 static void test_pack_PLARGE_INTEGER(void)
1214 /* PLARGE_INTEGER */
1215 TEST_TYPE(PLARGE_INTEGER, 4, 4);
1218 static void test_pack_PLIST_ENTRY(void)
1221 TEST_TYPE(PLIST_ENTRY, 4, 4);
1222 TEST_TYPE_POINTER(PLIST_ENTRY, 8, 4);
1225 static void test_pack_PLUID(void)
1228 TEST_TYPE(PLUID, 4, 4);
1229 TEST_TYPE_POINTER(PLUID, 8, 4);
1232 static void test_pack_PMEMORY_BASIC_INFORMATION(void)
1234 /* PMEMORY_BASIC_INFORMATION */
1235 TEST_TYPE(PMEMORY_BASIC_INFORMATION, 4, 4);
1236 TEST_TYPE_POINTER(PMEMORY_BASIC_INFORMATION, 28, 4);
1239 static void test_pack_PMESSAGE_RESOURCE_BLOCK(void)
1241 /* PMESSAGE_RESOURCE_BLOCK */
1242 TEST_TYPE(PMESSAGE_RESOURCE_BLOCK, 4, 4);
1243 TEST_TYPE_POINTER(PMESSAGE_RESOURCE_BLOCK, 12, 4);
1246 static void test_pack_PMESSAGE_RESOURCE_DATA(void)
1248 /* PMESSAGE_RESOURCE_DATA */
1249 TEST_TYPE(PMESSAGE_RESOURCE_DATA, 4, 4);
1250 TEST_TYPE_POINTER(PMESSAGE_RESOURCE_DATA, 16, 4);
1253 static void test_pack_PMESSAGE_RESOURCE_ENTRY(void)
1255 /* PMESSAGE_RESOURCE_ENTRY */
1256 TEST_TYPE(PMESSAGE_RESOURCE_ENTRY, 4, 4);
1257 TEST_TYPE_POINTER(PMESSAGE_RESOURCE_ENTRY, 6, 2);
1260 static void test_pack_PNT_TIB(void)
1263 TEST_TYPE(PNT_TIB, 4, 4);
1266 static void test_pack_PPRIVILEGE_SET(void)
1268 /* PPRIVILEGE_SET */
1269 TEST_TYPE(PPRIVILEGE_SET, 4, 4);
1270 TEST_TYPE_POINTER(PPRIVILEGE_SET, 20, 4);
1273 static void test_pack_PRIVILEGE_SET(void)
1275 /* PRIVILEGE_SET (pack 4) */
1276 TEST_TYPE(PRIVILEGE_SET, 20, 4);
1277 TEST_FIELD(PRIVILEGE_SET, DWORD, PrivilegeCount, 0, 4, 4);
1278 TEST_FIELD(PRIVILEGE_SET, DWORD, Control, 4, 4, 4);
1279 TEST_FIELD(PRIVILEGE_SET, LUID_AND_ATTRIBUTES[ANYSIZE_ARRAY], Privilege, 8, 12, 4);
1282 static void test_pack_PRLIST_ENTRY(void)
1285 TEST_TYPE(PRLIST_ENTRY, 4, 4);
1286 TEST_TYPE_POINTER(PRLIST_ENTRY, 8, 4);
1289 static void test_pack_PRTL_CRITICAL_SECTION(void)
1291 /* PRTL_CRITICAL_SECTION */
1292 TEST_TYPE(PRTL_CRITICAL_SECTION, 4, 4);
1293 TEST_TYPE_POINTER(PRTL_CRITICAL_SECTION, 24, 4);
1296 static void test_pack_PRTL_CRITICAL_SECTION_DEBUG(void)
1298 /* PRTL_CRITICAL_SECTION_DEBUG */
1299 TEST_TYPE(PRTL_CRITICAL_SECTION_DEBUG, 4, 4);
1300 TEST_TYPE_POINTER(PRTL_CRITICAL_SECTION_DEBUG, 32, 4);
1303 static void test_pack_PRTL_RESOURCE_DEBUG(void)
1305 /* PRTL_RESOURCE_DEBUG */
1306 TEST_TYPE(PRTL_RESOURCE_DEBUG, 4, 4);
1307 TEST_TYPE_POINTER(PRTL_RESOURCE_DEBUG, 32, 4);
1310 static void test_pack_PSECURITY_QUALITY_OF_SERVICE(void)
1312 /* PSECURITY_QUALITY_OF_SERVICE */
1313 TEST_TYPE(PSECURITY_QUALITY_OF_SERVICE, 4, 4);
1316 static void test_pack_PSID_IDENTIFIER_AUTHORITY(void)
1318 /* PSID_IDENTIFIER_AUTHORITY */
1319 TEST_TYPE(PSID_IDENTIFIER_AUTHORITY, 4, 4);
1320 TEST_TYPE_POINTER(PSID_IDENTIFIER_AUTHORITY, 6, 1);
1323 static void test_pack_PSINGLE_LIST_ENTRY(void)
1325 /* PSINGLE_LIST_ENTRY */
1326 TEST_TYPE(PSINGLE_LIST_ENTRY, 4, 4);
1327 TEST_TYPE_POINTER(PSINGLE_LIST_ENTRY, 4, 4);
1330 static void test_pack_PSTR(void)
1333 TEST_TYPE(PSTR, 4, 4);
1334 TEST_TYPE_POINTER(PSTR, 1, 1);
1337 static void test_pack_PSYSTEM_ALARM_ACE(void)
1339 /* PSYSTEM_ALARM_ACE */
1340 TEST_TYPE(PSYSTEM_ALARM_ACE, 4, 4);
1341 TEST_TYPE_POINTER(PSYSTEM_ALARM_ACE, 12, 4);
1344 static void test_pack_PSYSTEM_AUDIT_ACE(void)
1346 /* PSYSTEM_AUDIT_ACE */
1347 TEST_TYPE(PSYSTEM_AUDIT_ACE, 4, 4);
1348 TEST_TYPE_POINTER(PSYSTEM_AUDIT_ACE, 12, 4);
1351 static void test_pack_PTOKEN_PRIVILEGES(void)
1353 /* PTOKEN_PRIVILEGES */
1354 TEST_TYPE(PTOKEN_PRIVILEGES, 4, 4);
1355 TEST_TYPE_POINTER(PTOKEN_PRIVILEGES, 16, 4);
1358 static void test_pack_PTOP_LEVEL_EXCEPTION_FILTER(void)
1360 /* PTOP_LEVEL_EXCEPTION_FILTER */
1361 TEST_TYPE(PTOP_LEVEL_EXCEPTION_FILTER, 4, 4);
1364 static void test_pack_PTSTR(void)
1369 static void test_pack_PULARGE_INTEGER(void)
1371 /* PULARGE_INTEGER */
1372 TEST_TYPE(PULARGE_INTEGER, 4, 4);
1375 static void test_pack_PVOID(void)
1378 TEST_TYPE(PVOID, 4, 4);
1381 static void test_pack_PWCH(void)
1384 TEST_TYPE(PWCH, 4, 4);
1385 TEST_TYPE_POINTER(PWCH, 2, 2);
1388 static void test_pack_PWSTR(void)
1391 TEST_TYPE(PWSTR, 4, 4);
1392 TEST_TYPE_POINTER(PWSTR, 2, 2);
1395 static void test_pack_RTL_CRITICAL_SECTION(void)
1397 /* RTL_CRITICAL_SECTION (pack 4) */
1398 TEST_TYPE(RTL_CRITICAL_SECTION, 24, 4);
1399 TEST_FIELD(RTL_CRITICAL_SECTION, PRTL_CRITICAL_SECTION_DEBUG, DebugInfo, 0, 4, 4);
1400 TEST_FIELD(RTL_CRITICAL_SECTION, LONG, LockCount, 4, 4, 4);
1401 TEST_FIELD(RTL_CRITICAL_SECTION, LONG, RecursionCount, 8, 4, 4);
1402 TEST_FIELD(RTL_CRITICAL_SECTION, HANDLE, OwningThread, 12, 4, 4);
1403 TEST_FIELD(RTL_CRITICAL_SECTION, HANDLE, LockSemaphore, 16, 4, 4);
1404 TEST_FIELD(RTL_CRITICAL_SECTION, ULONG_PTR, SpinCount, 20, 4, 4);
1407 static void test_pack_RTL_CRITICAL_SECTION_DEBUG(void)
1409 /* RTL_CRITICAL_SECTION_DEBUG (pack 4) */
1410 TEST_TYPE(RTL_CRITICAL_SECTION_DEBUG, 32, 4);
1411 TEST_FIELD(RTL_CRITICAL_SECTION_DEBUG, WORD, Type, 0, 2, 2);
1412 TEST_FIELD(RTL_CRITICAL_SECTION_DEBUG, WORD, CreatorBackTraceIndex, 2, 2, 2);
1413 TEST_FIELD(RTL_CRITICAL_SECTION_DEBUG, struct _RTL_CRITICAL_SECTION *, CriticalSection, 4, 4, 4);
1414 TEST_FIELD(RTL_CRITICAL_SECTION_DEBUG, LIST_ENTRY, ProcessLocksList, 8, 8, 4);
1415 TEST_FIELD(RTL_CRITICAL_SECTION_DEBUG, DWORD, EntryCount, 16, 4, 4);
1416 TEST_FIELD(RTL_CRITICAL_SECTION_DEBUG, DWORD, ContentionCount, 20, 4, 4);
1417 TEST_FIELD(RTL_CRITICAL_SECTION_DEBUG, DWORD[ 2 ], Spare, 24, 8, 4);
1420 static void test_pack_RTL_RESOURCE_DEBUG(void)
1422 /* RTL_RESOURCE_DEBUG (pack 4) */
1423 TEST_TYPE(RTL_RESOURCE_DEBUG, 32, 4);
1424 TEST_FIELD(RTL_RESOURCE_DEBUG, WORD, Type, 0, 2, 2);
1425 TEST_FIELD(RTL_RESOURCE_DEBUG, WORD, CreatorBackTraceIndex, 2, 2, 2);
1426 TEST_FIELD(RTL_RESOURCE_DEBUG, struct _RTL_CRITICAL_SECTION *, CriticalSection, 4, 4, 4);
1427 TEST_FIELD(RTL_RESOURCE_DEBUG, LIST_ENTRY, ProcessLocksList, 8, 8, 4);
1428 TEST_FIELD(RTL_RESOURCE_DEBUG, DWORD, EntryCount, 16, 4, 4);
1429 TEST_FIELD(RTL_RESOURCE_DEBUG, DWORD, ContentionCount, 20, 4, 4);
1430 TEST_FIELD(RTL_RESOURCE_DEBUG, DWORD[ 2 ], Spare, 24, 8, 4);
1433 static void test_pack_SECURITY_CONTEXT_TRACKING_MODE(void)
1435 /* SECURITY_CONTEXT_TRACKING_MODE */
1436 TEST_TYPE(SECURITY_CONTEXT_TRACKING_MODE, 1, 1);
1439 static void test_pack_SECURITY_DESCRIPTOR(void)
1441 /* SECURITY_DESCRIPTOR (pack 4) */
1442 TEST_TYPE(SECURITY_DESCRIPTOR, 20, 4);
1443 TEST_FIELD(SECURITY_DESCRIPTOR, BYTE, Revision, 0, 1, 1);
1444 TEST_FIELD(SECURITY_DESCRIPTOR, BYTE, Sbz1, 1, 1, 1);
1445 TEST_FIELD(SECURITY_DESCRIPTOR, SECURITY_DESCRIPTOR_CONTROL, Control, 2, 2, 2);
1446 TEST_FIELD(SECURITY_DESCRIPTOR, PSID, Owner, 4, 4, 4);
1447 TEST_FIELD(SECURITY_DESCRIPTOR, PSID, Group, 8, 4, 4);
1448 TEST_FIELD(SECURITY_DESCRIPTOR, PACL, Sacl, 12, 4, 4);
1449 TEST_FIELD(SECURITY_DESCRIPTOR, PACL, Dacl, 16, 4, 4);
1452 static void test_pack_SECURITY_DESCRIPTOR_CONTROL(void)
1454 /* SECURITY_DESCRIPTOR_CONTROL */
1455 TEST_TYPE(SECURITY_DESCRIPTOR_CONTROL, 2, 2);
1458 static void test_pack_SECURITY_DESCRIPTOR_RELATIVE(void)
1460 /* SECURITY_DESCRIPTOR_RELATIVE (pack 4) */
1461 TEST_TYPE(SECURITY_DESCRIPTOR_RELATIVE, 20, 4);
1462 TEST_FIELD(SECURITY_DESCRIPTOR_RELATIVE, BYTE, Revision, 0, 1, 1);
1463 TEST_FIELD(SECURITY_DESCRIPTOR_RELATIVE, BYTE, Sbz1, 1, 1, 1);
1464 TEST_FIELD(SECURITY_DESCRIPTOR_RELATIVE, SECURITY_DESCRIPTOR_CONTROL, Control, 2, 2, 2);
1465 TEST_FIELD(SECURITY_DESCRIPTOR_RELATIVE, DWORD, Owner, 4, 4, 4);
1466 TEST_FIELD(SECURITY_DESCRIPTOR_RELATIVE, DWORD, Group, 8, 4, 4);
1467 TEST_FIELD(SECURITY_DESCRIPTOR_RELATIVE, DWORD, Sacl, 12, 4, 4);
1468 TEST_FIELD(SECURITY_DESCRIPTOR_RELATIVE, DWORD, Dacl, 16, 4, 4);
1471 static void test_pack_SECURITY_INFORMATION(void)
1473 /* SECURITY_INFORMATION */
1474 TEST_TYPE(SECURITY_INFORMATION, 4, 4);
1477 static void test_pack_SHORT(void)
1480 TEST_TYPE(SHORT, 2, 2);
1481 TEST_TYPE_SIGNED(SHORT);
1484 static void test_pack_SID(void)
1487 TEST_TYPE(SID, 12, 4);
1488 TEST_FIELD(SID, BYTE, Revision, 0, 1, 1);
1489 TEST_FIELD(SID, BYTE, SubAuthorityCount, 1, 1, 1);
1490 TEST_FIELD(SID, SID_IDENTIFIER_AUTHORITY, IdentifierAuthority, 2, 6, 1);
1491 TEST_FIELD(SID, DWORD[1], SubAuthority, 8, 4, 4);
1494 static void test_pack_SID_AND_ATTRIBUTES(void)
1496 /* SID_AND_ATTRIBUTES (pack 4) */
1497 TEST_TYPE(SID_AND_ATTRIBUTES, 8, 4);
1498 TEST_FIELD(SID_AND_ATTRIBUTES, PSID, Sid, 0, 4, 4);
1499 TEST_FIELD(SID_AND_ATTRIBUTES, DWORD, Attributes, 4, 4, 4);
1502 static void test_pack_SID_IDENTIFIER_AUTHORITY(void)
1504 /* SID_IDENTIFIER_AUTHORITY (pack 4) */
1505 TEST_TYPE(SID_IDENTIFIER_AUTHORITY, 6, 1);
1506 TEST_FIELD(SID_IDENTIFIER_AUTHORITY, BYTE[6], Value, 0, 6, 1);
1509 static void test_pack_SINGLE_LIST_ENTRY(void)
1511 /* SINGLE_LIST_ENTRY (pack 4) */
1512 TEST_TYPE(SINGLE_LIST_ENTRY, 4, 4);
1513 TEST_FIELD(SINGLE_LIST_ENTRY, struct _SINGLE_LIST_ENTRY *, Next, 0, 4, 4);
1516 static void test_pack_SYSTEM_ALARM_ACE(void)
1518 /* SYSTEM_ALARM_ACE (pack 4) */
1519 TEST_TYPE(SYSTEM_ALARM_ACE, 12, 4);
1520 TEST_FIELD(SYSTEM_ALARM_ACE, ACE_HEADER, Header, 0, 4, 2);
1521 TEST_FIELD(SYSTEM_ALARM_ACE, DWORD, Mask, 4, 4, 4);
1522 TEST_FIELD(SYSTEM_ALARM_ACE, DWORD, SidStart, 8, 4, 4);
1525 static void test_pack_SYSTEM_AUDIT_ACE(void)
1527 /* SYSTEM_AUDIT_ACE (pack 4) */
1528 TEST_TYPE(SYSTEM_AUDIT_ACE, 12, 4);
1529 TEST_FIELD(SYSTEM_AUDIT_ACE, ACE_HEADER, Header, 0, 4, 2);
1530 TEST_FIELD(SYSTEM_AUDIT_ACE, DWORD, Mask, 4, 4, 4);
1531 TEST_FIELD(SYSTEM_AUDIT_ACE, DWORD, SidStart, 8, 4, 4);
1534 static void test_pack_TCHAR(void)
1537 TEST_TYPE(TCHAR, 1, 1);
1540 static void test_pack_TOKEN_DEFAULT_DACL(void)
1542 /* TOKEN_DEFAULT_DACL (pack 4) */
1543 TEST_TYPE(TOKEN_DEFAULT_DACL, 4, 4);
1544 TEST_FIELD(TOKEN_DEFAULT_DACL, PACL, DefaultDacl, 0, 4, 4);
1547 static void test_pack_TOKEN_GROUPS(void)
1549 /* TOKEN_GROUPS (pack 4) */
1550 TEST_TYPE(TOKEN_GROUPS, 12, 4);
1551 TEST_FIELD(TOKEN_GROUPS, DWORD, GroupCount, 0, 4, 4);
1552 TEST_FIELD(TOKEN_GROUPS, SID_AND_ATTRIBUTES[ANYSIZE_ARRAY], Groups, 4, 8, 4);
1555 static void test_pack_TOKEN_OWNER(void)
1557 /* TOKEN_OWNER (pack 4) */
1558 TEST_TYPE(TOKEN_OWNER, 4, 4);
1559 TEST_FIELD(TOKEN_OWNER, PSID, Owner, 0, 4, 4);
1562 static void test_pack_TOKEN_PRIMARY_GROUP(void)
1564 /* TOKEN_PRIMARY_GROUP (pack 4) */
1565 TEST_TYPE(TOKEN_PRIMARY_GROUP, 4, 4);
1566 TEST_FIELD(TOKEN_PRIMARY_GROUP, PSID, PrimaryGroup, 0, 4, 4);
1569 static void test_pack_TOKEN_PRIVILEGES(void)
1571 /* TOKEN_PRIVILEGES (pack 4) */
1572 TEST_TYPE(TOKEN_PRIVILEGES, 16, 4);
1573 TEST_FIELD(TOKEN_PRIVILEGES, DWORD, PrivilegeCount, 0, 4, 4);
1574 TEST_FIELD(TOKEN_PRIVILEGES, LUID_AND_ATTRIBUTES[ANYSIZE_ARRAY], Privileges, 4, 12, 4);
1577 static void test_pack_TOKEN_SOURCE(void)
1579 /* TOKEN_SOURCE (pack 4) */
1580 TEST_TYPE(TOKEN_SOURCE, 16, 4);
1581 TEST_FIELD(TOKEN_SOURCE, char[TOKEN_SOURCE_LENGTH], SourceName, 0, 8, 1);
1582 TEST_FIELD(TOKEN_SOURCE, LUID, SourceIdentifier, 8, 8, 4);
1585 static void test_pack_TOKEN_USER(void)
1587 /* TOKEN_USER (pack 4) */
1588 TEST_TYPE(TOKEN_USER, 8, 4);
1589 TEST_FIELD(TOKEN_USER, SID_AND_ATTRIBUTES, User, 0, 8, 4);
1592 static void test_pack_UCHAR(void)
1595 TEST_TYPE(UCHAR, 1, 1);
1596 TEST_TYPE_UNSIGNED(UCHAR);
1599 static void test_pack_UINT(void)
1602 TEST_TYPE(UINT, 4, 4);
1603 TEST_TYPE_UNSIGNED(UINT);
1606 static void test_pack_ULONG(void)
1609 TEST_TYPE(ULONG, 4, 4);
1610 TEST_TYPE_UNSIGNED(ULONG);
1613 static void test_pack_USHORT(void)
1616 TEST_TYPE(USHORT, 2, 2);
1617 TEST_TYPE_UNSIGNED(USHORT);
1620 static void test_pack_WAITORTIMERCALLBACKFUNC(void)
1622 /* WAITORTIMERCALLBACKFUNC */
1623 TEST_TYPE(WAITORTIMERCALLBACKFUNC, 4, 4);
1626 static void test_pack_WCHAR(void)
1629 TEST_TYPE(WCHAR, 2, 2);
1630 TEST_TYPE_UNSIGNED(WCHAR);
1633 static void test_pack_WORD(void)
1636 TEST_TYPE(WORD, 2, 2);
1637 TEST_TYPE_UNSIGNED(WORD);
1640 static void test_pack_ATOM(void)
1643 TEST_TYPE(ATOM, 2, 2);
1646 static void test_pack_COLORREF(void)
1649 TEST_TYPE(COLORREF, 4, 4);
1652 static void test_pack_FARPROC(void)
1655 TEST_TYPE(FARPROC, 4, 4);
1658 static void test_pack_GLOBALHANDLE(void)
1661 TEST_TYPE(GLOBALHANDLE, 4, 4);
1664 static void test_pack_HCURSOR(void)
1667 TEST_TYPE(HCURSOR, 4, 4);
1668 TEST_TYPE_UNSIGNED(HCURSOR);
1671 static void test_pack_HFILE(void)
1674 TEST_TYPE(HFILE, 4, 4);
1675 TEST_TYPE_SIGNED(HFILE);
1678 static void test_pack_HGDIOBJ(void)
1681 TEST_TYPE(HGDIOBJ, 4, 4);
1684 static void test_pack_HGLOBAL(void)
1687 TEST_TYPE(HGLOBAL, 4, 4);
1690 static void test_pack_HLOCAL(void)
1693 TEST_TYPE(HLOCAL, 4, 4);
1696 static void test_pack_HMODULE(void)
1699 TEST_TYPE(HMODULE, 4, 4);
1700 TEST_TYPE_UNSIGNED(HMODULE);
1703 static void test_pack_LOCALHANDLE(void)
1706 TEST_TYPE(LOCALHANDLE, 4, 4);
1709 static void test_pack_LPARAM(void)
1712 TEST_TYPE(LPARAM, 4, 4);
1715 static void test_pack_LPCRECT(void)
1718 TEST_TYPE(LPCRECT, 4, 4);
1719 TEST_TYPE_POINTER(LPCRECT, 16, 4);
1722 static void test_pack_LPCRECTL(void)
1725 TEST_TYPE(LPCRECTL, 4, 4);
1726 TEST_TYPE_POINTER(LPCRECTL, 16, 4);
1729 static void test_pack_LPPOINT(void)
1732 TEST_TYPE(LPPOINT, 4, 4);
1733 TEST_TYPE_POINTER(LPPOINT, 8, 4);
1736 static void test_pack_LPPOINTS(void)
1739 TEST_TYPE(LPPOINTS, 4, 4);
1740 TEST_TYPE_POINTER(LPPOINTS, 4, 2);
1743 static void test_pack_LPRECT(void)
1746 TEST_TYPE(LPRECT, 4, 4);
1747 TEST_TYPE_POINTER(LPRECT, 16, 4);
1750 static void test_pack_LPRECTL(void)
1753 TEST_TYPE(LPRECTL, 4, 4);
1754 TEST_TYPE_POINTER(LPRECTL, 16, 4);
1757 static void test_pack_LPSIZE(void)
1760 TEST_TYPE(LPSIZE, 4, 4);
1761 TEST_TYPE_POINTER(LPSIZE, 8, 4);
1764 static void test_pack_LRESULT(void)
1767 TEST_TYPE(LRESULT, 4, 4);
1770 static void test_pack_POINT(void)
1772 /* POINT (pack 4) */
1773 TEST_TYPE(POINT, 8, 4);
1774 TEST_FIELD(POINT, LONG, x, 0, 4, 4);
1775 TEST_FIELD(POINT, LONG, y, 4, 4, 4);
1778 static void test_pack_POINTL(void)
1780 /* POINTL (pack 4) */
1781 TEST_TYPE(POINTL, 8, 4);
1782 TEST_FIELD(POINTL, LONG, x, 0, 4, 4);
1783 TEST_FIELD(POINTL, LONG, y, 4, 4, 4);
1786 static void test_pack_POINTS(void)
1788 /* POINTS (pack 4) */
1789 TEST_TYPE(POINTS, 4, 2);
1790 TEST_FIELD(POINTS, SHORT, x, 0, 2, 2);
1791 TEST_FIELD(POINTS, SHORT, y, 2, 2, 2);
1794 static void test_pack_PPOINT(void)
1797 TEST_TYPE(PPOINT, 4, 4);
1798 TEST_TYPE_POINTER(PPOINT, 8, 4);
1801 static void test_pack_PPOINTS(void)
1804 TEST_TYPE(PPOINTS, 4, 4);
1805 TEST_TYPE_POINTER(PPOINTS, 4, 2);
1808 static void test_pack_PRECT(void)
1811 TEST_TYPE(PRECT, 4, 4);
1812 TEST_TYPE_POINTER(PRECT, 16, 4);
1815 static void test_pack_PRECTL(void)
1818 TEST_TYPE(PRECTL, 4, 4);
1819 TEST_TYPE_POINTER(PRECTL, 16, 4);
1822 static void test_pack_PROC(void)
1825 TEST_TYPE(PROC, 4, 4);
1828 static void test_pack_PSIZE(void)
1831 TEST_TYPE(PSIZE, 4, 4);
1832 TEST_TYPE_POINTER(PSIZE, 8, 4);
1835 static void test_pack_RECT(void)
1838 TEST_TYPE(RECT, 16, 4);
1839 TEST_FIELD(RECT, INT, left, 0, 4, 4);
1840 TEST_FIELD(RECT, INT, top, 4, 4, 4);
1841 TEST_FIELD(RECT, INT, right, 8, 4, 4);
1842 TEST_FIELD(RECT, INT, bottom, 12, 4, 4);
1845 static void test_pack_RECTL(void)
1847 /* RECTL (pack 4) */
1848 TEST_TYPE(RECTL, 16, 4);
1849 TEST_FIELD(RECTL, LONG, left, 0, 4, 4);
1850 TEST_FIELD(RECTL, LONG, top, 4, 4, 4);
1851 TEST_FIELD(RECTL, LONG, right, 8, 4, 4);
1852 TEST_FIELD(RECTL, LONG, bottom, 12, 4, 4);
1855 static void test_pack_SIZE(void)
1858 TEST_TYPE(SIZE, 8, 4);
1859 TEST_FIELD(SIZE, LONG, cx, 0, 4, 4);
1860 TEST_FIELD(SIZE, LONG, cy, 4, 4, 4);
1863 static void test_pack_SIZEL(void)
1866 TEST_TYPE(SIZEL, 8, 4);
1869 static void test_pack_WPARAM(void)
1872 TEST_TYPE(WPARAM, 4, 4);
1875 static void test_pack(void)
1877 test_pack_ACCESS_ALLOWED_ACE();
1878 test_pack_ACCESS_DENIED_ACE();
1879 test_pack_ACCESS_MASK();
1880 test_pack_ACE_HEADER();
1884 test_pack_BOOLEAN();
1888 test_pack_COLORREF();
1890 test_pack_DWORD32();
1891 test_pack_DWORD_PTR();
1892 test_pack_EXCEPTION_POINTERS();
1893 test_pack_EXCEPTION_RECORD();
1894 test_pack_EXECUTION_STATE();
1895 test_pack_FARPROC();
1897 test_pack_FLOATING_SAVE_AREA();
1898 test_pack_FPO_DATA();
1899 test_pack_GENERIC_MAPPING();
1900 test_pack_GLOBALHANDLE();
1901 test_pack_HALF_PTR();
1903 test_pack_HCURSOR();
1905 test_pack_HGDIOBJ();
1906 test_pack_HGLOBAL();
1908 test_pack_HMODULE();
1909 test_pack_HRESULT();
1910 test_pack_IMAGE_ARCHIVE_MEMBER_HEADER();
1911 test_pack_IMAGE_AUX_SYMBOL();
1912 test_pack_IMAGE_BASE_RELOCATION();
1913 test_pack_IMAGE_BOUND_FORWARDER_REF();
1914 test_pack_IMAGE_BOUND_IMPORT_DESCRIPTOR();
1915 test_pack_IMAGE_COFF_SYMBOLS_HEADER();
1916 test_pack_IMAGE_DATA_DIRECTORY();
1917 test_pack_IMAGE_DEBUG_DIRECTORY();
1918 test_pack_IMAGE_DEBUG_MISC();
1919 test_pack_IMAGE_DOS_HEADER();
1920 test_pack_IMAGE_EXPORT_DIRECTORY();
1921 test_pack_IMAGE_FILE_HEADER();
1922 test_pack_IMAGE_FUNCTION_ENTRY();
1923 test_pack_IMAGE_IMPORT_BY_NAME();
1924 test_pack_IMAGE_LOAD_CONFIG_DIRECTORY();
1925 test_pack_IMAGE_NT_HEADERS();
1926 test_pack_IMAGE_OPTIONAL_HEADER();
1927 test_pack_IMAGE_OS2_HEADER();
1928 test_pack_IMAGE_RESOURCE_DATA_ENTRY();
1929 test_pack_IMAGE_RESOURCE_DIRECTORY();
1930 test_pack_IMAGE_RESOURCE_DIRECTORY_ENTRY();
1931 test_pack_IMAGE_RESOURCE_DIRECTORY_STRING();
1932 test_pack_IMAGE_RESOURCE_DIR_STRING_U();
1933 test_pack_IMAGE_SEPARATE_DEBUG_HEADER();
1934 test_pack_IMAGE_THUNK_DATA();
1935 test_pack_IMAGE_TLS_DIRECTORY();
1936 test_pack_IMAGE_VXD_HEADER();
1939 test_pack_INT_PTR();
1942 test_pack_LIST_ENTRY();
1943 test_pack_LOCALHANDLE();
1946 test_pack_LONG_PTR();
1948 test_pack_LPCRECT();
1949 test_pack_LPCRECTL();
1950 test_pack_LPCVOID();
1951 test_pack_LPPOINT();
1952 test_pack_LPPOINTS();
1954 test_pack_LPRECTL();
1956 test_pack_LPTOP_LEVEL_EXCEPTION_FILTER();
1957 test_pack_LRESULT();
1959 test_pack_LUID_AND_ATTRIBUTES();
1960 test_pack_MEMORY_BASIC_INFORMATION();
1961 test_pack_MESSAGE_RESOURCE_BLOCK();
1962 test_pack_MESSAGE_RESOURCE_DATA();
1963 test_pack_MESSAGE_RESOURCE_ENTRY();
1964 test_pack_PACCESS_ALLOWED_ACE();
1965 test_pack_PACCESS_DENIED_ACE();
1966 test_pack_PACCESS_TOKEN();
1967 test_pack_PACE_HEADER();
1974 test_pack_PEXCEPTION_POINTERS();
1975 test_pack_PEXCEPTION_RECORD();
1976 test_pack_PFLOATING_SAVE_AREA();
1977 test_pack_PFPO_DATA();
1978 test_pack_PGENERIC_MAPPING();
1979 test_pack_PHANDLE();
1980 test_pack_PIMAGE_ARCHIVE_MEMBER_HEADER();
1981 test_pack_PIMAGE_AUX_SYMBOL();
1982 test_pack_PIMAGE_BASE_RELOCATION();
1983 test_pack_PIMAGE_BOUND_FORWARDER_REF();
1984 test_pack_PIMAGE_BOUND_IMPORT_DESCRIPTOR();
1985 test_pack_PIMAGE_COFF_SYMBOLS_HEADER();
1986 test_pack_PIMAGE_DATA_DIRECTORY();
1987 test_pack_PIMAGE_DEBUG_DIRECTORY();
1988 test_pack_PIMAGE_DEBUG_MISC();
1989 test_pack_PIMAGE_DOS_HEADER();
1990 test_pack_PIMAGE_EXPORT_DIRECTORY();
1991 test_pack_PIMAGE_FILE_HEADER();
1992 test_pack_PIMAGE_FUNCTION_ENTRY();
1993 test_pack_PIMAGE_IMPORT_BY_NAME();
1994 test_pack_PIMAGE_IMPORT_DESCRIPTOR();
1995 test_pack_PIMAGE_LINENUMBER();
1996 test_pack_PIMAGE_LOAD_CONFIG_DIRECTORY();
1997 test_pack_PIMAGE_NT_HEADERS();
1998 test_pack_PIMAGE_OPTIONAL_HEADER();
1999 test_pack_PIMAGE_OS2_HEADER();
2000 test_pack_PIMAGE_RELOCATION();
2001 test_pack_PIMAGE_RESOURCE_DATA_ENTRY();
2002 test_pack_PIMAGE_RESOURCE_DIRECTORY();
2003 test_pack_PIMAGE_RESOURCE_DIRECTORY_ENTRY();
2004 test_pack_PIMAGE_RESOURCE_DIRECTORY_STRING();
2005 test_pack_PIMAGE_RESOURCE_DIR_STRING_U();
2006 test_pack_PIMAGE_SECTION_HEADER();
2007 test_pack_PIMAGE_SEPARATE_DEBUG_HEADER();
2008 test_pack_PIMAGE_SYMBOL();
2009 test_pack_PIMAGE_THUNK_DATA();
2010 test_pack_PIMAGE_TLS_CALLBACK();
2011 test_pack_PIMAGE_TLS_DIRECTORY();
2012 test_pack_PIMAGE_VXD_HEADER();
2013 test_pack_PISECURITY_DESCRIPTOR_RELATIVE();
2014 test_pack_PLARGE_INTEGER();
2015 test_pack_PLIST_ENTRY();
2017 test_pack_PMEMORY_BASIC_INFORMATION();
2018 test_pack_PMESSAGE_RESOURCE_BLOCK();
2019 test_pack_PMESSAGE_RESOURCE_DATA();
2020 test_pack_PMESSAGE_RESOURCE_ENTRY();
2021 test_pack_PNT_TIB();
2026 test_pack_PPOINTS();
2027 test_pack_PPRIVILEGE_SET();
2030 test_pack_PRIVILEGE_SET();
2031 test_pack_PRLIST_ENTRY();
2033 test_pack_PRTL_CRITICAL_SECTION();
2034 test_pack_PRTL_CRITICAL_SECTION_DEBUG();
2035 test_pack_PRTL_RESOURCE_DEBUG();
2036 test_pack_PSECURITY_QUALITY_OF_SERVICE();
2037 test_pack_PSID_IDENTIFIER_AUTHORITY();
2038 test_pack_PSINGLE_LIST_ENTRY();
2041 test_pack_PSYSTEM_ALARM_ACE();
2042 test_pack_PSYSTEM_AUDIT_ACE();
2043 test_pack_PTOKEN_PRIVILEGES();
2044 test_pack_PTOP_LEVEL_EXCEPTION_FILTER();
2046 test_pack_PULARGE_INTEGER();
2052 test_pack_RTL_CRITICAL_SECTION();
2053 test_pack_RTL_CRITICAL_SECTION_DEBUG();
2054 test_pack_RTL_RESOURCE_DEBUG();
2055 test_pack_SECURITY_CONTEXT_TRACKING_MODE();
2056 test_pack_SECURITY_DESCRIPTOR();
2057 test_pack_SECURITY_DESCRIPTOR_CONTROL();
2058 test_pack_SECURITY_DESCRIPTOR_RELATIVE();
2059 test_pack_SECURITY_INFORMATION();
2062 test_pack_SID_AND_ATTRIBUTES();
2063 test_pack_SID_IDENTIFIER_AUTHORITY();
2064 test_pack_SINGLE_LIST_ENTRY();
2068 test_pack_SSIZE_T();
2069 test_pack_SYSTEM_ALARM_ACE();
2070 test_pack_SYSTEM_AUDIT_ACE();
2072 test_pack_TOKEN_DEFAULT_DACL();
2073 test_pack_TOKEN_GROUPS();
2074 test_pack_TOKEN_OWNER();
2075 test_pack_TOKEN_PRIMARY_GROUP();
2076 test_pack_TOKEN_PRIVILEGES();
2077 test_pack_TOKEN_SOURCE();
2078 test_pack_TOKEN_USER();
2080 test_pack_UHALF_PTR();
2083 test_pack_UINT_PTR();
2085 test_pack_ULONG32();
2086 test_pack_ULONG_PTR();
2088 test_pack_WAITORTIMERCALLBACKFUNC();
2094 START_TEST(generated)