~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/dlls/kernel32/tests/generated.c

Version: ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~ [ wine-1.0-rc5 ] ~ [ wine-1.0-rc4 ] ~ [ wine-1.0-rc3 ] ~ [ wine-1.0-rc2 ] ~ [ wine-1.0-rc1 ] ~ [ wine-0.9.61 ] ~ [ wine-0.9.60 ] ~ [ wine-0.9.59 ] ~ [ wine-0.9.58 ] ~ [ wine-0.9.57 ] ~ [ wine-0.9.56 ] ~ [ wine-0.9.55 ] ~ [ wine-0.9.54 ] ~ [ wine-0.9.53 ] ~ [ wine-0.9.52 ] ~ [ wine-0.9.51 ] ~ [ wine-0.9.50 ] ~ [ wine-0.9.49 ] ~ [ wine-0.9.48 ] ~ [ wine-0.9.47 ] ~ [ wine-0.9.46 ] ~ [ wine-0.9.45 ] ~ [ wine-0.9.44 ] ~ [ wine-0.9.43 ] ~ [ wine-0.9.42 ] ~ [ wine-0.9.41 ] ~ [ wine-0.9.40 ] ~ [ wine-0.9.39 ] ~ [ wine-0.9.38 ] ~ [ wine-0.9.37 ] ~ [ wine-0.9.36 ] ~ [ wine-0.9.35 ] ~ [ wine-0.9.34 ] ~ [ wine-0.9.33 ] ~ [ wine-0.9.32 ] ~ [ wine-0.9.31 ] ~ [ wine-0.9.30 ] ~ [ wine-0.9.29 ] ~ [ wine-0.9.28 ] ~ [ wine-0.9.27 ] ~ [ wine-0.9.26 ] ~ [ wine-0.9.25 ] ~ [ wine-0.9.24 ] ~ [ wine-0.9.23 ] ~ [ wine-0.9.22 ] ~ [ wine-0.9.21 ] ~ [ wine-0.9.20 ] ~ [ wine-0.9.19 ] ~ [ wine-0.9.18 ] ~ [ wine-0.9.17 ] ~ [ wine-0.9.16 ] ~ [ wine-0.9.15 ] ~ [ wine-0.9.14 ] ~ [ wine-0.9.13 ] ~ [ wine-0.9.12 ] ~ [ wine-0.9.11 ] ~ [ wine-0.9.10 ] ~ [ wine-0.9.9 ] ~ [ wine-0.9.8 ] ~ [ wine-0.9.7 ] ~ [ wine-0.9.6 ] ~ [ wine-0.9.5 ] ~ [ wine-0.9.4 ] ~ [ wine-0.9.3 ] ~ [ wine-0.9.2 ] ~ [ wine-0.9.1 ] ~ [ wine-0.9 ] ~ [ wine20050930 ] ~ [ wine20050830 ] ~ [ wine20050725 ] ~ [ wine20050628 ] ~ [ wine20050524 ] ~ [ wine20050419 ] ~ [ wine20050310 ] ~ [ wine20050211 ] ~ [ wine20050111 ] ~ [ wine20041201 ] ~ [ wine20041019 ] ~ [ wine20040914 ] ~ [ wine20040813 ] ~ [ wine20040716 ] ~ [ wine20040615 ] ~ [ wine20040505 ] ~ [ wine20040408 ] ~ [ wine20040309 ] ~ [ wine20040213 ] ~ [ wine20040121 ] ~ [ wine20031212 ] ~ [ wine20031118 ] ~ [ wine20031016 ] ~ [ wine20030911 ] ~ [ wine20030813 ] ~ [ wine20030709 ] ~ [ wine20030618 ] ~ [ wine20030508 ] ~ [ wine20030408 ] ~ [ wine20030318 ] ~ [ wine20030219 ] ~ [ wine20030115 ] ~ [ wine20021219 ] ~ [ wine20021125 ] ~ [ wine20021031 ] ~ [ wine20021007 ] ~ [ wine20020904 ] ~ [ wine20020804 ] ~ [ wine20020710 ] ~ [ wine20020605 ] ~ [ wine20020509 ] ~ [ wine20020411 ] ~ [ wine20020310 ] ~ [ wine20020228 ] ~ [ wine20011226 ] ~ [ wine20011108 ] ~ [ wine20011004 ] ~ [ wine20010824 ] ~ [ wine20010731 ] ~ [ wine20010629 ] ~ [ wine20010510 ] ~ [ wine20010418 ] ~ [ wine20010326 ] ~ [ wine20010305 ] ~ [ wine20010216 ] ~ [ wine20010112 ] ~ [ wine20001222 ] ~ [ wine20001202 ] ~ [ wine20001026 ] ~ [ wine20001002 ] ~ [ wine20000909 ] ~ [ wine20000821 ] ~ [ wine20000801 ] ~ [ wine20000716 ] ~ [ wine20000326 ] ~ [ wine20000227 ] ~ [ wine20000130 ] ~ [ wine20000109 ] ~

  1 /* File generated automatically from tools/winapi/test.dat; do not edit! */
  2 /* This file can be copied, modified and distributed without restriction. */
  3 
  4 /*
  5  * Unit tests for data structure packing
  6  */
  7 
  8 #define WINVER 0x0501
  9 #define _WIN32_IE 0x0501
 10 #define _WIN32_WINNT 0x0501
 11 
 12 #define WINE_NOWINSOCK
 13 
 14 #include "windows.h"
 15 
 16 #include "wine/test.h"
 17 
 18 /***********************************************************************
 19  * Compatibility macros
 20  */
 21 
 22 #define DWORD_PTR UINT_PTR
 23 #define LONG_PTR INT_PTR
 24 #define ULONG_PTR UINT_PTR
 25 
 26 /***********************************************************************
 27  * Windows API extension
 28  */
 29 
 30 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
 31 # define FIELD_ALIGNMENT(type, field) __alignof(((type*)0)->field)
 32 #elif defined(__GNUC__)
 33 # define FIELD_ALIGNMENT(type, field) __alignof__(((type*)0)->field)
 34 #else
 35 /* FIXME: Not sure if is possible to do without compiler extension */
 36 #endif
 37 
 38 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
 39 # define _TYPE_ALIGNMENT(type) __alignof(type)
 40 #elif defined(__GNUC__)
 41 # define _TYPE_ALIGNMENT(type) __alignof__(type)
 42 #else
 43 /*
 44  * FIXME: Not sure if is possible to do without compiler extension
 45  *        (if type is not just a name that is, if so the normal)
 46  *         TYPE_ALIGNMENT can be used)
 47  */
 48 #endif
 49 
 50 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
 51 #pragma warning(disable:4116)
 52 #endif
 53 
 54 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
 55 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
 56 #endif
 57 
 58 /***********************************************************************
 59  * Test helper macros
 60  */
 61 
 62 #ifdef FIELD_ALIGNMENT
 63 # define TEST_FIELD_ALIGNMENT(type, field, align) \
 64    ok(FIELD_ALIGNMENT(type, field) == align, \
 65        "FIELD_ALIGNMENT(" #type ", " #field ") == %d (expected " #align ")\n", \
 66            (int)FIELD_ALIGNMENT(type, field))
 67 #else
 68 # define TEST_FIELD_ALIGNMENT(type, field, align) do { } while (0)
 69 #endif
 70 
 71 #define TEST_FIELD_OFFSET(type, field, offset) \
 72     ok(FIELD_OFFSET(type, field) == offset, \
 73         "FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")\n", \
 74              (long int)FIELD_OFFSET(type, field))
 75 
 76 #ifdef _TYPE_ALIGNMENT
 77 #define TEST__TYPE_ALIGNMENT(type, align) \
 78     ok(_TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", (int)_TYPE_ALIGNMENT(type))
 79 #else
 80 # define TEST__TYPE_ALIGNMENT(type, align) do { } while (0)
 81 #endif
 82 
 83 #ifdef TYPE_ALIGNMENT
 84 #define TEST_TYPE_ALIGNMENT(type, align) \
 85     ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", (int)TYPE_ALIGNMENT(type))
 86 #else
 87 # define TEST_TYPE_ALIGNMENT(type, align) do { } while (0)
 88 #endif
 89 
 90 #define TEST_TYPE_SIZE(type, size) \
 91     ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")\n", ((int) sizeof(type)))
 92 
 93 /***********************************************************************
 94  * Test macros
 95  */
 96 
 97 #define TEST_FIELD(type, field_type, field_name, field_offset, field_size, field_align) \
 98   TEST_TYPE_SIZE(field_type, field_size); \
 99   TEST_FIELD_ALIGNMENT(type, field_name, field_align); \
100   TEST_FIELD_OFFSET(type, field_name, field_offset); \
101 
102 #define TEST_TYPE(type, size, align) \
103   TEST_TYPE_ALIGNMENT(type, align); \
104   TEST_TYPE_SIZE(type, size)
105 
106 #define TEST_TYPE_POINTER(type, size, align) \
107     TEST__TYPE_ALIGNMENT(*(type)0, align); \
108     TEST_TYPE_SIZE(*(type)0, size)
109 
110 #define TEST_TYPE_SIGNED(type) \
111     ok((type) -1 < 0, "(" #type ") -1 < 0\n");
112 
113 #define TEST_TYPE_UNSIGNED(type) \
114      ok((type) -1 > 0, "(" #type ") -1 > 0\n");
115 
116 static void test_pack_LPOSVERSIONINFOA(void)
117 {
118     /* LPOSVERSIONINFOA */
119     TEST_TYPE(LPOSVERSIONINFOA, 4, 4);
120     TEST_TYPE_POINTER(LPOSVERSIONINFOA, 148, 4);
121 }
122 
123 static void test_pack_LPOSVERSIONINFOEXA(void)
124 {
125     /* LPOSVERSIONINFOEXA */
126     TEST_TYPE(LPOSVERSIONINFOEXA, 4, 4);
127     TEST_TYPE_POINTER(LPOSVERSIONINFOEXA, 156, 4);
128 }
129 
130 static void test_pack_LPOSVERSIONINFOEXW(void)
131 {
132     /* LPOSVERSIONINFOEXW */
133     TEST_TYPE(LPOSVERSIONINFOEXW, 4, 4);
134     TEST_TYPE_POINTER(LPOSVERSIONINFOEXW, 284, 4);
135 }
136 
137 static void test_pack_LPOSVERSIONINFOW(void)
138 {
139     /* LPOSVERSIONINFOW */
140     TEST_TYPE(LPOSVERSIONINFOW, 4, 4);
141     TEST_TYPE_POINTER(LPOSVERSIONINFOW, 276, 4);
142 }
143 
144 static void test_pack_OSVERSIONINFOA(void)
145 {
146     /* OSVERSIONINFOA (pack 4) */
147     TEST_TYPE(OSVERSIONINFOA, 148, 4);
148     TEST_FIELD(OSVERSIONINFOA, DWORD, dwOSVersionInfoSize, 0, 4, 4);
149     TEST_FIELD(OSVERSIONINFOA, DWORD, dwMajorVersion, 4, 4, 4);
150     TEST_FIELD(OSVERSIONINFOA, DWORD, dwMinorVersion, 8, 4, 4);
151     TEST_FIELD(OSVERSIONINFOA, DWORD, dwBuildNumber, 12, 4, 4);
152     TEST_FIELD(OSVERSIONINFOA, DWORD, dwPlatformId, 16, 4, 4);
153     TEST_FIELD(OSVERSIONINFOA, CHAR[128], szCSDVersion, 20, 128, 1);
154 }
155 
156 static void test_pack_OSVERSIONINFOEXA(void)
157 {
158     /* OSVERSIONINFOEXA (pack 4) */
159     TEST_TYPE(OSVERSIONINFOEXA, 156, 4);
160     TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwOSVersionInfoSize, 0, 4, 4);
161     TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwMajorVersion, 4, 4, 4);
162     TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwMinorVersion, 8, 4, 4);
163     TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwBuildNumber, 12, 4, 4);
164     TEST_FIELD(OSVERSIONINFOEXA, DWORD, dwPlatformId, 16, 4, 4);
165     TEST_FIELD(OSVERSIONINFOEXA, CHAR[128], szCSDVersion, 20, 128, 1);
166     TEST_FIELD(OSVERSIONINFOEXA, WORD, wServicePackMajor, 148, 2, 2);
167     TEST_FIELD(OSVERSIONINFOEXA, WORD, wServicePackMinor, 150, 2, 2);
168     TEST_FIELD(OSVERSIONINFOEXA, WORD, wSuiteMask, 152, 2, 2);
169     TEST_FIELD(OSVERSIONINFOEXA, BYTE, wProductType, 154, 1, 1);
170     TEST_FIELD(OSVERSIONINFOEXA, BYTE, wReserved, 155, 1, 1);
171 }
172 
173 static void test_pack_OSVERSIONINFOEXW(void)
174 {
175     /* OSVERSIONINFOEXW (pack 4) */
176     TEST_TYPE(OSVERSIONINFOEXW, 284, 4);
177     TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwOSVersionInfoSize, 0, 4, 4);
178     TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwMajorVersion, 4, 4, 4);
179     TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwMinorVersion, 8, 4, 4);
180     TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwBuildNumber, 12, 4, 4);
181     TEST_FIELD(OSVERSIONINFOEXW, DWORD, dwPlatformId, 16, 4, 4);
182     TEST_FIELD(OSVERSIONINFOEXW, WCHAR[128], szCSDVersion, 20, 256, 2);
183     TEST_FIELD(OSVERSIONINFOEXW, WORD, wServicePackMajor, 276, 2, 2);
184     TEST_FIELD(OSVERSIONINFOEXW, WORD, wServicePackMinor, 278, 2, 2);
185     TEST_FIELD(OSVERSIONINFOEXW, WORD, wSuiteMask, 280, 2, 2);
186     TEST_FIELD(OSVERSIONINFOEXW, BYTE, wProductType, 282, 1, 1);
187     TEST_FIELD(OSVERSIONINFOEXW, BYTE, wReserved, 283, 1, 1);
188 }
189 
190 static void test_pack_OSVERSIONINFOW(void)
191 {
192     /* OSVERSIONINFOW (pack 4) */
193     TEST_TYPE(OSVERSIONINFOW, 276, 4);
194     TEST_FIELD(OSVERSIONINFOW, DWORD, dwOSVersionInfoSize, 0, 4, 4);
195     TEST_FIELD(OSVERSIONINFOW, DWORD, dwMajorVersion, 4, 4, 4);
196     TEST_FIELD(OSVERSIONINFOW, DWORD, dwMinorVersion, 8, 4, 4);
197     TEST_FIELD(OSVERSIONINFOW, DWORD, dwBuildNumber, 12, 4, 4);
198     TEST_FIELD(OSVERSIONINFOW, DWORD, dwPlatformId, 16, 4, 4);
199     TEST_FIELD(OSVERSIONINFOW, WCHAR[128], szCSDVersion, 20, 256, 2);
200 }
201 
202 static void test_pack_POSVERSIONINFOA(void)
203 {
204     /* POSVERSIONINFOA */
205     TEST_TYPE(POSVERSIONINFOA, 4, 4);
206     TEST_TYPE_POINTER(POSVERSIONINFOA, 148, 4);
207 }
208 
209 static void test_pack_POSVERSIONINFOEXA(void)
210 {
211     /* POSVERSIONINFOEXA */
212     TEST_TYPE(POSVERSIONINFOEXA, 4, 4);
213     TEST_TYPE_POINTER(POSVERSIONINFOEXA, 156, 4);
214 }
215 
216 static void test_pack_POSVERSIONINFOEXW(void)
217 {
218     /* POSVERSIONINFOEXW */
219     TEST_TYPE(POSVERSIONINFOEXW, 4, 4);
220     TEST_TYPE_POINTER(POSVERSIONINFOEXW, 284, 4);
221 }
222 
223 static void test_pack_POSVERSIONINFOW(void)
224 {
225     /* POSVERSIONINFOW */
226     TEST_TYPE(POSVERSIONINFOW, 4, 4);
227     TEST_TYPE_POINTER(POSVERSIONINFOW, 276, 4);
228 }
229 
230 static void test_pack_LPLONG(void)
231 {
232     /* LPLONG */
233     TEST_TYPE(LPLONG, 4, 4);
234 }
235 
236 static void test_pack_LPVOID(void)
237 {
238     /* LPVOID */
239     TEST_TYPE(LPVOID, 4, 4);
240 }
241 
242 static void test_pack_PHKEY(void)
243 {
244     /* PHKEY */
245     TEST_TYPE(PHKEY, 4, 4);
246 }
247 
248 static void test_pack_ACTCTXA(void)
249 {
250     /* ACTCTXA (pack 4) */
251     TEST_TYPE(ACTCTXA, 32, 4);
252     TEST_FIELD(ACTCTXA, ULONG, cbSize, 0, 4, 4);
253     TEST_FIELD(ACTCTXA, DWORD, dwFlags, 4, 4, 4);
254     TEST_FIELD(ACTCTXA, LPCSTR, lpSource, 8, 4, 4);
255     TEST_FIELD(ACTCTXA, USHORT, wProcessorArchitecture, 12, 2, 2);
256     TEST_FIELD(ACTCTXA, LANGID, wLangId, 14, 2, 2);
257     TEST_FIELD(ACTCTXA, LPCSTR, lpAssemblyDirectory, 16, 4, 4);
258     TEST_FIELD(ACTCTXA, LPCSTR, lpResourceName, 20, 4, 4);
259     TEST_FIELD(ACTCTXA, LPCSTR, lpApplicationName, 24, 4, 4);
260     TEST_FIELD(ACTCTXA, HMODULE, hModule, 28, 4, 4);
261 }
262 
263 static void test_pack_ACTCTXW(void)
264 {
265     /* ACTCTXW (pack 4) */
266     TEST_TYPE(ACTCTXW, 32, 4);
267     TEST_FIELD(ACTCTXW, ULONG, cbSize, 0, 4, 4);
268     TEST_FIELD(ACTCTXW, DWORD, dwFlags, 4, 4, 4);
269     TEST_FIELD(ACTCTXW, LPCWSTR, lpSource, 8, 4, 4);
270     TEST_FIELD(ACTCTXW, USHORT, wProcessorArchitecture, 12, 2, 2);
271     TEST_FIELD(ACTCTXW, LANGID, wLangId, 14, 2, 2);
272     TEST_FIELD(ACTCTXW, LPCWSTR, lpAssemblyDirectory, 16, 4, 4);
273     TEST_FIELD(ACTCTXW, LPCWSTR, lpResourceName, 20, 4, 4);
274     TEST_FIELD(ACTCTXW, LPCWSTR, lpApplicationName, 24, 4, 4);
275     TEST_FIELD(ACTCTXW, HMODULE, hModule, 28, 4, 4);
276 }
277 
278 static void test_pack_ACTCTX_SECTION_KEYED_DATA(void)
279 {
280     /* ACTCTX_SECTION_KEYED_DATA (pack 4) */
281     TEST_TYPE(ACTCTX_SECTION_KEYED_DATA, 64, 4);
282     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, cbSize, 0, 4, 4);
283     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulDataFormatVersion, 4, 4, 4);
284     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, PVOID, lpData, 8, 4, 4);
285     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulLength, 12, 4, 4);
286     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, PVOID, lpSectionGlobalData, 16, 4, 4);
287     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulSectionGlobalDataLength, 20, 4, 4);
288     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, PVOID, lpSectionBase, 24, 4, 4);
289     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulSectionTotalLength, 28, 4, 4);
290     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, HANDLE, hActCtx, 32, 4, 4);
291     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulAssemblyRosterIndex, 36, 4, 4);
292     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ULONG, ulFlags, 40, 4, 4);
293     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA, ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, AssemblyMetadata, 44, 20, 4);
294 }
295 
296 static void test_pack_ACTCTX_SECTION_KEYED_DATA_2600(void)
297 {
298     /* ACTCTX_SECTION_KEYED_DATA_2600 (pack 4) */
299     TEST_TYPE(ACTCTX_SECTION_KEYED_DATA_2600, 40, 4);
300     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, cbSize, 0, 4, 4);
301     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulDataFormatVersion, 4, 4, 4);
302     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, PVOID, lpData, 8, 4, 4);
303     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulLength, 12, 4, 4);
304     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, PVOID, lpSectionGlobalData, 16, 4, 4);
305     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulSectionGlobalDataLength, 20, 4, 4);
306     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, PVOID, lpSectionBase, 24, 4, 4);
307     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulSectionTotalLength, 28, 4, 4);
308     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, HANDLE, hActCtx, 32, 4, 4);
309     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_2600, ULONG, ulAssemblyRosterIndex, 36, 4, 4);
310 }
311 
312 static void test_pack_ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA(void)
313 {
314     /* ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA (pack 4) */
315     TEST_TYPE(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 20, 4);
316     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, PVOID, lpInformation, 0, 4, 4);
317     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, PVOID, lpSectionBase, 4, 4, 4);
318     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, ULONG, ulSectionLength, 8, 4, 4);
319     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, PVOID, lpSectionGlobalDataBase, 12, 4, 4);
320     TEST_FIELD(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, ULONG, ulSectionGlobalDataLength, 16, 4, 4);
321 }
322 
323 static void test_pack_ACTIVATION_CONTEXT_BASIC_INFORMATION(void)
324 {
325     /* ACTIVATION_CONTEXT_BASIC_INFORMATION (pack 4) */
326     TEST_TYPE(ACTIVATION_CONTEXT_BASIC_INFORMATION, 8, 4);
327     TEST_FIELD(ACTIVATION_CONTEXT_BASIC_INFORMATION, HANDLE, hActCtx, 0, 4, 4);
328     TEST_FIELD(ACTIVATION_CONTEXT_BASIC_INFORMATION, DWORD, dwFlags, 4, 4, 4);
329 }
330 
331 static void test_pack_BY_HANDLE_FILE_INFORMATION(void)
332 {
333     /* BY_HANDLE_FILE_INFORMATION (pack 4) */
334     TEST_TYPE(BY_HANDLE_FILE_INFORMATION, 52, 4);
335     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, dwFileAttributes, 0, 4, 4);
336     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, FILETIME, ftCreationTime, 4, 8, 4);
337     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, FILETIME, ftLastAccessTime, 12, 8, 4);
338     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, FILETIME, ftLastWriteTime, 20, 8, 4);
339     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, dwVolumeSerialNumber, 28, 4, 4);
340     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileSizeHigh, 32, 4, 4);
341     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileSizeLow, 36, 4, 4);
342     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nNumberOfLinks, 40, 4, 4);
343     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileIndexHigh, 44, 4, 4);
344     TEST_FIELD(BY_HANDLE_FILE_INFORMATION, DWORD, nFileIndexLow, 48, 4, 4);
345 }
346 
347 static void test_pack_COMMCONFIG(void)
348 {
349     /* COMMCONFIG (pack 4) */
350     TEST_TYPE(COMMCONFIG, 52, 4);
351     TEST_FIELD(COMMCONFIG, DWORD, dwSize, 0, 4, 4);
352     TEST_FIELD(COMMCONFIG, WORD, wVersion, 4, 2, 2);
353     TEST_FIELD(COMMCONFIG, WORD, wReserved, 6, 2, 2);
354     TEST_FIELD(COMMCONFIG, DCB, dcb, 8, 28, 4);
355     TEST_FIELD(COMMCONFIG, DWORD, dwProviderSubType, 36, 4, 4);
356     TEST_FIELD(COMMCONFIG, DWORD, dwProviderOffset, 40, 4, 4);
357     TEST_FIELD(COMMCONFIG, DWORD, dwProviderSize, 44, 4, 4);
358     TEST_FIELD(COMMCONFIG, DWORD[1], wcProviderData, 48, 4, 4);
359 }
360 
361 static void test_pack_COMMPROP(void)
362 {
363     /* COMMPROP (pack 4) */
364     TEST_TYPE(COMMPROP, 64, 4);
365     TEST_FIELD(COMMPROP, WORD, wPacketLength, 0, 2, 2);
366     TEST_FIELD(COMMPROP, WORD, wPacketVersion, 2, 2, 2);
367     TEST_FIELD(COMMPROP, DWORD, dwServiceMask, 4, 4, 4);
368     TEST_FIELD(COMMPROP, DWORD, dwReserved1, 8, 4, 4);
369     TEST_FIELD(COMMPROP, DWORD, dwMaxTxQueue, 12, 4, 4);
370     TEST_FIELD(COMMPROP, DWORD, dwMaxRxQueue, 16, 4, 4);
371     TEST_FIELD(COMMPROP, DWORD, dwMaxBaud, 20, 4, 4);
372     TEST_FIELD(COMMPROP, DWORD, dwProvSubType, 24, 4, 4);
373     TEST_FIELD(COMMPROP, DWORD, dwProvCapabilities, 28, 4, 4);
374     TEST_FIELD(COMMPROP, DWORD, dwSettableParams, 32, 4, 4);
375     TEST_FIELD(COMMPROP, DWORD, dwSettableBaud, 36, 4, 4);
376     TEST_FIELD(COMMPROP, WORD, wSettableData, 40, 2, 2);
377     TEST_FIELD(COMMPROP, WORD, wSettableStopParity, 42, 2, 2);
378     TEST_FIELD(COMMPROP, DWORD, dwCurrentTxQueue, 44, 4, 4);
379     TEST_FIELD(COMMPROP, DWORD, dwCurrentRxQueue, 48, 4, 4);
380     TEST_FIELD(COMMPROP, DWORD, dwProvSpec1, 52, 4, 4);
381     TEST_FIELD(COMMPROP, DWORD, dwProvSpec2, 56, 4, 4);
382     TEST_FIELD(COMMPROP, WCHAR[1], wcProvChar, 60, 2, 2);
383 }
384 
385 static void test_pack_COMMTIMEOUTS(void)
386 {
387     /* COMMTIMEOUTS (pack 4) */
388     TEST_TYPE(COMMTIMEOUTS, 20, 4);
389     TEST_FIELD(COMMTIMEOUTS, DWORD, ReadIntervalTimeout, 0, 4, 4);
390     TEST_FIELD(COMMTIMEOUTS, DWORD, ReadTotalTimeoutMultiplier, 4, 4, 4);
391     TEST_FIELD(COMMTIMEOUTS, DWORD, ReadTotalTimeoutConstant, 8, 4, 4);
392     TEST_FIELD(COMMTIMEOUTS, DWORD, WriteTotalTimeoutMultiplier, 12, 4, 4);
393     TEST_FIELD(COMMTIMEOUTS, DWORD, WriteTotalTimeoutConstant, 16, 4, 4);
394 }
395 
396 static void test_pack_COMSTAT(void)
397 {
398     /* COMSTAT (pack 4) */
399     TEST_TYPE(COMSTAT, 12, 4);
400     TEST_FIELD(COMSTAT, DWORD, cbInQue, 4, 4, 4);
401     TEST_FIELD(COMSTAT, DWORD, cbOutQue, 8, 4, 4);
402 }
403 
404 static void test_pack_CREATE_PROCESS_DEBUG_INFO(void)
405 {
406     /* CREATE_PROCESS_DEBUG_INFO (pack 4) */
407     TEST_TYPE(CREATE_PROCESS_DEBUG_INFO, 40, 4);
408     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, HANDLE, hFile, 0, 4, 4);
409     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, HANDLE, hProcess, 4, 4, 4);
410     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, HANDLE, hThread, 8, 4, 4);
411     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPVOID, lpBaseOfImage, 12, 4, 4);
412     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, DWORD, dwDebugInfoFileOffset, 16, 4, 4);
413     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, DWORD, nDebugInfoSize, 20, 4, 4);
414     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPVOID, lpThreadLocalBase, 24, 4, 4);
415     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPTHREAD_START_ROUTINE, lpStartAddress, 28, 4, 4);
416     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, LPVOID, lpImageName, 32, 4, 4);
417     TEST_FIELD(CREATE_PROCESS_DEBUG_INFO, WORD, fUnicode, 36, 2, 2);
418 }
419 
420 static void test_pack_CREATE_THREAD_DEBUG_INFO(void)
421 {
422     /* CREATE_THREAD_DEBUG_INFO (pack 4) */
423     TEST_TYPE(CREATE_THREAD_DEBUG_INFO, 12, 4);
424     TEST_FIELD(CREATE_THREAD_DEBUG_INFO, HANDLE, hThread, 0, 4, 4);
425     TEST_FIELD(CREATE_THREAD_DEBUG_INFO, LPVOID, lpThreadLocalBase, 4, 4, 4);
426     TEST_FIELD(CREATE_THREAD_DEBUG_INFO, LPTHREAD_START_ROUTINE, lpStartAddress, 8, 4, 4);
427 }
428 
429 static void test_pack_CRITICAL_SECTION(void)
430 {
431     /* CRITICAL_SECTION */
432     TEST_TYPE(CRITICAL_SECTION, 24, 4);
433 }
434 
435 static void test_pack_CRITICAL_SECTION_DEBUG(void)
436 {
437     /* CRITICAL_SECTION_DEBUG */
438 }
439 
440 static void test_pack_DCB(void)
441 {
442     /* DCB (pack 4) */
443     TEST_TYPE(DCB, 28, 4);
444     TEST_FIELD(DCB, DWORD, DCBlength, 0, 4, 4);
445     TEST_FIELD(DCB, DWORD, BaudRate, 4, 4, 4);
446     TEST_FIELD(DCB, WORD, wReserved, 12, 2, 2);
447     TEST_FIELD(DCB, WORD, XonLim, 14, 2, 2);
448     TEST_FIELD(DCB, WORD, XoffLim, 16, 2, 2);
449     TEST_FIELD(DCB, BYTE, ByteSize, 18, 1, 1);
450     TEST_FIELD(DCB, BYTE, Parity, 19, 1, 1);
451     TEST_FIELD(DCB, BYTE, StopBits, 20, 1, 1);
452     TEST_FIELD(DCB, char, XonChar, 21, 1, 1);
453     TEST_FIELD(DCB, char, XoffChar, 22, 1, 1);
454     TEST_FIELD(DCB, char, ErrorChar, 23, 1, 1);
455     TEST_FIELD(DCB, char, EofChar, 24, 1, 1);
456     TEST_FIELD(DCB, char, EvtChar, 25, 1, 1);
457     TEST_FIELD(DCB, WORD, wReserved1, 26, 2, 2);
458 }
459 
460 static void test_pack_DEBUG_EVENT(void)
461 {
462     /* DEBUG_EVENT (pack 4) */
463     TEST_FIELD(DEBUG_EVENT, DWORD, dwDebugEventCode, 0, 4, 4);
464     TEST_FIELD(DEBUG_EVENT, DWORD, dwProcessId, 4, 4, 4);
465     TEST_FIELD(DEBUG_EVENT, DWORD, dwThreadId, 8, 4, 4);
466 }
467 
468 static void test_pack_ENUMRESLANGPROCA(void)
469 {
470     /* ENUMRESLANGPROCA */
471     TEST_TYPE(ENUMRESLANGPROCA, 4, 4);
472 }
473 
474 static void test_pack_ENUMRESLANGPROCW(void)
475 {
476     /* ENUMRESLANGPROCW */
477     TEST_TYPE(ENUMRESLANGPROCW, 4, 4);
478 }
479 
480 static void test_pack_ENUMRESNAMEPROCA(void)
481 {
482     /* ENUMRESNAMEPROCA */
483     TEST_TYPE(ENUMRESNAMEPROCA, 4, 4);
484 }
485 
486 static void test_pack_ENUMRESNAMEPROCW(void)
487 {
488     /* ENUMRESNAMEPROCW */
489     TEST_TYPE(ENUMRESNAMEPROCW, 4, 4);
490 }
491 
492 static void test_pack_ENUMRESTYPEPROCA(void)
493 {
494     /* ENUMRESTYPEPROCA */
495     TEST_TYPE(ENUMRESTYPEPROCA, 4, 4);
496 }
497 
498 static void test_pack_ENUMRESTYPEPROCW(void)
499 {
500     /* ENUMRESTYPEPROCW */
501     TEST_TYPE(ENUMRESTYPEPROCW, 4, 4);
502 }
503 
504 static void test_pack_EXCEPTION_DEBUG_INFO(void)
505 {
506     /* EXCEPTION_DEBUG_INFO (pack 4) */
507     TEST_TYPE(EXCEPTION_DEBUG_INFO, 84, 4);
508     TEST_FIELD(EXCEPTION_DEBUG_INFO, EXCEPTION_RECORD, ExceptionRecord, 0, 80, 4);
509     TEST_FIELD(EXCEPTION_DEBUG_INFO, DWORD, dwFirstChance, 80, 4, 4);
510 }
511 
512 static void test_pack_EXIT_PROCESS_DEBUG_INFO(void)
513 {
514     /* EXIT_PROCESS_DEBUG_INFO (pack 4) */
515     TEST_TYPE(EXIT_PROCESS_DEBUG_INFO, 4, 4);
516     TEST_FIELD(EXIT_PROCESS_DEBUG_INFO, DWORD, dwExitCode, 0, 4, 4);
517 }
518 
519 static void test_pack_EXIT_THREAD_DEBUG_INFO(void)
520 {
521     /* EXIT_THREAD_DEBUG_INFO (pack 4) */
522     TEST_TYPE(EXIT_THREAD_DEBUG_INFO, 4, 4);
523     TEST_FIELD(EXIT_THREAD_DEBUG_INFO, DWORD, dwExitCode, 0, 4, 4);
524 }
525 
526 static void test_pack_HW_PROFILE_INFOA(void)
527 {
528     /* HW_PROFILE_INFOA (pack 4) */
529     TEST_TYPE(HW_PROFILE_INFOA, 124, 4);
530     TEST_FIELD(HW_PROFILE_INFOA, DWORD, dwDockInfo, 0, 4, 4);
531     TEST_FIELD(HW_PROFILE_INFOA, CHAR[HW_PROFILE_GUIDLEN], szHwProfileGuid, 4, 39, 1);
532     TEST_FIELD(HW_PROFILE_INFOA, CHAR[MAX_PROFILE_LEN], szHwProfileName, 43, 80, 1);
533 }
534 
535 static void test_pack_HW_PROFILE_INFOW(void)
536 {
537     /* HW_PROFILE_INFOW (pack 4) */
538     TEST_TYPE(HW_PROFILE_INFOW, 244, 4);
539     TEST_FIELD(HW_PROFILE_INFOW, DWORD, dwDockInfo, 0, 4, 4);
540     TEST_FIELD(HW_PROFILE_INFOW, WCHAR[HW_PROFILE_GUIDLEN], szHwProfileGuid, 4, 78, 2);
541     TEST_FIELD(HW_PROFILE_INFOW, WCHAR[MAX_PROFILE_LEN], szHwProfileName, 82, 160, 2);
542 }
543 
544 static void test_pack_LOAD_DLL_DEBUG_INFO(void)
545 {
546     /* LOAD_DLL_DEBUG_INFO (pack 4) */
547     TEST_TYPE(LOAD_DLL_DEBUG_INFO, 24, 4);
548     TEST_FIELD(LOAD_DLL_DEBUG_INFO, HANDLE, hFile, 0, 4, 4);
549     TEST_FIELD(LOAD_DLL_DEBUG_INFO, LPVOID, lpBaseOfDll, 4, 4, 4);
550     TEST_FIELD(LOAD_DLL_DEBUG_INFO, DWORD, dwDebugInfoFileOffset, 8, 4, 4);
551     TEST_FIELD(LOAD_DLL_DEBUG_INFO, DWORD, nDebugInfoSize, 12, 4, 4);
552     TEST_FIELD(LOAD_DLL_DEBUG_INFO, LPVOID, lpImageName, 16, 4, 4);
553     TEST_FIELD(LOAD_DLL_DEBUG_INFO, WORD, fUnicode, 20, 2, 2);
554 }
555 
556 static void test_pack_LPBY_HANDLE_FILE_INFORMATION(void)
557 {
558     /* LPBY_HANDLE_FILE_INFORMATION */
559     TEST_TYPE(LPBY_HANDLE_FILE_INFORMATION, 4, 4);
560     TEST_TYPE_POINTER(LPBY_HANDLE_FILE_INFORMATION, 52, 4);
561 }
562 
563 static void test_pack_LPCOMMCONFIG(void)
564 {
565     /* LPCOMMCONFIG */
566     TEST_TYPE(LPCOMMCONFIG, 4, 4);
567     TEST_TYPE_POINTER(LPCOMMCONFIG, 52, 4);
568 }
569 
570 static void test_pack_LPCOMMPROP(void)
571 {
572     /* LPCOMMPROP */
573     TEST_TYPE(LPCOMMPROP, 4, 4);
574     TEST_TYPE_POINTER(LPCOMMPROP, 64, 4);
575 }
576 
577 static void test_pack_LPCOMMTIMEOUTS(void)
578 {
579     /* LPCOMMTIMEOUTS */
580     TEST_TYPE(LPCOMMTIMEOUTS, 4, 4);
581     TEST_TYPE_POINTER(LPCOMMTIMEOUTS, 20, 4);
582 }
583 
584 static void test_pack_LPCOMSTAT(void)
585 {
586     /* LPCOMSTAT */
587     TEST_TYPE(LPCOMSTAT, 4, 4);
588     TEST_TYPE_POINTER(LPCOMSTAT, 12, 4);
589 }
590 
591 static void test_pack_LPCRITICAL_SECTION(void)
592 {
593     /* LPCRITICAL_SECTION */
594     TEST_TYPE(LPCRITICAL_SECTION, 4, 4);
595 }
596 
597 static void test_pack_LPCRITICAL_SECTION_DEBUG(void)
598 {
599     /* LPCRITICAL_SECTION_DEBUG */
600     TEST_TYPE(LPCRITICAL_SECTION_DEBUG, 4, 4);
601 }
602 
603 static void test_pack_LPDCB(void)
604 {
605     /* LPDCB */
606     TEST_TYPE(LPDCB, 4, 4);
607     TEST_TYPE_POINTER(LPDCB, 28, 4);
608 }
609 
610 static void test_pack_LPDEBUG_EVENT(void)
611 {
612     /* LPDEBUG_EVENT */
613     TEST_TYPE(LPDEBUG_EVENT, 4, 4);
614 }
615 
616 static void test_pack_LPEXCEPTION_POINTERS(void)
617 {
618     /* LPEXCEPTION_POINTERS */
619     TEST_TYPE(LPEXCEPTION_POINTERS, 4, 4);
620 }
621 
622 static void test_pack_LPEXCEPTION_RECORD(void)
623 {
624     /* LPEXCEPTION_RECORD */
625     TEST_TYPE(LPEXCEPTION_RECORD, 4, 4);
626 }
627 
628 static void test_pack_LPFIBER_START_ROUTINE(void)
629 {
630     /* LPFIBER_START_ROUTINE */
631     TEST_TYPE(LPFIBER_START_ROUTINE, 4, 4);
632 }
633 
634 static void test_pack_LPHW_PROFILE_INFOA(void)
635 {
636     /* LPHW_PROFILE_INFOA */
637     TEST_TYPE(LPHW_PROFILE_INFOA, 4, 4);
638     TEST_TYPE_POINTER(LPHW_PROFILE_INFOA, 124, 4);
639 }
640 
641 static void test_pack_LPHW_PROFILE_INFOW(void)
642 {
643     /* LPHW_PROFILE_INFOW */
644     TEST_TYPE(LPHW_PROFILE_INFOW, 4, 4);
645     TEST_TYPE_POINTER(LPHW_PROFILE_INFOW, 244, 4);
646 }
647 
648 static void test_pack_LPMEMORYSTATUS(void)
649 {
650     /* LPMEMORYSTATUS */
651     TEST_TYPE(LPMEMORYSTATUS, 4, 4);
652     TEST_TYPE_POINTER(LPMEMORYSTATUS, 32, 4);
653 }
654 
655 static void test_pack_LPMEMORYSTATUSEX(void)
656 {
657     /* LPMEMORYSTATUSEX */
658     TEST_TYPE(LPMEMORYSTATUSEX, 4, 4);
659     TEST_TYPE_POINTER(LPMEMORYSTATUSEX, 64, 8);
660 }
661 
662 static void test_pack_LPOFSTRUCT(void)
663 {
664     /* LPOFSTRUCT */
665     TEST_TYPE(LPOFSTRUCT, 4, 4);
666     TEST_TYPE_POINTER(LPOFSTRUCT, 136, 2);
667 }
668 
669 static void test_pack_LPOVERLAPPED(void)
670 {
671     /* LPOVERLAPPED */
672     TEST_TYPE(LPOVERLAPPED, 4, 4);
673 }
674 
675 static void test_pack_LPOVERLAPPED_COMPLETION_ROUTINE(void)
676 {
677     /* LPOVERLAPPED_COMPLETION_ROUTINE */
678     TEST_TYPE(LPOVERLAPPED_COMPLETION_ROUTINE, 4, 4);
679 }
680 
681 static void test_pack_LPPROCESS_HEAP_ENTRY(void)
682 {
683     /* LPPROCESS_HEAP_ENTRY */
684     TEST_TYPE(LPPROCESS_HEAP_ENTRY, 4, 4);
685 }
686 
687 static void test_pack_LPPROCESS_INFORMATION(void)
688 {
689     /* LPPROCESS_INFORMATION */
690     TEST_TYPE(LPPROCESS_INFORMATION, 4, 4);
691     TEST_TYPE_POINTER(LPPROCESS_INFORMATION, 16, 4);
692 }
693 
694 static void test_pack_LPPROGRESS_ROUTINE(void)
695 {
696     /* LPPROGRESS_ROUTINE */
697     TEST_TYPE(LPPROGRESS_ROUTINE, 4, 4);
698 }
699 
700 static void test_pack_LPSECURITY_ATTRIBUTES(void)
701 {
702     /* LPSECURITY_ATTRIBUTES */
703     TEST_TYPE(LPSECURITY_ATTRIBUTES, 4, 4);
704     TEST_TYPE_POINTER(LPSECURITY_ATTRIBUTES, 12, 4);
705 }
706 
707 static void test_pack_LPSTARTUPINFOA(void)
708 {
709     /* LPSTARTUPINFOA */
710     TEST_TYPE(LPSTARTUPINFOA, 4, 4);
711     TEST_TYPE_POINTER(LPSTARTUPINFOA, 68, 4);
712 }
713 
714 static void test_pack_LPSTARTUPINFOW(void)
715 {
716     /* LPSTARTUPINFOW */
717     TEST_TYPE(LPSTARTUPINFOW, 4, 4);
718     TEST_TYPE_POINTER(LPSTARTUPINFOW, 68, 4);
719 }
720 
721 static void test_pack_LPSYSTEMTIME(void)
722 {
723     /* LPSYSTEMTIME */
724     TEST_TYPE(LPSYSTEMTIME, 4, 4);
725     TEST_TYPE_POINTER(LPSYSTEMTIME, 16, 2);
726 }
727 
728 static void test_pack_LPSYSTEM_INFO(void)
729 {
730     /* LPSYSTEM_INFO */
731     TEST_TYPE(LPSYSTEM_INFO, 4, 4);
732 }
733 
734 static void test_pack_LPSYSTEM_POWER_STATUS(void)
735 {
736     /* LPSYSTEM_POWER_STATUS */
737     TEST_TYPE(LPSYSTEM_POWER_STATUS, 4, 4);
738     TEST_TYPE_POINTER(LPSYSTEM_POWER_STATUS, 12, 4);
739 }
740 
741 static void test_pack_LPTHREAD_START_ROUTINE(void)
742 {
743     /* LPTHREAD_START_ROUTINE */
744     TEST_TYPE(LPTHREAD_START_ROUTINE, 4, 4);
745 }
746 
747 static void test_pack_LPTIME_ZONE_INFORMATION(void)
748 {
749     /* LPTIME_ZONE_INFORMATION */
750     TEST_TYPE(LPTIME_ZONE_INFORMATION, 4, 4);
751     TEST_TYPE_POINTER(LPTIME_ZONE_INFORMATION, 172, 4);
752 }
753 
754 static void test_pack_LPWIN32_FILE_ATTRIBUTE_DATA(void)
755 {
756     /* LPWIN32_FILE_ATTRIBUTE_DATA */
757     TEST_TYPE(LPWIN32_FILE_ATTRIBUTE_DATA, 4, 4);
758     TEST_TYPE_POINTER(LPWIN32_FILE_ATTRIBUTE_DATA, 36, 4);
759 }
760 
761 static void test_pack_LPWIN32_FIND_DATAA(void)
762 {
763     /* LPWIN32_FIND_DATAA */
764     TEST_TYPE(LPWIN32_FIND_DATAA, 4, 4);
765     TEST_TYPE_POINTER(LPWIN32_FIND_DATAA, 320, 4);
766 }
767 
768 static void test_pack_LPWIN32_FIND_DATAW(void)
769 {
770     /* LPWIN32_FIND_DATAW */
771     TEST_TYPE(LPWIN32_FIND_DATAW, 4, 4);
772     TEST_TYPE_POINTER(LPWIN32_FIND_DATAW, 592, 4);
773 }
774 
775 static void test_pack_LPWIN32_STREAM_ID(void)
776 {
777     /* LPWIN32_STREAM_ID */
778     TEST_TYPE(LPWIN32_STREAM_ID, 4, 4);
779     TEST_TYPE_POINTER(LPWIN32_STREAM_ID, 24, 8);
780 }
781 
782 static void test_pack_MEMORYSTATUS(void)
783 {
784     /* MEMORYSTATUS (pack 4) */
785     TEST_TYPE(MEMORYSTATUS, 32, 4);
786     TEST_FIELD(MEMORYSTATUS, DWORD, dwLength, 0, 4, 4);
787     TEST_FIELD(MEMORYSTATUS, DWORD, dwMemoryLoad, 4, 4, 4);
788     TEST_FIELD(MEMORYSTATUS, SIZE_T, dwTotalPhys, 8, 4, 4);
789     TEST_FIELD(MEMORYSTATUS, SIZE_T, dwAvailPhys, 12, 4, 4);
790     TEST_FIELD(MEMORYSTATUS, SIZE_T, dwTotalPageFile, 16, 4, 4);
791     TEST_FIELD(MEMORYSTATUS, SIZE_T, dwAvailPageFile, 20, 4, 4);
792     TEST_FIELD(MEMORYSTATUS, SIZE_T, dwTotalVirtual, 24, 4, 4);
793     TEST_FIELD(MEMORYSTATUS, SIZE_T, dwAvailVirtual, 28, 4, 4);
794 }
795 
796 static void test_pack_MEMORYSTATUSEX(void)
797 {
798     /* MEMORYSTATUSEX (pack 8) */
799     TEST_TYPE(MEMORYSTATUSEX, 64, 8);
800     TEST_FIELD(MEMORYSTATUSEX, DWORD, dwLength, 0, 4, 4);
801     TEST_FIELD(MEMORYSTATUSEX, DWORD, dwMemoryLoad, 4, 4, 4);
802     TEST_FIELD(MEMORYSTATUSEX, DWORDLONG, ullTotalPhys, 8, 8, 8);
803     TEST_FIELD(MEMORYSTATUSEX, DWORDLONG, ullAvailPhys, 16, 8, 8);
804     TEST_FIELD(MEMORYSTATUSEX, DWORDLONG, ullTotalPageFile, 24, 8, 8);
805     TEST_FIELD(MEMORYSTATUSEX, DWORDLONG, ullAvailPageFile, 32, 8, 8);
806     TEST_FIELD(MEMORYSTATUSEX, DWORDLONG, ullTotalVirtual, 40, 8, 8);
807     TEST_FIELD(MEMORYSTATUSEX, DWORDLONG, ullAvailVirtual, 48, 8, 8);
808     TEST_FIELD(MEMORYSTATUSEX, DWORDLONG, ullAvailExtendedVirtual, 56, 8, 8);
809 }
810 
811 static void test_pack_OFSTRUCT(void)
812 {
813     /* OFSTRUCT (pack 4) */
814     TEST_TYPE(OFSTRUCT, 136, 2);
815     TEST_FIELD(OFSTRUCT, BYTE, cBytes, 0, 1, 1);
816     TEST_FIELD(OFSTRUCT, BYTE, fFixedDisk, 1, 1, 1);
817     TEST_FIELD(OFSTRUCT, WORD, nErrCode, 2, 2, 2);
818     TEST_FIELD(OFSTRUCT, WORD, Reserved1, 4, 2, 2);
819     TEST_FIELD(OFSTRUCT, WORD, Reserved2, 6, 2, 2);
820     TEST_FIELD(OFSTRUCT, CHAR[OFS_MAXPATHNAME], szPathName, 8, 128, 1);
821 }
822 
823 static void test_pack_OUTPUT_DEBUG_STRING_INFO(void)
824 {
825     /* OUTPUT_DEBUG_STRING_INFO (pack 4) */
826     TEST_TYPE(OUTPUT_DEBUG_STRING_INFO, 8, 4);
827     TEST_FIELD(OUTPUT_DEBUG_STRING_INFO, LPSTR, lpDebugStringData, 0, 4, 4);
828     TEST_FIELD(OUTPUT_DEBUG_STRING_INFO, WORD, fUnicode, 4, 2, 2);
829     TEST_FIELD(OUTPUT_DEBUG_STRING_INFO, WORD, nDebugStringLength, 6, 2, 2);
830 }
831 
832 static void test_pack_PACTCTXA(void)
833 {
834     /* PACTCTXA */
835     TEST_TYPE(PACTCTXA, 4, 4);
836     TEST_TYPE_POINTER(PACTCTXA, 32, 4);
837 }
838 
839 static void test_pack_PACTCTXW(void)
840 {
841     /* PACTCTXW */
842     TEST_TYPE(PACTCTXW, 4, 4);
843     TEST_TYPE_POINTER(PACTCTXW, 32, 4);
844 }
845 
846 static void test_pack_PACTCTX_SECTION_KEYED_DATA(void)
847 {
848     /* PACTCTX_SECTION_KEYED_DATA */
849     TEST_TYPE(PACTCTX_SECTION_KEYED_DATA, 4, 4);
850     TEST_TYPE_POINTER(PACTCTX_SECTION_KEYED_DATA, 64, 4);
851 }
852 
853 static void test_pack_PACTCTX_SECTION_KEYED_DATA_2600(void)
854 {
855     /* PACTCTX_SECTION_KEYED_DATA_2600 */
856     TEST_TYPE(PACTCTX_SECTION_KEYED_DATA_2600, 4, 4);
857     TEST_TYPE_POINTER(PACTCTX_SECTION_KEYED_DATA_2600, 40, 4);
858 }
859 
860 static void test_pack_PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA(void)
861 {
862     /* PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA */
863     TEST_TYPE(PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 4, 4);
864     TEST_TYPE_POINTER(PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 20, 4);
865 }
866