Updated the generated tests.

This commit is contained in:
Patrik Stridvall 2002-11-04 22:40:40 +00:00 committed by Alexandre Julliard
parent 5554838292
commit df7ffb8017
4 changed files with 2403 additions and 49 deletions

File diff suppressed because it is too large Load Diff

View File

@ -34,6 +34,22 @@
/* FIXME: Not sure if is possible to do without compiler extension */
#endif
#if (_MSC_VER >= 1300) && defined(__cplusplus)
# define _TYPE_ALIGNMENT(type) __alignof(type)
#elif defined(__GNUC__)
# define _TYPE_ALIGNMENT(type) __alignof__(type)
#else
/*
* FIXME: Not sure if is possible to do without compiler extension
* (if type is not just a name that is, if so the normal)
* TYPE_ALIGNMENT can be used)
*/
#endif
#if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
# define TYPE_ALIGNMENT _TYPE_ALIGNMENT
#endif
/***********************************************************************
* Test helper macros
*/
@ -52,8 +68,19 @@
"FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")", \
FIELD_OFFSET(type, field))
#ifdef _TYPE_ALIGNMENT
#define TEST__TYPE_ALIGNMENT(type, align) \
ok(_TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")", _TYPE_ALIGNMENT(type))
#else
# define TEST__TYPE_ALIGNMENT(type, align) do { } while (0)
#endif
#ifdef TYPE_ALIGNMENT
#define TEST_TYPE_ALIGNMENT(type, align) \
ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")", TYPE_ALIGNMENT(type))
#else
# define TEST_TYPE_ALIGNMENT(type, align) do { } while (0)
#endif
#define TEST_TYPE_SIZE(type, size) \
ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")", sizeof(type))
@ -71,6 +98,16 @@
TEST_TYPE_ALIGNMENT(type, align); \
TEST_TYPE_SIZE(type, size)
#define TEST_TYPE_POINTER(type, size, align) \
TEST__TYPE_ALIGNMENT(*(type)0, align); \
TEST_TYPE_SIZE(*(type)0, size)
#define TEST_TYPE_SIGNED(type) \
ok((type) -1 < 0, "(" #type ") -1 < 0");
#define TEST_TYPE_UNSIGNED(type) \
ok((type) -1 > 0, "(" #type ") -1 > 0");
void test_pack(void)
{
/* BY_HANDLE_FILE_INFORMATION (pack 4) */
@ -87,15 +124,9 @@ void test_pack(void)
TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileIndexLow, 48, 4, 4);
/* COMMCONFIG (pack 4) */
TEST_TYPE(COMMCONFIG, 52, 4);
TEST_FIELD(COMMCONFIG, DWORD, dwSize, 0, 4, 4);
TEST_FIELD(COMMCONFIG, WORD, wVersion, 4, 2, 2);
TEST_FIELD(COMMCONFIG, WORD, wReserved, 6, 2, 2);
TEST_FIELD(COMMCONFIG, DCB, dcb, 8, 28, 4);
TEST_FIELD(COMMCONFIG, DWORD, dwProviderSubType, 36, 4, 4);
TEST_FIELD(COMMCONFIG, DWORD, dwProviderOffset, 40, 4, 4);
TEST_FIELD(COMMCONFIG, DWORD, dwProviderSize, 44, 4, 4);
TEST_FIELD(COMMCONFIG, DWORD[1], wcProviderData, 48, 4, 4);
/* COMMPROP (pack 4) */
TEST_TYPE(COMMPROP, 64, 4);
@ -150,27 +181,33 @@ void test_pack(void)
TEST_FIELD(CREATE_THREAD_DEBUG_INFO, LPVOID, lpThreadLocalBase, 4, 4, 4);
TEST_FIELD(CREATE_THREAD_DEBUG_INFO, LPTHREAD_START_ROUTINE, lpStartAddress, 8, 4, 4);
/* CRITICAL_SECTION */
TEST_TYPE(CRITICAL_SECTION, 24, 4);
/* CRITICAL_SECTION_DEBUG */
TEST_TYPE(CRITICAL_SECTION_DEBUG, 32, 4);
/* DCB (pack 4) */
TEST_TYPE(DCB, 28, 4);
TEST_FIELD(DCB, DWORD, DCBlength, 0, 4, 4);
TEST_FIELD(DCB, DWORD, BaudRate, 4, 4, 4);
TEST_FIELD(DCB, WORD, wReserved, 12, 2, 2);
TEST_FIELD(DCB, WORD, XonLim, 14, 2, 2);
TEST_FIELD(DCB, WORD, XoffLim, 16, 2, 2);
TEST_FIELD(DCB, BYTE, ByteSize, 18, 1, 1);
TEST_FIELD(DCB, BYTE, Parity, 19, 1, 1);
TEST_FIELD(DCB, BYTE, StopBits, 20, 1, 1);
TEST_FIELD(DCB, char, XonChar, 21, 1, 1);
TEST_FIELD(DCB, char, XoffChar, 22, 1, 1);
TEST_FIELD(DCB, char, ErrorChar, 23, 1, 1);
TEST_FIELD(DCB, char, EofChar, 24, 1, 1);
TEST_FIELD(DCB, char, EvtChar, 25, 1, 1);
/* DEBUG_EVENT (pack 4) */
TEST_FIELD(DEBUG_EVENT, DWORD, dwDebugEventCode, 0, 4, 4);
TEST_FIELD(DEBUG_EVENT, DWORD, dwProcessId, 4, 4, 4);
TEST_FIELD(DEBUG_EVENT, DWORD, dwThreadId, 8, 4, 4);
/* ENUMRESLANGPROCA */
/* ENUMRESLANGPROCW */
/* ENUMRESNAMEPROCA */
/* ENUMRESNAMEPROCW */
/* ENUMRESTYPEPROCA */
/* ENUMRESTYPEPROCW */
/* EXCEPTION_DEBUG_INFO (pack 4) */
TEST_TYPE(EXCEPTION_DEBUG_INFO, 84, 4);
TEST_FIELD(EXCEPTION_DEBUG_INFO, EXCEPTION_RECORD, ExceptionRecord, 0, 80, 4);
@ -203,6 +240,141 @@ void test_pack(void)
TEST_FIELD(LOAD_DLL_DEBUG_INFO, LPVOID, lpImageName, 16, 4, 4);
TEST_FIELD(LOAD_DLL_DEBUG_INFO, WORD, fUnicode, 20, 2, 2);
/* LPBY_HANDLE_FILE_INFORMATION */
TEST_TYPE(LPBY_HANDLE_FILE_INFORMATION, 4, 4);
TEST_TYPE_POINTER(LPBY_HANDLE_FILE_INFORMATION, 52, 4);
/* LPCOMMCONFIG */
TEST_TYPE(LPCOMMCONFIG, 4, 4);
/* LPCOMMPROP */
TEST_TYPE(LPCOMMPROP, 4, 4);
TEST_TYPE_POINTER(LPCOMMPROP, 64, 4);
/* LPCOMMTIMEOUTS */
TEST_TYPE(LPCOMMTIMEOUTS, 4, 4);
TEST_TYPE_POINTER(LPCOMMTIMEOUTS, 20, 4);
/* LPCOMSTAT */
TEST_TYPE(LPCOMSTAT, 4, 4);
TEST_TYPE_POINTER(LPCOMSTAT, 12, 4);
/* LPCONTEXT */
TEST_TYPE(LPCONTEXT, 4, 4);
/* LPCRITICAL_SECTION */
TEST_TYPE(LPCRITICAL_SECTION, 4, 4);
/* LPCRITICAL_SECTION_DEBUG */
TEST_TYPE(LPCRITICAL_SECTION_DEBUG, 4, 4);
/* LPDCB */
TEST_TYPE(LPDCB, 4, 4);
/* LPDEBUG_EVENT */
TEST_TYPE(LPDEBUG_EVENT, 4, 4);
/* LPEXCEPTION_POINTERS */
TEST_TYPE(LPEXCEPTION_POINTERS, 4, 4);
/* LPEXCEPTION_RECORD */
TEST_TYPE(LPEXCEPTION_RECORD, 4, 4);
/* LPFIBER_START_ROUTINE */
/* LPHW_PROFILE_INFOA */
TEST_TYPE(LPHW_PROFILE_INFOA, 4, 4);
TEST_TYPE_POINTER(LPHW_PROFILE_INFOA, 124, 4);
/* LPHW_PROFILE_INFOW */
TEST_TYPE(LPHW_PROFILE_INFOW, 4, 4);
TEST_TYPE_POINTER(LPHW_PROFILE_INFOW, 244, 4);
/* LPLDT_ENTRY */
TEST_TYPE(LPLDT_ENTRY, 4, 4);
/* LPMEMORYSTATUS */
TEST_TYPE(LPMEMORYSTATUS, 4, 4);
TEST_TYPE_POINTER(LPMEMORYSTATUS, 32, 4);
/* LPOFSTRUCT */
TEST_TYPE(LPOFSTRUCT, 4, 4);
TEST_TYPE_POINTER(LPOFSTRUCT, 136, 2);
/* LPOSVERSIONINFOA */
TEST_TYPE(LPOSVERSIONINFOA, 4, 4);
TEST_TYPE_POINTER(LPOSVERSIONINFOA, 148, 4);
/* LPOSVERSIONINFOEXA */
TEST_TYPE(LPOSVERSIONINFOEXA, 4, 4);
/* LPOSVERSIONINFOEXW */
TEST_TYPE(LPOSVERSIONINFOEXW, 4, 4);
/* LPOSVERSIONINFOW */
TEST_TYPE(LPOSVERSIONINFOW, 4, 4);
TEST_TYPE_POINTER(LPOSVERSIONINFOW, 276, 4);
/* LPOVERLAPPED */
TEST_TYPE(LPOVERLAPPED, 4, 4);
TEST_TYPE_POINTER(LPOVERLAPPED, 20, 4);
/* LPOVERLAPPED_COMPLETION_ROUTINE */
/* LPPROCESS_HEAP_ENTRY */
TEST_TYPE(LPPROCESS_HEAP_ENTRY, 4, 4);
/* LPPROCESS_INFORMATION */
TEST_TYPE(LPPROCESS_INFORMATION, 4, 4);
TEST_TYPE_POINTER(LPPROCESS_INFORMATION, 16, 4);
/* LPPROGRESS_ROUTINE */
/* LPSECURITY_ATTRIBUTES */
TEST_TYPE(LPSECURITY_ATTRIBUTES, 4, 4);
TEST_TYPE_POINTER(LPSECURITY_ATTRIBUTES, 12, 4);
/* LPSTARTUPINFOA */
TEST_TYPE(LPSTARTUPINFOA, 4, 4);
TEST_TYPE_POINTER(LPSTARTUPINFOA, 68, 4);
/* LPSTARTUPINFOW */
TEST_TYPE(LPSTARTUPINFOW, 4, 4);
TEST_TYPE_POINTER(LPSTARTUPINFOW, 68, 4);
/* LPSYSTEMTIME */
TEST_TYPE(LPSYSTEMTIME, 4, 4);
TEST_TYPE_POINTER(LPSYSTEMTIME, 16, 2);
/* LPSYSTEM_INFO */
TEST_TYPE(LPSYSTEM_INFO, 4, 4);
/* LPSYSTEM_POWER_STATUS */
TEST_TYPE(LPSYSTEM_POWER_STATUS, 4, 4);
TEST_TYPE_POINTER(LPSYSTEM_POWER_STATUS, 12, 4);
/* LPTHREAD_START_ROUTINE */
/* LPTIME_ZONE_INFORMATION */
TEST_TYPE(LPTIME_ZONE_INFORMATION, 4, 4);
TEST_TYPE_POINTER(LPTIME_ZONE_INFORMATION, 172, 4);
/* LPWIN32_FILE_ATTRIBUTE_DATA */
TEST_TYPE(LPWIN32_FILE_ATTRIBUTE_DATA, 4, 4);
TEST_TYPE_POINTER(LPWIN32_FILE_ATTRIBUTE_DATA, 36, 4);
/* LPWIN32_FIND_DATAA */
TEST_TYPE(LPWIN32_FIND_DATAA, 4, 4);
TEST_TYPE_POINTER(LPWIN32_FIND_DATAA, 320, 4);
/* LPWIN32_FIND_DATAW */
TEST_TYPE(LPWIN32_FIND_DATAW, 4, 4);
TEST_TYPE_POINTER(LPWIN32_FIND_DATAW, 592, 4);
/* LPWIN32_STREAM_ID */
TEST_TYPE(LPWIN32_STREAM_ID, 4, 4);
TEST_TYPE_POINTER(LPWIN32_STREAM_ID, 24, 4);
/* MEMORYSTATUS (pack 4) */
TEST_TYPE(MEMORYSTATUS, 32, 4);
TEST_FIELD(MEMORYSTATUS, DWORD, dwLength, 0, 4, 4);
@ -232,7 +404,7 @@ void test_pack(void)
TEST_FIELD(OSVERSIONINFOA, DWORD, dwPlatformId, 16, 4, 4);
TEST_FIELD(OSVERSIONINFOA, CHAR[128], szCSDVersion, 20, 128, 1);
/* OSVERSIONINFOEXA */
/* OSVERSIONINFOEXA (pack 4) */
TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwOSVersionInfoSize, 0, 4, 4);
TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwMajorVersion, 4, 4, 4);
TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwMinorVersion, 8, 4, 4);
@ -242,7 +414,7 @@ void test_pack(void)
TEST_FIELD(OSVERSIONINFOEXA, WORD, wServicePackMajor, 148, 2, 2);
TEST_FIELD(OSVERSIONINFOEXA, WORD, wServicePackMinor, 150, 2, 2);
/* OSVERSIONINFOEXW */
/* OSVERSIONINFOEXW (pack 4) */
TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwOSVersionInfoSize, 0, 4, 4);
TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwMajorVersion, 4, 4, 4);
TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwMinorVersion, 8, 4, 4);
@ -275,6 +447,45 @@ void test_pack(void)
TEST_FIELD(OVERLAPPED, DWORD, OffsetHigh, 12, 4, 4);
TEST_FIELD(OVERLAPPED, HANDLE, hEvent, 16, 4, 4);
/* PAPCFUNC */
/* PBY_HANDLE_FILE_INFORMATION */
TEST_TYPE(PBY_HANDLE_FILE_INFORMATION, 4, 4);
TEST_TYPE_POINTER(PBY_HANDLE_FILE_INFORMATION, 52, 4);
/* PCRITICAL_SECTION */
TEST_TYPE(PCRITICAL_SECTION, 4, 4);
/* PCRITICAL_SECTION_DEBUG */
TEST_TYPE(PCRITICAL_SECTION_DEBUG, 4, 4);
/* PFIBER_START_ROUTINE */
/* POFSTRUCT */
TEST_TYPE(POFSTRUCT, 4, 4);
TEST_TYPE_POINTER(POFSTRUCT, 136, 2);
/* POSVERSIONINFOA */
TEST_TYPE(POSVERSIONINFOA, 4, 4);
TEST_TYPE_POINTER(POSVERSIONINFOA, 148, 4);
/* POSVERSIONINFOEXA */
TEST_TYPE(POSVERSIONINFOEXA, 4, 4);
/* POSVERSIONINFOEXW */
TEST_TYPE(POSVERSIONINFOEXW, 4, 4);
/* POSVERSIONINFOW */
TEST_TYPE(POSVERSIONINFOW, 4, 4);
TEST_TYPE_POINTER(POSVERSIONINFOW, 276, 4);
/* PPROCESS_HEAP_ENTRY */
TEST_TYPE(PPROCESS_HEAP_ENTRY, 4, 4);
/* PPROCESS_INFORMATION */
TEST_TYPE(PPROCESS_INFORMATION, 4, 4);
TEST_TYPE_POINTER(PPROCESS_INFORMATION, 16, 4);
/* PROCESS_HEAP_ENTRY (pack 4) */
TEST_FIELD(PROCESS_HEAP_ENTRY, LPVOID, lpData, 0, 4, 4);
TEST_FIELD(PROCESS_HEAP_ENTRY, DWORD, cbData, 4, 4, 4);
@ -289,6 +500,28 @@ void test_pack(void)
TEST_FIELD(PROCESS_INFORMATION, DWORD, dwProcessId, 8, 4, 4);
TEST_FIELD(PROCESS_INFORMATION, DWORD, dwThreadId, 12, 4, 4);
/* PSECURITY_ATTRIBUTES */
TEST_TYPE(PSECURITY_ATTRIBUTES, 4, 4);
TEST_TYPE_POINTER(PSECURITY_ATTRIBUTES, 12, 4);
/* PSYSTEMTIME */
TEST_TYPE(PSYSTEMTIME, 4, 4);
TEST_TYPE_POINTER(PSYSTEMTIME, 16, 2);
/* PTIMERAPCROUTINE */
/* PTIME_ZONE_INFORMATION */
TEST_TYPE(PTIME_ZONE_INFORMATION, 4, 4);
TEST_TYPE_POINTER(PTIME_ZONE_INFORMATION, 172, 4);
/* PWIN32_FIND_DATAA */
TEST_TYPE(PWIN32_FIND_DATAA, 4, 4);
TEST_TYPE_POINTER(PWIN32_FIND_DATAA, 320, 4);
/* PWIN32_FIND_DATAW */
TEST_TYPE(PWIN32_FIND_DATAW, 4, 4);
TEST_TYPE_POINTER(PWIN32_FIND_DATAW, 592, 4);
/* RIP_INFO (pack 4) */
TEST_TYPE(RIP_INFO, 8, 4);
TEST_FIELD(RIP_INFO, DWORD, dwError, 0, 4, 4);
@ -376,6 +609,8 @@ void test_pack(void)
TEST_TYPE(UNLOAD_DLL_DEBUG_INFO, 4, 4);
TEST_FIELD(UNLOAD_DLL_DEBUG_INFO, LPVOID, lpBaseOfDll, 0, 4, 4);
/* WAITORTIMERCALLBACK */
/* WIN32_FILE_ATTRIBUTE_DATA (pack 4) */
TEST_TYPE(WIN32_FILE_ATTRIBUTE_DATA, 36, 4);
TEST_FIELD(WIN32_FILE_ATTRIBUTE_DATA, DWORD, dwFileAttributes, 0, 4, 4);
@ -411,14 +646,6 @@ void test_pack(void)
TEST_FIELD(WIN32_FIND_DATAW, WCHAR[260], cFileName, 44, 520, 2);
TEST_FIELD(WIN32_FIND_DATAW, WCHAR[14], cAlternateFileName, 564, 28, 2);
/* WIN32_STREAM_ID (pack 4) */
TEST_TYPE(WIN32_STREAM_ID, 24, 4);
TEST_FIELD(WIN32_STREAM_ID, DWORD, dwStreamId, 0, 4, 4);
TEST_FIELD(WIN32_STREAM_ID, DWORD, dwStreamAttributes, 4, 4, 4);
TEST_FIELD(WIN32_STREAM_ID, LARGE_INTEGER, Size, 8, 8, 4);
TEST_FIELD(WIN32_STREAM_ID, DWORD, dwStreamNameSize, 16, 4, 4);
TEST_FIELD(WIN32_STREAM_ID, WCHAR[ANYSIZE_ARRAY], cStreamName, 20, 2, 2);
}
START_TEST(generated)

View File

@ -34,6 +34,22 @@
/* FIXME: Not sure if is possible to do without compiler extension */
#endif
#if (_MSC_VER >= 1300) && defined(__cplusplus)
# define _TYPE_ALIGNMENT(type) __alignof(type)
#elif defined(__GNUC__)
# define _TYPE_ALIGNMENT(type) __alignof__(type)
#else
/*
* FIXME: Not sure if is possible to do without compiler extension
* (if type is not just a name that is, if so the normal)
* TYPE_ALIGNMENT can be used)
*/
#endif
#if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
# define TYPE_ALIGNMENT _TYPE_ALIGNMENT
#endif
/***********************************************************************
* Test helper macros
*/
@ -52,8 +68,19 @@
"FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")", \
FIELD_OFFSET(type, field))
#ifdef _TYPE_ALIGNMENT
#define TEST__TYPE_ALIGNMENT(type, align) \
ok(_TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")", _TYPE_ALIGNMENT(type))
#else
# define TEST__TYPE_ALIGNMENT(type, align) do { } while (0)
#endif
#ifdef TYPE_ALIGNMENT
#define TEST_TYPE_ALIGNMENT(type, align) \
ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")", TYPE_ALIGNMENT(type))
#else
# define TEST_TYPE_ALIGNMENT(type, align) do { } while (0)
#endif
#define TEST_TYPE_SIZE(type, size) \
ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")", sizeof(type))
@ -71,8 +98,43 @@
TEST_TYPE_ALIGNMENT(type, align); \
TEST_TYPE_SIZE(type, size)
#define TEST_TYPE_POINTER(type, size, align) \
TEST__TYPE_ALIGNMENT(*(type)0, align); \
TEST_TYPE_SIZE(*(type)0, size)
#define TEST_TYPE_SIGNED(type) \
ok((type) -1 < 0, "(" #type ") -1 < 0");
#define TEST_TYPE_UNSIGNED(type) \
ok((type) -1 > 0, "(" #type ") -1 > 0");
void test_pack(void)
{
/* DWORD_PTR */
TEST_TYPE(DWORD_PTR, 4, 4);
/* INT_PTR */
TEST_TYPE(INT_PTR, 4, 4);
TEST_TYPE_SIGNED(INT_PTR);
/* LONG_PTR */
TEST_TYPE(LONG_PTR, 4, 4);
TEST_TYPE_SIGNED(LONG_PTR);
/* SIZE_T */
TEST_TYPE(SIZE_T, 4, 4);
/* SSIZE_T */
TEST_TYPE(SSIZE_T, 4, 4);
/* UINT_PTR */
TEST_TYPE(UINT_PTR, 4, 4);
TEST_TYPE_UNSIGNED(UINT_PTR);
/* ULONG_PTR */
TEST_TYPE(ULONG_PTR, 4, 4);
TEST_TYPE_UNSIGNED(ULONG_PTR);
/* ACCESS_ALLOWED_ACE (pack 4) */
TEST_TYPE(ACCESS_ALLOWED_ACE, 12, 4);
TEST_FIELD(ACCESS_ALLOWED_ACE, ACE_HEADER, Header, 0, 4, 2);
@ -85,6 +147,9 @@ void test_pack(void)
TEST_FIELD(ACCESS_DENIED_ACE, DWORD, Mask, 4, 4, 4);
TEST_FIELD(ACCESS_DENIED_ACE, DWORD, SidStart, 8, 4, 4);
/* ACCESS_MASK */
TEST_TYPE(ACCESS_MASK, 4, 4);
/* ACE_HEADER (pack 4) */
TEST_TYPE(ACE_HEADER, 4, 2);
TEST_FIELD(ACE_HEADER, BYTE, AceType, 0, 1, 1);
@ -99,6 +164,29 @@ void test_pack(void)
TEST_FIELD(ACL, WORD, AceCount, 4, 2, 2);
TEST_FIELD(ACL, WORD, Sbz2, 6, 2, 2);
/* BOOL */
TEST_TYPE(BOOL, 4, 4);
TEST_TYPE_SIGNED(BOOL);
/* BOOLEAN */
TEST_TYPE(BOOLEAN, 1, 1);
/* BYTE */
TEST_TYPE(BYTE, 1, 1);
TEST_TYPE_UNSIGNED(BYTE);
/* CCHAR */
TEST_TYPE(CCHAR, 1, 1);
TEST_TYPE_SIGNED(CCHAR);
/* CHAR */
TEST_TYPE(CHAR, 1, 1);
TEST_TYPE_SIGNED(CHAR);
/* DWORD */
TEST_TYPE(DWORD, 4, 4);
TEST_TYPE_UNSIGNED(DWORD);
/* EXCEPTION_POINTERS (pack 4) */
TEST_TYPE(EXCEPTION_POINTERS, 8, 4);
TEST_FIELD(EXCEPTION_POINTERS, PEXCEPTION_RECORD, ExceptionRecord, 0, 4, 4);
@ -113,6 +201,12 @@ void test_pack(void)
TEST_FIELD(EXCEPTION_RECORD, DWORD, NumberParameters, 16, 4, 4);
TEST_FIELD(EXCEPTION_RECORD, DWORD[EXCEPTION_MAXIMUM_PARAMETERS], ExceptionInformation, 20, 60, 4);
/* EXECUTION_STATE */
TEST_TYPE(EXECUTION_STATE, 4, 4);
/* FLOAT */
TEST_TYPE(FLOAT, 4, 4);
/* FLOATING_SAVE_AREA (pack 4) */
TEST_TYPE(FLOATING_SAVE_AREA, 112, 4);
TEST_FIELD(FLOATING_SAVE_AREA, DWORD, ControlWord, 0, 4, 4);
@ -126,7 +220,6 @@ void test_pack(void)
TEST_FIELD(FLOATING_SAVE_AREA, DWORD, Cr0NpxState, 108, 4, 4);
/* FPO_DATA (pack 4) */
TEST_TYPE(FPO_DATA, 16, 4);
TEST_FIELD(FPO_DATA, DWORD, ulOffStart, 0, 4, 4);
TEST_FIELD(FPO_DATA, DWORD, cbProcSize, 4, 4, 4);
TEST_FIELD(FPO_DATA, DWORD, cdwLocals, 8, 4, 4);
@ -139,6 +232,12 @@ void test_pack(void)
TEST_FIELD(GENERIC_MAPPING, ACCESS_MASK, GenericExecute, 8, 4, 4);
TEST_FIELD(GENERIC_MAPPING, ACCESS_MASK, GenericAll, 12, 4, 4);
/* HANDLE */
TEST_TYPE(HANDLE, 4, 4);
/* HRESULT */
TEST_TYPE(HRESULT, 4, 4);
/* IMAGE_ARCHIVE_MEMBER_HEADER (pack 4) */
TEST_TYPE(IMAGE_ARCHIVE_MEMBER_HEADER, 60, 1);
TEST_FIELD(IMAGE_ARCHIVE_MEMBER_HEADER, BYTE[16], Name, 0, 16, 1);
@ -151,10 +250,10 @@ void test_pack(void)
/* IMAGE_AUX_SYMBOL (pack 2) */
/* IMAGE_BASE_RELOCATION (pack 2) */
TEST_TYPE(IMAGE_BASE_RELOCATION, 8, 2);
TEST_FIELD(IMAGE_BASE_RELOCATION, DWORD, VirtualAddress, 0, 4, 2);
TEST_FIELD(IMAGE_BASE_RELOCATION, DWORD, SizeOfBlock, 4, 4, 2);
/* IMAGE_BASE_RELOCATION (pack 4) */
TEST_TYPE(IMAGE_BASE_RELOCATION, 8, 4);
TEST_FIELD(IMAGE_BASE_RELOCATION, DWORD, VirtualAddress, 0, 4, 4);
TEST_FIELD(IMAGE_BASE_RELOCATION, DWORD, SizeOfBlock, 4, 4, 4);
/* IMAGE_BOUND_FORWARDER_REF (pack 4) */
TEST_TYPE(IMAGE_BOUND_FORWARDER_REF, 8, 4);
@ -354,7 +453,7 @@ void test_pack(void)
TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_swaparea, 60, 2, 2);
TEST_FIELD(IMAGE_OS2_HEADER, WORD, ne_expver, 62, 2, 2);
/* IMAGE_RESOURCE_DATA_ENTRY */
/* IMAGE_RESOURCE_DATA_ENTRY (pack 4) */
TEST_FIELD(IMAGE_RESOURCE_DATA_ENTRY, DWORD, OffsetToData, 0, 4, 4);
TEST_FIELD(IMAGE_RESOURCE_DATA_ENTRY, DWORD, Size, 4, 4, 4);
TEST_FIELD(IMAGE_RESOURCE_DATA_ENTRY, DWORD, CodePage, 8, 4, 4);
@ -461,11 +560,30 @@ void test_pack(void)
TEST_FIELD(IMAGE_VXD_HEADER, WORD, e32_devid, 192, 2, 2);
TEST_FIELD(IMAGE_VXD_HEADER, WORD, e32_ddkver, 194, 2, 2);
/* INT */
TEST_TYPE(INT, 4, 4);
TEST_TYPE_SIGNED(INT);
/* LANGID */
TEST_TYPE(LANGID, 2, 2);
/* LCID */
TEST_TYPE(LCID, 4, 4);
/* LIST_ENTRY (pack 4) */
TEST_TYPE(LIST_ENTRY, 8, 4);
TEST_FIELD(LIST_ENTRY, struct _LIST_ENTRY *, Flink, 0, 4, 4);
TEST_FIELD(LIST_ENTRY, struct _LIST_ENTRY *, Blink, 4, 4, 4);
/* LONG */
TEST_TYPE(LONG, 4, 4);
TEST_TYPE_SIGNED(LONG);
/* LPCVOID */
TEST_TYPE(LPCVOID, 4, 4);
/* LPTOP_LEVEL_EXCEPTION_FILTER */
/* LUID (pack 4) */
TEST_TYPE(LUID, 8, 4);
TEST_FIELD(LUID, DWORD, LowPart, 0, 4, 4);
@ -503,12 +621,297 @@ void test_pack(void)
TEST_FIELD(MESSAGE_RESOURCE_ENTRY, WORD, Flags, 2, 2, 2);
TEST_FIELD(MESSAGE_RESOURCE_ENTRY, BYTE[1], Text, 4, 1, 1);
/* PACCESS_ALLOWED_ACE */
TEST_TYPE(PACCESS_ALLOWED_ACE, 4, 4);
TEST_TYPE_POINTER(PACCESS_ALLOWED_ACE, 12, 4);
/* PACCESS_DENIED_ACE */
TEST_TYPE(PACCESS_DENIED_ACE, 4, 4);
TEST_TYPE_POINTER(PACCESS_DENIED_ACE, 12, 4);
/* PACCESS_TOKEN */
TEST_TYPE(PACCESS_TOKEN, 4, 4);
/* PACE_HEADER */
TEST_TYPE(PACE_HEADER, 4, 4);
TEST_TYPE_POINTER(PACE_HEADER, 4, 2);
/* PACL */
TEST_TYPE(PACL, 4, 4);
TEST_TYPE_POINTER(PACL, 8, 2);
/* PCCH */
TEST_TYPE(PCCH, 4, 4);
TEST_TYPE_POINTER(PCCH, 1, 1);
/* PCH */
TEST_TYPE(PCH, 4, 4);
TEST_TYPE_POINTER(PCH, 1, 1);
/* PCSTR */
TEST_TYPE(PCSTR, 4, 4);
TEST_TYPE_POINTER(PCSTR, 1, 1);
/* PCWCH */
TEST_TYPE(PCWCH, 4, 4);
TEST_TYPE_POINTER(PCWCH, 2, 2);
/* PCWSTR */
TEST_TYPE(PCWSTR, 4, 4);
TEST_TYPE_POINTER(PCWSTR, 2, 2);
/* PEXCEPTION_HANDLER */
/* PEXCEPTION_POINTERS */
TEST_TYPE(PEXCEPTION_POINTERS, 4, 4);
TEST_TYPE_POINTER(PEXCEPTION_POINTERS, 8, 4);
/* PEXCEPTION_RECORD */
TEST_TYPE(PEXCEPTION_RECORD, 4, 4);
TEST_TYPE_POINTER(PEXCEPTION_RECORD, 80, 4);
/* PFLOATING_SAVE_AREA */
TEST_TYPE(PFLOATING_SAVE_AREA, 4, 4);
TEST_TYPE_POINTER(PFLOATING_SAVE_AREA, 112, 4);
/* PFPO_DATA */
TEST_TYPE(PFPO_DATA, 4, 4);
/* PGENERIC_MAPPING */
TEST_TYPE(PGENERIC_MAPPING, 4, 4);
TEST_TYPE_POINTER(PGENERIC_MAPPING, 16, 4);
/* PHANDLE */
TEST_TYPE(PHANDLE, 4, 4);
TEST_TYPE_POINTER(PHANDLE, 4, 4);
/* PIMAGE_ARCHIVE_MEMBER_HEADER */
TEST_TYPE(PIMAGE_ARCHIVE_MEMBER_HEADER, 4, 4);
TEST_TYPE_POINTER(PIMAGE_ARCHIVE_MEMBER_HEADER, 60, 1);
/* PIMAGE_AUX_SYMBOL */
TEST_TYPE(PIMAGE_AUX_SYMBOL, 4, 4);
/* PIMAGE_BASE_RELOCATION */
TEST_TYPE(PIMAGE_BASE_RELOCATION, 4, 4);
TEST_TYPE_POINTER(PIMAGE_BASE_RELOCATION, 8, 4);
/* PIMAGE_BOUND_FORWARDER_REF */
TEST_TYPE(PIMAGE_BOUND_FORWARDER_REF, 4, 4);
TEST_TYPE_POINTER(PIMAGE_BOUND_FORWARDER_REF, 8, 4);
/* PIMAGE_BOUND_IMPORT_DESCRIPTOR */
TEST_TYPE(PIMAGE_BOUND_IMPORT_DESCRIPTOR, 4, 4);
TEST_TYPE_POINTER(PIMAGE_BOUND_IMPORT_DESCRIPTOR, 8, 4);
/* PIMAGE_COFF_SYMBOLS_HEADER */
TEST_TYPE(PIMAGE_COFF_SYMBOLS_HEADER, 4, 4);
TEST_TYPE_POINTER(PIMAGE_COFF_SYMBOLS_HEADER, 32, 4);
/* PIMAGE_DATA_DIRECTORY */
TEST_TYPE(PIMAGE_DATA_DIRECTORY, 4, 4);
TEST_TYPE_POINTER(PIMAGE_DATA_DIRECTORY, 8, 4);
/* PIMAGE_DEBUG_DIRECTORY */
TEST_TYPE(PIMAGE_DEBUG_DIRECTORY, 4, 4);
TEST_TYPE_POINTER(PIMAGE_DEBUG_DIRECTORY, 28, 4);
/* PIMAGE_DEBUG_MISC */
TEST_TYPE(PIMAGE_DEBUG_MISC, 4, 4);
TEST_TYPE_POINTER(PIMAGE_DEBUG_MISC, 16, 4);
/* PIMAGE_DOS_HEADER */
TEST_TYPE(PIMAGE_DOS_HEADER, 4, 4);
TEST_TYPE_POINTER(PIMAGE_DOS_HEADER, 64, 2);
/* PIMAGE_EXPORT_DIRECTORY */
TEST_TYPE(PIMAGE_EXPORT_DIRECTORY, 4, 4);
TEST_TYPE_POINTER(PIMAGE_EXPORT_DIRECTORY, 40, 4);
/* PIMAGE_FILE_HEADER */
TEST_TYPE(PIMAGE_FILE_HEADER, 4, 4);
TEST_TYPE_POINTER(PIMAGE_FILE_HEADER, 20, 4);
/* PIMAGE_FUNCTION_ENTRY */
TEST_TYPE(PIMAGE_FUNCTION_ENTRY, 4, 4);
TEST_TYPE_POINTER(PIMAGE_FUNCTION_ENTRY, 12, 4);
/* PIMAGE_IMPORT_BY_NAME */
TEST_TYPE(PIMAGE_IMPORT_BY_NAME, 4, 4);
TEST_TYPE_POINTER(PIMAGE_IMPORT_BY_NAME, 4, 2);
/* PIMAGE_IMPORT_DESCRIPTOR */
TEST_TYPE(PIMAGE_IMPORT_DESCRIPTOR, 4, 4);
/* PIMAGE_LINENUMBER */
TEST_TYPE(PIMAGE_LINENUMBER, 4, 4);
/* PIMAGE_LOAD_CONFIG_DIRECTORY */
TEST_TYPE(PIMAGE_LOAD_CONFIG_DIRECTORY, 4, 4);
TEST_TYPE_POINTER(PIMAGE_LOAD_CONFIG_DIRECTORY, 64, 4);
/* PIMAGE_NT_HEADERS */
TEST_TYPE(PIMAGE_NT_HEADERS, 4, 4);
TEST_TYPE_POINTER(PIMAGE_NT_HEADERS, 248, 4);
/* PIMAGE_OPTIONAL_HEADER */
TEST_TYPE(PIMAGE_OPTIONAL_HEADER, 4, 4);
TEST_TYPE_POINTER(PIMAGE_OPTIONAL_HEADER, 224, 4);
/* PIMAGE_OS2_HEADER */
TEST_TYPE(PIMAGE_OS2_HEADER, 4, 4);
TEST_TYPE_POINTER(PIMAGE_OS2_HEADER, 64, 2);
/* PIMAGE_RELOCATION */
TEST_TYPE(PIMAGE_RELOCATION, 4, 4);
/* PIMAGE_RESOURCE_DATA_ENTRY */
TEST_TYPE(PIMAGE_RESOURCE_DATA_ENTRY, 4, 4);
/* PIMAGE_RESOURCE_DIRECTORY */
TEST_TYPE(PIMAGE_RESOURCE_DIRECTORY, 4, 4);
TEST_TYPE_POINTER(PIMAGE_RESOURCE_DIRECTORY, 16, 4);
/* PIMAGE_RESOURCE_DIRECTORY_ENTRY */
TEST_TYPE(PIMAGE_RESOURCE_DIRECTORY_ENTRY, 4, 4);
/* PIMAGE_RESOURCE_DIRECTORY_STRING */
TEST_TYPE(PIMAGE_RESOURCE_DIRECTORY_STRING, 4, 4);
TEST_TYPE_POINTER(PIMAGE_RESOURCE_DIRECTORY_STRING, 4, 2);
/* PIMAGE_RESOURCE_DIR_STRING_U */
TEST_TYPE(PIMAGE_RESOURCE_DIR_STRING_U, 4, 4);
TEST_TYPE_POINTER(PIMAGE_RESOURCE_DIR_STRING_U, 4, 2);
/* PIMAGE_SECTION_HEADER */
TEST_TYPE(PIMAGE_SECTION_HEADER, 4, 4);
/* PIMAGE_SEPARATE_DEBUG_HEADER */
TEST_TYPE(PIMAGE_SEPARATE_DEBUG_HEADER, 4, 4);
TEST_TYPE_POINTER(PIMAGE_SEPARATE_DEBUG_HEADER, 48, 4);
/* PIMAGE_SYMBOL */
TEST_TYPE(PIMAGE_SYMBOL, 4, 4);
/* PIMAGE_THUNK_DATA */
TEST_TYPE(PIMAGE_THUNK_DATA, 4, 4);
/* PIMAGE_TLS_CALLBACK */
/* PIMAGE_TLS_DIRECTORY */
TEST_TYPE(PIMAGE_TLS_DIRECTORY, 4, 4);
TEST_TYPE_POINTER(PIMAGE_TLS_DIRECTORY, 24, 4);
/* PIMAGE_VXD_HEADER */
TEST_TYPE(PIMAGE_VXD_HEADER, 4, 4);
TEST_TYPE_POINTER(PIMAGE_VXD_HEADER, 196, 2);
/* PISECURITY_DESCRIPTOR_RELATIVE */
TEST_TYPE(PISECURITY_DESCRIPTOR_RELATIVE, 4, 4);
TEST_TYPE_POINTER(PISECURITY_DESCRIPTOR_RELATIVE, 20, 4);
/* PLARGE_INTEGER */
TEST_TYPE(PLARGE_INTEGER, 4, 4);
/* PLIST_ENTRY */
TEST_TYPE(PLIST_ENTRY, 4, 4);
TEST_TYPE_POINTER(PLIST_ENTRY, 8, 4);
/* PLUID */
TEST_TYPE(PLUID, 4, 4);
TEST_TYPE_POINTER(PLUID, 8, 4);
/* PMEMORY_BASIC_INFORMATION */
TEST_TYPE(PMEMORY_BASIC_INFORMATION, 4, 4);
TEST_TYPE_POINTER(PMEMORY_BASIC_INFORMATION, 28, 4);
/* PMESSAGE_RESOURCE_BLOCK */
TEST_TYPE(PMESSAGE_RESOURCE_BLOCK, 4, 4);
TEST_TYPE_POINTER(PMESSAGE_RESOURCE_BLOCK, 12, 4);
/* PMESSAGE_RESOURCE_DATA */
TEST_TYPE(PMESSAGE_RESOURCE_DATA, 4, 4);
TEST_TYPE_POINTER(PMESSAGE_RESOURCE_DATA, 16, 4);
/* PMESSAGE_RESOURCE_ENTRY */
TEST_TYPE(PMESSAGE_RESOURCE_ENTRY, 4, 4);
TEST_TYPE_POINTER(PMESSAGE_RESOURCE_ENTRY, 6, 2);
/* PNT_TIB */
TEST_TYPE(PNT_TIB, 4, 4);
/* PPRIVILEGE_SET */
TEST_TYPE(PPRIVILEGE_SET, 4, 4);
TEST_TYPE_POINTER(PPRIVILEGE_SET, 20, 4);
/* PRIVILEGE_SET (pack 4) */
TEST_TYPE(PRIVILEGE_SET, 20, 4);
TEST_FIELD(PRIVILEGE_SET, DWORD, PrivilegeCount, 0, 4, 4);
TEST_FIELD(PRIVILEGE_SET, DWORD, Control, 4, 4, 4);
TEST_FIELD(PRIVILEGE_SET, LUID_AND_ATTRIBUTES[ANYSIZE_ARRAY], Privilege, 8, 12, 4);
/* PRLIST_ENTRY */
TEST_TYPE(PRLIST_ENTRY, 4, 4);
TEST_TYPE_POINTER(PRLIST_ENTRY, 8, 4);
/* PRTL_CRITICAL_SECTION */
TEST_TYPE(PRTL_CRITICAL_SECTION, 4, 4);
TEST_TYPE_POINTER(PRTL_CRITICAL_SECTION, 24, 4);
/* PRTL_CRITICAL_SECTION_DEBUG */
TEST_TYPE(PRTL_CRITICAL_SECTION_DEBUG, 4, 4);
TEST_TYPE_POINTER(PRTL_CRITICAL_SECTION_DEBUG, 32, 4);
/* PRTL_RESOURCE_DEBUG */
TEST_TYPE(PRTL_RESOURCE_DEBUG, 4, 4);
TEST_TYPE_POINTER(PRTL_RESOURCE_DEBUG, 32, 4);
/* PSECURITY_QUALITY_OF_SERVICE */
TEST_TYPE(PSECURITY_QUALITY_OF_SERVICE, 4, 4);
/* PSID_IDENTIFIER_AUTHORITY */
TEST_TYPE(PSID_IDENTIFIER_AUTHORITY, 4, 4);
TEST_TYPE_POINTER(PSID_IDENTIFIER_AUTHORITY, 6, 1);
/* PSINGLE_LIST_ENTRY */
TEST_TYPE(PSINGLE_LIST_ENTRY, 4, 4);
TEST_TYPE_POINTER(PSINGLE_LIST_ENTRY, 4, 4);
/* PSTR */
TEST_TYPE(PSTR, 4, 4);
TEST_TYPE_POINTER(PSTR, 1, 1);
/* PSYSTEM_ALARM_ACE */
TEST_TYPE(PSYSTEM_ALARM_ACE, 4, 4);
TEST_TYPE_POINTER(PSYSTEM_ALARM_ACE, 12, 4);
/* PSYSTEM_AUDIT_ACE */
TEST_TYPE(PSYSTEM_AUDIT_ACE, 4, 4);
TEST_TYPE_POINTER(PSYSTEM_AUDIT_ACE, 12, 4);
/* PTOKEN_PRIVILEGES */
TEST_TYPE(PTOKEN_PRIVILEGES, 4, 4);
TEST_TYPE_POINTER(PTOKEN_PRIVILEGES, 16, 4);
/* PTOP_LEVEL_EXCEPTION_FILTER */
/* PTSTR */
TEST_TYPE(PTSTR, 4, 4);
/* PULARGE_INTEGER */
TEST_TYPE(PULARGE_INTEGER, 4, 4);
/* PVOID */
TEST_TYPE(PVOID, 4, 4);
/* PWCH */
TEST_TYPE(PWCH, 4, 4);
TEST_TYPE_POINTER(PWCH, 2, 2);
/* PWSTR */
TEST_TYPE(PWSTR, 4, 4);
TEST_TYPE_POINTER(PWSTR, 2, 2);
/* RTL_CRITICAL_SECTION (pack 4) */
TEST_TYPE(RTL_CRITICAL_SECTION, 24, 4);
TEST_FIELD(RTL_CRITICAL_SECTION, PRTL_CRITICAL_SECTION_DEBUG, DebugInfo, 0, 4, 4);
@ -528,6 +931,9 @@ void test_pack(void)
TEST_FIELD(RTL_CRITICAL_SECTION_DEBUG, DWORD, ContentionCount, 20, 4, 4);
TEST_FIELD(RTL_CRITICAL_SECTION_DEBUG, DWORD[ 2 ], Spare, 24, 8, 4);
/* SECURITY_CONTEXT_TRACKING_MODE */
TEST_TYPE(SECURITY_CONTEXT_TRACKING_MODE, 1, 1);
/* SECURITY_DESCRIPTOR (pack 4) */
TEST_TYPE(SECURITY_DESCRIPTOR, 20, 4);
TEST_FIELD(SECURITY_DESCRIPTOR, BYTE, Revision, 0, 1, 1);
@ -538,6 +944,9 @@ void test_pack(void)
TEST_FIELD(SECURITY_DESCRIPTOR, PACL, Sacl, 12, 4, 4);
TEST_FIELD(SECURITY_DESCRIPTOR, PACL, Dacl, 16, 4, 4);
/* SECURITY_DESCRIPTOR_CONTROL */
TEST_TYPE(SECURITY_DESCRIPTOR_CONTROL, 2, 2);
/* SECURITY_DESCRIPTOR_RELATIVE (pack 4) */
TEST_TYPE(SECURITY_DESCRIPTOR_RELATIVE, 20, 4);
TEST_FIELD(SECURITY_DESCRIPTOR_RELATIVE, BYTE, Revision, 0, 1, 1);
@ -548,6 +957,13 @@ void test_pack(void)
TEST_FIELD(SECURITY_DESCRIPTOR_RELATIVE, DWORD, Sacl, 12, 4, 4);
TEST_FIELD(SECURITY_DESCRIPTOR_RELATIVE, DWORD, Dacl, 16, 4, 4);
/* SECURITY_INFORMATION */
TEST_TYPE(SECURITY_INFORMATION, 4, 4);
/* SHORT */
TEST_TYPE(SHORT, 2, 2);
TEST_TYPE_SIGNED(SHORT);
/* SID (pack 4) */
TEST_TYPE(SID, 12, 4);
TEST_FIELD(SID, BYTE, Revision, 0, 1, 1);
@ -580,6 +996,9 @@ void test_pack(void)
TEST_FIELD(SYSTEM_AUDIT_ACE, DWORD, Mask, 4, 4, 4);
TEST_FIELD(SYSTEM_AUDIT_ACE, DWORD, SidStart, 8, 4, 4);
/* TCHAR */
TEST_TYPE(TCHAR, 1, 1);
/* TOKEN_DEFAULT_DACL (pack 4) */
TEST_TYPE(TOKEN_DEFAULT_DACL, 4, 4);
TEST_FIELD(TOKEN_DEFAULT_DACL, PACL, DefaultDacl, 0, 4, 4);
@ -611,6 +1030,129 @@ void test_pack(void)
TEST_TYPE(TOKEN_USER, 8, 4);
TEST_FIELD(TOKEN_USER, SID_AND_ATTRIBUTES, User, 0, 8, 4);
/* UCHAR */
TEST_TYPE(UCHAR, 1, 1);
TEST_TYPE_UNSIGNED(UCHAR);
/* UINT */
TEST_TYPE(UINT, 4, 4);
TEST_TYPE_UNSIGNED(UINT);
/* ULONG */
TEST_TYPE(ULONG, 4, 4);
TEST_TYPE_UNSIGNED(ULONG);
/* USHORT */
TEST_TYPE(USHORT, 2, 2);
TEST_TYPE_UNSIGNED(USHORT);
/* WAITORTIMERCALLBACKFUNC */
/* WCHAR */
TEST_TYPE(WCHAR, 2, 2);
TEST_TYPE_UNSIGNED(WCHAR);
/* WORD */
TEST_TYPE(WORD, 2, 2);
TEST_TYPE_UNSIGNED(WORD);
/* ATOM */
TEST_TYPE(ATOM, 2, 2);
/* COLORREF */
TEST_TYPE(COLORREF, 4, 4);
/* FARPROC */
/* GLOBALHANDLE */
TEST_TYPE(GLOBALHANDLE, 4, 4);
/* HCURSOR */
TEST_TYPE(HCURSOR, 4, 4);
TEST_TYPE_UNSIGNED(HCURSOR);
/* HFILE */
TEST_TYPE(HFILE, 4, 4);
TEST_TYPE_SIGNED(HFILE);
/* HGDIOBJ */
TEST_TYPE(HGDIOBJ, 4, 4);
/* HGLOBAL */
TEST_TYPE(HGLOBAL, 4, 4);
/* HLOCAL */
TEST_TYPE(HLOCAL, 4, 4);
/* HMODULE */
TEST_TYPE(HMODULE, 4, 4);
TEST_TYPE_UNSIGNED(HMODULE);
/* LOCALHANDLE */
TEST_TYPE(LOCALHANDLE, 4, 4);
/* LPARAM */
TEST_TYPE(LPARAM, 4, 4);
/* LPCRECT */
TEST_TYPE(LPCRECT, 4, 4);
TEST_TYPE_POINTER(LPCRECT, 16, 4);
/* LPCRECTL */
TEST_TYPE(LPCRECTL, 4, 4);
TEST_TYPE_POINTER(LPCRECTL, 16, 4);
/* LPPOINT */
TEST_TYPE(LPPOINT, 4, 4);
TEST_TYPE_POINTER(LPPOINT, 8, 4);
/* LPPOINTS */
TEST_TYPE(LPPOINTS, 4, 4);
TEST_TYPE_POINTER(LPPOINTS, 4, 2);
/* LPRECT */
TEST_TYPE(LPRECT, 4, 4);
TEST_TYPE_POINTER(LPRECT, 16, 4);
/* LPRECTL */
TEST_TYPE(LPRECTL, 4, 4);
TEST_TYPE_POINTER(LPRECTL, 16, 4);
/* LPSIZE */
TEST_TYPE(LPSIZE, 4, 4);
TEST_TYPE_POINTER(LPSIZE, 8, 4);
/* LRESULT */
TEST_TYPE(LRESULT, 4, 4);
/* PPOINT */
TEST_TYPE(PPOINT, 4, 4);
TEST_TYPE_POINTER(PPOINT, 8, 4);
/* PPOINTS */
TEST_TYPE(PPOINTS, 4, 4);
TEST_TYPE_POINTER(PPOINTS, 4, 2);
/* PRECT */
TEST_TYPE(PRECT, 4, 4);
TEST_TYPE_POINTER(PRECT, 16, 4);
/* PRECTL */
TEST_TYPE(PRECTL, 4, 4);
TEST_TYPE_POINTER(PRECTL, 16, 4);
/* PROC */
/* PSIZE */
TEST_TYPE(PSIZE, 4, 4);
TEST_TYPE_POINTER(PSIZE, 8, 4);
/* SIZEL */
TEST_TYPE(SIZEL, 8, 4);
/* WPARAM */
TEST_TYPE(WPARAM, 4, 4);
}
START_TEST(generated)

View File

@ -34,6 +34,22 @@
/* FIXME: Not sure if is possible to do without compiler extension */
#endif
#if (_MSC_VER >= 1300) && defined(__cplusplus)
# define _TYPE_ALIGNMENT(type) __alignof(type)
#elif defined(__GNUC__)
# define _TYPE_ALIGNMENT(type) __alignof__(type)
#else
/*
* FIXME: Not sure if is possible to do without compiler extension
* (if type is not just a name that is, if so the normal)
* TYPE_ALIGNMENT can be used)
*/
#endif
#if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
# define TYPE_ALIGNMENT _TYPE_ALIGNMENT
#endif
/***********************************************************************
* Test helper macros
*/
@ -52,8 +68,19 @@
"FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")", \
FIELD_OFFSET(type, field))
#ifdef _TYPE_ALIGNMENT
#define TEST__TYPE_ALIGNMENT(type, align) \
ok(_TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")", _TYPE_ALIGNMENT(type))
#else
# define TEST__TYPE_ALIGNMENT(type, align) do { } while (0)
#endif
#ifdef TYPE_ALIGNMENT
#define TEST_TYPE_ALIGNMENT(type, align) \
ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")", TYPE_ALIGNMENT(type))
#else
# define TEST_TYPE_ALIGNMENT(type, align) do { } while (0)
#endif
#define TEST_TYPE_SIZE(type, size) \
ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")", sizeof(type))
@ -71,6 +98,16 @@
TEST_TYPE_ALIGNMENT(type, align); \
TEST_TYPE_SIZE(type, size)
#define TEST_TYPE_POINTER(type, size, align) \
TEST__TYPE_ALIGNMENT(*(type)0, align); \
TEST_TYPE_SIZE(*(type)0, size)
#define TEST_TYPE_SIGNED(type) \
ok((type) -1 < 0, "(" #type ") -1 < 0");
#define TEST_TYPE_UNSIGNED(type) \
ok((type) -1 > 0, "(" #type ") -1 > 0");
void test_pack(void)
{
/* ACCEL (pack 4) */
@ -116,16 +153,16 @@ void test_pack(void)
TEST_FIELD(COMPAREITEMSTRUCT, UINT, CtlID, 4, 4, 4);
TEST_FIELD(COMPAREITEMSTRUCT, HWND, hwndItem, 8, 4, 4);
TEST_FIELD(COMPAREITEMSTRUCT, UINT, itemID1, 12, 4, 4);
TEST_FIELD(COMPAREITEMSTRUCT, DWORD, itemData1, 16, 4, 4);
TEST_FIELD(COMPAREITEMSTRUCT, ULONG_PTR, itemData1, 16, 4, 4);
TEST_FIELD(COMPAREITEMSTRUCT, UINT, itemID2, 20, 4, 4);
TEST_FIELD(COMPAREITEMSTRUCT, DWORD, itemData2, 24, 4, 4);
TEST_FIELD(COMPAREITEMSTRUCT, ULONG_PTR, itemData2, 24, 4, 4);
TEST_FIELD(COMPAREITEMSTRUCT, DWORD, dwLocaleId, 28, 4, 4);
/* COPYDATASTRUCT (pack 4) */
TEST_TYPE(COPYDATASTRUCT, 12, 4);
TEST_FIELD(COPYDATASTRUCT, DWORD, dwData, 0, 4, 4);
TEST_FIELD(COPYDATASTRUCT, ULONG_PTR, dwData, 0, 4, 4);
TEST_FIELD(COPYDATASTRUCT, DWORD, cbData, 4, 4, 4);
TEST_FIELD(COPYDATASTRUCT, LPVOID, lpData, 8, 4, 4);
TEST_FIELD(COPYDATASTRUCT, PVOID, lpData, 8, 4, 4);
/* CREATESTRUCTA (pack 4) */
TEST_TYPE(CREATESTRUCTA, 48, 4);
@ -193,7 +230,13 @@ void test_pack(void)
TEST_FIELD(DELETEITEMSTRUCT, UINT, CtlID, 4, 4, 4);
TEST_FIELD(DELETEITEMSTRUCT, UINT, itemID, 8, 4, 4);
TEST_FIELD(DELETEITEMSTRUCT, HWND, hwndItem, 12, 4, 4);
TEST_FIELD(DELETEITEMSTRUCT, DWORD, itemData, 16, 4, 4);
TEST_FIELD(DELETEITEMSTRUCT, ULONG_PTR, itemData, 16, 4, 4);
/* DESKTOPENUMPROCA */
TEST_TYPE(DESKTOPENUMPROCA, 4, 4);
/* DESKTOPENUMPROCW */
TEST_TYPE(DESKTOPENUMPROCW, 4, 4);
/* DLGITEMTEMPLATE (pack 2) */
TEST_TYPE(DLGITEMTEMPLATE, 18, 2);
@ -205,6 +248,12 @@ void test_pack(void)
TEST_FIELD(DLGITEMTEMPLATE, short, cy, 14, 2, 2);
TEST_FIELD(DLGITEMTEMPLATE, WORD, id, 16, 2, 2);
/* DLGPROC */
TEST_TYPE(DLGPROC, 4, 4);
/* DLGPROC */
TEST_TYPE(DLGPROC, 4, 4);
/* DLGTEMPLATE (pack 2) */
TEST_TYPE(DLGTEMPLATE, 18, 2);
TEST_FIELD(DLGTEMPLATE, DWORD, style, 0, 4, 2);
@ -215,6 +264,12 @@ void test_pack(void)
TEST_FIELD(DLGTEMPLATE, short, cx, 14, 2, 2);
TEST_FIELD(DLGTEMPLATE, short, cy, 16, 2, 2);
/* DRAWSTATEPROC */
TEST_TYPE(DRAWSTATEPROC, 4, 4);
/* DRAWSTATEPROC */
TEST_TYPE(DRAWSTATEPROC, 4, 4);
/* DRAWTEXTPARAMS (pack 4) */
TEST_TYPE(DRAWTEXTPARAMS, 20, 4);
TEST_FIELD(DRAWTEXTPARAMS, UINT, cbSize, 0, 4, 4);
@ -223,6 +278,18 @@ void test_pack(void)
TEST_FIELD(DRAWTEXTPARAMS, INT, iRightMargin, 12, 4, 4);
TEST_FIELD(DRAWTEXTPARAMS, UINT, uiLengthDrawn, 16, 4, 4);
/* EDITWORDBREAKPROCA */
TEST_TYPE(EDITWORDBREAKPROCA, 4, 4);
/* EDITWORDBREAKPROCA */
TEST_TYPE(EDITWORDBREAKPROCA, 4, 4);
/* EDITWORDBREAKPROCW */
TEST_TYPE(EDITWORDBREAKPROCW, 4, 4);
/* EDITWORDBREAKPROCW */
TEST_TYPE(EDITWORDBREAKPROCW, 4, 4);
/* EVENTMSG (pack 4) */
TEST_TYPE(EVENTMSG, 20, 4);
TEST_FIELD(EVENTMSG, UINT, message, 0, 4, 4);
@ -240,6 +307,12 @@ void test_pack(void)
TEST_FIELD(FILTERKEYS, DWORD, iRepeatMSec, 16, 4, 4);
TEST_FIELD(FILTERKEYS, DWORD, iBounceMSec, 20, 4, 4);
/* GRAYSTRINGPROC */
TEST_TYPE(GRAYSTRINGPROC, 4, 4);
/* GRAYSTRINGPROC */
TEST_TYPE(GRAYSTRINGPROC, 4, 4);
/* HARDWAREHOOKSTRUCT (pack 4) */
TEST_TYPE(HARDWAREHOOKSTRUCT, 16, 4);
TEST_FIELD(HARDWAREHOOKSTRUCT, HWND, hwnd, 0, 4, 4);
@ -253,6 +326,12 @@ void test_pack(void)
TEST_FIELD(HARDWAREINPUT, WORD, wParamL, 4, 2, 2);
TEST_FIELD(HARDWAREINPUT, WORD, wParamH, 6, 2, 2);
/* HDEVNOTIFY */
TEST_TYPE(HDEVNOTIFY, 4, 4);
/* HDWP */
TEST_TYPE(HDWP, 4, 4);
/* HELPINFO (pack 4) */
TEST_TYPE(HELPINFO, 28, 4);
TEST_FIELD(HELPINFO, UINT, cbSize, 0, 4, 4);
@ -294,6 +373,12 @@ void test_pack(void)
TEST_FIELD(HIGHCONTRASTW, DWORD, dwFlags, 4, 4, 4);
TEST_FIELD(HIGHCONTRASTW, LPWSTR, lpszDefaultScheme, 8, 4, 4);
/* HOOKPROC */
TEST_TYPE(HOOKPROC, 4, 4);
/* HOOKPROC */
TEST_TYPE(HOOKPROC, 4, 4);
/* ICONINFO (pack 4) */
TEST_TYPE(ICONINFO, 20, 4);
TEST_FIELD(ICONINFO, BOOL, fIcon, 0, 4, 4);
@ -337,6 +422,347 @@ void test_pack(void)
TEST_FIELD(KEYBDINPUT, DWORD, time, 8, 4, 4);
TEST_FIELD(KEYBDINPUT, ULONG_PTR, dwExtraInfo, 12, 4, 4);
/* LPACCEL */
TEST_TYPE(LPACCEL, 4, 4);
TEST_TYPE_POINTER(LPACCEL, 6, 2);
/* LPACCESSTIMEOUT */
TEST_TYPE(LPACCESSTIMEOUT, 4, 4);
TEST_TYPE_POINTER(LPACCESSTIMEOUT, 12, 4);
/* LPANIMATIONINFO */
TEST_TYPE(LPANIMATIONINFO, 4, 4);
TEST_TYPE_POINTER(LPANIMATIONINFO, 8, 4);
/* LPCBTACTIVATESTRUCT */
TEST_TYPE(LPCBTACTIVATESTRUCT, 4, 4);
TEST_TYPE_POINTER(LPCBTACTIVATESTRUCT, 8, 4);
/* LPCBT_CREATEWNDA */
TEST_TYPE(LPCBT_CREATEWNDA, 4, 4);
TEST_TYPE_POINTER(LPCBT_CREATEWNDA, 8, 4);
/* LPCBT_CREATEWNDW */
TEST_TYPE(LPCBT_CREATEWNDW, 4, 4);
TEST_TYPE_POINTER(LPCBT_CREATEWNDW, 8, 4);
/* LPCDLGTEMPLATEA */
TEST_TYPE(LPCDLGTEMPLATEA, 4, 4);
TEST_TYPE_POINTER(LPCDLGTEMPLATEA, 18, 2);
/* LPCDLGTEMPLATEW */
TEST_TYPE(LPCDLGTEMPLATEW, 4, 4);
TEST_TYPE_POINTER(LPCDLGTEMPLATEW, 18, 2);
/* LPCLIENTCREATESTRUCT */
TEST_TYPE(LPCLIENTCREATESTRUCT, 4, 4);
TEST_TYPE_POINTER(LPCLIENTCREATESTRUCT, 8, 4);
/* LPCMENUINFO */
TEST_TYPE(LPCMENUINFO, 4, 4);
TEST_TYPE_POINTER(LPCMENUINFO, 28, 4);
/* LPCMENUITEMINFOA */
TEST_TYPE(LPCMENUITEMINFOA, 4, 4);
TEST_TYPE_POINTER(LPCMENUITEMINFOA, 48, 4);
/* LPCMENUITEMINFOW */
TEST_TYPE(LPCMENUITEMINFOW, 4, 4);
TEST_TYPE_POINTER(LPCMENUITEMINFOW, 48, 4);
/* LPCOMBOBOXINFO */
TEST_TYPE(LPCOMBOBOXINFO, 4, 4);
TEST_TYPE_POINTER(LPCOMBOBOXINFO, 52, 4);
/* LPCOMPAREITEMSTRUCT */
TEST_TYPE(LPCOMPAREITEMSTRUCT, 4, 4);
TEST_TYPE_POINTER(LPCOMPAREITEMSTRUCT, 32, 4);
/* LPCREATESTRUCTA */
TEST_TYPE(LPCREATESTRUCTA, 4, 4);
TEST_TYPE_POINTER(LPCREATESTRUCTA, 48, 4);
/* LPCREATESTRUCTW */
TEST_TYPE(LPCREATESTRUCTW, 4, 4);
TEST_TYPE_POINTER(LPCREATESTRUCTW, 48, 4);
/* LPCSCROLLINFO */
TEST_TYPE(LPCSCROLLINFO, 4, 4);
TEST_TYPE_POINTER(LPCSCROLLINFO, 28, 4);
/* LPCURSORINFO */
TEST_TYPE(LPCURSORINFO, 4, 4);
TEST_TYPE_POINTER(LPCURSORINFO, 20, 4);
/* LPCWPRETSTRUCT */
TEST_TYPE(LPCWPRETSTRUCT, 4, 4);
TEST_TYPE_POINTER(LPCWPRETSTRUCT, 20, 4);
/* LPCWPSTRUCT */
TEST_TYPE(LPCWPSTRUCT, 4, 4);
TEST_TYPE_POINTER(LPCWPSTRUCT, 16, 4);
/* LPDEBUGHOOKINFO */
TEST_TYPE(LPDEBUGHOOKINFO, 4, 4);
TEST_TYPE_POINTER(LPDEBUGHOOKINFO, 20, 4);
/* LPDELETEITEMSTRUCT */
TEST_TYPE(LPDELETEITEMSTRUCT, 4, 4);
TEST_TYPE_POINTER(LPDELETEITEMSTRUCT, 20, 4);
/* LPDLGITEMTEMPLATEA */
TEST_TYPE(LPDLGITEMTEMPLATEA, 4, 4);
TEST_TYPE_POINTER(LPDLGITEMTEMPLATEA, 18, 2);
/* LPDLGITEMTEMPLATEW */
TEST_TYPE(LPDLGITEMTEMPLATEW, 4, 4);
TEST_TYPE_POINTER(LPDLGITEMTEMPLATEW, 18, 2);
/* LPDLGTEMPLATEA */
TEST_TYPE(LPDLGTEMPLATEA, 4, 4);
TEST_TYPE_POINTER(LPDLGTEMPLATEA, 18, 2);
/* LPDLGTEMPLATEW */
TEST_TYPE(LPDLGTEMPLATEW, 4, 4);
TEST_TYPE_POINTER(LPDLGTEMPLATEW, 18, 2);
/* LPDRAWITEMSTRUCT */
TEST_TYPE(LPDRAWITEMSTRUCT, 4, 4);
TEST_TYPE_POINTER(LPDRAWITEMSTRUCT, 48, 4);
/* LPDRAWTEXTPARAMS */
TEST_TYPE(LPDRAWTEXTPARAMS, 4, 4);
TEST_TYPE_POINTER(LPDRAWTEXTPARAMS, 20, 4);
/* LPEVENTMSG */
TEST_TYPE(LPEVENTMSG, 4, 4);
TEST_TYPE_POINTER(LPEVENTMSG, 20, 4);
/* LPFILTERKEYS */
TEST_TYPE(LPFILTERKEYS, 4, 4);
TEST_TYPE_POINTER(LPFILTERKEYS, 24, 4);
/* LPHARDWAREHOOKSTRUCT */
TEST_TYPE(LPHARDWAREHOOKSTRUCT, 4, 4);
TEST_TYPE_POINTER(LPHARDWAREHOOKSTRUCT, 16, 4);
/* LPHARDWAREINPUT */
TEST_TYPE(LPHARDWAREINPUT, 4, 4);
TEST_TYPE_POINTER(LPHARDWAREINPUT, 8, 4);
/* LPHELPINFO */
TEST_TYPE(LPHELPINFO, 4, 4);
TEST_TYPE_POINTER(LPHELPINFO, 28, 4);
/* LPHELPWININFOA */
TEST_TYPE(LPHELPWININFOA, 4, 4);
TEST_TYPE_POINTER(LPHELPWININFOA, 28, 4);
/* LPHELPWININFOW */
TEST_TYPE(LPHELPWININFOW, 4, 4);
TEST_TYPE_POINTER(LPHELPWININFOW, 28, 4);
/* LPHIGHCONTRASTA */
TEST_TYPE(LPHIGHCONTRASTA, 4, 4);
TEST_TYPE_POINTER(LPHIGHCONTRASTA, 12, 4);
/* LPHIGHCONTRASTW */
TEST_TYPE(LPHIGHCONTRASTW, 4, 4);
TEST_TYPE_POINTER(LPHIGHCONTRASTW, 12, 4);
/* LPICONMETRICSA */
TEST_TYPE(LPICONMETRICSA, 4, 4);
TEST_TYPE_POINTER(LPICONMETRICSA, 76, 4);
/* LPICONMETRICSW */
TEST_TYPE(LPICONMETRICSW, 4, 4);
TEST_TYPE_POINTER(LPICONMETRICSW, 108, 4);
/* LPINPUT */
TEST_TYPE(LPINPUT, 4, 4);
/* LPKBDLLHOOKSTRUCT */
TEST_TYPE(LPKBDLLHOOKSTRUCT, 4, 4);
TEST_TYPE_POINTER(LPKBDLLHOOKSTRUCT, 20, 4);
/* LPKEYBDINPUT */
TEST_TYPE(LPKEYBDINPUT, 4, 4);
TEST_TYPE_POINTER(LPKEYBDINPUT, 16, 4);
/* LPMDICREATESTRUCTA */
TEST_TYPE(LPMDICREATESTRUCTA, 4, 4);
TEST_TYPE_POINTER(LPMDICREATESTRUCTA, 36, 4);
/* LPMDICREATESTRUCTW */
TEST_TYPE(LPMDICREATESTRUCTW, 4, 4);
TEST_TYPE_POINTER(LPMDICREATESTRUCTW, 36, 4);
/* LPMDINEXTMENU */
TEST_TYPE(LPMDINEXTMENU, 4, 4);
TEST_TYPE_POINTER(LPMDINEXTMENU, 12, 4);
/* LPMEASUREITEMSTRUCT */
TEST_TYPE(LPMEASUREITEMSTRUCT, 4, 4);
TEST_TYPE_POINTER(LPMEASUREITEMSTRUCT, 24, 4);
/* LPMENUINFO */
TEST_TYPE(LPMENUINFO, 4, 4);
TEST_TYPE_POINTER(LPMENUINFO, 28, 4);
/* LPMENUITEMINFOA */
TEST_TYPE(LPMENUITEMINFOA, 4, 4);
TEST_TYPE_POINTER(LPMENUITEMINFOA, 48, 4);
/* LPMENUITEMINFOW */
TEST_TYPE(LPMENUITEMINFOW, 4, 4);
TEST_TYPE_POINTER(LPMENUITEMINFOW, 48, 4);
/* LPMENUTEMPLATE */
TEST_TYPE(LPMENUTEMPLATE, 4, 4);
/* LPMINIMIZEDMETRICS */
TEST_TYPE(LPMINIMIZEDMETRICS, 4, 4);
TEST_TYPE_POINTER(LPMINIMIZEDMETRICS, 20, 4);
/* LPMINMAXINFO */
TEST_TYPE(LPMINMAXINFO, 4, 4);
TEST_TYPE_POINTER(LPMINMAXINFO, 40, 4);
/* LPMONITORINFO */
TEST_TYPE(LPMONITORINFO, 4, 4);
TEST_TYPE_POINTER(LPMONITORINFO, 40, 4);
/* LPMONITORINFOEXA */
TEST_TYPE(LPMONITORINFOEXA, 4, 4);
TEST_TYPE_POINTER(LPMONITORINFOEXA, 72, 4);
/* LPMONITORINFOEXW */
TEST_TYPE(LPMONITORINFOEXW, 4, 4);
TEST_TYPE_POINTER(LPMONITORINFOEXW, 104, 4);
/* LPMOUSEHOOKSTRUCT */
TEST_TYPE(LPMOUSEHOOKSTRUCT, 4, 4);
TEST_TYPE_POINTER(LPMOUSEHOOKSTRUCT, 20, 4);
/* LPMOUSEINPUT */
TEST_TYPE(LPMOUSEINPUT, 4, 4);
TEST_TYPE_POINTER(LPMOUSEINPUT, 24, 4);
/* LPMOUSEKEYS */
TEST_TYPE(LPMOUSEKEYS, 4, 4);
TEST_TYPE_POINTER(LPMOUSEKEYS, 28, 4);
/* LPMSG */
TEST_TYPE(LPMSG, 4, 4);
TEST_TYPE_POINTER(LPMSG, 28, 4);
/* LPMSGBOXPARAMSA */
TEST_TYPE(LPMSGBOXPARAMSA, 4, 4);
TEST_TYPE_POINTER(LPMSGBOXPARAMSA, 40, 4);
/* LPMSGBOXPARAMSW */
TEST_TYPE(LPMSGBOXPARAMSW, 4, 4);
TEST_TYPE_POINTER(LPMSGBOXPARAMSW, 40, 4);
/* LPMSLLHOOKSTRUCT */
TEST_TYPE(LPMSLLHOOKSTRUCT, 4, 4);
TEST_TYPE_POINTER(LPMSLLHOOKSTRUCT, 24, 4);
/* LPMULTIKEYHELPA */
TEST_TYPE(LPMULTIKEYHELPA, 4, 4);
TEST_TYPE_POINTER(LPMULTIKEYHELPA, 8, 4);
/* LPMULTIKEYHELPW */
TEST_TYPE(LPMULTIKEYHELPW, 4, 4);
TEST_TYPE_POINTER(LPMULTIKEYHELPW, 8, 4);
/* LPNCCALCSIZE_PARAMS */
TEST_TYPE(LPNCCALCSIZE_PARAMS, 4, 4);
TEST_TYPE_POINTER(LPNCCALCSIZE_PARAMS, 52, 4);
/* LPNMHDR */
TEST_TYPE(LPNMHDR, 4, 4);
TEST_TYPE_POINTER(LPNMHDR, 12, 4);
/* LPNONCLIENTMETRICSA */
TEST_TYPE(LPNONCLIENTMETRICSA, 4, 4);
TEST_TYPE_POINTER(LPNONCLIENTMETRICSA, 340, 4);
/* LPNONCLIENTMETRICSW */
TEST_TYPE(LPNONCLIENTMETRICSW, 4, 4);
TEST_TYPE_POINTER(LPNONCLIENTMETRICSW, 500, 4);
/* LPPAINTSTRUCT */
TEST_TYPE(LPPAINTSTRUCT, 4, 4);
TEST_TYPE_POINTER(LPPAINTSTRUCT, 64, 4);
/* LPSCROLLINFO */
TEST_TYPE(LPSCROLLINFO, 4, 4);
TEST_TYPE_POINTER(LPSCROLLINFO, 28, 4);
/* LPSERIALKEYSA */
TEST_TYPE(LPSERIALKEYSA, 4, 4);
TEST_TYPE_POINTER(LPSERIALKEYSA, 28, 4);
/* LPSERIALKEYSW */
TEST_TYPE(LPSERIALKEYSW, 4, 4);
TEST_TYPE_POINTER(LPSERIALKEYSW, 28, 4);
/* LPSOUNDSENTRYA */
TEST_TYPE(LPSOUNDSENTRYA, 4, 4);
TEST_TYPE_POINTER(LPSOUNDSENTRYA, 48, 4);
/* LPSOUNDSENTRYW */
TEST_TYPE(LPSOUNDSENTRYW, 4, 4);
TEST_TYPE_POINTER(LPSOUNDSENTRYW, 48, 4);
/* LPSTICKYKEYS */
TEST_TYPE(LPSTICKYKEYS, 4, 4);
TEST_TYPE_POINTER(LPSTICKYKEYS, 8, 4);
/* LPSTYLESTRUCT */
TEST_TYPE(LPSTYLESTRUCT, 4, 4);
TEST_TYPE_POINTER(LPSTYLESTRUCT, 8, 4);
/* LPTOGGLEKEYS */
TEST_TYPE(LPTOGGLEKEYS, 4, 4);
TEST_TYPE_POINTER(LPTOGGLEKEYS, 8, 4);
/* LPTPMPARAMS */
TEST_TYPE(LPTPMPARAMS, 4, 4);
TEST_TYPE_POINTER(LPTPMPARAMS, 20, 4);
/* LPTRACKMOUSEEVENT */
TEST_TYPE(LPTRACKMOUSEEVENT, 4, 4);
TEST_TYPE_POINTER(LPTRACKMOUSEEVENT, 16, 4);
/* LPWINDOWINFO */
TEST_TYPE(LPWINDOWINFO, 4, 4);
/* LPWINDOWPLACEMENT */
TEST_TYPE(LPWINDOWPLACEMENT, 4, 4);
TEST_TYPE_POINTER(LPWINDOWPLACEMENT, 44, 4);
/* LPWINDOWPOS */
TEST_TYPE(LPWINDOWPOS, 4, 4);
TEST_TYPE_POINTER(LPWINDOWPOS, 28, 4);
/* LPWNDCLASSA */
TEST_TYPE(LPWNDCLASSA, 4, 4);
TEST_TYPE_POINTER(LPWNDCLASSA, 40, 4);
/* LPWNDCLASSEXA */
TEST_TYPE(LPWNDCLASSEXA, 4, 4);
TEST_TYPE_POINTER(LPWNDCLASSEXA, 48, 4);
/* LPWNDCLASSEXW */
TEST_TYPE(LPWNDCLASSEXW, 4, 4);
TEST_TYPE_POINTER(LPWNDCLASSEXW, 48, 4);
/* LPWNDCLASSW */
TEST_TYPE(LPWNDCLASSW, 4, 4);
TEST_TYPE_POINTER(LPWNDCLASSW, 40, 4);
/* MDICREATESTRUCTA (pack 4) */
TEST_TYPE(MDICREATESTRUCTA, 36, 4);
TEST_FIELD(MDICREATESTRUCTA, LPCSTR, szClass, 0, 4, 4);
@ -374,7 +800,7 @@ void test_pack(void)
TEST_FIELD(MEASUREITEMSTRUCT, UINT, itemID, 8, 4, 4);
TEST_FIELD(MEASUREITEMSTRUCT, UINT, itemWidth, 12, 4, 4);
TEST_FIELD(MEASUREITEMSTRUCT, UINT, itemHeight, 16, 4, 4);
TEST_FIELD(MEASUREITEMSTRUCT, DWORD, itemData, 20, 4, 4);
TEST_FIELD(MEASUREITEMSTRUCT, ULONG_PTR, itemData, 20, 4, 4);
/* MENUINFO (pack 4) */
TEST_TYPE(MENUINFO, 28, 4);
@ -384,7 +810,7 @@ void test_pack(void)
TEST_FIELD(MENUINFO, UINT, cyMax, 12, 4, 4);
TEST_FIELD(MENUINFO, HBRUSH, hbrBack, 16, 4, 4);
TEST_FIELD(MENUINFO, DWORD, dwContextHelpID, 20, 4, 4);
TEST_FIELD(MENUINFO, DWORD, dwMenuData, 24, 4, 4);
TEST_FIELD(MENUINFO, ULONG_PTR, dwMenuData, 24, 4, 4);
/* MENUITEMINFOA (pack 4) */
TEST_TYPE(MENUITEMINFOA, 48, 4);
@ -396,7 +822,7 @@ void test_pack(void)
TEST_FIELD(MENUITEMINFOA, HMENU, hSubMenu, 20, 4, 4);
TEST_FIELD(MENUITEMINFOA, HBITMAP, hbmpChecked, 24, 4, 4);
TEST_FIELD(MENUITEMINFOA, HBITMAP, hbmpUnchecked, 28, 4, 4);
TEST_FIELD(MENUITEMINFOA, DWORD, dwItemData, 32, 4, 4);
TEST_FIELD(MENUITEMINFOA, ULONG_PTR, dwItemData, 32, 4, 4);
TEST_FIELD(MENUITEMINFOA, LPSTR, dwTypeData, 36, 4, 4);
TEST_FIELD(MENUITEMINFOA, UINT, cch, 40, 4, 4);
TEST_FIELD(MENUITEMINFOA, HBITMAP, hbmpItem, 44, 4, 4);
@ -411,7 +837,7 @@ void test_pack(void)
TEST_FIELD(MENUITEMINFOW, HMENU, hSubMenu, 20, 4, 4);
TEST_FIELD(MENUITEMINFOW, HBITMAP, hbmpChecked, 24, 4, 4);
TEST_FIELD(MENUITEMINFOW, HBITMAP, hbmpUnchecked, 28, 4, 4);
TEST_FIELD(MENUITEMINFOW, DWORD, dwItemData, 32, 4, 4);
TEST_FIELD(MENUITEMINFOW, ULONG_PTR, dwItemData, 32, 4, 4);
TEST_FIELD(MENUITEMINFOW, LPWSTR, dwTypeData, 36, 4, 4);
TEST_FIELD(MENUITEMINFOW, UINT, cch, 40, 4, 4);
TEST_FIELD(MENUITEMINFOW, HBITMAP, hbmpItem, 44, 4, 4);
@ -427,6 +853,8 @@ void test_pack(void)
TEST_FIELD(MENUITEMTEMPLATEHEADER, WORD, versionNumber, 0, 2, 2);
TEST_FIELD(MENUITEMTEMPLATEHEADER, WORD, offset, 2, 2, 2);
/* MENUTEMPLATE */
/* MINIMIZEDMETRICS (pack 4) */
TEST_TYPE(MINIMIZEDMETRICS, 20, 4);
TEST_FIELD(MINIMIZEDMETRICS, UINT, cbSize, 0, 4, 4);
@ -443,6 +871,8 @@ void test_pack(void)
TEST_FIELD(MINMAXINFO, POINT, ptMinTrackSize, 24, 8, 4);
TEST_FIELD(MINMAXINFO, POINT, ptMaxTrackSize, 32, 8, 4);
/* MONITORENUMPROC */
/* MONITORINFO (pack 4) */
TEST_TYPE(MONITORINFO, 40, 4);
TEST_FIELD(MONITORINFO, DWORD, cbSize, 0, 4, 4);
@ -479,7 +909,7 @@ void test_pack(void)
TEST_FIELD(MOUSEHOOKSTRUCT, POINT, pt, 0, 8, 4);
TEST_FIELD(MOUSEHOOKSTRUCT, HWND, hwnd, 8, 4, 4);
TEST_FIELD(MOUSEHOOKSTRUCT, UINT, wHitTestCode, 12, 4, 4);
TEST_FIELD(MOUSEHOOKSTRUCT, DWORD, dwExtraInfo, 16, 4, 4);
TEST_FIELD(MOUSEHOOKSTRUCT, ULONG_PTR, dwExtraInfo, 16, 4, 4);
/* MOUSEINPUT (pack 4) */
TEST_TYPE(MOUSEINPUT, 24, 4);
@ -509,6 +939,8 @@ void test_pack(void)
TEST_FIELD(MSG, DWORD, time, 16, 4, 4);
TEST_FIELD(MSG, POINT, pt, 20, 8, 4);
/* MSGBOXCALLBACK */
/* MSGBOXPARAMSA (pack 4) */
TEST_TYPE(MSGBOXPARAMSA, 40, 4);
TEST_FIELD(MSGBOXPARAMSA, UINT, cbSize, 0, 4, 4);
@ -555,6 +987,18 @@ void test_pack(void)
TEST_FIELD(MULTIKEYHELPW, WCHAR, mkKeylist, 4, 2, 2);
TEST_FIELD(MULTIKEYHELPW, WCHAR[1], szKeyphrase, 6, 2, 2);
/* NAMEENUMPROCA */
TEST_TYPE(NAMEENUMPROCA, 4, 4);
/* NAMEENUMPROCA */
TEST_TYPE(NAMEENUMPROCA, 4, 4);
/* NAMEENUMPROCW */
TEST_TYPE(NAMEENUMPROCW, 4, 4);
/* NAMEENUMPROCW */
TEST_TYPE(NAMEENUMPROCW, 4, 4);
/* NCCALCSIZE_PARAMS (pack 4) */
TEST_TYPE(NCCALCSIZE_PARAMS, 52, 4);
TEST_FIELD(NCCALCSIZE_PARAMS, RECT[3], rgrc, 0, 48, 4);
@ -563,7 +1007,7 @@ void test_pack(void)
/* NMHDR (pack 4) */
TEST_TYPE(NMHDR, 12, 4);
TEST_FIELD(NMHDR, HWND, hwndFrom, 0, 4, 4);
TEST_FIELD(NMHDR, UINT, idFrom, 4, 4, 4);
TEST_FIELD(NMHDR, UINT_PTR, idFrom, 4, 4, 4);
TEST_FIELD(NMHDR, UINT, code, 8, 4, 4);
/* NONCLIENTMETRICSA (pack 4) */
@ -611,6 +1055,220 @@ void test_pack(void)
TEST_FIELD(PAINTSTRUCT, BOOL, fIncUpdate, 28, 4, 4);
TEST_FIELD(PAINTSTRUCT, BYTE[32], rgbReserved, 32, 32, 1);
/* PCOMBOBOXINFO */
TEST_TYPE(PCOMBOBOXINFO, 4, 4);
TEST_TYPE_POINTER(PCOMBOBOXINFO, 52, 4);
/* PCOMPAREITEMSTRUCT */
TEST_TYPE(PCOMPAREITEMSTRUCT, 4, 4);
TEST_TYPE_POINTER(PCOMPAREITEMSTRUCT, 32, 4);
/* PCOPYDATASTRUCT */
TEST_TYPE(PCOPYDATASTRUCT, 4, 4);
TEST_TYPE_POINTER(PCOPYDATASTRUCT, 12, 4);
/* PCURSORINFO */
TEST_TYPE(PCURSORINFO, 4, 4);
TEST_TYPE_POINTER(PCURSORINFO, 20, 4);
/* PCWPRETSTRUCT */
TEST_TYPE(PCWPRETSTRUCT, 4, 4);
TEST_TYPE_POINTER(PCWPRETSTRUCT, 20, 4);
/* PCWPSTRUCT */
TEST_TYPE(PCWPSTRUCT, 4, 4);
TEST_TYPE_POINTER(PCWPSTRUCT, 16, 4);
/* PDEBUGHOOKINFO */
TEST_TYPE(PDEBUGHOOKINFO, 4, 4);
TEST_TYPE_POINTER(PDEBUGHOOKINFO, 20, 4);
/* PDELETEITEMSTRUCT */
TEST_TYPE(PDELETEITEMSTRUCT, 4, 4);
TEST_TYPE_POINTER(PDELETEITEMSTRUCT, 20, 4);
/* PDLGITEMTEMPLATEA */
TEST_TYPE(PDLGITEMTEMPLATEA, 4, 4);
TEST_TYPE_POINTER(PDLGITEMTEMPLATEA, 18, 2);
/* PDLGITEMTEMPLATEW */
TEST_TYPE(PDLGITEMTEMPLATEW, 4, 4);
TEST_TYPE_POINTER(PDLGITEMTEMPLATEW, 18, 2);
/* PDRAWITEMSTRUCT */
TEST_TYPE(PDRAWITEMSTRUCT, 4, 4);
TEST_TYPE_POINTER(PDRAWITEMSTRUCT, 48, 4);
/* PEVENTMSG */
TEST_TYPE(PEVENTMSG, 4, 4);
TEST_TYPE_POINTER(PEVENTMSG, 20, 4);
/* PGUITHREADINFO */
TEST_TYPE(PGUITHREADINFO, 4, 4);
TEST_TYPE_POINTER(PGUITHREADINFO, 48, 4);
/* PHARDWAREHOOKSTRUCT */
TEST_TYPE(PHARDWAREHOOKSTRUCT, 4, 4);
TEST_TYPE_POINTER(PHARDWAREHOOKSTRUCT, 16, 4);
/* PHARDWAREINPUT */
TEST_TYPE(PHARDWAREINPUT, 4, 4);
TEST_TYPE_POINTER(PHARDWAREINPUT, 8, 4);
/* PHDEVNOTIFY */
TEST_TYPE(PHDEVNOTIFY, 4, 4);
TEST_TYPE_POINTER(PHDEVNOTIFY, 4, 4);
/* PHELPWININFOA */
TEST_TYPE(PHELPWININFOA, 4, 4);
TEST_TYPE_POINTER(PHELPWININFOA, 28, 4);
/* PHELPWININFOW */
TEST_TYPE(PHELPWININFOW, 4, 4);
TEST_TYPE_POINTER(PHELPWININFOW, 28, 4);
/* PICONINFO */
TEST_TYPE(PICONINFO, 4, 4);
TEST_TYPE_POINTER(PICONINFO, 20, 4);
/* PICONMETRICSA */
TEST_TYPE(PICONMETRICSA, 4, 4);
TEST_TYPE_POINTER(PICONMETRICSA, 76, 4);
/* PICONMETRICSW */
TEST_TYPE(PICONMETRICSW, 4, 4);
TEST_TYPE_POINTER(PICONMETRICSW, 108, 4);
/* PINPUT */
TEST_TYPE(PINPUT, 4, 4);
/* PKBDLLHOOKSTRUCT */
TEST_TYPE(PKBDLLHOOKSTRUCT, 4, 4);
TEST_TYPE_POINTER(PKBDLLHOOKSTRUCT, 20, 4);
/* PKEYBDINPUT */
TEST_TYPE(PKEYBDINPUT, 4, 4);
TEST_TYPE_POINTER(PKEYBDINPUT, 16, 4);
/* PMDINEXTMENU */
TEST_TYPE(PMDINEXTMENU, 4, 4);
TEST_TYPE_POINTER(PMDINEXTMENU, 12, 4);
/* PMEASUREITEMSTRUCT */
TEST_TYPE(PMEASUREITEMSTRUCT, 4, 4);
TEST_TYPE_POINTER(PMEASUREITEMSTRUCT, 24, 4);
/* PMENUITEMTEMPLATE */
TEST_TYPE(PMENUITEMTEMPLATE, 4, 4);
TEST_TYPE_POINTER(PMENUITEMTEMPLATE, 6, 2);
/* PMENUITEMTEMPLATEHEADER */
TEST_TYPE(PMENUITEMTEMPLATEHEADER, 4, 4);
TEST_TYPE_POINTER(PMENUITEMTEMPLATEHEADER, 4, 2);
/* PMINIMIZEDMETRICS */
TEST_TYPE(PMINIMIZEDMETRICS, 4, 4);
TEST_TYPE_POINTER(PMINIMIZEDMETRICS, 20, 4);
/* PMINMAXINFO */
TEST_TYPE(PMINMAXINFO, 4, 4);
TEST_TYPE_POINTER(PMINMAXINFO, 40, 4);
/* PMOUSEHOOKSTRUCT */
TEST_TYPE(PMOUSEHOOKSTRUCT, 4, 4);
TEST_TYPE_POINTER(PMOUSEHOOKSTRUCT, 20, 4);
/* PMOUSEINPUT */
TEST_TYPE(PMOUSEINPUT, 4, 4);
TEST_TYPE_POINTER(PMOUSEINPUT, 24, 4);
/* PMSG */
TEST_TYPE(PMSG, 4, 4);
TEST_TYPE_POINTER(PMSG, 28, 4);
/* PMSGBOXPARAMSA */
TEST_TYPE(PMSGBOXPARAMSA, 4, 4);
TEST_TYPE_POINTER(PMSGBOXPARAMSA, 40, 4);
/* PMSGBOXPARAMSW */
TEST_TYPE(PMSGBOXPARAMSW, 4, 4);
TEST_TYPE_POINTER(PMSGBOXPARAMSW, 40, 4);
/* PMSLLHOOKSTRUCT */
TEST_TYPE(PMSLLHOOKSTRUCT, 4, 4);
TEST_TYPE_POINTER(PMSLLHOOKSTRUCT, 24, 4);
/* PMULTIKEYHELPA */
TEST_TYPE(PMULTIKEYHELPA, 4, 4);
TEST_TYPE_POINTER(PMULTIKEYHELPA, 8, 4);
/* PMULTIKEYHELPW */
TEST_TYPE(PMULTIKEYHELPW, 4, 4);
TEST_TYPE_POINTER(PMULTIKEYHELPW, 8, 4);
/* PNONCLIENTMETRICSA */
TEST_TYPE(PNONCLIENTMETRICSA, 4, 4);
TEST_TYPE_POINTER(PNONCLIENTMETRICSA, 340, 4);
/* PNONCLIENTMETRICSW */
TEST_TYPE(PNONCLIENTMETRICSW, 4, 4);
TEST_TYPE_POINTER(PNONCLIENTMETRICSW, 500, 4);
/* PPAINTSTRUCT */
TEST_TYPE(PPAINTSTRUCT, 4, 4);
TEST_TYPE_POINTER(PPAINTSTRUCT, 64, 4);
/* PROPENUMPROCA */
TEST_TYPE(PROPENUMPROCA, 4, 4);
/* PROPENUMPROCA */
TEST_TYPE(PROPENUMPROCA, 4, 4);
/* PROPENUMPROCEXA */
TEST_TYPE(PROPENUMPROCEXA, 4, 4);
/* PROPENUMPROCEXA */
TEST_TYPE(PROPENUMPROCEXA, 4, 4);
/* PROPENUMPROCEXW */
TEST_TYPE(PROPENUMPROCEXW, 4, 4);
/* PROPENUMPROCEXW */
TEST_TYPE(PROPENUMPROCEXW, 4, 4);
/* PROPENUMPROCW */
TEST_TYPE(PROPENUMPROCW, 4, 4);
/* PROPENUMPROCW */
TEST_TYPE(PROPENUMPROCW, 4, 4);
/* PWINDOWINFO */
TEST_TYPE(PWINDOWINFO, 4, 4);
/* PWINDOWPLACEMENT */
TEST_TYPE(PWINDOWPLACEMENT, 4, 4);
TEST_TYPE_POINTER(PWINDOWPLACEMENT, 44, 4);
/* PWINDOWPOS */
TEST_TYPE(PWINDOWPOS, 4, 4);
TEST_TYPE_POINTER(PWINDOWPOS, 28, 4);
/* PWNDCLASSA */
TEST_TYPE(PWNDCLASSA, 4, 4);
TEST_TYPE_POINTER(PWNDCLASSA, 40, 4);
/* PWNDCLASSEXA */
TEST_TYPE(PWNDCLASSEXA, 4, 4);
TEST_TYPE_POINTER(PWNDCLASSEXA, 48, 4);
/* PWNDCLASSEXW */
TEST_TYPE(PWNDCLASSEXW, 4, 4);
TEST_TYPE_POINTER(PWNDCLASSEXW, 48, 4);
/* PWNDCLASSW */
TEST_TYPE(PWNDCLASSW, 4, 4);
TEST_TYPE_POINTER(PWNDCLASSW, 40, 4);
/* SCROLLINFO (pack 4) */
TEST_TYPE(SCROLLINFO, 28, 4);
TEST_FIELD(SCROLLINFO, UINT, cbSize, 0, 4, 4);
@ -621,6 +1279,12 @@ void test_pack(void)
TEST_FIELD(SCROLLINFO, INT, nPos, 20, 4, 4);
TEST_FIELD(SCROLLINFO, INT, nTrackPos, 24, 4, 4);
/* SENDASYNCPROC */
TEST_TYPE(SENDASYNCPROC, 4, 4);
/* SENDASYNCPROC */
TEST_TYPE(SENDASYNCPROC, 4, 4);
/* SERIALKEYSA (pack 4) */
TEST_TYPE(SERIALKEYSA, 28, 4);
TEST_FIELD(SERIALKEYSA, UINT, cbSize, 0, 4, 4);
@ -681,6 +1345,12 @@ void test_pack(void)
TEST_FIELD(STYLESTRUCT, DWORD, styleOld, 0, 4, 4);
TEST_FIELD(STYLESTRUCT, DWORD, styleNew, 4, 4, 4);
/* TIMERPROC */
TEST_TYPE(TIMERPROC, 4, 4);
/* TIMERPROC */
TEST_TYPE(TIMERPROC, 4, 4);
/* TOGGLEKEYS (pack 4) */
TEST_TYPE(TOGGLEKEYS, 8, 4);
TEST_FIELD(TOGGLEKEYS, DWORD, cbSize, 0, 4, 4);
@ -698,7 +1368,7 @@ void test_pack(void)
TEST_FIELD(TRACKMOUSEEVENT, HWND, hwndTrack, 8, 4, 4);
TEST_FIELD(TRACKMOUSEEVENT, DWORD, dwHoverTime, 12, 4, 4);
/* WINDOWINFO */
/* WINDOWINFO (pack 4) */
TEST_FIELD(WINDOWINFO, DWORD, cbSize, 0, 4, 4);
TEST_FIELD(WINDOWINFO, RECT, rcWindow, 4, 16, 4);
TEST_FIELD(WINDOWINFO, RECT, rcClient, 20, 16, 4);
@ -719,6 +1389,18 @@ void test_pack(void)
TEST_FIELD(WINDOWPOS, INT, cy, 20, 4, 4);
TEST_FIELD(WINDOWPOS, UINT, flags, 24, 4, 4);
/* WINEVENTPROC */
TEST_TYPE(WINEVENTPROC, 4, 4);
/* WINEVENTPROC */
TEST_TYPE(WINEVENTPROC, 4, 4);
/* WINSTAENUMPROCA */
TEST_TYPE(WINSTAENUMPROCA, 4, 4);
/* WINSTAENUMPROCW */
TEST_TYPE(WINSTAENUMPROCW, 4, 4);
/* WNDCLASSA (pack 4) */
TEST_TYPE(WNDCLASSA, 40, 4);
TEST_FIELD(WNDCLASSA, UINT, style, 0, 4, 4);
@ -775,6 +1457,14 @@ void test_pack(void)
TEST_FIELD(WNDCLASSW, LPCWSTR, lpszMenuName, 32, 4, 4);
TEST_FIELD(WNDCLASSW, LPCWSTR, lpszClassName, 36, 4, 4);
/* WNDENUMPROC */
TEST_TYPE(WNDENUMPROC, 4, 4);
/* WNDENUMPROC */
TEST_TYPE(WNDENUMPROC, 4, 4);
/* WNDPROC */
}
START_TEST(generated)