fdopen: don't rewind the file after creating the FILE* handle. Added
[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
16 #include "windef.h"
17 #include "winbase.h"
18 #include "wininet.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 (_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 (_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 ")", \
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 ")", \
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 ")", _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 ")", 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 ")", 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");
112
113 #define TEST_TYPE_UNSIGNED(type) \
114      ok((type) -1 > 0, "(" #type ") -1 > 0");
115
116 static void test_pack_GOPHER_FIND_DATAA(void)
117 {
118     /* GOPHER_FIND_DATAA (pack 4) */
119     TEST_TYPE(GOPHER_FIND_DATAA, 808, 4);
120     TEST_FIELD(GOPHER_FIND_DATAA, CHAR[MAX_GOPHER_DISPLAY_TEXT + 1], DisplayString, 0, 129, 1);
121     TEST_FIELD(GOPHER_FIND_DATAA, DWORD, GopherType, 132, 4, 4);
122     TEST_FIELD(GOPHER_FIND_DATAA, DWORD, SizeLow, 136, 4, 4);
123     TEST_FIELD(GOPHER_FIND_DATAA, DWORD, SizeHigh, 140, 4, 4);
124     TEST_FIELD(GOPHER_FIND_DATAA, FILETIME, LastModificationTime, 144, 8, 4);
125     TEST_FIELD(GOPHER_FIND_DATAA, CHAR[MAX_GOPHER_LOCATOR_LENGTH + 1], Locator, 152, 654, 1);
126 }
127
128 static void test_pack_GOPHER_FIND_DATAW(void)
129 {
130     /* GOPHER_FIND_DATAW (pack 4) */
131     TEST_TYPE(GOPHER_FIND_DATAW, 1588, 4);
132     TEST_FIELD(GOPHER_FIND_DATAW, WCHAR[MAX_GOPHER_DISPLAY_TEXT + 1], DisplayString, 0, 258, 2);
133     TEST_FIELD(GOPHER_FIND_DATAW, DWORD, GopherType, 260, 4, 4);
134     TEST_FIELD(GOPHER_FIND_DATAW, DWORD, SizeLow, 264, 4, 4);
135     TEST_FIELD(GOPHER_FIND_DATAW, DWORD, SizeHigh, 268, 4, 4);
136     TEST_FIELD(GOPHER_FIND_DATAW, FILETIME, LastModificationTime, 272, 8, 4);
137     TEST_FIELD(GOPHER_FIND_DATAW, WCHAR[MAX_GOPHER_LOCATOR_LENGTH + 1], Locator, 280, 1308, 2);
138 }
139
140 static void test_pack_GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE(void)
141 {
142     /* GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE (pack 4) */
143     TEST_TYPE(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24, 4);
144     TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, DegreesNorth, 0, 4, 4);
145     TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, MinutesNorth, 4, 4, 4);
146     TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, SecondsNorth, 8, 4, 4);
147     TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, DegreesEast, 12, 4, 4);
148     TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, MinutesEast, 16, 4, 4);
149     TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, SecondsEast, 20, 4, 4);
150 }
151
152 static void test_pack_GOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
153 {
154     /* GOPHER_MOD_DATE_ATTRIBUTE_TYPE (pack 4) */
155     TEST_TYPE(GOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8, 4);
156     TEST_FIELD(GOPHER_MOD_DATE_ATTRIBUTE_TYPE, FILETIME, DateAndTime, 0, 8, 4);
157 }
158
159 static void test_pack_GOPHER_SCORE_ATTRIBUTE_TYPE(void)
160 {
161     /* GOPHER_SCORE_ATTRIBUTE_TYPE (pack 4) */
162     TEST_TYPE(GOPHER_SCORE_ATTRIBUTE_TYPE, 4, 4);
163     TEST_FIELD(GOPHER_SCORE_ATTRIBUTE_TYPE, INT, Score, 0, 4, 4);
164 }
165
166 static void test_pack_GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE(void)
167 {
168     /* GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE (pack 4) */
169     TEST_TYPE(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8, 4);
170     TEST_FIELD(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, INT, LowerBound, 0, 4, 4);
171     TEST_FIELD(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, INT, UpperBound, 4, 4, 4);
172 }
173
174 static void test_pack_GOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
175 {
176     /* GOPHER_TIMEZONE_ATTRIBUTE_TYPE (pack 4) */
177     TEST_TYPE(GOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4, 4);
178     TEST_FIELD(GOPHER_TIMEZONE_ATTRIBUTE_TYPE, INT, Zone, 0, 4, 4);
179 }
180
181 static void test_pack_GOPHER_TTL_ATTRIBUTE_TYPE(void)
182 {
183     /* GOPHER_TTL_ATTRIBUTE_TYPE (pack 4) */
184     TEST_TYPE(GOPHER_TTL_ATTRIBUTE_TYPE, 4, 4);
185     TEST_FIELD(GOPHER_TTL_ATTRIBUTE_TYPE, DWORD, Ttl, 0, 4, 4);
186 }
187
188 static void test_pack_GOPHER_VERONICA_ATTRIBUTE_TYPE(void)
189 {
190     /* GOPHER_VERONICA_ATTRIBUTE_TYPE (pack 4) */
191     TEST_TYPE(GOPHER_VERONICA_ATTRIBUTE_TYPE, 4, 4);
192     TEST_FIELD(GOPHER_VERONICA_ATTRIBUTE_TYPE, BOOL, TreeWalk, 0, 4, 4);
193 }
194
195 static void test_pack_HINTERNET(void)
196 {
197     /* HINTERNET */
198     TEST_TYPE(HINTERNET, 4, 4);
199 }
200
201 static void test_pack_HTTP_VERSION_INFO(void)
202 {
203     /* HTTP_VERSION_INFO (pack 4) */
204     TEST_TYPE(HTTP_VERSION_INFO, 8, 4);
205     TEST_FIELD(HTTP_VERSION_INFO, DWORD, dwMajorVersion, 0, 4, 4);
206     TEST_FIELD(HTTP_VERSION_INFO, DWORD, dwMinorVersion, 4, 4, 4);
207 }
208
209 static void test_pack_INTERNET_ASYNC_RESULT(void)
210 {
211     /* INTERNET_ASYNC_RESULT (pack 4) */
212     TEST_TYPE(INTERNET_ASYNC_RESULT, 8, 4);
213     TEST_FIELD(INTERNET_ASYNC_RESULT, DWORD, dwResult, 0, 4, 4);
214     TEST_FIELD(INTERNET_ASYNC_RESULT, DWORD, dwError, 4, 4, 4);
215 }
216
217 static void test_pack_INTERNET_AUTH_NOTIFY_DATA(void)
218 {
219     /* INTERNET_AUTH_NOTIFY_DATA (pack 4) */
220     TEST_TYPE(INTERNET_AUTH_NOTIFY_DATA, 16, 4);
221     TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, DWORD, cbStruct, 0, 4, 4);
222     TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, DWORD, dwOptions, 4, 4, 4);
223     TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, PFN_AUTH_NOTIFY, pfnNotify, 8, 4, 4);
224     TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, DWORD, dwContext, 12, 4, 4);
225 }
226
227 static void test_pack_INTERNET_BUFFERSA(void)
228 {
229     /* INTERNET_BUFFERSA (pack 4) */
230     TEST_TYPE(INTERNET_BUFFERSA, 40, 4);
231     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwStructSize, 0, 4, 4);
232     TEST_FIELD(INTERNET_BUFFERSA, struct _INTERNET_BUFFERSA *, Next, 4, 4, 4);
233     TEST_FIELD(INTERNET_BUFFERSA, LPCSTR, lpcszHeader, 8, 4, 4);
234     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwHeadersLength, 12, 4, 4);
235     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwHeadersTotal, 16, 4, 4);
236     TEST_FIELD(INTERNET_BUFFERSA, LPVOID, lpvBuffer, 20, 4, 4);
237     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwBufferLength, 24, 4, 4);
238     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwBufferTotal, 28, 4, 4);
239     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwOffsetLow, 32, 4, 4);
240     TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwOffsetHigh, 36, 4, 4);
241 }
242
243 static void test_pack_INTERNET_BUFFERSW(void)
244 {
245     /* INTERNET_BUFFERSW (pack 4) */
246     TEST_TYPE(INTERNET_BUFFERSW, 40, 4);
247     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwStructSize, 0, 4, 4);
248     TEST_FIELD(INTERNET_BUFFERSW, struct _INTERNET_BUFFERSW *, Next, 4, 4, 4);
249     TEST_FIELD(INTERNET_BUFFERSW, LPCWSTR, lpcszHeader, 8, 4, 4);
250     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwHeadersLength, 12, 4, 4);
251     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwHeadersTotal, 16, 4, 4);
252     TEST_FIELD(INTERNET_BUFFERSW, LPVOID, lpvBuffer, 20, 4, 4);
253     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwBufferLength, 24, 4, 4);
254     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwBufferTotal, 28, 4, 4);
255     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwOffsetLow, 32, 4, 4);
256     TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwOffsetHigh, 36, 4, 4);
257 }
258
259 static void test_pack_INTERNET_CACHE_ENTRY_INFOA(void)
260 {
261     /* INTERNET_CACHE_ENTRY_INFOA (pack 4) */
262     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, DWORD, dwStructSize, 0, 4, 4);
263 }
264
265 static void test_pack_INTERNET_CACHE_ENTRY_INFOW(void)
266 {
267     /* INTERNET_CACHE_ENTRY_INFOW (pack 4) */
268     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwStructSize, 0, 4, 4);
269     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, LPWSTR, lpszSourceUrlName, 4, 4, 4);
270     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, LPWSTR, lpszLocalFileName, 8, 4, 4);
271     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, CacheEntryType, 12, 4, 4);
272     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwUseCount, 16, 4, 4);
273     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwHitRate, 20, 4, 4);
274     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwSizeLow, 24, 4, 4);
275     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwSizeHigh, 28, 4, 4);
276     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, LastModifiedTime, 32, 8, 4);
277     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, ExpireTime, 40, 8, 4);
278     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, LastAccessTime, 48, 8, 4);
279     TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, LastSyncTime, 56, 8, 4);
280 }
281
282 static void test_pack_INTERNET_CONNECTED_INFO(void)
283 {
284     /* INTERNET_CONNECTED_INFO (pack 4) */
285     TEST_TYPE(INTERNET_CONNECTED_INFO, 8, 4);
286     TEST_FIELD(INTERNET_CONNECTED_INFO, DWORD, dwConnectedState, 0, 4, 4);
287     TEST_FIELD(INTERNET_CONNECTED_INFO, DWORD, dwFlags, 4, 4, 4);
288 }
289
290 static void test_pack_INTERNET_PORT(void)
291 {
292     /* INTERNET_PORT */
293     TEST_TYPE(INTERNET_PORT, 2, 2);
294 }
295
296 static void test_pack_INTERNET_STATUS_CALLBACK(void)
297 {
298     /* INTERNET_STATUS_CALLBACK */
299     TEST_TYPE(INTERNET_STATUS_CALLBACK, 4, 4);
300 }
301
302 static void test_pack_INTERNET_VERSION_INFO(void)
303 {
304     /* INTERNET_VERSION_INFO (pack 4) */
305     TEST_TYPE(INTERNET_VERSION_INFO, 8, 4);
306     TEST_FIELD(INTERNET_VERSION_INFO, DWORD, dwMajorVersion, 0, 4, 4);
307     TEST_FIELD(INTERNET_VERSION_INFO, DWORD, dwMinorVersion, 4, 4, 4);
308 }
309
310 static void test_pack_LPGOPHER_FIND_DATAA(void)
311 {
312     /* LPGOPHER_FIND_DATAA */
313     TEST_TYPE(LPGOPHER_FIND_DATAA, 4, 4);
314     TEST_TYPE_POINTER(LPGOPHER_FIND_DATAA, 808, 4);
315 }
316
317 static void test_pack_LPGOPHER_FIND_DATAW(void)
318 {
319     /* LPGOPHER_FIND_DATAW */
320     TEST_TYPE(LPGOPHER_FIND_DATAW, 4, 4);
321     TEST_TYPE_POINTER(LPGOPHER_FIND_DATAW, 1588, 4);
322 }
323
324 static void test_pack_LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE(void)
325 {
326     /* LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE */
327     TEST_TYPE(LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 4, 4);
328     TEST_TYPE_POINTER(LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24, 4);
329 }
330
331 static void test_pack_LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
332 {
333     /* LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE */
334     TEST_TYPE(LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 4, 4);
335     TEST_TYPE_POINTER(LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8, 4);
336 }
337
338 static void test_pack_LPGOPHER_SCORE_ATTRIBUTE_TYPE(void)
339 {
340     /* LPGOPHER_SCORE_ATTRIBUTE_TYPE */
341     TEST_TYPE(LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4, 4);
342     TEST_TYPE_POINTER(LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4, 4);
343 }
344
345 static void test_pack_LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE(void)
346 {
347     /* LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE */
348     TEST_TYPE(LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 4, 4);
349     TEST_TYPE_POINTER(LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8, 4);
350 }
351
352 static void test_pack_LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
353 {
354     /* LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE */
355     TEST_TYPE(LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4, 4);
356     TEST_TYPE_POINTER(LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4, 4);
357 }
358
359 static void test_pack_LPGOPHER_TTL_ATTRIBUTE_TYPE(void)
360 {
361     /* LPGOPHER_TTL_ATTRIBUTE_TYPE */
362     TEST_TYPE(LPGOPHER_TTL_ATTRIBUTE_TYPE, 4, 4);
363     TEST_TYPE_POINTER(LPGOPHER_TTL_ATTRIBUTE_TYPE, 4, 4);
364 }
365
366 static void test_pack_LPGOPHER_VERONICA_ATTRIBUTE_TYPE(void)
367 {
368     /* LPGOPHER_VERONICA_ATTRIBUTE_TYPE */
369     TEST_TYPE(LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4, 4);
370     TEST_TYPE_POINTER(LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4, 4);
371 }
372
373 static void test_pack_LPHINTERNET(void)
374 {
375     /* LPHINTERNET */
376     TEST_TYPE(LPHINTERNET, 4, 4);
377     TEST_TYPE_POINTER(LPHINTERNET, 4, 4);
378 }
379
380 static void test_pack_LPHTTP_VERSION_INFO(void)
381 {
382     /* LPHTTP_VERSION_INFO */
383     TEST_TYPE(LPHTTP_VERSION_INFO, 4, 4);
384     TEST_TYPE_POINTER(LPHTTP_VERSION_INFO, 8, 4);
385 }
386
387 static void test_pack_LPINTERNET_ASYNC_RESULT(void)
388 {
389     /* LPINTERNET_ASYNC_RESULT */
390     TEST_TYPE(LPINTERNET_ASYNC_RESULT, 4, 4);
391     TEST_TYPE_POINTER(LPINTERNET_ASYNC_RESULT, 8, 4);
392 }
393
394 static void test_pack_LPINTERNET_BUFFERSA(void)
395 {
396     /* LPINTERNET_BUFFERSA */
397     TEST_TYPE(LPINTERNET_BUFFERSA, 4, 4);
398     TEST_TYPE_POINTER(LPINTERNET_BUFFERSA, 40, 4);
399 }
400
401 static void test_pack_LPINTERNET_BUFFERSW(void)
402 {
403     /* LPINTERNET_BUFFERSW */
404     TEST_TYPE(LPINTERNET_BUFFERSW, 4, 4);
405     TEST_TYPE_POINTER(LPINTERNET_BUFFERSW, 40, 4);
406 }
407
408 static void test_pack_LPINTERNET_CACHE_ENTRY_INFOA(void)
409 {
410     /* LPINTERNET_CACHE_ENTRY_INFOA */
411     TEST_TYPE(LPINTERNET_CACHE_ENTRY_INFOA, 4, 4);
412 }
413
414 static void test_pack_LPINTERNET_CACHE_ENTRY_INFOW(void)
415 {
416     /* LPINTERNET_CACHE_ENTRY_INFOW */
417     TEST_TYPE(LPINTERNET_CACHE_ENTRY_INFOW, 4, 4);
418 }
419
420 static void test_pack_LPINTERNET_CONNECTED_INFO(void)
421 {
422     /* LPINTERNET_CONNECTED_INFO */
423     TEST_TYPE(LPINTERNET_CONNECTED_INFO, 4, 4);
424     TEST_TYPE_POINTER(LPINTERNET_CONNECTED_INFO, 8, 4);
425 }
426
427 static void test_pack_LPINTERNET_PORT(void)
428 {
429     /* LPINTERNET_PORT */
430     TEST_TYPE(LPINTERNET_PORT, 4, 4);
431     TEST_TYPE_POINTER(LPINTERNET_PORT, 2, 2);
432 }
433
434 static void test_pack_LPINTERNET_STATUS_CALLBACK(void)
435 {
436     /* LPINTERNET_STATUS_CALLBACK */
437     TEST_TYPE(LPINTERNET_STATUS_CALLBACK, 4, 4);
438     TEST_TYPE_POINTER(LPINTERNET_STATUS_CALLBACK, 4, 4);
439 }
440
441 static void test_pack_LPINTERNET_VERSION_INFO(void)
442 {
443     /* LPINTERNET_VERSION_INFO */
444     TEST_TYPE(LPINTERNET_VERSION_INFO, 4, 4);
445     TEST_TYPE_POINTER(LPINTERNET_VERSION_INFO, 8, 4);
446 }
447
448 static void test_pack_LPURL_COMPONENTSA(void)
449 {
450     /* LPURL_COMPONENTSA */
451     TEST_TYPE(LPURL_COMPONENTSA, 4, 4);
452 }
453
454 static void test_pack_LPURL_COMPONENTSW(void)
455 {
456     /* LPURL_COMPONENTSW */
457     TEST_TYPE(LPURL_COMPONENTSW, 4, 4);
458 }
459
460 static void test_pack_PFN_AUTH_NOTIFY(void)
461 {
462     /* PFN_AUTH_NOTIFY */
463     TEST_TYPE(PFN_AUTH_NOTIFY, 4, 4);
464 }
465
466 static void test_pack_PFN_DIAL_HANDLER(void)
467 {
468     /* PFN_DIAL_HANDLER */
469     TEST_TYPE(PFN_DIAL_HANDLER, 4, 4);
470 }
471
472 static void test_pack_URL_COMPONENTSA(void)
473 {
474     /* URL_COMPONENTSA (pack 4) */
475     TEST_FIELD(URL_COMPONENTSA, DWORD, dwStructSize, 0, 4, 4);
476 }
477
478 static void test_pack_URL_COMPONENTSW(void)
479 {
480     /* URL_COMPONENTSW (pack 4) */
481     TEST_FIELD(URL_COMPONENTSW, DWORD, dwStructSize, 0, 4, 4);
482     TEST_FIELD(URL_COMPONENTSW, LPWSTR, lpszScheme, 4, 4, 4);
483     TEST_FIELD(URL_COMPONENTSW, DWORD, dwSchemeLength, 8, 4, 4);
484 }
485
486 static void test_pack(void)
487 {
488     test_pack_GOPHER_FIND_DATAA();
489     test_pack_GOPHER_FIND_DATAW();
490     test_pack_GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE();
491     test_pack_GOPHER_MOD_DATE_ATTRIBUTE_TYPE();
492     test_pack_GOPHER_SCORE_ATTRIBUTE_TYPE();
493     test_pack_GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE();
494     test_pack_GOPHER_TIMEZONE_ATTRIBUTE_TYPE();
495     test_pack_GOPHER_TTL_ATTRIBUTE_TYPE();
496     test_pack_GOPHER_VERONICA_ATTRIBUTE_TYPE();
497     test_pack_HINTERNET();
498     test_pack_HTTP_VERSION_INFO();
499     test_pack_INTERNET_ASYNC_RESULT();
500     test_pack_INTERNET_AUTH_NOTIFY_DATA();
501     test_pack_INTERNET_BUFFERSA();
502     test_pack_INTERNET_BUFFERSW();
503     test_pack_INTERNET_CACHE_ENTRY_INFOA();
504     test_pack_INTERNET_CACHE_ENTRY_INFOW();
505     test_pack_INTERNET_CONNECTED_INFO();
506     test_pack_INTERNET_PORT();
507     test_pack_INTERNET_STATUS_CALLBACK();
508     test_pack_INTERNET_VERSION_INFO();
509     test_pack_LPGOPHER_FIND_DATAA();
510     test_pack_LPGOPHER_FIND_DATAW();
511     test_pack_LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE();
512     test_pack_LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE();
513     test_pack_LPGOPHER_SCORE_ATTRIBUTE_TYPE();
514     test_pack_LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE();
515     test_pack_LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE();
516     test_pack_LPGOPHER_TTL_ATTRIBUTE_TYPE();
517     test_pack_LPGOPHER_VERONICA_ATTRIBUTE_TYPE();
518     test_pack_LPHINTERNET();
519     test_pack_LPHTTP_VERSION_INFO();
520     test_pack_LPINTERNET_ASYNC_RESULT();
521     test_pack_LPINTERNET_BUFFERSA();
522     test_pack_LPINTERNET_BUFFERSW();
523     test_pack_LPINTERNET_CACHE_ENTRY_INFOA();
524     test_pack_LPINTERNET_CACHE_ENTRY_INFOW();
525     test_pack_LPINTERNET_CONNECTED_INFO();
526     test_pack_LPINTERNET_PORT();
527     test_pack_LPINTERNET_STATUS_CALLBACK();
528     test_pack_LPINTERNET_VERSION_INFO();
529     test_pack_LPURL_COMPONENTSA();
530     test_pack_LPURL_COMPONENTSW();
531     test_pack_PFN_AUTH_NOTIFY();
532     test_pack_PFN_DIAL_HANDLER();
533     test_pack_URL_COMPONENTSA();
534     test_pack_URL_COMPONENTSW();
535 }
536
537 START_TEST(generated)
538 {
539     test_pack();
540 }