winapi: Add a few more types to the ntdll generated tests.

This commit is contained in:
Alexandre Julliard 2010-04-07 17:25:19 +02:00
parent a8e86e35dd
commit b141e6e33b
2 changed files with 666 additions and 1 deletions

View File

@ -946,6 +946,242 @@ static void test_pack_IMAGE_NT_HEADERS(void)
TEST_TYPE_ALIGN (IMAGE_NT_HEADERS, 8)
}
static void test_pack_IMAGE_NT_HEADERS32(void)
{
/* IMAGE_NT_HEADERS32 */
TEST_TYPE_SIZE (IMAGE_NT_HEADERS32, 248)
TEST_TYPE_ALIGN (IMAGE_NT_HEADERS32, 4)
TEST_FIELD_SIZE (IMAGE_NT_HEADERS32, Signature, 4)
TEST_FIELD_ALIGN (IMAGE_NT_HEADERS32, Signature, 4)
TEST_FIELD_OFFSET(IMAGE_NT_HEADERS32, Signature, 0)
TEST_FIELD_SIZE (IMAGE_NT_HEADERS32, FileHeader, 20)
TEST_FIELD_ALIGN (IMAGE_NT_HEADERS32, FileHeader, 4)
TEST_FIELD_OFFSET(IMAGE_NT_HEADERS32, FileHeader, 4)
TEST_FIELD_SIZE (IMAGE_NT_HEADERS32, OptionalHeader, 224)
TEST_FIELD_ALIGN (IMAGE_NT_HEADERS32, OptionalHeader, 4)
TEST_FIELD_OFFSET(IMAGE_NT_HEADERS32, OptionalHeader, 24)
}
static void test_pack_IMAGE_NT_HEADERS64(void)
{
/* IMAGE_NT_HEADERS64 */
TEST_TYPE_SIZE (IMAGE_NT_HEADERS64, 264)
TEST_TYPE_ALIGN (IMAGE_NT_HEADERS64, 8)
TEST_FIELD_SIZE (IMAGE_NT_HEADERS64, Signature, 4)
TEST_FIELD_ALIGN (IMAGE_NT_HEADERS64, Signature, 4)
TEST_FIELD_OFFSET(IMAGE_NT_HEADERS64, Signature, 0)
TEST_FIELD_SIZE (IMAGE_NT_HEADERS64, FileHeader, 20)
TEST_FIELD_ALIGN (IMAGE_NT_HEADERS64, FileHeader, 4)
TEST_FIELD_OFFSET(IMAGE_NT_HEADERS64, FileHeader, 4)
TEST_FIELD_SIZE (IMAGE_NT_HEADERS64, OptionalHeader, 240)
TEST_FIELD_ALIGN (IMAGE_NT_HEADERS64, OptionalHeader, 8)
TEST_FIELD_OFFSET(IMAGE_NT_HEADERS64, OptionalHeader, 24)
}
static void test_pack_IMAGE_OPTIONAL_HEADER(void)
{
/* IMAGE_OPTIONAL_HEADER */
TEST_TYPE_SIZE (IMAGE_OPTIONAL_HEADER, 240)
TEST_TYPE_ALIGN (IMAGE_OPTIONAL_HEADER, 8)
}
static void test_pack_IMAGE_OPTIONAL_HEADER32(void)
{
/* IMAGE_OPTIONAL_HEADER32 */
TEST_TYPE_SIZE (IMAGE_OPTIONAL_HEADER32, 224)
TEST_TYPE_ALIGN (IMAGE_OPTIONAL_HEADER32, 4)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, Magic, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, Magic, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, Magic, 0)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MajorLinkerVersion, 1)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorLinkerVersion, 1)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorLinkerVersion, 2)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MinorLinkerVersion, 1)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorLinkerVersion, 1)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorLinkerVersion, 3)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfCode, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfCode, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfCode, 4)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfInitializedData, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfInitializedData, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfInitializedData, 8)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfUninitializedData, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfUninitializedData, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfUninitializedData, 12)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, AddressOfEntryPoint, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, AddressOfEntryPoint, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, AddressOfEntryPoint, 16)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, BaseOfCode, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, BaseOfCode, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, BaseOfCode, 20)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, BaseOfData, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, BaseOfData, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, BaseOfData, 24)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, ImageBase, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, ImageBase, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, ImageBase, 28)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SectionAlignment, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SectionAlignment, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SectionAlignment, 32)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, FileAlignment, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, FileAlignment, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, FileAlignment, 36)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MajorOperatingSystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorOperatingSystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorOperatingSystemVersion, 40)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MinorOperatingSystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorOperatingSystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorOperatingSystemVersion, 42)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MajorImageVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorImageVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorImageVersion, 44)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MinorImageVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorImageVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorImageVersion, 46)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MajorSubsystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorSubsystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorSubsystemVersion, 48)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MinorSubsystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorSubsystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorSubsystemVersion, 50)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, Win32VersionValue, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, Win32VersionValue, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, Win32VersionValue, 52)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfImage, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfImage, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfImage, 56)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfHeaders, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfHeaders, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfHeaders, 60)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, CheckSum, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, CheckSum, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, CheckSum, 64)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, Subsystem, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, Subsystem, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, Subsystem, 68)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, DllCharacteristics, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, DllCharacteristics, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, DllCharacteristics, 70)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfStackReserve, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfStackReserve, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfStackReserve, 72)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfStackCommit, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfStackCommit, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfStackCommit, 76)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfHeapReserve, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfHeapReserve, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfHeapReserve, 80)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfHeapCommit, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfHeapCommit, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfHeapCommit, 84)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, LoaderFlags, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, LoaderFlags, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, LoaderFlags, 88)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, NumberOfRvaAndSizes, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, NumberOfRvaAndSizes, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, NumberOfRvaAndSizes, 92)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, DataDirectory, 128)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, DataDirectory, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, DataDirectory, 96)
}
static void test_pack_IMAGE_OPTIONAL_HEADER64(void)
{
/* IMAGE_OPTIONAL_HEADER64 */
TEST_TYPE_SIZE (IMAGE_OPTIONAL_HEADER64, 240)
TEST_TYPE_ALIGN (IMAGE_OPTIONAL_HEADER64, 8)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, Magic, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, Magic, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, Magic, 0)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MajorLinkerVersion, 1)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorLinkerVersion, 1)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorLinkerVersion, 2)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MinorLinkerVersion, 1)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorLinkerVersion, 1)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorLinkerVersion, 3)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfCode, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfCode, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfCode, 4)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfInitializedData, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfInitializedData, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfInitializedData, 8)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfUninitializedData, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfUninitializedData, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfUninitializedData, 12)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, AddressOfEntryPoint, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, AddressOfEntryPoint, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, AddressOfEntryPoint, 16)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, BaseOfCode, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, BaseOfCode, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, BaseOfCode, 20)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, ImageBase, 8)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, ImageBase, 8)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, ImageBase, 24)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SectionAlignment, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SectionAlignment, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SectionAlignment, 32)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, FileAlignment, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, FileAlignment, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, FileAlignment, 36)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MajorOperatingSystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorOperatingSystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorOperatingSystemVersion, 40)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MinorOperatingSystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorOperatingSystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorOperatingSystemVersion, 42)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MajorImageVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorImageVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorImageVersion, 44)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MinorImageVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorImageVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorImageVersion, 46)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MajorSubsystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorSubsystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorSubsystemVersion, 48)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MinorSubsystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorSubsystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorSubsystemVersion, 50)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, Win32VersionValue, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, Win32VersionValue, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, Win32VersionValue, 52)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfImage, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfImage, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfImage, 56)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfHeaders, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfHeaders, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfHeaders, 60)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, CheckSum, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, CheckSum, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, CheckSum, 64)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, Subsystem, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, Subsystem, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, Subsystem, 68)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, DllCharacteristics, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, DllCharacteristics, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, DllCharacteristics, 70)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfStackReserve, 8)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfStackReserve, 8)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfStackReserve, 72)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfStackCommit, 8)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfStackCommit, 8)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfStackCommit, 80)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfHeapReserve, 8)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfHeapReserve, 8)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfHeapReserve, 88)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfHeapCommit, 8)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfHeapCommit, 8)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfHeapCommit, 96)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, LoaderFlags, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, LoaderFlags, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, LoaderFlags, 104)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, NumberOfRvaAndSizes, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, NumberOfRvaAndSizes, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, NumberOfRvaAndSizes, 108)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, DataDirectory, 128)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, DataDirectory, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, DataDirectory, 112)
}
static void test_pack_IMAGE_OS2_HEADER(void)
{
/* IMAGE_OS2_HEADER (pack 2) */
@ -1194,6 +1430,56 @@ static void test_pack_IMAGE_TLS_DIRECTORY(void)
TEST_TYPE_ALIGN (IMAGE_TLS_DIRECTORY, 8)
}
static void test_pack_IMAGE_TLS_DIRECTORY32(void)
{
/* IMAGE_TLS_DIRECTORY32 */
TEST_TYPE_SIZE (IMAGE_TLS_DIRECTORY32, 24)
TEST_TYPE_ALIGN (IMAGE_TLS_DIRECTORY32, 4)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY32, StartAddressOfRawData, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, StartAddressOfRawData, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, StartAddressOfRawData, 0)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY32, EndAddressOfRawData, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, EndAddressOfRawData, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, EndAddressOfRawData, 4)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY32, AddressOfIndex, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, AddressOfIndex, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, AddressOfIndex, 8)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY32, AddressOfCallBacks, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, AddressOfCallBacks, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, AddressOfCallBacks, 12)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY32, SizeOfZeroFill, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, SizeOfZeroFill, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, SizeOfZeroFill, 16)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY32, Characteristics, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, Characteristics, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, Characteristics, 20)
}
static void test_pack_IMAGE_TLS_DIRECTORY64(void)
{
/* IMAGE_TLS_DIRECTORY64 */
TEST_TYPE_SIZE (IMAGE_TLS_DIRECTORY64, 40)
TEST_TYPE_ALIGN (IMAGE_TLS_DIRECTORY64, 8)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY64, StartAddressOfRawData, 8)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, StartAddressOfRawData, 8)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, StartAddressOfRawData, 0)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY64, EndAddressOfRawData, 8)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, EndAddressOfRawData, 8)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, EndAddressOfRawData, 8)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY64, AddressOfIndex, 8)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, AddressOfIndex, 8)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, AddressOfIndex, 16)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY64, AddressOfCallBacks, 8)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, AddressOfCallBacks, 8)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, AddressOfCallBacks, 24)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY64, SizeOfZeroFill, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, SizeOfZeroFill, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, SizeOfZeroFill, 32)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY64, Characteristics, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, Characteristics, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, Characteristics, 36)
}
static void test_pack_IMAGE_VXD_HEADER(void)
{
/* IMAGE_VXD_HEADER (pack 2) */
@ -1882,6 +2168,24 @@ static void test_pack_PIMAGE_NT_HEADERS(void)
TEST_TYPE_ALIGN (PIMAGE_NT_HEADERS, 8)
}
static void test_pack_PIMAGE_NT_HEADERS32(void)
{
/* PIMAGE_NT_HEADERS32 */
TEST_TYPE_SIZE (PIMAGE_NT_HEADERS32, 8)
TEST_TYPE_ALIGN (PIMAGE_NT_HEADERS32, 8)
TEST_TARGET_SIZE (PIMAGE_NT_HEADERS32, 248)
TEST_TARGET_ALIGN(PIMAGE_NT_HEADERS32, 4)
}
static void test_pack_PIMAGE_NT_HEADERS64(void)
{
/* PIMAGE_NT_HEADERS64 */
TEST_TYPE_SIZE (PIMAGE_NT_HEADERS64, 8)
TEST_TYPE_ALIGN (PIMAGE_NT_HEADERS64, 8)
TEST_TARGET_SIZE (PIMAGE_NT_HEADERS64, 264)
TEST_TARGET_ALIGN(PIMAGE_NT_HEADERS64, 8)
}
static void test_pack_PIMAGE_OPTIONAL_HEADER(void)
{
/* PIMAGE_OPTIONAL_HEADER */
@ -1889,6 +2193,24 @@ static void test_pack_PIMAGE_OPTIONAL_HEADER(void)
TEST_TYPE_ALIGN (PIMAGE_OPTIONAL_HEADER, 8)
}
static void test_pack_PIMAGE_OPTIONAL_HEADER32(void)
{
/* PIMAGE_OPTIONAL_HEADER32 */
TEST_TYPE_SIZE (PIMAGE_OPTIONAL_HEADER32, 8)
TEST_TYPE_ALIGN (PIMAGE_OPTIONAL_HEADER32, 8)
TEST_TARGET_SIZE (PIMAGE_OPTIONAL_HEADER32, 224)
TEST_TARGET_ALIGN(PIMAGE_OPTIONAL_HEADER32, 4)
}
static void test_pack_PIMAGE_OPTIONAL_HEADER64(void)
{
/* PIMAGE_OPTIONAL_HEADER64 */
TEST_TYPE_SIZE (PIMAGE_OPTIONAL_HEADER64, 8)
TEST_TYPE_ALIGN (PIMAGE_OPTIONAL_HEADER64, 8)
TEST_TARGET_SIZE (PIMAGE_OPTIONAL_HEADER64, 240)
TEST_TARGET_ALIGN(PIMAGE_OPTIONAL_HEADER64, 8)
}
static void test_pack_PIMAGE_OS2_HEADER(void)
{
/* PIMAGE_OS2_HEADER */
@ -4035,6 +4357,242 @@ static void test_pack_IMAGE_NT_HEADERS(void)
TEST_TYPE_ALIGN (IMAGE_NT_HEADERS, 4)
}
static void test_pack_IMAGE_NT_HEADERS32(void)
{
/* IMAGE_NT_HEADERS32 */
TEST_TYPE_SIZE (IMAGE_NT_HEADERS32, 248)
TEST_TYPE_ALIGN (IMAGE_NT_HEADERS32, 4)
TEST_FIELD_SIZE (IMAGE_NT_HEADERS32, Signature, 4)
TEST_FIELD_ALIGN (IMAGE_NT_HEADERS32, Signature, 4)
TEST_FIELD_OFFSET(IMAGE_NT_HEADERS32, Signature, 0)
TEST_FIELD_SIZE (IMAGE_NT_HEADERS32, FileHeader, 20)
TEST_FIELD_ALIGN (IMAGE_NT_HEADERS32, FileHeader, 4)
TEST_FIELD_OFFSET(IMAGE_NT_HEADERS32, FileHeader, 4)
TEST_FIELD_SIZE (IMAGE_NT_HEADERS32, OptionalHeader, 224)
TEST_FIELD_ALIGN (IMAGE_NT_HEADERS32, OptionalHeader, 4)
TEST_FIELD_OFFSET(IMAGE_NT_HEADERS32, OptionalHeader, 24)
}
static void test_pack_IMAGE_NT_HEADERS64(void)
{
/* IMAGE_NT_HEADERS64 */
TEST_TYPE_SIZE (IMAGE_NT_HEADERS64, 264)
TEST_TYPE_ALIGN (IMAGE_NT_HEADERS64, 8)
TEST_FIELD_SIZE (IMAGE_NT_HEADERS64, Signature, 4)
TEST_FIELD_ALIGN (IMAGE_NT_HEADERS64, Signature, 4)
TEST_FIELD_OFFSET(IMAGE_NT_HEADERS64, Signature, 0)
TEST_FIELD_SIZE (IMAGE_NT_HEADERS64, FileHeader, 20)
TEST_FIELD_ALIGN (IMAGE_NT_HEADERS64, FileHeader, 4)
TEST_FIELD_OFFSET(IMAGE_NT_HEADERS64, FileHeader, 4)
TEST_FIELD_SIZE (IMAGE_NT_HEADERS64, OptionalHeader, 240)
TEST_FIELD_ALIGN (IMAGE_NT_HEADERS64, OptionalHeader, 8)
TEST_FIELD_OFFSET(IMAGE_NT_HEADERS64, OptionalHeader, 24)
}
static void test_pack_IMAGE_OPTIONAL_HEADER(void)
{
/* IMAGE_OPTIONAL_HEADER */
TEST_TYPE_SIZE (IMAGE_OPTIONAL_HEADER, 224)
TEST_TYPE_ALIGN (IMAGE_OPTIONAL_HEADER, 4)
}
static void test_pack_IMAGE_OPTIONAL_HEADER32(void)
{
/* IMAGE_OPTIONAL_HEADER32 */
TEST_TYPE_SIZE (IMAGE_OPTIONAL_HEADER32, 224)
TEST_TYPE_ALIGN (IMAGE_OPTIONAL_HEADER32, 4)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, Magic, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, Magic, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, Magic, 0)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MajorLinkerVersion, 1)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorLinkerVersion, 1)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorLinkerVersion, 2)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MinorLinkerVersion, 1)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorLinkerVersion, 1)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorLinkerVersion, 3)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfCode, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfCode, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfCode, 4)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfInitializedData, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfInitializedData, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfInitializedData, 8)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfUninitializedData, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfUninitializedData, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfUninitializedData, 12)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, AddressOfEntryPoint, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, AddressOfEntryPoint, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, AddressOfEntryPoint, 16)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, BaseOfCode, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, BaseOfCode, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, BaseOfCode, 20)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, BaseOfData, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, BaseOfData, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, BaseOfData, 24)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, ImageBase, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, ImageBase, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, ImageBase, 28)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SectionAlignment, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SectionAlignment, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SectionAlignment, 32)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, FileAlignment, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, FileAlignment, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, FileAlignment, 36)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MajorOperatingSystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorOperatingSystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorOperatingSystemVersion, 40)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MinorOperatingSystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorOperatingSystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorOperatingSystemVersion, 42)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MajorImageVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorImageVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorImageVersion, 44)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MinorImageVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorImageVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorImageVersion, 46)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MajorSubsystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MajorSubsystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MajorSubsystemVersion, 48)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, MinorSubsystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, MinorSubsystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, MinorSubsystemVersion, 50)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, Win32VersionValue, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, Win32VersionValue, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, Win32VersionValue, 52)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfImage, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfImage, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfImage, 56)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfHeaders, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfHeaders, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfHeaders, 60)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, CheckSum, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, CheckSum, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, CheckSum, 64)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, Subsystem, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, Subsystem, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, Subsystem, 68)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, DllCharacteristics, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, DllCharacteristics, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, DllCharacteristics, 70)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfStackReserve, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfStackReserve, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfStackReserve, 72)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfStackCommit, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfStackCommit, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfStackCommit, 76)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfHeapReserve, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfHeapReserve, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfHeapReserve, 80)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, SizeOfHeapCommit, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, SizeOfHeapCommit, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, SizeOfHeapCommit, 84)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, LoaderFlags, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, LoaderFlags, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, LoaderFlags, 88)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, NumberOfRvaAndSizes, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, NumberOfRvaAndSizes, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, NumberOfRvaAndSizes, 92)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER32, DataDirectory, 128)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER32, DataDirectory, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER32, DataDirectory, 96)
}
static void test_pack_IMAGE_OPTIONAL_HEADER64(void)
{
/* IMAGE_OPTIONAL_HEADER64 */
TEST_TYPE_SIZE (IMAGE_OPTIONAL_HEADER64, 240)
TEST_TYPE_ALIGN (IMAGE_OPTIONAL_HEADER64, 8)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, Magic, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, Magic, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, Magic, 0)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MajorLinkerVersion, 1)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorLinkerVersion, 1)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorLinkerVersion, 2)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MinorLinkerVersion, 1)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorLinkerVersion, 1)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorLinkerVersion, 3)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfCode, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfCode, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfCode, 4)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfInitializedData, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfInitializedData, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfInitializedData, 8)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfUninitializedData, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfUninitializedData, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfUninitializedData, 12)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, AddressOfEntryPoint, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, AddressOfEntryPoint, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, AddressOfEntryPoint, 16)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, BaseOfCode, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, BaseOfCode, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, BaseOfCode, 20)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, ImageBase, 8)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, ImageBase, 8)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, ImageBase, 24)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SectionAlignment, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SectionAlignment, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SectionAlignment, 32)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, FileAlignment, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, FileAlignment, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, FileAlignment, 36)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MajorOperatingSystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorOperatingSystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorOperatingSystemVersion, 40)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MinorOperatingSystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorOperatingSystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorOperatingSystemVersion, 42)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MajorImageVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorImageVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorImageVersion, 44)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MinorImageVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorImageVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorImageVersion, 46)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MajorSubsystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MajorSubsystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MajorSubsystemVersion, 48)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, MinorSubsystemVersion, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, MinorSubsystemVersion, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, MinorSubsystemVersion, 50)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, Win32VersionValue, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, Win32VersionValue, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, Win32VersionValue, 52)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfImage, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfImage, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfImage, 56)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfHeaders, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfHeaders, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfHeaders, 60)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, CheckSum, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, CheckSum, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, CheckSum, 64)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, Subsystem, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, Subsystem, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, Subsystem, 68)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, DllCharacteristics, 2)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, DllCharacteristics, 2)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, DllCharacteristics, 70)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfStackReserve, 8)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfStackReserve, 8)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfStackReserve, 72)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfStackCommit, 8)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfStackCommit, 8)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfStackCommit, 80)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfHeapReserve, 8)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfHeapReserve, 8)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfHeapReserve, 88)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, SizeOfHeapCommit, 8)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, SizeOfHeapCommit, 8)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, SizeOfHeapCommit, 96)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, LoaderFlags, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, LoaderFlags, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, LoaderFlags, 104)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, NumberOfRvaAndSizes, 4)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, NumberOfRvaAndSizes, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, NumberOfRvaAndSizes, 108)
TEST_FIELD_SIZE (IMAGE_OPTIONAL_HEADER64, DataDirectory, 128)
TEST_FIELD_ALIGN (IMAGE_OPTIONAL_HEADER64, DataDirectory, 4)
TEST_FIELD_OFFSET(IMAGE_OPTIONAL_HEADER64, DataDirectory, 112)
}
static void test_pack_IMAGE_OS2_HEADER(void)
{
/* IMAGE_OS2_HEADER (pack 2) */
@ -4283,6 +4841,56 @@ static void test_pack_IMAGE_TLS_DIRECTORY(void)
TEST_TYPE_ALIGN (IMAGE_TLS_DIRECTORY, 4)
}
static void test_pack_IMAGE_TLS_DIRECTORY32(void)
{
/* IMAGE_TLS_DIRECTORY32 */
TEST_TYPE_SIZE (IMAGE_TLS_DIRECTORY32, 24)
TEST_TYPE_ALIGN (IMAGE_TLS_DIRECTORY32, 4)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY32, StartAddressOfRawData, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, StartAddressOfRawData, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, StartAddressOfRawData, 0)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY32, EndAddressOfRawData, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, EndAddressOfRawData, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, EndAddressOfRawData, 4)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY32, AddressOfIndex, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, AddressOfIndex, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, AddressOfIndex, 8)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY32, AddressOfCallBacks, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, AddressOfCallBacks, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, AddressOfCallBacks, 12)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY32, SizeOfZeroFill, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, SizeOfZeroFill, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, SizeOfZeroFill, 16)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY32, Characteristics, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY32, Characteristics, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY32, Characteristics, 20)
}
static void test_pack_IMAGE_TLS_DIRECTORY64(void)
{
/* IMAGE_TLS_DIRECTORY64 */
TEST_TYPE_SIZE (IMAGE_TLS_DIRECTORY64, 40)
TEST_TYPE_ALIGN (IMAGE_TLS_DIRECTORY64, 8)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY64, StartAddressOfRawData, 8)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, StartAddressOfRawData, 8)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, StartAddressOfRawData, 0)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY64, EndAddressOfRawData, 8)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, EndAddressOfRawData, 8)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, EndAddressOfRawData, 8)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY64, AddressOfIndex, 8)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, AddressOfIndex, 8)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, AddressOfIndex, 16)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY64, AddressOfCallBacks, 8)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, AddressOfCallBacks, 8)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, AddressOfCallBacks, 24)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY64, SizeOfZeroFill, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, SizeOfZeroFill, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, SizeOfZeroFill, 32)
TEST_FIELD_SIZE (IMAGE_TLS_DIRECTORY64, Characteristics, 4)
TEST_FIELD_ALIGN (IMAGE_TLS_DIRECTORY64, Characteristics, 4)
TEST_FIELD_OFFSET(IMAGE_TLS_DIRECTORY64, Characteristics, 36)
}
static void test_pack_IMAGE_VXD_HEADER(void)
{
/* IMAGE_VXD_HEADER (pack 2) */
@ -4971,6 +5579,24 @@ static void test_pack_PIMAGE_NT_HEADERS(void)
TEST_TYPE_ALIGN (PIMAGE_NT_HEADERS, 4)
}
static void test_pack_PIMAGE_NT_HEADERS32(void)
{
/* PIMAGE_NT_HEADERS32 */
TEST_TYPE_SIZE (PIMAGE_NT_HEADERS32, 4)
TEST_TYPE_ALIGN (PIMAGE_NT_HEADERS32, 4)
TEST_TARGET_SIZE (PIMAGE_NT_HEADERS32, 248)
TEST_TARGET_ALIGN(PIMAGE_NT_HEADERS32, 4)
}
static void test_pack_PIMAGE_NT_HEADERS64(void)
{
/* PIMAGE_NT_HEADERS64 */
TEST_TYPE_SIZE (PIMAGE_NT_HEADERS64, 4)
TEST_TYPE_ALIGN (PIMAGE_NT_HEADERS64, 4)
TEST_TARGET_SIZE (PIMAGE_NT_HEADERS64, 264)
TEST_TARGET_ALIGN(PIMAGE_NT_HEADERS64, 8)
}
static void test_pack_PIMAGE_OPTIONAL_HEADER(void)
{
/* PIMAGE_OPTIONAL_HEADER */
@ -4978,6 +5604,24 @@ static void test_pack_PIMAGE_OPTIONAL_HEADER(void)
TEST_TYPE_ALIGN (PIMAGE_OPTIONAL_HEADER, 4)
}
static void test_pack_PIMAGE_OPTIONAL_HEADER32(void)
{
/* PIMAGE_OPTIONAL_HEADER32 */
TEST_TYPE_SIZE (PIMAGE_OPTIONAL_HEADER32, 4)
TEST_TYPE_ALIGN (PIMAGE_OPTIONAL_HEADER32, 4)
TEST_TARGET_SIZE (PIMAGE_OPTIONAL_HEADER32, 224)
TEST_TARGET_ALIGN(PIMAGE_OPTIONAL_HEADER32, 4)
}
static void test_pack_PIMAGE_OPTIONAL_HEADER64(void)
{
/* PIMAGE_OPTIONAL_HEADER64 */
TEST_TYPE_SIZE (PIMAGE_OPTIONAL_HEADER64, 4)
TEST_TYPE_ALIGN (PIMAGE_OPTIONAL_HEADER64, 4)
TEST_TARGET_SIZE (PIMAGE_OPTIONAL_HEADER64, 240)
TEST_TARGET_ALIGN(PIMAGE_OPTIONAL_HEADER64, 8)
}
static void test_pack_PIMAGE_OS2_HEADER(void)
{
/* PIMAGE_OS2_HEADER */
@ -6312,6 +6956,11 @@ static void test_pack(void)
test_pack_IMAGE_LINENUMBER();
test_pack_IMAGE_LOAD_CONFIG_DIRECTORY();
test_pack_IMAGE_NT_HEADERS();
test_pack_IMAGE_NT_HEADERS32();
test_pack_IMAGE_NT_HEADERS64();
test_pack_IMAGE_OPTIONAL_HEADER();
test_pack_IMAGE_OPTIONAL_HEADER32();
test_pack_IMAGE_OPTIONAL_HEADER64();
test_pack_IMAGE_OS2_HEADER();
test_pack_IMAGE_RELOCATION();
test_pack_IMAGE_RESOURCE_DATA_ENTRY();
@ -6324,6 +6973,8 @@ static void test_pack(void)
test_pack_IMAGE_SYMBOL();
test_pack_IMAGE_THUNK_DATA();
test_pack_IMAGE_TLS_DIRECTORY();
test_pack_IMAGE_TLS_DIRECTORY32();
test_pack_IMAGE_TLS_DIRECTORY64();
test_pack_IMAGE_VXD_HEADER();
test_pack_INT();
test_pack_INT16();
@ -6396,7 +7047,11 @@ static void test_pack(void)
test_pack_PIMAGE_LINENUMBER();
test_pack_PIMAGE_LOAD_CONFIG_DIRECTORY();
test_pack_PIMAGE_NT_HEADERS();
test_pack_PIMAGE_NT_HEADERS32();
test_pack_PIMAGE_NT_HEADERS64();
test_pack_PIMAGE_OPTIONAL_HEADER();
test_pack_PIMAGE_OPTIONAL_HEADER32();
test_pack_PIMAGE_OPTIONAL_HEADER64();
test_pack_PIMAGE_OS2_HEADER();
test_pack_PIMAGE_RELOCATION();
test_pack_PIMAGE_RESOURCE_DATA_ENTRY();

View File

@ -694,7 +694,11 @@ IMAGE_IMPORT_DESCRIPTOR
IMAGE_LINENUMBER
IMAGE_LOAD_CONFIG_DIRECTORY
IMAGE_NT_HEADERS
!IMAGE_OPTIONAL_HEADER # different on Win64
IMAGE_NT_HEADERS32
IMAGE_NT_HEADERS64
IMAGE_OPTIONAL_HEADER
IMAGE_OPTIONAL_HEADER32
IMAGE_OPTIONAL_HEADER64
IMAGE_OS2_HEADER
IMAGE_RELOCATION
IMAGE_RESOURCE_DATA_ENTRY
@ -707,6 +711,8 @@ IMAGE_SEPARATE_DEBUG_HEADER
IMAGE_SYMBOL
IMAGE_THUNK_DATA
IMAGE_TLS_DIRECTORY
IMAGE_TLS_DIRECTORY32
IMAGE_TLS_DIRECTORY64
IMAGE_VXD_HEADER
INT
INT16
@ -783,7 +789,11 @@ PIMAGE_IMPORT_DESCRIPTOR
PIMAGE_LINENUMBER
PIMAGE_LOAD_CONFIG_DIRECTORY
PIMAGE_NT_HEADERS
PIMAGE_NT_HEADERS32
PIMAGE_NT_HEADERS64
PIMAGE_OPTIONAL_HEADER
PIMAGE_OPTIONAL_HEADER32
PIMAGE_OPTIONAL_HEADER64
PIMAGE_OS2_HEADER
PIMAGE_RELOCATION
PIMAGE_RESOURCE_DATA_ENTRY