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