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