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 + -
显示快捷键?