1 /* File generated automatically from tools/winapi/test.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
5 * Unit tests for data structure packing
9 #define _WIN32_IE 0x0501
10 #define _WIN32_WINNT 0x0501
12 #define WINE_NOWINSOCK
19 #include "wine/test.h"
21 /***********************************************************************
25 #define DWORD_PTR UINT_PTR
26 #define LONG_PTR INT_PTR
27 #define ULONG_PTR UINT_PTR
29 /***********************************************************************
30 * Windows API extension
33 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
34 # define FIELD_ALIGNMENT(type, field) __alignof(((type*)0)->field)
35 #elif defined(__GNUC__)
36 # define FIELD_ALIGNMENT(type, field) __alignof__(((type*)0)->field)
38 /* FIXME: Not sure if is possible to do without compiler extension */
41 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
42 # define _TYPE_ALIGNMENT(type) __alignof(type)
43 #elif defined(__GNUC__)
44 # define _TYPE_ALIGNMENT(type) __alignof__(type)
47 * FIXME: Not sure if is possible to do without compiler extension
48 * (if type is not just a name that is, if so the normal)
49 * TYPE_ALIGNMENT can be used)
53 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
54 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
57 /***********************************************************************
61 #ifdef FIELD_ALIGNMENT
62 # define TEST_FIELD_ALIGNMENT(type, field, align) \
63 ok(FIELD_ALIGNMENT(type, field) == align, \
64 "FIELD_ALIGNMENT(" #type ", " #field ") == %d (expected " #align ")\n", \
65 FIELD_ALIGNMENT(type, field))
67 # define TEST_FIELD_ALIGNMENT(type, field, align) do { } while (0)
70 #define TEST_FIELD_OFFSET(type, field, offset) \
71 ok(FIELD_OFFSET(type, field) == offset, \
72 "FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")\n", \
73 FIELD_OFFSET(type, field))
75 #ifdef _TYPE_ALIGNMENT
76 #define TEST__TYPE_ALIGNMENT(type, align) \
77 ok(_TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", _TYPE_ALIGNMENT(type))
79 # define TEST__TYPE_ALIGNMENT(type, align) do { } while (0)
83 #define TEST_TYPE_ALIGNMENT(type, align) \
84 ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", TYPE_ALIGNMENT(type))
86 # define TEST_TYPE_ALIGNMENT(type, align) do { } while (0)
89 #define TEST_TYPE_SIZE(type, size) \
90 ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")\n", sizeof(type))
92 /***********************************************************************
96 #define TEST_FIELD(type, field_type, field_name, field_offset, field_size, field_align) \
97 TEST_TYPE_SIZE(field_type, field_size); \
98 TEST_FIELD_ALIGNMENT(type, field_name, field_align); \
99 TEST_FIELD_OFFSET(type, field_name, field_offset); \
101 #define TEST_TYPE(type, size, align) \
102 TEST_TYPE_ALIGNMENT(type, align); \
103 TEST_TYPE_SIZE(type, size)
105 #define TEST_TYPE_POINTER(type, size, align) \
106 TEST__TYPE_ALIGNMENT(*(type)0, align); \
107 TEST_TYPE_SIZE(*(type)0, size)
109 #define TEST_TYPE_SIGNED(type) \
110 ok((type) -1 < 0, "(" #type ") -1 < 0\n");
112 #define TEST_TYPE_UNSIGNED(type) \
113 ok((type) -1 > 0, "(" #type ") -1 > 0\n");
115 static void test_pack_GOPHER_FIND_DATAA(void)
117 /* GOPHER_FIND_DATAA (pack 4) */
118 TEST_TYPE(GOPHER_FIND_DATAA, 808, 4);
119 TEST_FIELD(GOPHER_FIND_DATAA, CHAR[MAX_GOPHER_DISPLAY_TEXT + 1], DisplayString, 0, 129, 1);
120 TEST_FIELD(GOPHER_FIND_DATAA, DWORD, GopherType, 132, 4, 4);
121 TEST_FIELD(GOPHER_FIND_DATAA, DWORD, SizeLow, 136, 4, 4);
122 TEST_FIELD(GOPHER_FIND_DATAA, DWORD, SizeHigh, 140, 4, 4);
123 TEST_FIELD(GOPHER_FIND_DATAA, FILETIME, LastModificationTime, 144, 8, 4);
124 TEST_FIELD(GOPHER_FIND_DATAA, CHAR[MAX_GOPHER_LOCATOR_LENGTH + 1], Locator, 152, 654, 1);
127 static void test_pack_GOPHER_FIND_DATAW(void)
129 /* GOPHER_FIND_DATAW (pack 4) */
130 TEST_TYPE(GOPHER_FIND_DATAW, 1588, 4);
131 TEST_FIELD(GOPHER_FIND_DATAW, WCHAR[MAX_GOPHER_DISPLAY_TEXT + 1], DisplayString, 0, 258, 2);
132 TEST_FIELD(GOPHER_FIND_DATAW, DWORD, GopherType, 260, 4, 4);
133 TEST_FIELD(GOPHER_FIND_DATAW, DWORD, SizeLow, 264, 4, 4);
134 TEST_FIELD(GOPHER_FIND_DATAW, DWORD, SizeHigh, 268, 4, 4);
135 TEST_FIELD(GOPHER_FIND_DATAW, FILETIME, LastModificationTime, 272, 8, 4);
136 TEST_FIELD(GOPHER_FIND_DATAW, WCHAR[MAX_GOPHER_LOCATOR_LENGTH + 1], Locator, 280, 1308, 2);
139 static void test_pack_GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE(void)
141 /* GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE (pack 4) */
142 TEST_TYPE(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24, 4);
143 TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, DegreesNorth, 0, 4, 4);
144 TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, MinutesNorth, 4, 4, 4);
145 TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, SecondsNorth, 8, 4, 4);
146 TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, DegreesEast, 12, 4, 4);
147 TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, MinutesEast, 16, 4, 4);
148 TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, SecondsEast, 20, 4, 4);
151 static void test_pack_GOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
153 /* GOPHER_MOD_DATE_ATTRIBUTE_TYPE (pack 4) */
154 TEST_TYPE(GOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8, 4);
155 TEST_FIELD(GOPHER_MOD_DATE_ATTRIBUTE_TYPE, FILETIME, DateAndTime, 0, 8, 4);
158 static void test_pack_GOPHER_SCORE_ATTRIBUTE_TYPE(void)
160 /* GOPHER_SCORE_ATTRIBUTE_TYPE (pack 4) */
161 TEST_TYPE(GOPHER_SCORE_ATTRIBUTE_TYPE, 4, 4);
162 TEST_FIELD(GOPHER_SCORE_ATTRIBUTE_TYPE, INT, Score, 0, 4, 4);
165 static void test_pack_GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE(void)
167 /* GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE (pack 4) */
168 TEST_TYPE(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8, 4);
169 TEST_FIELD(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, INT, LowerBound, 0, 4, 4);
170 TEST_FIELD(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, INT, UpperBound, 4, 4, 4);
173 static void test_pack_GOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
175 /* GOPHER_TIMEZONE_ATTRIBUTE_TYPE (pack 4) */
176 TEST_TYPE(GOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4, 4);
177 TEST_FIELD(GOPHER_TIMEZONE_ATTRIBUTE_TYPE, INT, Zone, 0, 4, 4);
180 static void test_pack_GOPHER_TTL_ATTRIBUTE_TYPE(void)
182 /* GOPHER_TTL_ATTRIBUTE_TYPE (pack 4) */
183 TEST_TYPE(GOPHER_TTL_ATTRIBUTE_TYPE, 4, 4);
184 TEST_FIELD(GOPHER_TTL_ATTRIBUTE_TYPE, DWORD, Ttl, 0, 4, 4);
187 static void test_pack_GOPHER_VERONICA_ATTRIBUTE_TYPE(void)
189 /* GOPHER_VERONICA_ATTRIBUTE_TYPE (pack 4) */
190 TEST_TYPE(GOPHER_VERONICA_ATTRIBUTE_TYPE, 4, 4);
191 TEST_FIELD(GOPHER_VERONICA_ATTRIBUTE_TYPE, BOOL, TreeWalk, 0, 4, 4);
194 static void test_pack_HINTERNET(void)
197 TEST_TYPE(HINTERNET, 4, 4);
200 static void test_pack_HTTP_VERSION_INFO(void)
202 /* HTTP_VERSION_INFO (pack 4) */
203 TEST_TYPE(HTTP_VERSION_INFO, 8, 4);
204 TEST_FIELD(HTTP_VERSION_INFO, DWORD, dwMajorVersion, 0, 4, 4);
205 TEST_FIELD(HTTP_VERSION_INFO, DWORD, dwMinorVersion, 4, 4, 4);
208 static void test_pack_INTERNET_ASYNC_RESULT(void)
210 /* INTERNET_ASYNC_RESULT (pack 4) */
211 TEST_TYPE(INTERNET_ASYNC_RESULT, 8, 4);
212 TEST_FIELD(INTERNET_ASYNC_RESULT, DWORD, dwResult, 0, 4, 4);
213 TEST_FIELD(INTERNET_ASYNC_RESULT, DWORD, dwError, 4, 4, 4);
216 static void test_pack_INTERNET_AUTH_NOTIFY_DATA(void)
218 /* INTERNET_AUTH_NOTIFY_DATA (pack 4) */
219 TEST_TYPE(INTERNET_AUTH_NOTIFY_DATA, 16, 4);
220 TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, DWORD, cbStruct, 0, 4, 4);
221 TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, DWORD, dwOptions, 4, 4, 4);
222 TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, PFN_AUTH_NOTIFY, pfnNotify, 8, 4, 4);
223 TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, DWORD, dwContext, 12, 4, 4);
226 static void test_pack_INTERNET_BUFFERSA(void)
228 /* INTERNET_BUFFERSA (pack 4) */
229 TEST_TYPE(INTERNET_BUFFERSA, 40, 4);
230 TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwStructSize, 0, 4, 4);
231 TEST_FIELD(INTERNET_BUFFERSA, struct _INTERNET_BUFFERSA *, Next, 4, 4, 4);
232 TEST_FIELD(INTERNET_BUFFERSA, LPCSTR, lpcszHeader, 8, 4, 4);
233 TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwHeadersLength, 12, 4, 4);
234 TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwHeadersTotal, 16, 4, 4);
235 TEST_FIELD(INTERNET_BUFFERSA, LPVOID, lpvBuffer, 20, 4, 4);
236 TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwBufferLength, 24, 4, 4);
237 TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwBufferTotal, 28, 4, 4);
238 TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwOffsetLow, 32, 4, 4);
239 TEST_FIELD(INTERNET_BUFFERSA, DWORD, dwOffsetHigh, 36, 4, 4);
242 static void test_pack_INTERNET_BUFFERSW(void)
244 /* INTERNET_BUFFERSW (pack 4) */
245 TEST_TYPE(INTERNET_BUFFERSW, 40, 4);
246 TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwStructSize, 0, 4, 4);
247 TEST_FIELD(INTERNET_BUFFERSW, struct _INTERNET_BUFFERSW *, Next, 4, 4, 4);
248 TEST_FIELD(INTERNET_BUFFERSW, LPCWSTR, lpcszHeader, 8, 4, 4);
249 TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwHeadersLength, 12, 4, 4);
250 TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwHeadersTotal, 16, 4, 4);
251 TEST_FIELD(INTERNET_BUFFERSW, LPVOID, lpvBuffer, 20, 4, 4);
252 TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwBufferLength, 24, 4, 4);
253 TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwBufferTotal, 28, 4, 4);
254 TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwOffsetLow, 32, 4, 4);
255 TEST_FIELD(INTERNET_BUFFERSW, DWORD, dwOffsetHigh, 36, 4, 4);
258 static void test_pack_INTERNET_CACHE_ENTRY_INFOA(void)
260 /* INTERNET_CACHE_ENTRY_INFOA (pack 4) */
261 TEST_FIELD(INTERNET_CACHE_ENTRY_INFOA, DWORD, dwStructSize, 0, 4, 4);
264 static void test_pack_INTERNET_CACHE_ENTRY_INFOW(void)
266 /* INTERNET_CACHE_ENTRY_INFOW (pack 4) */
267 TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwStructSize, 0, 4, 4);
268 TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, LPWSTR, lpszSourceUrlName, 4, 4, 4);
269 TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, LPWSTR, lpszLocalFileName, 8, 4, 4);
270 TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, CacheEntryType, 12, 4, 4);
271 TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwUseCount, 16, 4, 4);
272 TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwHitRate, 20, 4, 4);
273 TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwSizeLow, 24, 4, 4);
274 TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, DWORD, dwSizeHigh, 28, 4, 4);
275 TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, LastModifiedTime, 32, 8, 4);
276 TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, ExpireTime, 40, 8, 4);
277 TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, LastAccessTime, 48, 8, 4);
278 TEST_FIELD(INTERNET_CACHE_ENTRY_INFOW, FILETIME, LastSyncTime, 56, 8, 4);
281 static void test_pack_INTERNET_CONNECTED_INFO(void)
283 /* INTERNET_CONNECTED_INFO (pack 4) */
284 TEST_TYPE(INTERNET_CONNECTED_INFO, 8, 4);
285 TEST_FIELD(INTERNET_CONNECTED_INFO, DWORD, dwConnectedState, 0, 4, 4);
286 TEST_FIELD(INTERNET_CONNECTED_INFO, DWORD, dwFlags, 4, 4, 4);
289 static void test_pack_INTERNET_PORT(void)
292 TEST_TYPE(INTERNET_PORT, 2, 2);
295 static void test_pack_INTERNET_STATUS_CALLBACK(void)
297 /* INTERNET_STATUS_CALLBACK */
298 TEST_TYPE(INTERNET_STATUS_CALLBACK, 4, 4);
301 static void test_pack_INTERNET_VERSION_INFO(void)
303 /* INTERNET_VERSION_INFO (pack 4) */
304 TEST_TYPE(INTERNET_VERSION_INFO, 8, 4);
305 TEST_FIELD(INTERNET_VERSION_INFO, DWORD, dwMajorVersion, 0, 4, 4);
306 TEST_FIELD(INTERNET_VERSION_INFO, DWORD, dwMinorVersion, 4, 4, 4);
309 static void test_pack_LPGOPHER_FIND_DATAA(void)
311 /* LPGOPHER_FIND_DATAA */
312 TEST_TYPE(LPGOPHER_FIND_DATAA, 4, 4);
313 TEST_TYPE_POINTER(LPGOPHER_FIND_DATAA, 808, 4);
316 static void test_pack_LPGOPHER_FIND_DATAW(void)
318 /* LPGOPHER_FIND_DATAW */
319 TEST_TYPE(LPGOPHER_FIND_DATAW, 4, 4);
320 TEST_TYPE_POINTER(LPGOPHER_FIND_DATAW, 1588, 4);
323 static void test_pack_LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE(void)
325 /* LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE */
326 TEST_TYPE(LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 4, 4);
327 TEST_TYPE_POINTER(LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24, 4);
330 static void test_pack_LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
332 /* LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE */
333 TEST_TYPE(LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 4, 4);
334 TEST_TYPE_POINTER(LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8, 4);
337 static void test_pack_LPGOPHER_SCORE_ATTRIBUTE_TYPE(void)
339 /* LPGOPHER_SCORE_ATTRIBUTE_TYPE */
340 TEST_TYPE(LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4, 4);
341 TEST_TYPE_POINTER(LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4, 4);
344 static void test_pack_LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE(void)
346 /* LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE */
347 TEST_TYPE(LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 4, 4);
348 TEST_TYPE_POINTER(LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8, 4);
351 static void test_pack_LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
353 /* LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE */
354 TEST_TYPE(LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4, 4);
355 TEST_TYPE_POINTER(LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4, 4);
358 static void test_pack_LPGOPHER_TTL_ATTRIBUTE_TYPE(void)
360 /* LPGOPHER_TTL_ATTRIBUTE_TYPE */
361 TEST_TYPE(LPGOPHER_TTL_ATTRIBUTE_TYPE, 4, 4);
362 TEST_TYPE_POINTER(LPGOPHER_TTL_ATTRIBUTE_TYPE, 4, 4);
365 static void test_pack_LPGOPHER_VERONICA_ATTRIBUTE_TYPE(void)
367 /* LPGOPHER_VERONICA_ATTRIBUTE_TYPE */
368 TEST_TYPE(LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4, 4);
369 TEST_TYPE_POINTER(LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4, 4);
372 static void test_pack_LPHINTERNET(void)
375 TEST_TYPE(LPHINTERNET, 4, 4);
376 TEST_TYPE_POINTER(LPHINTERNET, 4, 4);
379 static void test_pack_LPHTTP_VERSION_INFO(void)
381 /* LPHTTP_VERSION_INFO */
382 TEST_TYPE(LPHTTP_VERSION_INFO, 4, 4);
383 TEST_TYPE_POINTER(LPHTTP_VERSION_INFO, 8, 4);
386 static void test_pack_LPINTERNET_ASYNC_RESULT(void)
388 /* LPINTERNET_ASYNC_RESULT */
389 TEST_TYPE(LPINTERNET_ASYNC_RESULT, 4, 4);
390 TEST_TYPE_POINTER(LPINTERNET_ASYNC_RESULT, 8, 4);
393 static void test_pack_LPINTERNET_BUFFERSA(void)
395 /* LPINTERNET_BUFFERSA */
396 TEST_TYPE(LPINTERNET_BUFFERSA, 4, 4);
397 TEST_TYPE_POINTER(LPINTERNET_BUFFERSA, 40, 4);
400 static void test_pack_LPINTERNET_BUFFERSW(void)
402 /* LPINTERNET_BUFFERSW */
403 TEST_TYPE(LPINTERNET_BUFFERSW, 4, 4);
404 TEST_TYPE_POINTER(LPINTERNET_BUFFERSW, 40, 4);
407 static void test_pack_LPINTERNET_CACHE_ENTRY_INFOA(void)
409 /* LPINTERNET_CACHE_ENTRY_INFOA */
410 TEST_TYPE(LPINTERNET_CACHE_ENTRY_INFOA, 4, 4);
413 static void test_pack_LPINTERNET_CACHE_ENTRY_INFOW(void)
415 /* LPINTERNET_CACHE_ENTRY_INFOW */
416 TEST_TYPE(LPINTERNET_CACHE_ENTRY_INFOW, 4, 4);
419 static void test_pack_LPINTERNET_CONNECTED_INFO(void)
421 /* LPINTERNET_CONNECTED_INFO */
422 TEST_TYPE(LPINTERNET_CONNECTED_INFO, 4, 4);
423 TEST_TYPE_POINTER(LPINTERNET_CONNECTED_INFO, 8, 4);
426 static void test_pack_LPINTERNET_PORT(void)
428 /* LPINTERNET_PORT */
429 TEST_TYPE(LPINTERNET_PORT, 4, 4);
430 TEST_TYPE_POINTER(LPINTERNET_PORT, 2, 2);
433 static void test_pack_LPINTERNET_STATUS_CALLBACK(void)
435 /* LPINTERNET_STATUS_CALLBACK */
436 TEST_TYPE(LPINTERNET_STATUS_CALLBACK, 4, 4);
437 TEST_TYPE_POINTER(LPINTERNET_STATUS_CALLBACK, 4, 4);
440 static void test_pack_LPINTERNET_VERSION_INFO(void)
442 /* LPINTERNET_VERSION_INFO */
443 TEST_TYPE(LPINTERNET_VERSION_INFO, 4, 4);
444 TEST_TYPE_POINTER(LPINTERNET_VERSION_INFO, 8, 4);
447 static void test_pack_LPURL_COMPONENTSA(void)
449 /* LPURL_COMPONENTSA */
450 TEST_TYPE(LPURL_COMPONENTSA, 4, 4);
453 static void test_pack_LPURL_COMPONENTSW(void)
455 /* LPURL_COMPONENTSW */
456 TEST_TYPE(LPURL_COMPONENTSW, 4, 4);
459 static void test_pack_PFN_AUTH_NOTIFY(void)
461 /* PFN_AUTH_NOTIFY */
462 TEST_TYPE(PFN_AUTH_NOTIFY, 4, 4);
465 static void test_pack_PFN_DIAL_HANDLER(void)
467 /* PFN_DIAL_HANDLER */
468 TEST_TYPE(PFN_DIAL_HANDLER, 4, 4);
471 static void test_pack_URL_COMPONENTSA(void)
473 /* URL_COMPONENTSA (pack 4) */
474 TEST_FIELD(URL_COMPONENTSA, DWORD, dwStructSize, 0, 4, 4);
477 static void test_pack_URL_COMPONENTSW(void)
479 /* URL_COMPONENTSW (pack 4) */
480 TEST_FIELD(URL_COMPONENTSW, DWORD, dwStructSize, 0, 4, 4);
481 TEST_FIELD(URL_COMPONENTSW, LPWSTR, lpszScheme, 4, 4, 4);
482 TEST_FIELD(URL_COMPONENTSW, DWORD, dwSchemeLength, 8, 4, 4);
485 static void test_pack(void)
487 test_pack_GOPHER_FIND_DATAA();
488 test_pack_GOPHER_FIND_DATAW();
489 test_pack_GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE();
490 test_pack_GOPHER_MOD_DATE_ATTRIBUTE_TYPE();
491 test_pack_GOPHER_SCORE_ATTRIBUTE_TYPE();
492 test_pack_GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE();
493 test_pack_GOPHER_TIMEZONE_ATTRIBUTE_TYPE();
494 test_pack_GOPHER_TTL_ATTRIBUTE_TYPE();
495 test_pack_GOPHER_VERONICA_ATTRIBUTE_TYPE();
496 test_pack_HINTERNET();
497 test_pack_HTTP_VERSION_INFO();
498 test_pack_INTERNET_ASYNC_RESULT();
499 test_pack_INTERNET_AUTH_NOTIFY_DATA();
500 test_pack_INTERNET_BUFFERSA();
501 test_pack_INTERNET_BUFFERSW();
502 test_pack_INTERNET_CACHE_ENTRY_INFOA();
503 test_pack_INTERNET_CACHE_ENTRY_INFOW();
504 test_pack_INTERNET_CONNECTED_INFO();
505 test_pack_INTERNET_PORT();
506 test_pack_INTERNET_STATUS_CALLBACK();
507 test_pack_INTERNET_VERSION_INFO();
508 test_pack_LPGOPHER_FIND_DATAA();
509 test_pack_LPGOPHER_FIND_DATAW();
510 test_pack_LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE();
511 test_pack_LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE();
512 test_pack_LPGOPHER_SCORE_ATTRIBUTE_TYPE();
513 test_pack_LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE();
514 test_pack_LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE();
515 test_pack_LPGOPHER_TTL_ATTRIBUTE_TYPE();
516 test_pack_LPGOPHER_VERONICA_ATTRIBUTE_TYPE();
517 test_pack_LPHINTERNET();
518 test_pack_LPHTTP_VERSION_INFO();
519 test_pack_LPINTERNET_ASYNC_RESULT();
520 test_pack_LPINTERNET_BUFFERSA();
521 test_pack_LPINTERNET_BUFFERSW();
522 test_pack_LPINTERNET_CACHE_ENTRY_INFOA();
523 test_pack_LPINTERNET_CACHE_ENTRY_INFOW();
524 test_pack_LPINTERNET_CONNECTED_INFO();
525 test_pack_LPINTERNET_PORT();
526 test_pack_LPINTERNET_STATUS_CALLBACK();
527 test_pack_LPINTERNET_VERSION_INFO();
528 test_pack_LPURL_COMPONENTSA();
529 test_pack_LPURL_COMPONENTSW();
530 test_pack_PFN_AUTH_NOTIFY();
531 test_pack_PFN_DIAL_HANDLER();
532 test_pack_URL_COMPONENTSA();
533 test_pack_URL_COMPONENTSW();
536 START_TEST(generated)