winapi_test: FIELD_ALIGNMENT() is redundant so remove it.
[wine] / dlls / wininet / tests / generated.c
1 /* File generated automatically from tools/winapi/tests.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 <stdarg.h>
15 #include "windef.h"
16 #include "winbase.h"
17 #include "wininet.h"
18 #include "wininet_test.h"
19
20 #include "wine/test.h"
21
22 /***********************************************************************
23  * Compatibility macros
24  */
25
26 #define DWORD_PTR UINT_PTR
27 #define LONG_PTR INT_PTR
28 #define ULONG_PTR UINT_PTR
29
30 /***********************************************************************
31  * Windows API extension
32  */
33
34 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
35 # define _TYPE_ALIGNMENT(type) __alignof(type)
36 #elif defined(__GNUC__)
37 # define _TYPE_ALIGNMENT(type) __alignof__(type)
38 #else
39 /*
40  * FIXME: May not be possible without a compiler extension
41  *        (if type is not just a name that is, otherwise the normal
42  *         TYPE_ALIGNMENT can be used)
43  */
44 #endif
45
46 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
47 #pragma warning(disable:4116)
48 #endif
49
50 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
51 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
52 #endif
53
54 /***********************************************************************
55  * Test helper macros
56  */
57
58 #ifdef FIELD_ALIGNMENT
59 # define TEST_FIELD_ALIGNMENT(type, field, align) \
60    ok(_TYPE_ALIGNMENT(((type*)0)->field) == align, \
61        "FIELD_ALIGNMENT(" #type ", " #field ") == %d (expected " #align ")\n", \
62            (int)_TYPE_ALIGNMENT(((type*)0)->field))
63 #else
64 # define TEST_FIELD_ALIGNMENT(type, field, align) do { } while (0)
65 #endif
66
67 #define TEST_FIELD_OFFSET(type, field, offset) \
68     ok(FIELD_OFFSET(type, field) == offset, \
69         "FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")\n", \
70              (long int)FIELD_OFFSET(type, field))
71
72 #ifdef _TYPE_ALIGNMENT
73 #define TEST__TYPE_ALIGNMENT(type, align) \
74     ok(_TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", (int)_TYPE_ALIGNMENT(type))
75 #else
76 # define TEST__TYPE_ALIGNMENT(type, align) do { } while (0)
77 #endif
78
79 #ifdef TYPE_ALIGNMENT
80 #define TEST_TYPE_ALIGNMENT(type, align) \
81     ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", (int)TYPE_ALIGNMENT(type))
82 #else
83 # define TEST_TYPE_ALIGNMENT(type, align) do { } while (0)
84 #endif
85
86 #define TEST_TYPE_SIZE(type, size) \
87     ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")\n", ((int) sizeof(type)))
88
89 /***********************************************************************
90  * Test macros
91  */
92
93 #define TEST_FIELD(type, field_type, field_name, field_offset, field_size, field_align) \
94   TEST_TYPE_SIZE(field_type, field_size); \
95   TEST_FIELD_ALIGNMENT(type, field_name, field_align); \
96   TEST_FIELD_OFFSET(type, field_name, field_offset); \
97
98 #define TEST_TYPE(type, size, align) \
99   TEST_TYPE_ALIGNMENT(type, align); \
100   TEST_TYPE_SIZE(type, size)
101
102 #define TEST_TYPE_POINTER(type, size, align) \
103     TEST__TYPE_ALIGNMENT(*(type)0, align); \
104     TEST_TYPE_SIZE(*(type)0, size)
105
106 #define TEST_TYPE_SIGNED(type) \
107     ok((type) -1 < 0, "(" #type ") -1 < 0\n");
108
109 #define TEST_TYPE_UNSIGNED(type) \
110      ok((type) -1 > 0, "(" #type ") -1 > 0\n");
111
112 static void test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEA(void)
113 {
114     /* GOPHER_ABSTRACT_ATTRIBUTE_TYPEA (pack 4) */
115     TEST_TYPE(GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 8, 4);
116     TEST_FIELD(GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, LPCSTR, ShortAbstract, 0, 4, 4);
117     TEST_FIELD(GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, LPCSTR, AbstractFile, 4, 4, 4);
118 }
119
120 static void test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEW(void)
121 {
122     /* GOPHER_ABSTRACT_ATTRIBUTE_TYPEW (pack 4) */
123     TEST_TYPE(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 8, 4);
124     TEST_FIELD(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, LPCWSTR, ShortAbstract, 0, 4, 4);
125     TEST_FIELD(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, LPCWSTR, AbstractFile, 4, 4, 4);
126 }
127
128 static void test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEA(void)
129 {
130     /* GOPHER_ADMIN_ATTRIBUTE_TYPEA (pack 4) */
131     TEST_TYPE(GOPHER_ADMIN_ATTRIBUTE_TYPEA, 8, 4);
132     TEST_FIELD(GOPHER_ADMIN_ATTRIBUTE_TYPEA, LPCSTR, Comment, 0, 4, 4);
133     TEST_FIELD(GOPHER_ADMIN_ATTRIBUTE_TYPEA, LPCSTR, EmailAddress, 4, 4, 4);
134 }
135
136 static void test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEW(void)
137 {
138     /* GOPHER_ADMIN_ATTRIBUTE_TYPEW (pack 4) */
139     TEST_TYPE(GOPHER_ADMIN_ATTRIBUTE_TYPEW, 8, 4);
140     TEST_FIELD(GOPHER_ADMIN_ATTRIBUTE_TYPEW, LPCWSTR, Comment, 0, 4, 4);
141     TEST_FIELD(GOPHER_ADMIN_ATTRIBUTE_TYPEW, LPCWSTR, EmailAddress, 4, 4, 4);
142 }
143
144 static void test_pack_GOPHER_ASK_ATTRIBUTE_TYPEA(void)
145 {
146     /* GOPHER_ASK_ATTRIBUTE_TYPEA (pack 4) */
147     TEST_TYPE(GOPHER_ASK_ATTRIBUTE_TYPEA, 8, 4);
148     TEST_FIELD(GOPHER_ASK_ATTRIBUTE_TYPEA, LPCSTR, QuestionType, 0, 4, 4);
149     TEST_FIELD(GOPHER_ASK_ATTRIBUTE_TYPEA, LPCSTR, QuestionText, 4, 4, 4);
150 }
151
152 static void test_pack_GOPHER_ASK_ATTRIBUTE_TYPEW(void)
153 {
154     /* GOPHER_ASK_ATTRIBUTE_TYPEW (pack 4) */
155     TEST_TYPE(GOPHER_ASK_ATTRIBUTE_TYPEW, 8, 4);
156     TEST_FIELD(GOPHER_ASK_ATTRIBUTE_TYPEW, LPCWSTR, QuestionType, 0, 4, 4);
157     TEST_FIELD(GOPHER_ASK_ATTRIBUTE_TYPEW, LPCWSTR, QuestionText, 4, 4, 4);
158 }
159
160 static void test_pack_GOPHER_ATTRIBUTE_ENUMERATORA(void)
161 {
162     /* GOPHER_ATTRIBUTE_ENUMERATORA */
163     TEST_TYPE(GOPHER_ATTRIBUTE_ENUMERATORA, 4, 4);
164 }
165
166 static void test_pack_GOPHER_ATTRIBUTE_ENUMERATORW(void)
167 {
168     /* GOPHER_ATTRIBUTE_ENUMERATORW */
169     TEST_TYPE(GOPHER_ATTRIBUTE_ENUMERATORW, 4, 4);
170 }
171
172 static void test_pack_GOPHER_ATTRIBUTE_TYPEA(void)
173 {
174     /* GOPHER_ATTRIBUTE_TYPEA (pack 4) */
175     TEST_FIELD(GOPHER_ATTRIBUTE_TYPEA, DWORD, CategoryId, 0, 4, 4);
176     TEST_FIELD(GOPHER_ATTRIBUTE_TYPEA, DWORD, AttributeId, 4, 4, 4);
177 }
178
179 static void test_pack_GOPHER_ATTRIBUTE_TYPEW(void)
180 {
181     /* GOPHER_ATTRIBUTE_TYPEW (pack 4) */
182     TEST_FIELD(GOPHER_ATTRIBUTE_TYPEW, DWORD, CategoryId, 0, 4, 4);
183     TEST_FIELD(GOPHER_ATTRIBUTE_TYPEW, DWORD, AttributeId, 4, 4, 4);
184 }
185
186 static void test_pack_GOPHER_FIND_DATAA(void)
187 {
188     /* GOPHER_FIND_DATAA (pack 4) */
189     TEST_TYPE(GOPHER_FIND_DATAA, 808, 4);
190     TEST_FIELD(GOPHER_FIND_DATAA, CHAR[MAX_GOPHER_DISPLAY_TEXT + 1], DisplayString, 0, 129, 1);
191     TEST_FIELD(GOPHER_FIND_DATAA, DWORD, GopherType, 132, 4, 4);
192     TEST_FIELD(GOPHER_FIND_DATAA, DWORD, SizeLow, 136, 4, 4);
193     TEST_FIELD(GOPHER_FIND_DATAA, DWORD, SizeHigh, 140, 4, 4);
194     TEST_FIELD(GOPHER_FIND_DATAA, FILETIME, LastModificationTime, 144, 8, 4);
195     TEST_FIELD(GOPHER_FIND_DATAA, CHAR[MAX_GOPHER_LOCATOR_LENGTH + 1], Locator, 152, 654, 1);
196 }
197
198 static void test_pack_GOPHER_FIND_DATAW(void)
199 {
200     /* GOPHER_FIND_DATAW (pack 4) */
201     TEST_TYPE(GOPHER_FIND_DATAW, 1588, 4);
202     TEST_FIELD(GOPHER_FIND_DATAW, WCHAR[MAX_GOPHER_DISPLAY_TEXT + 1], DisplayString, 0, 258, 2);
203     TEST_FIELD(GOPHER_FIND_DATAW, DWORD, GopherType, 260, 4, 4);
204     TEST_FIELD(GOPHER_FIND_DATAW, DWORD, SizeLow, 264, 4, 4);
205     TEST_FIELD(GOPHER_FIND_DATAW, DWORD, SizeHigh, 268, 4, 4);
206     TEST_FIELD(GOPHER_FIND_DATAW, FILETIME, LastModificationTime, 272, 8, 4);
207     TEST_FIELD(GOPHER_FIND_DATAW, WCHAR[MAX_GOPHER_LOCATOR_LENGTH + 1], Locator, 280, 1308, 2);
208 }
209
210 static void test_pack_GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE(void)
211 {
212     /* GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE (pack 4) */
213     TEST_TYPE(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24, 4);
214     TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, DegreesNorth, 0, 4, 4);
215     TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, MinutesNorth, 4, 4, 4);
216     TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, SecondsNorth, 8, 4, 4);
217     TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, DegreesEast, 12, 4, 4);
218     TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, MinutesEast, 16, 4, 4);
219     TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, SecondsEast, 20, 4, 4);
220 }
221
222 static void test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEA(void)
223 {
224     /* GOPHER_LOCATION_ATTRIBUTE_TYPEA (pack 4) */
225     TEST_TYPE(GOPHER_LOCATION_ATTRIBUTE_TYPEA, 4, 4);
226     TEST_FIELD(GOPHER_LOCATION_ATTRIBUTE_TYPEA, LPCSTR, Location, 0, 4, 4);
227 }
228
229 static void test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEW(void)
230 {
231     /* GOPHER_LOCATION_ATTRIBUTE_TYPEW (pack 4) */
232     TEST_TYPE(GOPHER_LOCATION_ATTRIBUTE_TYPEW, 4, 4);
233     TEST_FIELD(GOPHER_LOCATION_ATTRIBUTE_TYPEW, LPCWSTR, Location, 0, 4, 4);
234 }
235
236 static void test_pack_GOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
237 {
238     /* GOPHER_MOD_DATE_ATTRIBUTE_TYPE (pack 4) */
239     TEST_TYPE(GOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8, 4);
240     TEST_FIELD(GOPHER_MOD_DATE_ATTRIBUTE_TYPE, FILETIME, DateAndTime, 0, 8, 4);
241 }
242
243 static void test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA(void)
244 {
245     /* GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA (pack 4) */
246     TEST_TYPE(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4, 4);
247     TEST_FIELD(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, LPCSTR, Organization, 0, 4, 4);
248 }
249
250 static void test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW(void)
251 {
252     /* GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW (pack 4) */
253     TEST_TYPE(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4, 4);
254     TEST_FIELD(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, LPCWSTR, Organization, 0, 4, 4);
255 }
256
257 static void test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEA(void)
258 {
259     /* GOPHER_PROVIDER_ATTRIBUTE_TYPEA (pack 4) */
260     TEST_TYPE(GOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4, 4);
261     TEST_FIELD(GOPHER_PROVIDER_ATTRIBUTE_TYPEA, LPCSTR, Provider, 0, 4, 4);
262 }
263
264 static void test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEW(void)
265 {
266     /* GOPHER_PROVIDER_ATTRIBUTE_TYPEW (pack 4) */
267     TEST_TYPE(GOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4, 4);
268     TEST_FIELD(GOPHER_PROVIDER_ATTRIBUTE_TYPEW, LPCWSTR, Provider, 0, 4, 4);
269 }
270
271 static void test_pack_GOPHER_SCORE_ATTRIBUTE_TYPE(void)
272 {
273     /* GOPHER_SCORE_ATTRIBUTE_TYPE (pack 4) */
274     TEST_TYPE(GOPHER_SCORE_ATTRIBUTE_TYPE, 4, 4);
275     TEST_FIELD(GOPHER_SCORE_ATTRIBUTE_TYPE, INT, Score, 0, 4, 4);
276 }
277
278 static void test_pack_GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE(void)
279 {
280     /* GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE (pack 4) */
281     TEST_TYPE(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8, 4);
282     TEST_FIELD(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, INT, LowerBound, 0, 4, 4);
283     TEST_FIELD(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, INT, UpperBound, 4, 4, 4);
284 }
285
286 static void test_pack_GOPHER_SITE_ATTRIBUTE_TYPEA(void)
287 {
288     /* GOPHER_SITE_ATTRIBUTE_TYPEA (pack 4) */
289     TEST_TYPE(GOPHER_SITE_ATTRIBUTE_TYPEA, 4, 4);
290     TEST_FIELD(GOPHER_SITE_ATTRIBUTE_TYPEA, LPCSTR, Site, 0, 4, 4);
291 }
292
293 static void test_pack_GOPHER_SITE_ATTRIBUTE_TYPEW(void)
294 {
295     /* GOPHER_SITE_ATTRIBUTE_TYPEW (pack 4) */
296     TEST_TYPE(GOPHER_SITE_ATTRIBUTE_TYPEW, 4, 4);
297     TEST_FIELD(GOPHER_SITE_ATTRIBUTE_TYPEW, LPCWSTR, Site, 0, 4, 4);
298 }
299
300 static void test_pack_GOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
301 {
302     /* GOPHER_TIMEZONE_ATTRIBUTE_TYPE (pack 4) */
303     TEST_TYPE(GOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4, 4);
304     TEST_FIELD(GOPHER_TIMEZONE_ATTRIBUTE_TYPE, INT, Zone, 0, 4, 4);
305 }
306
307 static void test_pack_GOPHER_TTL_ATTRIBUTE_TYPE(void)
308 {
309     /* GOPHER_TTL_ATTRIBUTE_TYPE (pack 4) */
310     TEST_TYPE(GOPHER_TTL_ATTRIBUTE_TYPE, 4, 4);
311     TEST_FIELD(GOPHER_TTL_ATTRIBUTE_TYPE, DWORD, Ttl, 0, 4, 4);
312 }
313
314 static void test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEA(void)
315 {
316     /* GOPHER_UNKNOWN_ATTRIBUTE_TYPEA (pack 4) */
317     TEST_TYPE(GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4, 4);
318     TEST_FIELD(GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, LPCSTR, Text, 0, 4, 4);
319 }
320
321 static void test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEW(void)
322 {
323     /* GOPHER_UNKNOWN_ATTRIBUTE_TYPEW (pack 4) */
324     TEST_TYPE(GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4, 4);
325     TEST_FIELD(GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, LPCWSTR, Text, 0, 4, 4);
326 }
327
328 static void test_pack_GOPHER_VERONICA_ATTRIBUTE_TYPE(void)
329 {
330     /* GOPHER_VERONICA_ATTRIBUTE_TYPE (pack 4) */
331     TEST_TYPE(GOPHER_VERONICA_ATTRIBUTE_TYPE, 4, 4);
332     TEST_FIELD(GOPHER_VERONICA_ATTRIBUTE_TYPE, BOOL, TreeWalk, 0, 4, 4);
333 }
334
335 static void test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEA(void)
336 {
337     /* GOPHER_VERSION_ATTRIBUTE_TYPEA (pack 4) */
338     TEST_TYPE(GOPHER_VERSION_ATTRIBUTE_TYPEA, 4, 4);
339     TEST_FIELD(GOPHER_VERSION_ATTRIBUTE_TYPEA, LPCSTR, Version, 0, 4, 4);
340 }
341
342 static void test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEW(void)
343 {
344     /* GOPHER_VERSION_ATTRIBUTE_TYPEW (pack 4) */
345     TEST_TYPE(GOPHER_VERSION_ATTRIBUTE_TYPEW, 4, 4);
346     TEST_FIELD(GOPHER_VERSION_ATTRIBUTE_TYPEW, LPCWSTR, Version, 0, 4, 4);
347 }
348
349 static void test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEA(void)
350 {
351     /* GOPHER_VIEW_ATTRIBUTE_TYPEA (pack 4) */
352     TEST_TYPE(GOPHER_VIEW_ATTRIBUTE_TYPEA, 12, 4);
353     TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEA, LPCSTR, ContentType, 0, 4, 4);
354     TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEA, LPCSTR, Language, 4, 4, 4);
355     TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEA, DWORD, Size, 8, 4, 4);
356 }
357
358 static void test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEW(void)
359 {
360     /* GOPHER_VIEW_ATTRIBUTE_TYPEW (pack 4) */
361     TEST_TYPE(GOPHER_VIEW_ATTRIBUTE_TYPEW, 12, 4);
362     TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEW, LPCWSTR, ContentType, 0, 4, 4);
363     TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEW, LPCWSTR, Language, 4, 4, 4);
364     TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEW, DWORD, Size, 8, 4, 4);
365 }
366
367 static void test_pack_GROUPID(void)
368 {
369     /* GROUPID */
370     TEST_TYPE(GROUPID, 8, 8);
371     TEST_TYPE_SIGNED(GROUPID);
372 }
373
374 static void test_pack_HINTERNET(void)
375 {
376     /* HINTERNET */
377     TEST_TYPE(HINTERNET, 4, 4);
378 }
379
380 static void test_pack_HTTP_VERSION_INFO(void)
381 {
382     /* HTTP_VERSION_INFO (pack 4) */
383     TEST_TYPE(HTTP_VERSION_INFO, 8, 4);
384     TEST_FIELD(HTTP_VERSION_INFO, DWORD, dwMajorVersion, 0, 4, 4);
385     TEST_FIELD(HTTP_VERSION_INFO, DWORD, dwMinorVersion, 4, 4, 4);
386 }
387
388 static void test_pack_INTERNET_ASYNC_RESULT(void)
389 {
390     /* INTERNET_ASYNC_RESULT (pack 4) */
391     TEST_TYPE(INTERNET_ASYNC_RESULT, 8, 4);
392     TEST_FIELD(INTERNET_ASYNC_RESULT, DWORD_PTR, dwResult, 0, 4, 4);
393     TEST_FIELD(INTERNET_ASYNC_RESULT, DWORD, dwError, 4, 4, 4);
394 }
395
396 static void test_pack_INTERNET_AUTH_NOTIFY_DATA(void)
397 {
398     /* INTERNET_AUTH_NOTIFY_DATA (pack 4) */
399     TEST_TYPE(INTERNET_AUTH_NOTIFY_DATA, 16, 4);
400     TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, DWORD, cbStruct, 0, 4, 4);
401     TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, DWORD, dwOptions, 4, 4, 4);
402     TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, PFN_AUTH_NOTIFY, pfnNotify, 8, 4, 4);
403     TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, DWORD_PTR, dwContext, 12, 4, 4);
404 }
405
406 static void test_pack_INTERNET_BUFFERSA(void)
407 {
408     /* INTERNET_BUFFERSA (pack 4) */
409     TEST_TYPE(INTERNET_BUFFERSA, 40, 4);
410     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwStructSize, 0, 4, 4);
411     TEST_FIELD(INTERNET_BUFFERSA, struct _INTERNET_BUFFERSA *, Next, 4, 4, 4);
412     TEST_FIELD(INTERNET_BUFFERSA, LPCSTR, lpcszHeader, 8, 4, 4);
413     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwHeadersLength, 12, 4, 4);
414     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwHeadersTotal, 16, 4, 4);
415     TEST_FIELD(INTERNET_BUFFERSA, LPVOID, lpvBuffer, 20, 4, 4);
416     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwBufferLength, 24, 4, 4);
417     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwBufferTotal, 28, 4, 4);
418     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwOffsetLow, 32, 4, 4);
419     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwOffsetHigh, 36, 4, 4);
420 }
421
422 static void test_pack_INTERNET_BUFFERSW(void)
423 {
424     /* INTERNET_BUFFERSW (pack 4) */
425     TEST_TYPE(INTERNET_BUFFERSW, 40, 4);
426     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwStructSize, 0, 4, 4);
427     TEST_FIELD(INTERNET_BUFFERSW, struct _INTERNET_BUFFERSW *, Next, 4, 4, 4);
428     TEST_FIELD(INTERNET_BUFFERSW, LPCWSTR, lpcszHeader, 8, 4, 4);
429     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwHeadersLength, 12, 4, 4);
430     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwHeadersTotal, 16, 4, 4);
431     TEST_FIELD(INTERNET_BUFFERSW, LPVOID, lpvBuffer, 20, 4, 4);
432     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwBufferLength, 24, 4, 4);
433     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwBufferTotal, 28, 4, 4);
434     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwOffsetLow, 32, 4, 4);
435     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwOffsetHigh, 36, 4, 4);
436 }
437
438 static void test_pack_INTERNET_CACHE_ENTRY_INFOA(void)
439 {
440     /* INTERNET_CACHE_ENTRY_INFOA (pack 4) */
441     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, DWORD, dwStructSize, 0, 4, 4);
442     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, LPSTR, lpszSourceUrlName, 4, 4, 4);
443     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, LPSTR, lpszLocalFileName, 8, 4, 4);
444     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, DWORD, CacheEntryType, 12, 4, 4);
445     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, DWORD, dwUseCount, 16, 4, 4);
446     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, DWORD, dwHitRate, 20, 4, 4);
447     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, DWORD, dwSizeLow, 24, 4, 4);
448     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, DWORD, dwSizeHigh, 28, 4, 4);
449     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, FILETIME, LastModifiedTime, 32, 8, 4);
450     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, FILETIME, ExpireTime, 40, 8, 4);
451     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, FILETIME, LastAccessTime, 48, 8, 4);
452     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, FILETIME, LastSyncTime, 56, 8, 4);
453     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, LPBYTE, lpHeaderInfo, 64, 4, 4);
454     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, DWORD, dwHeaderInfoSize, 68, 4, 4);
455     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, LPSTR, lpszFileExtension, 72, 4, 4);
456 }
457
458 static void test_pack_INTERNET_CACHE_ENTRY_INFOW(void)
459 {
460     /* INTERNET_CACHE_ENTRY_INFOW (pack 4) */
461     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwStructSize, 0, 4, 4);
462     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, LPWSTR, lpszSourceUrlName, 4, 4, 4);
463     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, LPWSTR, lpszLocalFileName, 8, 4, 4);
464     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, CacheEntryType, 12, 4, 4);
465     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwUseCount, 16, 4, 4);
466     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwHitRate, 20, 4, 4);
467     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwSizeLow, 24, 4, 4);
468     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwSizeHigh, 28, 4, 4);
469     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, LastModifiedTime, 32, 8, 4);
470     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, ExpireTime, 40, 8, 4);
471     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, LastAccessTime, 48, 8, 4);
472     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, LastSyncTime, 56, 8, 4);
473     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, LPBYTE, lpHeaderInfo, 64, 4, 4);
474     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwHeaderInfoSize, 68, 4, 4);
475     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, LPWSTR, lpszFileExtension, 72, 4, 4);
476 }
477
478 static void test_pack_INTERNET_CERTIFICATE_INFOA(void)
479 {
480     /* INTERNET_CERTIFICATE_INFOA (pack 4) */
481     TEST_TYPE(INTERNET_CERTIFICATE_INFOA, 40, 4);
482     TEST_FIELD(INTERNET_CERTIFICATE_INFOA, FILETIME, ftExpiry, 0, 8, 4);
483     TEST_FIELD(INTERNET_CERTIFICATE_INFOA, FILETIME, ftStart, 8, 8, 4);
484     TEST_FIELD(INTERNET_CERTIFICATE_INFOA, LPSTR, lpszSubjectInfo, 16, 4, 4);
485     TEST_FIELD(INTERNET_CERTIFICATE_INFOA, LPSTR, lpszIssuerInfo, 20, 4, 4);
486     TEST_FIELD(INTERNET_CERTIFICATE_INFOA, LPSTR, lpszProtocolName, 24, 4, 4);
487     TEST_FIELD(INTERNET_CERTIFICATE_INFOA, LPSTR, lpszSignatureAlgName, 28, 4, 4);
488     TEST_FIELD(INTERNET_CERTIFICATE_INFOA, LPSTR, lpszEncryptionAlgName, 32, 4, 4);
489     TEST_FIELD(INTERNET_CERTIFICATE_INFOA, DWORD, dwKeySize, 36, 4, 4);
490 }
491
492 static void test_pack_INTERNET_CERTIFICATE_INFOW(void)
493 {
494     /* INTERNET_CERTIFICATE_INFOW (pack 4) */
495     TEST_TYPE(INTERNET_CERTIFICATE_INFOW, 40, 4);
496     TEST_FIELD(INTERNET_CERTIFICATE_INFOW, FILETIME, ftExpiry, 0, 8, 4);
497     TEST_FIELD(INTERNET_CERTIFICATE_INFOW, FILETIME, ftStart, 8, 8, 4);
498     TEST_FIELD(INTERNET_CERTIFICATE_INFOW, LPWSTR, lpszSubjectInfo, 16, 4, 4);
499     TEST_FIELD(INTERNET_CERTIFICATE_INFOW, LPWSTR, lpszIssuerInfo, 20, 4, 4);
500     TEST_FIELD(INTERNET_CERTIFICATE_INFOW, LPWSTR, lpszProtocolName, 24, 4, 4);
501     TEST_FIELD(INTERNET_CERTIFICATE_INFOW, LPWSTR, lpszSignatureAlgName, 28, 4, 4);
502     TEST_FIELD(INTERNET_CERTIFICATE_INFOW, LPWSTR, lpszEncryptionAlgName, 32, 4, 4);
503     TEST_FIELD(INTERNET_CERTIFICATE_INFOW, DWORD, dwKeySize, 36, 4, 4);
504 }
505
506 static void test_pack_INTERNET_CONNECTED_INFO(void)
507 {
508     /* INTERNET_CONNECTED_INFO (pack 4) */
509     TEST_TYPE(INTERNET_CONNECTED_INFO, 8, 4);
510     TEST_FIELD(INTERNET_CONNECTED_INFO, DWORD, dwConnectedState, 0, 4, 4);
511     TEST_FIELD(INTERNET_CONNECTED_INFO, DWORD, dwFlags, 4, 4, 4);
512 }
513
514 static void test_pack_INTERNET_PORT(void)
515 {
516     /* INTERNET_PORT */
517     TEST_TYPE(INTERNET_PORT, 2, 2);
518     TEST_TYPE_UNSIGNED(INTERNET_PORT);
519 }
520
521 static void test_pack_INTERNET_PROXY_INFOA(void)
522 {
523     /* INTERNET_PROXY_INFOA (pack 4) */
524     TEST_TYPE(INTERNET_PROXY_INFOA, 12, 4);
525     TEST_FIELD(INTERNET_PROXY_INFOA, DWORD, dwAccessType, 0, 4, 4);
526     TEST_FIELD(INTERNET_PROXY_INFOA, LPCSTR, lpszProxy, 4, 4, 4);
527     TEST_FIELD(INTERNET_PROXY_INFOA, LPCSTR, lpszProxyBypass, 8, 4, 4);
528 }
529
530 static void test_pack_INTERNET_PROXY_INFOW(void)
531 {
532     /* INTERNET_PROXY_INFOW (pack 4) */
533     TEST_TYPE(INTERNET_PROXY_INFOW, 12, 4);
534     TEST_FIELD(INTERNET_PROXY_INFOW, DWORD, dwAccessType, 0, 4, 4);
535     TEST_FIELD(INTERNET_PROXY_INFOW, LPCWSTR, lpszProxy, 4, 4, 4);
536     TEST_FIELD(INTERNET_PROXY_INFOW, LPCWSTR, lpszProxyBypass, 8, 4, 4);
537 }
538
539 static void test_pack_INTERNET_STATUS_CALLBACK(void)
540 {
541     /* INTERNET_STATUS_CALLBACK */
542     TEST_TYPE(INTERNET_STATUS_CALLBACK, 4, 4);
543 }
544
545 static void test_pack_INTERNET_VERSION_INFO(void)
546 {
547     /* INTERNET_VERSION_INFO (pack 4) */
548     TEST_TYPE(INTERNET_VERSION_INFO, 8, 4);
549     TEST_FIELD(INTERNET_VERSION_INFO, DWORD, dwMajorVersion, 0, 4, 4);
550     TEST_FIELD(INTERNET_VERSION_INFO, DWORD, dwMinorVersion, 4, 4, 4);
551 }
552
553 static void test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA(void)
554 {
555     /* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA */
556     TEST_TYPE(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 4, 4);
557     TEST_TYPE_POINTER(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 8, 4);
558 }
559
560 static void test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW(void)
561 {
562     /* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW */
563     TEST_TYPE(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 4, 4);
564     TEST_TYPE_POINTER(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 8, 4);
565 }
566
567 static void test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEA(void)
568 {
569     /* LPGOPHER_ADMIN_ATTRIBUTE_TYPEA */
570     TEST_TYPE(LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 4, 4);
571     TEST_TYPE_POINTER(LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 8, 4);
572 }
573
574 static void test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEW(void)
575 {
576     /* LPGOPHER_ADMIN_ATTRIBUTE_TYPEW */
577     TEST_TYPE(LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 4, 4);
578     TEST_TYPE_POINTER(LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 8, 4);
579 }
580
581 static void test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEA(void)
582 {
583     /* LPGOPHER_ASK_ATTRIBUTE_TYPEA */
584     TEST_TYPE(LPGOPHER_ASK_ATTRIBUTE_TYPEA, 4, 4);
585     TEST_TYPE_POINTER(LPGOPHER_ASK_ATTRIBUTE_TYPEA, 8, 4);
586 }
587
588 static void test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEW(void)
589 {
590     /* LPGOPHER_ASK_ATTRIBUTE_TYPEW */
591     TEST_TYPE(LPGOPHER_ASK_ATTRIBUTE_TYPEW, 4, 4);
592     TEST_TYPE_POINTER(LPGOPHER_ASK_ATTRIBUTE_TYPEW, 8, 4);
593 }
594
595 static void test_pack_LPGOPHER_ATTRIBUTE_TYPEA(void)
596 {
597     /* LPGOPHER_ATTRIBUTE_TYPEA */
598     TEST_TYPE(LPGOPHER_ATTRIBUTE_TYPEA, 4, 4);
599 }
600
601 static void test_pack_LPGOPHER_ATTRIBUTE_TYPEW(void)
602 {
603     /* LPGOPHER_ATTRIBUTE_TYPEW */
604     TEST_TYPE(LPGOPHER_ATTRIBUTE_TYPEW, 4, 4);
605 }
606
607 static void test_pack_LPGOPHER_FIND_DATAA(void)
608 {
609     /* LPGOPHER_FIND_DATAA */
610     TEST_TYPE(LPGOPHER_FIND_DATAA, 4, 4);
611     TEST_TYPE_POINTER(LPGOPHER_FIND_DATAA, 808, 4);
612 }
613
614 static void test_pack_LPGOPHER_FIND_DATAW(void)
615 {
616     /* LPGOPHER_FIND_DATAW */
617     TEST_TYPE(LPGOPHER_FIND_DATAW, 4, 4);
618     TEST_TYPE_POINTER(LPGOPHER_FIND_DATAW, 1588, 4);
619 }
620
621 static void test_pack_LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE(void)
622 {
623     /* LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE */
624     TEST_TYPE(LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 4, 4);
625     TEST_TYPE_POINTER(LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24, 4);
626 }
627
628 static void test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEA(void)
629 {
630     /* LPGOPHER_LOCATION_ATTRIBUTE_TYPEA */
631     TEST_TYPE(LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 4, 4);
632     TEST_TYPE_POINTER(LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 4, 4);
633 }
634
635 static void test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEW(void)
636 {
637     /* LPGOPHER_LOCATION_ATTRIBUTE_TYPEW */
638     TEST_TYPE(LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 4, 4);
639     TEST_TYPE_POINTER(LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 4, 4);
640 }
641
642 static void test_pack_LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
643 {
644     /* LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE */
645     TEST_TYPE(LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 4, 4);
646     TEST_TYPE_POINTER(LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8, 4);
647 }
648
649 static void test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA(void)
650 {
651     /* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA */
652     TEST_TYPE(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4, 4);
653     TEST_TYPE_POINTER(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4, 4);
654 }
655
656 static void test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW(void)
657 {
658     /* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW */
659     TEST_TYPE(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4, 4);
660     TEST_TYPE_POINTER(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4, 4);
661 }
662
663 static void test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA(void)
664 {
665     /* LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA */
666     TEST_TYPE(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4, 4);
667     TEST_TYPE_POINTER(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4, 4);
668 }
669
670 static void test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW(void)
671 {
672     /* LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW */
673     TEST_TYPE(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4, 4);
674     TEST_TYPE_POINTER(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4, 4);
675 }
676
677 static void test_pack_LPGOPHER_SCORE_ATTRIBUTE_TYPE(void)
678 {
679     /* LPGOPHER_SCORE_ATTRIBUTE_TYPE */
680     TEST_TYPE(LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4, 4);
681     TEST_TYPE_POINTER(LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4, 4);
682 }
683
684 static void test_pack_LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE(void)
685 {
686     /* LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE */
687     TEST_TYPE(LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 4, 4);
688     TEST_TYPE_POINTER(LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8, 4);
689 }
690
691 static void test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEA(void)
692 {
693     /* LPGOPHER_SITE_ATTRIBUTE_TYPEA */
694     TEST_TYPE(LPGOPHER_SITE_ATTRIBUTE_TYPEA, 4, 4);
695     TEST_TYPE_POINTER(LPGOPHER_SITE_ATTRIBUTE_TYPEA, 4, 4);
696 }
697
698 static void test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEW(void)
699 {
700     /* LPGOPHER_SITE_ATTRIBUTE_TYPEW */
701     TEST_TYPE(LPGOPHER_SITE_ATTRIBUTE_TYPEW, 4, 4);
702     TEST_TYPE_POINTER(LPGOPHER_SITE_ATTRIBUTE_TYPEW, 4, 4);
703 }
704
705 static void test_pack_LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
706 {
707     /* LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE */
708     TEST_TYPE(LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4, 4);
709     TEST_TYPE_POINTER(LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4, 4);
710 }
711
712 static void test_pack_LPGOPHER_TTL_ATTRIBUTE_TYPE(void)
713 {
714     /* LPGOPHER_TTL_ATTRIBUTE_TYPE */
715     TEST_TYPE(LPGOPHER_TTL_ATTRIBUTE_TYPE, 4, 4);
716     TEST_TYPE_POINTER(LPGOPHER_TTL_ATTRIBUTE_TYPE, 4, 4);
717 }
718
719 static void test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA(void)
720 {
721     /* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA */
722     TEST_TYPE(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4, 4);
723     TEST_TYPE_POINTER(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4, 4);
724 }
725
726 static void test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW(void)
727 {
728     /* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW */
729     TEST_TYPE(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4, 4);
730     TEST_TYPE_POINTER(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4, 4);
731 }
732
733 static void test_pack_LPGOPHER_VERONICA_ATTRIBUTE_TYPE(void)
734 {
735     /* LPGOPHER_VERONICA_ATTRIBUTE_TYPE */
736     TEST_TYPE(LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4, 4);
737     TEST_TYPE_POINTER(LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4, 4);
738 }
739
740 static void test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEA(void)
741 {
742     /* LPGOPHER_VERSION_ATTRIBUTE_TYPEA */
743     TEST_TYPE(LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 4, 4);
744     TEST_TYPE_POINTER(LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 4, 4);
745 }
746
747 static void test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEW(void)
748 {
749     /* LPGOPHER_VERSION_ATTRIBUTE_TYPEW */
750     TEST_TYPE(LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 4, 4);
751     TEST_TYPE_POINTER(LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 4, 4);
752 }
753
754 static void test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEA(void)
755 {
756     /* LPGOPHER_VIEW_ATTRIBUTE_TYPEA */
757     TEST_TYPE(LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 4, 4);
758     TEST_TYPE_POINTER(LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 12, 4);
759 }
760
761 static void test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEW(void)
762 {
763     /* LPGOPHER_VIEW_ATTRIBUTE_TYPEW */
764     TEST_TYPE(LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 4, 4);
765     TEST_TYPE_POINTER(LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 12, 4);
766 }
767
768 static void test_pack_LPHINTERNET(void)
769 {
770     /* LPHINTERNET */
771     TEST_TYPE(LPHINTERNET, 4, 4);
772     TEST_TYPE_POINTER(LPHINTERNET, 4, 4);
773 }
774
775 static void test_pack_LPHTTP_VERSION_INFO(void)
776 {
777     /* LPHTTP_VERSION_INFO */
778     TEST_TYPE(LPHTTP_VERSION_INFO, 4, 4);
779     TEST_TYPE_POINTER(LPHTTP_VERSION_INFO, 8, 4);
780 }
781
782 static void test_pack_LPINTERNET_ASYNC_RESULT(void)
783 {
784     /* LPINTERNET_ASYNC_RESULT */
785     TEST_TYPE(LPINTERNET_ASYNC_RESULT, 4, 4);
786     TEST_TYPE_POINTER(LPINTERNET_ASYNC_RESULT, 8, 4);
787 }
788
789 static void test_pack_LPINTERNET_BUFFERSA(void)
790 {
791     /* LPINTERNET_BUFFERSA */
792     TEST_TYPE(LPINTERNET_BUFFERSA, 4, 4);
793     TEST_TYPE_POINTER(LPINTERNET_BUFFERSA, 40, 4);
794 }
795
796 static void test_pack_LPINTERNET_BUFFERSW(void)
797 {
798     /* LPINTERNET_BUFFERSW */
799     TEST_TYPE(LPINTERNET_BUFFERSW, 4, 4);
800     TEST_TYPE_POINTER(LPINTERNET_BUFFERSW, 40, 4);
801 }
802
803 static void test_pack_LPINTERNET_CACHE_ENTRY_INFOA(void)
804 {
805     /* LPINTERNET_CACHE_ENTRY_INFOA */
806     TEST_TYPE(LPINTERNET_CACHE_ENTRY_INFOA, 4, 4);
807 }
808
809 static void test_pack_LPINTERNET_CACHE_ENTRY_INFOW(void)
810 {
811     /* LPINTERNET_CACHE_ENTRY_INFOW */
812     TEST_TYPE(LPINTERNET_CACHE_ENTRY_INFOW, 4, 4);
813 }
814
815 static void test_pack_LPINTERNET_CERTIFICATE_INFOA(void)
816 {
817     /* LPINTERNET_CERTIFICATE_INFOA */
818     TEST_TYPE(LPINTERNET_CERTIFICATE_INFOA, 4, 4);
819     TEST_TYPE_POINTER(LPINTERNET_CERTIFICATE_INFOA, 40, 4);
820 }
821
822 static void test_pack_LPINTERNET_CERTIFICATE_INFOW(void)
823 {
824     /* LPINTERNET_CERTIFICATE_INFOW */
825     TEST_TYPE(LPINTERNET_CERTIFICATE_INFOW, 4, 4);
826     TEST_TYPE_POINTER(LPINTERNET_CERTIFICATE_INFOW, 40, 4);
827 }
828
829 static void test_pack_LPINTERNET_CONNECTED_INFO(void)
830 {
831     /* LPINTERNET_CONNECTED_INFO */
832     TEST_TYPE(LPINTERNET_CONNECTED_INFO, 4, 4);
833     TEST_TYPE_POINTER(LPINTERNET_CONNECTED_INFO, 8, 4);
834 }
835
836 static void test_pack_LPINTERNET_PORT(void)
837 {
838     /* LPINTERNET_PORT */
839     TEST_TYPE(LPINTERNET_PORT, 4, 4);
840     TEST_TYPE_POINTER(LPINTERNET_PORT, 2, 2);
841 }
842
843 static void test_pack_LPINTERNET_PROXY_INFOA(void)
844 {
845     /* LPINTERNET_PROXY_INFOA */
846     TEST_TYPE(LPINTERNET_PROXY_INFOA, 4, 4);
847     TEST_TYPE_POINTER(LPINTERNET_PROXY_INFOA, 12, 4);
848 }
849
850 static void test_pack_LPINTERNET_PROXY_INFOW(void)
851 {
852     /* LPINTERNET_PROXY_INFOW */
853     TEST_TYPE(LPINTERNET_PROXY_INFOW, 4, 4);
854     TEST_TYPE_POINTER(LPINTERNET_PROXY_INFOW, 12, 4);
855 }
856
857 static void test_pack_LPINTERNET_STATUS_CALLBACK(void)
858 {
859     /* LPINTERNET_STATUS_CALLBACK */
860     TEST_TYPE(LPINTERNET_STATUS_CALLBACK, 4, 4);
861     TEST_TYPE_POINTER(LPINTERNET_STATUS_CALLBACK, 4, 4);
862 }
863
864 static void test_pack_LPINTERNET_VERSION_INFO(void)
865 {
866     /* LPINTERNET_VERSION_INFO */
867     TEST_TYPE(LPINTERNET_VERSION_INFO, 4, 4);
868     TEST_TYPE_POINTER(LPINTERNET_VERSION_INFO, 8, 4);
869 }
870
871 static void test_pack_LPURL_COMPONENTSA(void)
872 {
873     /* LPURL_COMPONENTSA */
874     TEST_TYPE(LPURL_COMPONENTSA, 4, 4);
875 }
876
877 static void test_pack_LPURL_COMPONENTSW(void)
878 {
879     /* LPURL_COMPONENTSW */
880     TEST_TYPE(LPURL_COMPONENTSW, 4, 4);
881 }
882
883 static void test_pack_PFN_AUTH_NOTIFY(void)
884 {
885     /* PFN_AUTH_NOTIFY */
886     TEST_TYPE(PFN_AUTH_NOTIFY, 4, 4);
887 }
888
889 static void test_pack_PFN_DIAL_HANDLER(void)
890 {
891     /* PFN_DIAL_HANDLER */
892     TEST_TYPE(PFN_DIAL_HANDLER, 4, 4);
893 }
894
895 static void test_pack_URL_COMPONENTSA(void)
896 {
897     /* URL_COMPONENTSA (pack 4) */
898     TEST_FIELD(URL_COMPONENTSA, DWORD, dwStructSize, 0, 4, 4);
899     TEST_FIELD(URL_COMPONENTSA, LPSTR, lpszScheme, 4, 4, 4);
900     TEST_FIELD(URL_COMPONENTSA, DWORD, dwSchemeLength, 8, 4, 4);
901 }
902
903 static void test_pack_URL_COMPONENTSW(void)
904 {
905     /* URL_COMPONENTSW (pack 4) */
906     TEST_FIELD(URL_COMPONENTSW, DWORD, dwStructSize, 0, 4, 4);
907     TEST_FIELD(URL_COMPONENTSW, LPWSTR, lpszScheme, 4, 4, 4);
908     TEST_FIELD(URL_COMPONENTSW, DWORD, dwSchemeLength, 8, 4, 4);
909 }
910
911 static void test_pack(void)
912 {
913     test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEA();
914     test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEW();
915     test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEA();
916     test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEW();
917     test_pack_GOPHER_ASK_ATTRIBUTE_TYPEA();
918     test_pack_GOPHER_ASK_ATTRIBUTE_TYPEW();
919     test_pack_GOPHER_ATTRIBUTE_ENUMERATORA();
920     test_pack_GOPHER_ATTRIBUTE_ENUMERATORW();
921     test_pack_GOPHER_ATTRIBUTE_TYPEA();
922     test_pack_GOPHER_ATTRIBUTE_TYPEW();
923     test_pack_GOPHER_FIND_DATAA();
924     test_pack_GOPHER_FIND_DATAW();
925     test_pack_GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE();
926     test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEA();
927     test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEW();
928     test_pack_GOPHER_MOD_DATE_ATTRIBUTE_TYPE();
929     test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA();
930     test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW();
931     test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEA();
932     test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEW();
933     test_pack_GOPHER_SCORE_ATTRIBUTE_TYPE();
934     test_pack_GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE();
935     test_pack_GOPHER_SITE_ATTRIBUTE_TYPEA();
936     test_pack_GOPHER_SITE_ATTRIBUTE_TYPEW();
937     test_pack_GOPHER_TIMEZONE_ATTRIBUTE_TYPE();
938     test_pack_GOPHER_TTL_ATTRIBUTE_TYPE();
939     test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEA();
940     test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEW();
941     test_pack_GOPHER_VERONICA_ATTRIBUTE_TYPE();
942     test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEA();
943     test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEW();
944     test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEA();
945     test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEW();
946     test_pack_GROUPID();
947     test_pack_HINTERNET();
948     test_pack_HTTP_VERSION_INFO();
949     test_pack_INTERNET_ASYNC_RESULT();
950     test_pack_INTERNET_AUTH_NOTIFY_DATA();
951     test_pack_INTERNET_BUFFERSA();
952     test_pack_INTERNET_BUFFERSW();
953     test_pack_INTERNET_CACHE_ENTRY_INFOA();
954     test_pack_INTERNET_CACHE_ENTRY_INFOW();
955     test_pack_INTERNET_CERTIFICATE_INFOA();
956     test_pack_INTERNET_CERTIFICATE_INFOW();
957     test_pack_INTERNET_CONNECTED_INFO();
958     test_pack_INTERNET_PORT();
959     test_pack_INTERNET_PROXY_INFOA();
960     test_pack_INTERNET_PROXY_INFOW();
961     test_pack_INTERNET_STATUS_CALLBACK();
962     test_pack_INTERNET_VERSION_INFO();
963     test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA();
964     test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW();
965     test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEA();
966     test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEW();
967     test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEA();
968     test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEW();
969     test_pack_LPGOPHER_ATTRIBUTE_TYPEA();
970     test_pack_LPGOPHER_ATTRIBUTE_TYPEW();
971     test_pack_LPGOPHER_FIND_DATAA();
972     test_pack_LPGOPHER_FIND_DATAW();
973     test_pack_LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE();
974     test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEA();
975     test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEW();
976     test_pack_LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE();
977     test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA();
978     test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW();
979     test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA();
980     test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW();
981     test_pack_LPGOPHER_SCORE_ATTRIBUTE_TYPE();
982     test_pack_LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE();
983     test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEA();
984     test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEW();
985     test_pack_LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE();
986     test_pack_LPGOPHER_TTL_ATTRIBUTE_TYPE();
987     test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA();
988     test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW();
989     test_pack_LPGOPHER_VERONICA_ATTRIBUTE_TYPE();
990     test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEA();
991     test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEW();
992     test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEA();
993     test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEW();
994     test_pack_LPHINTERNET();
995     test_pack_LPHTTP_VERSION_INFO();
996     test_pack_LPINTERNET_ASYNC_RESULT();
997     test_pack_LPINTERNET_BUFFERSA();
998     test_pack_LPINTERNET_BUFFERSW();
999     test_pack_LPINTERNET_CACHE_ENTRY_INFOA();
1000     test_pack_LPINTERNET_CACHE_ENTRY_INFOW();
1001     test_pack_LPINTERNET_CERTIFICATE_INFOA();
1002     test_pack_LPINTERNET_CERTIFICATE_INFOW();
1003     test_pack_LPINTERNET_CONNECTED_INFO();
1004     test_pack_LPINTERNET_PORT();
1005     test_pack_LPINTERNET_PROXY_INFOA();
1006     test_pack_LPINTERNET_PROXY_INFOW();
1007     test_pack_LPINTERNET_STATUS_CALLBACK();
1008     test_pack_LPINTERNET_VERSION_INFO();
1009     test_pack_LPURL_COMPONENTSA();
1010     test_pack_LPURL_COMPONENTSW();
1011     test_pack_PFN_AUTH_NOTIFY();
1012     test_pack_PFN_DIAL_HANDLER();
1013     test_pack_URL_COMPONENTSA();
1014     test_pack_URL_COMPONENTSW();
1015 }
1016
1017 START_TEST(generated)
1018 {
1019     test_pack();
1020 }