generated.c
来自「Wine-20031016」· C语言 代码 · 共 1,016 行 · 第 1/3 页
C
1,016 行
/* File generated automatically from tools/winapi/test.dat; do not edit! *//* This file can be copied, modified and distributed without restriction. *//* * Unit tests for data structure packing */#define WINVER 0x0501#define _WIN32_IE 0x0501#define _WIN32_WINNT 0x0501#define WINE_NOWINSOCK#include "windows.h"#include "wine/test.h"/*********************************************************************** * Compability macros */#define DWORD_PTR UINT_PTR#define LONG_PTR INT_PTR#define ULONG_PTR UINT_PTR/*********************************************************************** * Windows API extension */#if (_MSC_VER >= 1300) && defined(__cplusplus)# define FIELD_ALIGNMENT(type, field) __alignof(((type*)0)->field)#elif defined(__GNUC__)# define FIELD_ALIGNMENT(type, field) __alignof__(((type*)0)->field)#else/* 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 */#ifdef FIELD_ALIGNMENT# define TEST_FIELD_ALIGNMENT(type, field, align) \ ok(FIELD_ALIGNMENT(type, field) == align, \ "FIELD_ALIGNMENT(" #type ", " #field ") == %d (expected " #align ")", \ FIELD_ALIGNMENT(type, field))#else# define TEST_FIELD_ALIGNMENT(type, field, align) do { } while (0)#endif#define TEST_FIELD_OFFSET(type, field, offset) \ ok(FIELD_OFFSET(type, field) == offset, \ "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))/*********************************************************************** * Test macros */#define TEST_FIELD(type, field_type, field_name, field_offset, field_size, field_align) \ TEST_TYPE_SIZE(field_type, field_size); \ TEST_FIELD_ALIGNMENT(type, field_name, field_align); \ TEST_FIELD_OFFSET(type, field_name, field_offset); \#define TEST_TYPE(type, size, align) \ 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");static void test_pack_BY_HANDLE_FILE_INFORMATION(void){ /* BY_HANDLE_FILE_INFORMATION (pack 4) */ TEST_TYPE(BY_HANDLE_FILE_INFORMATION, 52, 4); TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, dwFileAttributes, 0, 4, 4); TEST_FIELD(BY_HANDLE_FILE_INFORMATION, FILETIME, ftCreationTime, 4, 8, 4); TEST_FIELD(BY_HANDLE_FILE_INFORMATION, FILETIME, ftLastAccessTime, 12, 8, 4); TEST_FIELD(BY_HANDLE_FILE_INFORMATION, FILETIME, ftLastWriteTime, 20, 8, 4); TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, dwVolumeSerialNumber, 28, 4, 4); TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileSizeHigh, 32, 4, 4); TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileSizeLow, 36, 4, 4); TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nNumberOfLinks, 40, 4, 4); TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileIndexHigh, 44, 4, 4); TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileIndexLow, 48, 4, 4);}static void test_pack_COMMCONFIG(void){ /* COMMCONFIG (pack 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);}static void test_pack_COMMPROP(void){ /* COMMPROP (pack 4) */ TEST_TYPE(COMMPROP, 64, 4); TEST_FIELD(COMMPROP, WORD, wPacketLength, 0, 2, 2); TEST_FIELD(COMMPROP, WORD, wPacketVersion, 2, 2, 2); TEST_FIELD(COMMPROP, DWORD, dwServiceMask, 4, 4, 4); TEST_FIELD(COMMPROP, DWORD, dwReserved1, 8, 4, 4); TEST_FIELD(COMMPROP, DWORD, dwMaxTxQueue, 12, 4, 4); TEST_FIELD(COMMPROP, DWORD, dwMaxRxQueue, 16, 4, 4); TEST_FIELD(COMMPROP, DWORD, dwMaxBaud, 20, 4, 4); TEST_FIELD(COMMPROP, DWORD, dwProvSubType, 24, 4, 4); TEST_FIELD(COMMPROP, DWORD, dwProvCapabilities, 28, 4, 4); TEST_FIELD(COMMPROP, DWORD, dwSettableParams, 32, 4, 4); TEST_FIELD(COMMPROP, DWORD, dwSettableBaud, 36, 4, 4); TEST_FIELD(COMMPROP, WORD, wSettableData, 40, 2, 2); TEST_FIELD(COMMPROP, WORD, wSettableStopParity, 42, 2, 2); TEST_FIELD(COMMPROP, DWORD, dwCurrentTxQueue, 44, 4, 4); TEST_FIELD(COMMPROP, DWORD, dwCurrentRxQueue, 48, 4, 4); TEST_FIELD(COMMPROP, DWORD, dwProvSpec1, 52, 4, 4); TEST_FIELD(COMMPROP, DWORD, dwProvSpec2, 56, 4, 4); TEST_FIELD(COMMPROP, WCHAR[1], wcProvChar, 60, 2, 2);}static void test_pack_COMMTIMEOUTS(void){ /* COMMTIMEOUTS (pack 4) */ TEST_TYPE(COMMTIMEOUTS, 20, 4); TEST_FIELD(COMMTIMEOUTS, DWORD, ReadIntervalTimeout, 0, 4, 4); TEST_FIELD(COMMTIMEOUTS, DWORD, ReadTotalTimeoutMultiplier, 4, 4, 4); TEST_FIELD(COMMTIMEOUTS, DWORD, ReadTotalTimeoutConstant, 8, 4, 4); TEST_FIELD(COMMTIMEOUTS, DWORD, WriteTotalTimeoutMultiplier, 12, 4, 4); TEST_FIELD(COMMTIMEOUTS, DWORD, WriteTotalTimeoutConstant, 16, 4, 4);}static void test_pack_COMSTAT(void){ /* COMSTAT (pack 4) */ TEST_TYPE(COMSTAT, 12, 4); TEST_FIELD(COMSTAT, DWORD, cbInQue, 4, 4, 4); TEST_FIELD(COMSTAT, DWORD, cbOutQue, 8, 4, 4);}static void test_pack_CREATE_PROCESS_DEBUG_INFO(void){ /* CREATE_PROCESS_DEBUG_INFO (pack 4) */ TEST_TYPE(CREATE_PROCESS_DEBUG_INFO, 40, 4); TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, HANDLE, hFile, 0, 4, 4); TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, HANDLE, hProcess, 4, 4, 4); TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, HANDLE, hThread, 8, 4, 4); TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPVOID, lpBaseOfImage, 12, 4, 4); TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, DWORD, dwDebugInfoFileOffset, 16, 4, 4); TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, DWORD, nDebugInfoSize, 20, 4, 4); TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPVOID, lpThreadLocalBase, 24, 4, 4); TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPTHREAD_START_ROUTINE, lpStartAddress, 28, 4, 4); TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPVOID, lpImageName, 32, 4, 4); TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, WORD, fUnicode, 36, 2, 2);}static void test_pack_CREATE_THREAD_DEBUG_INFO(void){ /* CREATE_THREAD_DEBUG_INFO (pack 4) */ TEST_TYPE(CREATE_THREAD_DEBUG_INFO, 12, 4); TEST_FIELD(CREATE_THREAD_DEBUG_INFO, HANDLE, hThread, 0, 4, 4); TEST_FIELD(CREATE_THREAD_DEBUG_INFO, LPVOID, lpThreadLocalBase, 4, 4, 4); TEST_FIELD(CREATE_THREAD_DEBUG_INFO, LPTHREAD_START_ROUTINE, lpStartAddress, 8, 4, 4);}static void test_pack_CRITICAL_SECTION(void){ /* CRITICAL_SECTION */ TEST_TYPE(CRITICAL_SECTION, 24, 4);}static void test_pack_CRITICAL_SECTION_DEBUG(void){ /* CRITICAL_SECTION_DEBUG */ TEST_TYPE(CRITICAL_SECTION_DEBUG, 32, 4);}static void test_pack_DCB(void){ /* DCB (pack 4) */ TEST_FIELD(DCB, DWORD, DCBlength, 0, 4, 4); TEST_FIELD(DCB, DWORD, BaudRate, 4, 4, 4);}static void test_pack_DEBUG_EVENT(void){ /* 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);}static void test_pack_EXCEPTION_DEBUG_INFO(void){ /* EXCEPTION_DEBUG_INFO (pack 4) */ TEST_TYPE(EXCEPTION_DEBUG_INFO, 84, 4); TEST_FIELD(EXCEPTION_DEBUG_INFO, EXCEPTION_RECORD, ExceptionRecord, 0, 80, 4); TEST_FIELD(EXCEPTION_DEBUG_INFO, DWORD, dwFirstChance, 80, 4, 4);}static void test_pack_EXIT_PROCESS_DEBUG_INFO(void){ /* EXIT_PROCESS_DEBUG_INFO (pack 4) */ TEST_TYPE(EXIT_PROCESS_DEBUG_INFO, 4, 4); TEST_FIELD(EXIT_PROCESS_DEBUG_INFO, DWORD, dwExitCode, 0, 4, 4);}static void test_pack_EXIT_THREAD_DEBUG_INFO(void){ /* EXIT_THREAD_DEBUG_INFO (pack 4) */ TEST_TYPE(EXIT_THREAD_DEBUG_INFO, 4, 4); TEST_FIELD(EXIT_THREAD_DEBUG_INFO, DWORD, dwExitCode, 0, 4, 4);}static void test_pack_HW_PROFILE_INFOA(void){ /* HW_PROFILE_INFOA (pack 4) */ TEST_TYPE(HW_PROFILE_INFOA, 124, 4); TEST_FIELD(HW_PROFILE_INFOA, DWORD, dwDockInfo, 0, 4, 4); TEST_FIELD(HW_PROFILE_INFOA, CHAR[HW_PROFILE_GUIDLEN], szHwProfileGuid, 4, 39, 1); TEST_FIELD(HW_PROFILE_INFOA, CHAR[MAX_PROFILE_LEN], szHwProfileName, 43, 80, 1);}static void test_pack_HW_PROFILE_INFOW(void){ /* HW_PROFILE_INFOW (pack 4) */ TEST_TYPE(HW_PROFILE_INFOW, 244, 4); TEST_FIELD(HW_PROFILE_INFOW, DWORD, dwDockInfo, 0, 4, 4); TEST_FIELD(HW_PROFILE_INFOW, WCHAR[HW_PROFILE_GUIDLEN], szHwProfileGuid, 4, 78, 2); TEST_FIELD(HW_PROFILE_INFOW, WCHAR[MAX_PROFILE_LEN], szHwProfileName, 82, 160, 2);}static void test_pack_LDT_ENTRY(void){ /* LDT_ENTRY (pack 4) */ TEST_FIELD(LDT_ENTRY, WORD, LimitLow, 0, 2, 2); TEST_FIELD(LDT_ENTRY, WORD, BaseLow, 2, 2, 2);}static void test_pack_LOAD_DLL_DEBUG_INFO(void){ /* LOAD_DLL_DEBUG_INFO (pack 4) */ TEST_TYPE(LOAD_DLL_DEBUG_INFO, 24, 4); TEST_FIELD(LOAD_DLL_DEBUG_INFO, HANDLE, hFile, 0, 4, 4); TEST_FIELD(LOAD_DLL_DEBUG_INFO, LPVOID, lpBaseOfDll, 4, 4, 4); TEST_FIELD(LOAD_DLL_DEBUG_INFO, DWORD, dwDebugInfoFileOffset, 8, 4, 4); TEST_FIELD(LOAD_DLL_DEBUG_INFO, DWORD, nDebugInfoSize, 12, 4, 4); TEST_FIELD(LOAD_DLL_DEBUG_INFO, LPVOID, lpImageName, 16, 4, 4); TEST_FIELD(LOAD_DLL_DEBUG_INFO, WORD, fUnicode, 20, 2, 2);}static void test_pack_LPBY_HANDLE_FILE_INFORMATION(void){ /* LPBY_HANDLE_FILE_INFORMATION */ TEST_TYPE(LPBY_HANDLE_FILE_INFORMATION, 4, 4); TEST_TYPE_POINTER(LPBY_HANDLE_FILE_INFORMATION, 52, 4);}static void test_pack_LPCOMMCONFIG(void){ /* LPCOMMCONFIG */ TEST_TYPE(LPCOMMCONFIG, 4, 4);}static void test_pack_LPCOMMPROP(void){ /* LPCOMMPROP */ TEST_TYPE(LPCOMMPROP, 4, 4); TEST_TYPE_POINTER(LPCOMMPROP, 64, 4);}static void test_pack_LPCOMMTIMEOUTS(void){ /* LPCOMMTIMEOUTS */ TEST_TYPE(LPCOMMTIMEOUTS, 4, 4); TEST_TYPE_POINTER(LPCOMMTIMEOUTS, 20, 4);}static void test_pack_LPCOMSTAT(void){ /* LPCOMSTAT */ TEST_TYPE(LPCOMSTAT, 4, 4); TEST_TYPE_POINTER(LPCOMSTAT, 12, 4);}static void test_pack_LPCONTEXT(void){ /* LPCONTEXT */ TEST_TYPE(LPCONTEXT, 4, 4);}static void test_pack_LPCRITICAL_SECTION(void){ /* LPCRITICAL_SECTION */ TEST_TYPE(LPCRITICAL_SECTION, 4, 4);}static void test_pack_LPCRITICAL_SECTION_DEBUG(void){ /* LPCRITICAL_SECTION_DEBUG */ TEST_TYPE(LPCRITICAL_SECTION_DEBUG, 4, 4);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?