generated.c
来自「Wine-20031016」· C语言 代码 · 共 162 行
C
162 行
/* 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 <stdarg.h>#include "windef.h"#include "winbase.h"#include "urlmon.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_BINDINFO(void){ /* BINDINFO (pack 4) */ TEST_FIELD(BINDINFO, ULONG, cbSize, 0, 4, 4); TEST_FIELD(BINDINFO, LPWSTR, szExtraInfo, 4, 4, 4);}static void test_pack_IBindHost(void){ /* IBindHost */}static void test_pack_IBindStatusCallback(void){ /* IBindStatusCallback */}static void test_pack_IBinding(void){ /* IBinding */}static void test_pack_IWinInetHttpInfo(void){ /* IWinInetHttpInfo */}static void test_pack_IWinInetInfo(void){ /* IWinInetInfo */}static void test_pack(void){ test_pack_BINDINFO(); test_pack_IBindHost(); test_pack_IBindStatusCallback(); test_pack_IBinding(); test_pack_IWinInetHttpInfo(); test_pack_IWinInetInfo();}START_TEST(generated){ test_pack();}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?