Updated the generated tests.
This commit is contained in:
parent
5554838292
commit
df7ffb8017
File diff suppressed because it is too large
Load Diff
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue