1 /* File generated automatically from tools/winapi/tests.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
3 
4 /*
5  * Unit tests for data structure packing
6  */
7 
8 #define WINE_NOWINSOCK
9 
10 #include <stdarg.h>
11 #include "windef.h"
12 #include "winbase.h"
13 #include "wininet.h"
14 #include "wininet_test.h"
15 
16 #include "wine/test.h"
17 
18 /***********************************************************************
19  * Compatibility macros
20  */
21 
22 #define DWORD_PTR UINT_PTR
23 #define LONG_PTR INT_PTR
24 #define ULONG_PTR UINT_PTR
25 
26 /***********************************************************************
27  * Windows API extension
28  */
29 
30 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
31 # define _TYPE_ALIGNMENT(type) __alignof(type)
32 #elif defined(__GNUC__)
33 # define _TYPE_ALIGNMENT(type) __alignof__(type)
34 #else
35 /*
36  * FIXME: May not be possible without a compiler extension
37  *        (if type is not just a name that is, otherwise the normal
38  *         TYPE_ALIGNMENT can be used)
39  */
40 #endif
41 
42 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
43 #pragma warning(disable:4116)
44 #endif
45 
46 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
47 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
48 #endif
49 
50 /***********************************************************************
51  * Test helper macros
52  */
53 
54 #define TEST_TYPE_SIZE(type, size)              C_ASSERT(sizeof(type) == size);
55 
56 #ifdef TYPE_ALIGNMENT
57 # define TEST_TYPE_ALIGN(type, align)           C_ASSERT(TYPE_ALIGNMENT(type) == align);
58 #else
59 # define TEST_TYPE_ALIGN(type, align)
60 #endif
61 
62 #ifdef _TYPE_ALIGNMENT
63 # define TEST_TARGET_ALIGN(type, align)         C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align);
64 # define TEST_FIELD_ALIGN(type, field, align)   C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align);
65 #else
66 # define TEST_TARGET_ALIGN(type, align)
67 # define TEST_FIELD_ALIGN(type, field, align)
68 #endif
69 
70 #define TEST_FIELD_OFFSET(type, field, offset)  C_ASSERT(FIELD_OFFSET(type, field) == offset);
71 
72 #define TEST_TARGET_SIZE(type, size)            TEST_TYPE_SIZE(*(type)0, size)
73 #define TEST_FIELD_SIZE(type, field, size)      TEST_TYPE_SIZE((((type*)0)->field), size)
74 #define TEST_TYPE_SIGNED(type)                  C_ASSERT((type) -1 < 0);
75 #define TEST_TYPE_UNSIGNED(type)                C_ASSERT((type) -1 > 0);
76 
77 
78 #ifdef _WIN64
79 
80 static void test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEA(void)
81 {
82     /* GOPHER_ABSTRACT_ATTRIBUTE_TYPEA */
83     TEST_TYPE_SIZE   (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 16)
84     TEST_TYPE_ALIGN  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 8)
85     TEST_FIELD_SIZE  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, ShortAbstract, 8)
86     TEST_FIELD_ALIGN (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, ShortAbstract, 8)
87     TEST_FIELD_OFFSET(GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, ShortAbstract, 0)
88     TEST_FIELD_SIZE  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, AbstractFile, 8)
89     TEST_FIELD_ALIGN (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, AbstractFile, 8)
90     TEST_FIELD_OFFSET(GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, AbstractFile, 8)
91 }
92 
93 static void test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEW(void)
94 {
95     /* GOPHER_ABSTRACT_ATTRIBUTE_TYPEW */
96     TEST_TYPE_SIZE   (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 16)
97     TEST_TYPE_ALIGN  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 8)
98     TEST_FIELD_SIZE  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, ShortAbstract, 8)
99     TEST_FIELD_ALIGN (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, ShortAbstract, 8)
100     TEST_FIELD_OFFSET(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, ShortAbstract, 0)
101     TEST_FIELD_SIZE  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, AbstractFile, 8)
102     TEST_FIELD_ALIGN (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, AbstractFile, 8)
103     TEST_FIELD_OFFSET(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, AbstractFile, 8)
104 }
105 
106 static void test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEA(void)
107 {
108     /* GOPHER_ADMIN_ATTRIBUTE_TYPEA */
109     TEST_TYPE_SIZE   (GOPHER_ADMIN_ATTRIBUTE_TYPEA, 16)
110     TEST_TYPE_ALIGN  (GOPHER_ADMIN_ATTRIBUTE_TYPEA, 8)
111     TEST_FIELD_SIZE  (GOPHER_ADMIN_ATTRIBUTE_TYPEA, Comment, 8)
112     TEST_FIELD_ALIGN (GOPHER_ADMIN_ATTRIBUTE_TYPEA, Comment, 8)
113     TEST_FIELD_OFFSET(GOPHER_ADMIN_ATTRIBUTE_TYPEA, Comment, 0)
114     TEST_FIELD_SIZE  (GOPHER_ADMIN_ATTRIBUTE_TYPEA, EmailAddress, 8)
115     TEST_FIELD_ALIGN (GOPHER_ADMIN_ATTRIBUTE_TYPEA, EmailAddress, 8)
116     TEST_FIELD_OFFSET(GOPHER_ADMIN_ATTRIBUTE_TYPEA, EmailAddress, 8)
117 }
118 
119 static void test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEW(void)
120 {
121     /* GOPHER_ADMIN_ATTRIBUTE_TYPEW */
122     TEST_TYPE_SIZE   (GOPHER_ADMIN_ATTRIBUTE_TYPEW, 16)
123     TEST_TYPE_ALIGN  (GOPHER_ADMIN_ATTRIBUTE_TYPEW, 8)
124     TEST_FIELD_SIZE  (GOPHER_ADMIN_ATTRIBUTE_TYPEW, Comment, 8)
125     TEST_FIELD_ALIGN (GOPHER_ADMIN_ATTRIBUTE_TYPEW, Comment, 8)
126     TEST_FIELD_OFFSET(GOPHER_ADMIN_ATTRIBUTE_TYPEW, Comment, 0)
127     TEST_FIELD_SIZE  (GOPHER_ADMIN_ATTRIBUTE_TYPEW, EmailAddress, 8)
128     TEST_FIELD_ALIGN (GOPHER_ADMIN_ATTRIBUTE_TYPEW, EmailAddress, 8)
129     TEST_FIELD_OFFSET(GOPHER_ADMIN_ATTRIBUTE_TYPEW, EmailAddress, 8)
130 }
131 
132 static void test_pack_GOPHER_ASK_ATTRIBUTE_TYPEA(void)
133 {
134     /* GOPHER_ASK_ATTRIBUTE_TYPEA */
135     TEST_TYPE_SIZE   (GOPHER_ASK_ATTRIBUTE_TYPEA, 16)
136     TEST_TYPE_ALIGN  (GOPHER_ASK_ATTRIBUTE_TYPEA, 8)
137     TEST_FIELD_SIZE  (GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionType, 8)
138     TEST_FIELD_ALIGN (GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionType, 8)
139     TEST_FIELD_OFFSET(GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionType, 0)
140     TEST_FIELD_SIZE  (GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionText, 8)
141     TEST_FIELD_ALIGN (GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionText, 8)
142     TEST_FIELD_OFFSET(GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionText, 8)
143 }
144 
145 static void test_pack_GOPHER_ASK_ATTRIBUTE_TYPEW(void)
146 {
147     /* GOPHER_ASK_ATTRIBUTE_TYPEW */
148     TEST_TYPE_SIZE   (GOPHER_ASK_ATTRIBUTE_TYPEW, 16)
149     TEST_TYPE_ALIGN  (GOPHER_ASK_ATTRIBUTE_TYPEW, 8)
150     TEST_FIELD_SIZE  (GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionType, 8)
151     TEST_FIELD_ALIGN (GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionType, 8)
152     TEST_FIELD_OFFSET(GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionType, 0)
153     TEST_FIELD_SIZE  (GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionText, 8)
154     TEST_FIELD_ALIGN (GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionText, 8)
155     TEST_FIELD_OFFSET(GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionText, 8)
156 }
157 
158 static void test_pack_GOPHER_ATTRIBUTE_ENUMERATORA(void)
159 {
160     /* GOPHER_ATTRIBUTE_ENUMERATORA */
161     TEST_TYPE_SIZE   (GOPHER_ATTRIBUTE_ENUMERATORA, 8)
162     TEST_TYPE_ALIGN  (GOPHER_ATTRIBUTE_ENUMERATORA, 8)
163 }
164 
165 static void test_pack_GOPHER_ATTRIBUTE_ENUMERATORW(void)
166 {
167     /* GOPHER_ATTRIBUTE_ENUMERATORW */
168     TEST_TYPE_SIZE   (GOPHER_ATTRIBUTE_ENUMERATORW, 8)
169     TEST_TYPE_ALIGN  (GOPHER_ATTRIBUTE_ENUMERATORW, 8)
170 }
171 
172 static void test_pack_GOPHER_ATTRIBUTE_TYPEA(void)
173 {
174     /* GOPHER_ATTRIBUTE_TYPEA */
175     TEST_FIELD_SIZE  (GOPHER_ATTRIBUTE_TYPEA, CategoryId, 4)
176     TEST_FIELD_ALIGN (GOPHER_ATTRIBUTE_TYPEA, CategoryId, 4)
177     TEST_FIELD_OFFSET(GOPHER_ATTRIBUTE_TYPEA, CategoryId, 0)
178     TEST_FIELD_SIZE  (GOPHER_ATTRIBUTE_TYPEA, AttributeId, 4)
179     TEST_FIELD_ALIGN (GOPHER_ATTRIBUTE_TYPEA, AttributeId, 4)
180     TEST_FIELD_OFFSET(GOPHER_ATTRIBUTE_TYPEA, AttributeId, 4)
181 }
182 
183 static void test_pack_GOPHER_ATTRIBUTE_TYPEW(void)
184 {
185     /* GOPHER_ATTRIBUTE_TYPEW */
186     TEST_FIELD_SIZE  (GOPHER_ATTRIBUTE_TYPEW, CategoryId, 4)
187     TEST_FIELD_ALIGN (GOPHER_ATTRIBUTE_TYPEW, CategoryId, 4)
188     TEST_FIELD_OFFSET(GOPHER_ATTRIBUTE_TYPEW, CategoryId, 0)
189     TEST_FIELD_SIZE  (GOPHER_ATTRIBUTE_TYPEW, AttributeId, 4)
190     TEST_FIELD_ALIGN (GOPHER_ATTRIBUTE_TYPEW, AttributeId, 4)
191     TEST_FIELD_OFFSET(GOPHER_ATTRIBUTE_TYPEW, AttributeId, 4)
192 }
193 
194 static void test_pack_GOPHER_FIND_DATAA(void)
195 {
196     /* GOPHER_FIND_DATAA */
197     TEST_TYPE_SIZE   (GOPHER_FIND_DATAA, 808)
198     TEST_TYPE_ALIGN  (GOPHER_FIND_DATAA, 4)
199     TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, DisplayString, 129)
200     TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, DisplayString, 1)
201     TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, DisplayString, 0)
202     TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, GopherType, 4)
203     TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, GopherType, 4)
204     TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, GopherType, 132)
205     TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, SizeLow, 4)
206     TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, SizeLow, 4)
207     TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, SizeLow, 136)
208     TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, SizeHigh, 4)
209     TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, SizeHigh, 4)
210     TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, SizeHigh, 140)
211     TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, LastModificationTime, 8)
212     TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, LastModificationTime, 4)
213     TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, LastModificationTime, 144)
214     TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, Locator, 654)
215     TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, Locator, 1)
216     TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, Locator, 152)
217 }
218 
219 static void test_pack_GOPHER_FIND_DATAW(void)
220 {
221     /* GOPHER_FIND_DATAW */
222     TEST_TYPE_SIZE   (GOPHER_FIND_DATAW, 1588)
223     TEST_TYPE_ALIGN  (GOPHER_FIND_DATAW, 4)
224     TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, DisplayString, 258)
225     TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, DisplayString, 2)
226     TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, DisplayString, 0)
227     TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, GopherType, 4)
228     TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, GopherType, 4)
229     TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, GopherType, 260)
230     TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, SizeLow, 4)
231     TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, SizeLow, 4)
232     TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, SizeLow, 264)
233     TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, SizeHigh, 4)
234     TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, SizeHigh, 4)
235     TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, SizeHigh, 268)
236     TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, LastModificationTime, 8)
237     TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, LastModificationTime, 4)
238     TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, LastModificationTime, 272)
239     TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, Locator, 1308)
240     TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, Locator, 2)
241     TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, Locator, 280)
242 }
243 
244 static void test_pack_GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE(void)
245 {
246     /* GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE */
247     TEST_TYPE_SIZE   (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24)
248     TEST_TYPE_ALIGN  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 4)
249     TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesNorth, 4)
250     TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesNorth, 4)
251     TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesNorth, 0)
252     TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesNorth, 4)
253     TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesNorth, 4)
254     TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesNorth, 4)
255     TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsNorth, 4)
256     TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsNorth, 4)
257     TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsNorth, 8)
258     TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesEast, 4)
259     TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesEast, 4)
260     TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesEast, 12)
261     TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesEast, 4)
262     TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesEast, 4)
263     TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesEast, 16)
264     TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsEast, 4)
265     TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsEast, 4)
266     TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsEast, 20)
267 }
268 
269 static void test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEA(void)
270 {
271     /* GOPHER_LOCATION_ATTRIBUTE_TYPEA */
272     TEST_TYPE_SIZE   (GOPHER_LOCATION_ATTRIBUTE_TYPEA, 8)
273     TEST_TYPE_ALIGN  (GOPHER_LOCATION_ATTRIBUTE_TYPEA, 8)
274     TEST_FIELD_SIZE  (GOPHER_LOCATION_ATTRIBUTE_TYPEA, Location, 8)
275     TEST_FIELD_ALIGN (GOPHER_LOCATION_ATTRIBUTE_TYPEA, Location, 8)
276     TEST_FIELD_OFFSET(GOPHER_LOCATION_ATTRIBUTE_TYPEA, Location, 0)
277 }
278 
279 static void test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEW(void)
280 {
281     /* GOPHER_LOCATION_ATTRIBUTE_TYPEW */
282     TEST_TYPE_SIZE   (GOPHER_LOCATION_ATTRIBUTE_TYPEW, 8)
283     TEST_TYPE_ALIGN  (GOPHER_LOCATION_ATTRIBUTE_TYPEW, 8)
284     TEST_FIELD_SIZE  (GOPHER_LOCATION_ATTRIBUTE_TYPEW, Location, 8)
285     TEST_FIELD_ALIGN (GOPHER_LOCATION_ATTRIBUTE_TYPEW, Location, 8)
286     TEST_FIELD_OFFSET(GOPHER_LOCATION_ATTRIBUTE_TYPEW, Location, 0)
287 }
288 
289 static void test_pack_GOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
290 {
291     /* GOPHER_MOD_DATE_ATTRIBUTE_TYPE */
292     TEST_TYPE_SIZE   (GOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8)
293     TEST_TYPE_ALIGN  (GOPHER_MOD_DATE_ATTRIBUTE_TYPE, 4)
294     TEST_FIELD_SIZE  (GOPHER_MOD_DATE_ATTRIBUTE_TYPE, DateAndTime, 8)
295     TEST_FIELD_ALIGN (GOPHER_MOD_DATE_ATTRIBUTE_TYPE, DateAndTime, 4)
296     TEST_FIELD_OFFSET(GOPHER_MOD_DATE_ATTRIBUTE_TYPE, DateAndTime, 0)
297 }
298 
299 static void test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA(void)
300 {
301     /* GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA */
302     TEST_TYPE_SIZE   (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 8)
303     TEST_TYPE_ALIGN  (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 8)
304     TEST_FIELD_SIZE  (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, Organization, 8)
305     TEST_FIELD_ALIGN (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, Organization, 8)
306     TEST_FIELD_OFFSET(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, Organization, 0)
307 }
308 
309 static void test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW(void)
310 {
311     /* GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW */
312     TEST_TYPE_SIZE   (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 8)
313     TEST_TYPE_ALIGN  (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 8)
314     TEST_FIELD_SIZE  (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, Organization, 8)
315     TEST_FIELD_ALIGN (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, Organization, 8)
316     TEST_FIELD_OFFSET(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, Organization, 0)
317 }
318 
319 static void test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEA(void)
320 {
321     /* GOPHER_PROVIDER_ATTRIBUTE_TYPEA */
322     TEST_TYPE_SIZE   (GOPHER_PROVIDER_ATTRIBUTE_TYPEA, 8)
323     TEST_TYPE_ALIGN  (GOPHER_PROVIDER_ATTRIBUTE_TYPEA, 8)
324     TEST_FIELD_SIZE  (GOPHER_PROVIDER_ATTRIBUTE_TYPEA, Provider, 8)
325     TEST_FIELD_ALIGN (GOPHER_PROVIDER_ATTRIBUTE_TYPEA, Provider, 8)
326     TEST_FIELD_OFFSET(GOPHER_PROVIDER_ATTRIBUTE_TYPEA, Provider, 0)
327 }
328 
329 static void test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEW(void)
330 {
331     /* GOPHER_PROVIDER_ATTRIBUTE_TYPEW */
332     TEST_TYPE_SIZE   (GOPHER_PROVIDER_ATTRIBUTE_TYPEW, 8)
333     TEST_TYPE_ALIGN  (GOPHER_PROVIDER_ATTRIBUTE_TYPEW, 8)
334     TEST_FIELD_SIZE  (GOPHER_PROVIDER_ATTRIBUTE_TYPEW, Provider, 8)
335     TEST_FIELD_ALIGN (GOPHER_PROVIDER_ATTRIBUTE_TYPEW, Provider, 8)
336     TEST_FIELD_OFFSET(GOPHER_PROVIDER_ATTRIBUTE_TYPEW, Provider, 0)
337 }
338 
339 static void test_pack_GOPHER_SCORE_ATTRIBUTE_TYPE(void)
340 {
341     /* GOPHER_SCORE_ATTRIBUTE_TYPE */
342     TEST_TYPE_SIZE   (GOPHER_SCORE_ATTRIBUTE_TYPE, 4)
343     TEST_TYPE_ALIGN  (GOPHER_SCORE_ATTRIBUTE_TYPE, 4)
344     TEST_FIELD_SIZE  (GOPHER_SCORE_ATTRIBUTE_TYPE, Score, 4)
345     TEST_FIELD_ALIGN (GOPHER_SCORE_ATTRIBUTE_TYPE, Score, 4)
346     TEST_FIELD_OFFSET(GOPHER_SCORE_ATTRIBUTE_TYPE, Score, 0)
347 }
348 
349 static void test_pack_GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE(void)
350 {
351     /* GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE */
352     TEST_TYPE_SIZE   (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8)
353     TEST_TYPE_ALIGN  (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 4)
354     TEST_FIELD_SIZE  (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, LowerBound, 4)
355     TEST_FIELD_ALIGN (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, LowerBound, 4)
356     TEST_FIELD_OFFSET(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, LowerBound, 0)
357     TEST_FIELD_SIZE  (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, UpperBound, 4)
358     TEST_FIELD_ALIGN (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, UpperBound, 4)
359     TEST_FIELD_OFFSET(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, UpperBound, 4)
360 }
361 
362 static void test_pack_GOPHER_SITE_ATTRIBUTE_TYPEA(void)
363 {
364     /* GOPHER_SITE_ATTRIBUTE_TYPEA */
365     TEST_TYPE_SIZE   (GOPHER_SITE_ATTRIBUTE_TYPEA, 8)
366     TEST_TYPE_ALIGN  (GOPHER_SITE_ATTRIBUTE_TYPEA, 8)
367     TEST_FIELD_SIZE  (GOPHER_SITE_ATTRIBUTE_TYPEA, Site, 8)
368     TEST_FIELD_ALIGN (GOPHER_SITE_ATTRIBUTE_TYPEA, Site, 8)
369     TEST_FIELD_OFFSET(GOPHER_SITE_ATTRIBUTE_TYPEA, Site, 0)
370 }
371 
372 static void test_pack_GOPHER_SITE_ATTRIBUTE_TYPEW(void)
373 {
374     /* GOPHER_SITE_ATTRIBUTE_TYPEW */
375     TEST_TYPE_SIZE   (GOPHER_SITE_ATTRIBUTE_TYPEW, 8)
376     TEST_TYPE_ALIGN  (GOPHER_SITE_ATTRIBUTE_TYPEW, 8)
377     TEST_FIELD_SIZE  (GOPHER_SITE_ATTRIBUTE_TYPEW, Site, 8)
378     TEST_FIELD_ALIGN (GOPHER_SITE_ATTRIBUTE_TYPEW, Site, 8)
379     TEST_FIELD_OFFSET(GOPHER_SITE_ATTRIBUTE_TYPEW, Site, 0)
380 }
381 
382 static void test_pack_GOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
383 {
384     /* GOPHER_TIMEZONE_ATTRIBUTE_TYPE */
385     TEST_TYPE_SIZE   (GOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
386     TEST_TYPE_ALIGN  (GOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
387     TEST_FIELD_SIZE  (GOPHER_TIMEZONE_ATTRIBUTE_TYPE, Zone, 4)
388     TEST_FIELD_ALIGN (GOPHER_TIMEZONE_ATTRIBUTE_TYPE, Zone, 4)
389     TEST_FIELD_OFFSET(GOPHER_TIMEZONE_ATTRIBUTE_TYPE, Zone, 0)
390 }
391 
392 static void test_pack_GOPHER_TTL_ATTRIBUTE_TYPE(void)
393 {
394     /* GOPHER_TTL_ATTRIBUTE_TYPE */
395     TEST_TYPE_SIZE   (GOPHER_TTL_ATTRIBUTE_TYPE, 4)
396     TEST_TYPE_ALIGN  (GOPHER_TTL_ATTRIBUTE_TYPE, 4)
397     TEST_FIELD_SIZE  (GOPHER_TTL_ATTRIBUTE_TYPE, Ttl, 4)
398     TEST_FIELD_ALIGN (GOPHER_TTL_ATTRIBUTE_TYPE, Ttl, 4)
399     TEST_FIELD_OFFSET(GOPHER_TTL_ATTRIBUTE_TYPE, Ttl, 0)
400 }
401 
402 static void test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEA(void)
403 {
404     /* GOPHER_UNKNOWN_ATTRIBUTE_TYPEA */
405     TEST_TYPE_SIZE   (GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 8)
406     TEST_TYPE_ALIGN  (GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 8)
407     TEST_FIELD_SIZE  (GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, Text, 8)
408     TEST_FIELD_ALIGN (GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, Text, 8)
409     TEST_FIELD_OFFSET(GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, Text, 0)
410 }
411 
412 static void test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEW(void)
413 {
414     /* GOPHER_UNKNOWN_ATTRIBUTE_TYPEW */
415     TEST_TYPE_SIZE   (GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 8)
416     TEST_TYPE_ALIGN  (GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 8)
417     TEST_FIELD_SIZE  (GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, Text, 8)
418     TEST_FIELD_ALIGN (GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, Text, 8)
419     TEST_FIELD_OFFSET(GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, Text, 0)
420 }
421 
422 static void test_pack_GOPHER_VERONICA_ATTRIBUTE_TYPE(void)
423 {
424     /* GOPHER_VERONICA_ATTRIBUTE_TYPE */
425     TEST_TYPE_SIZE   (GOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
426     TEST_TYPE_ALIGN  (GOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
427     TEST_FIELD_SIZE  (GOPHER_VERONICA_ATTRIBUTE_TYPE, TreeWalk, 4)
428     TEST_FIELD_ALIGN (GOPHER_VERONICA_ATTRIBUTE_TYPE, TreeWalk, 4)
429     TEST_FIELD_OFFSET(GOPHER_VERONICA_ATTRIBUTE_TYPE, TreeWalk, 0)
430 }
431 
432 static void test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEA(void)
433 {
434     /* GOPHER_VERSION_ATTRIBUTE_TYPEA */
435     TEST_TYPE_SIZE   (GOPHER_VERSION_ATTRIBUTE_TYPEA, 8)
436     TEST_TYPE_ALIGN  (GOPHER_VERSION_ATTRIBUTE_TYPEA, 8)
437     TEST_FIELD_SIZE  (GOPHER_VERSION_ATTRIBUTE_TYPEA, Version, 8)
438     TEST_FIELD_ALIGN (GOPHER_VERSION_ATTRIBUTE_TYPEA, Version, 8)
439     TEST_FIELD_OFFSET(GOPHER_VERSION_ATTRIBUTE_TYPEA, Version, 0)
440 }
441 
442 static void test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEW(void)
443 {
444     /* GOPHER_VERSION_ATTRIBUTE_TYPEW */
445     TEST_TYPE_SIZE   (GOPHER_VERSION_ATTRIBUTE_TYPEW, 8)
446     TEST_TYPE_ALIGN  (GOPHER_VERSION_ATTRIBUTE_TYPEW, 8)
447     TEST_FIELD_SIZE  (GOPHER_VERSION_ATTRIBUTE_TYPEW, Version, 8)
448     TEST_FIELD_ALIGN (GOPHER_VERSION_ATTRIBUTE_TYPEW, Version, 8)
449     TEST_FIELD_OFFSET(GOPHER_VERSION_ATTRIBUTE_TYPEW, Version, 0)
450 }
451 
452 static void test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEA(void)
453 {
454     /* GOPHER_VIEW_ATTRIBUTE_TYPEA */
455     TEST_TYPE_SIZE   (GOPHER_VIEW_ATTRIBUTE_TYPEA, 24)
456     TEST_TYPE_ALIGN  (GOPHER_VIEW_ATTRIBUTE_TYPEA, 8)
457     TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEA, ContentType, 8)
458     TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEA, ContentType, 8)
459     TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEA, ContentType, 0)
460     TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEA, Language, 8)
461     TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEA, Language, 8)
462     TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEA, Language, 8)
463     TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEA, Size, 4)
464     TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEA, Size, 4)
465     TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEA, Size, 16)
466 }
467 
468 static void test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEW(void)
469 {
470     /* GOPHER_VIEW_ATTRIBUTE_TYPEW */
471     TEST_TYPE_SIZE   (GOPHER_VIEW_ATTRIBUTE_TYPEW, 24)
472     TEST_TYPE_ALIGN  (GOPHER_VIEW_ATTRIBUTE_TYPEW, 8)
473     TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEW, ContentType, 8)
474     TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEW, ContentType, 8)
475     TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEW, ContentType, 0)
476     TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEW, Language, 8)
477     TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEW, Language, 8)
478     TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEW, Language, 8)
479     TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEW, Size, 4)
480     TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEW, Size, 4)
481     TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEW, Size, 16)
482 }
483 
484 static void test_pack_GROUPID(void)
485 {
486     /* GROUPID */
487     TEST_TYPE_SIZE   (GROUPID, 8)
488     TEST_TYPE_ALIGN  (GROUPID, 8)
489     TEST_TYPE_SIGNED (GROUPID)
490 }
491 
492 static void test_pack_HINTERNET(void)
493 {
494     /* HINTERNET */
495     TEST_TYPE_SIZE   (HINTERNET, 8)
496     TEST_TYPE_ALIGN  (HINTERNET, 8)
497 }
498 
499 static void test_pack_HTTP_VERSION_INFO(void)
500 {
501     /* HTTP_VERSION_INFO */
502     TEST_TYPE_SIZE   (HTTP_VERSION_INFO, 8)
503     TEST_TYPE_ALIGN  (HTTP_VERSION_INFO, 4)
504     TEST_FIELD_SIZE  (HTTP_VERSION_INFO, dwMajorVersion, 4)
505     TEST_FIELD_ALIGN (HTTP_VERSION_INFO, dwMajorVersion, 4)
506     TEST_FIELD_OFFSET(HTTP_VERSION_INFO, dwMajorVersion, 0)
507     TEST_FIELD_SIZE  (HTTP_VERSION_INFO, dwMinorVersion, 4)
508     TEST_FIELD_ALIGN (HTTP_VERSION_INFO, dwMinorVersion, 4)
509     TEST_FIELD_OFFSET(HTTP_VERSION_INFO, dwMinorVersion, 4)
510 }
511 
512 static void test_pack_INTERNET_ASYNC_RESULT(void)
513 {
514     /* INTERNET_ASYNC_RESULT */
515     TEST_TYPE_SIZE   (INTERNET_ASYNC_RESULT, 16)
516     TEST_TYPE_ALIGN  (INTERNET_ASYNC_RESULT, 8)
517     TEST_FIELD_SIZE  (INTERNET_ASYNC_RESULT, dwResult, 8)
518     TEST_FIELD_ALIGN (INTERNET_ASYNC_RESULT, dwResult, 8)
519     TEST_FIELD_OFFSET(INTERNET_ASYNC_RESULT, dwResult, 0)
520     TEST_FIELD_SIZE  (INTERNET_ASYNC_RESULT, dwError, 4)
521     TEST_FIELD_ALIGN (INTERNET_ASYNC_RESULT, dwError, 4)
522     TEST_FIELD_OFFSET(INTERNET_ASYNC_RESULT, dwError, 8)
523 }
524 
525 static void test_pack_INTERNET_AUTH_NOTIFY_DATA(void)
526 {
527     /* INTERNET_AUTH_NOTIFY_DATA */
528     TEST_TYPE_SIZE   (INTERNET_AUTH_NOTIFY_DATA, 24)
529     TEST_TYPE_ALIGN  (INTERNET_AUTH_NOTIFY_DATA, 8)
530     TEST_FIELD_SIZE  (INTERNET_AUTH_NOTIFY_DATA, cbStruct, 4)
531     TEST_FIELD_ALIGN (INTERNET_AUTH_NOTIFY_DATA, cbStruct, 4)
532     TEST_FIELD_OFFSET(INTERNET_AUTH_NOTIFY_DATA, cbStruct, 0)
533     TEST_FIELD_SIZE  (INTERNET_AUTH_NOTIFY_DATA, dwOptions, 4)
534     TEST_FIELD_ALIGN (INTERNET_AUTH_NOTIFY_DATA, dwOptions, 4)
535     TEST_FIELD_OFFSET(INTERNET_AUTH_NOTIFY_DATA, dwOptions, 4)
536     TEST_FIELD_SIZE  (INTERNET_AUTH_NOTIFY_DATA, pfnNotify, 8)
537     TEST_FIELD_ALIGN (INTERNET_AUTH_NOTIFY_DATA, pfnNotify, 8)
538     TEST_FIELD_OFFSET(INTERNET_AUTH_NOTIFY_DATA, pfnNotify, 8)
539     TEST_FIELD_SIZE  (INTERNET_AUTH_NOTIFY_DATA, dwContext, 8)
540     TEST_FIELD_ALIGN (INTERNET_AUTH_NOTIFY_DATA, dwContext, 8)
541     TEST_FIELD_OFFSET(INTERNET_AUTH_NOTIFY_DATA, dwContext, 16)
542 }
543 
544 static void test_pack_INTERNET_BUFFERSA(void)
545 {
546     /* INTERNET_BUFFERSA */
547     TEST_TYPE_SIZE   (INTERNET_BUFFERSA, 56)
548     TEST_TYPE_ALIGN  (INTERNET_BUFFERSA, 8)
549     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwStructSize, 4)
550     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwStructSize, 4)
551     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwStructSize, 0)
552     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, Next, 8)
553     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, Next, 8)
554     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, Next, 8)
555     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, lpcszHeader, 8)
556     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, lpcszHeader, 8)
557     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, lpcszHeader, 16)
558     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwHeadersLength, 4)
559     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwHeadersLength, 4)
560     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwHeadersLength, 24)
561     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwHeadersTotal, 4)
562     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwHeadersTotal, 4)
563     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwHeadersTotal, 28)
564     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, lpvBuffer, 8)
565     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, lpvBuffer, 8)
566     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, lpvBuffer, 32)
567     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwBufferLength, 4)
568     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwBufferLength, 4)
569     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwBufferLength, 40)
570     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwBufferTotal, 4)
571     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwBufferTotal, 4)
572     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwBufferTotal, 44)
573     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwOffsetLow, 4)
574     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwOffsetLow, 4)
575     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwOffsetLow, 48)
576     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwOffsetHigh, 4)
577     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwOffsetHigh, 4)
578     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwOffsetHigh, 52)
579 }
580 
581 static void test_pack_INTERNET_BUFFERSW(void)
582 {
583     /* INTERNET_BUFFERSW */
584     TEST_TYPE_SIZE   (INTERNET_BUFFERSW, 56)
585     TEST_TYPE_ALIGN  (INTERNET_BUFFERSW, 8)
586     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwStructSize, 4)
587     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwStructSize, 4)
588     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwStructSize, 0)
589     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, Next, 8)
590     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, Next, 8)
591     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, Next, 8)
592     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, lpcszHeader, 8)
593     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, lpcszHeader, 8)
594     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, lpcszHeader, 16)
595     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwHeadersLength, 4)
596     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwHeadersLength, 4)
597     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwHeadersLength, 24)
598     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwHeadersTotal, 4)
599     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwHeadersTotal, 4)
600     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwHeadersTotal, 28)
601     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, lpvBuffer, 8)
602     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, lpvBuffer, 8)
603     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, lpvBuffer, 32)
604     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwBufferLength, 4)
605     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwBufferLength, 4)
606     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwBufferLength, 40)
607     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwBufferTotal, 4)
608     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwBufferTotal, 4)
609     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwBufferTotal, 44)
610     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwOffsetLow, 4)
611     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwOffsetLow, 4)
612     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwOffsetLow, 48)
613     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwOffsetHigh, 4)
614     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwOffsetHigh, 4)
615     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwOffsetHigh, 52)
616 }
617 
618 static void test_pack_INTERNET_CACHE_ENTRY_INFOA(void)
619 {
620     /* INTERNET_CACHE_ENTRY_INFOA */
621     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwStructSize, 4)
622     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwStructSize, 4)
623     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwStructSize, 0)
624     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, lpszSourceUrlName, 8)
625     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, lpszSourceUrlName, 8)
626     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, lpszSourceUrlName, 8)
627     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, lpszLocalFileName, 8)
628     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, lpszLocalFileName, 8)
629     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, lpszLocalFileName, 16)
630     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, CacheEntryType, 4)
631     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, CacheEntryType, 4)
632     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, CacheEntryType, 24)
633     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwUseCount, 4)
634     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwUseCount, 4)
635     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwUseCount, 28)
636     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwHitRate, 4)
637     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwHitRate, 4)
638     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwHitRate, 32)
639     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwSizeLow, 4)
640     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwSizeLow, 4)
641     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwSizeLow, 36)
642     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwSizeHigh, 4)
643     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwSizeHigh, 4)
644     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwSizeHigh, 40)
645     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, LastModifiedTime, 8)
646     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, LastModifiedTime, 4)
647     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, LastModifiedTime, 44)
648     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, ExpireTime, 8)
649     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, ExpireTime, 4)
650     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, ExpireTime, 52)
651     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, LastAccessTime, 8)
652     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, LastAccessTime, 4)
653     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, LastAccessTime, 60)
654     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, LastSyncTime, 8)
655     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, LastSyncTime, 4)
656     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, LastSyncTime, 68)
657     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, lpHeaderInfo, 8)
658     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, lpHeaderInfo, 8)
659     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, lpHeaderInfo, 80)
660     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwHeaderInfoSize, 4)
661     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwHeaderInfoSize, 4)
662     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwHeaderInfoSize, 88)
663     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, lpszFileExtension, 8)
664     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, lpszFileExtension, 8)
665     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, lpszFileExtension, 96)
666 }
667 
668 static void test_pack_INTERNET_CACHE_ENTRY_INFOW(void)
669 {
670     /* INTERNET_CACHE_ENTRY_INFOW */
671     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwStructSize, 4)
672     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwStructSize, 4)
673     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwStructSize, 0)
674     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, lpszSourceUrlName, 8)
675     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, lpszSourceUrlName, 8)
676     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, lpszSourceUrlName, 8)
677     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, lpszLocalFileName, 8)
678     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, lpszLocalFileName, 8)
679     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, lpszLocalFileName, 16)
680     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, CacheEntryType, 4)
681     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, CacheEntryType, 4)
682     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, CacheEntryType, 24)
683     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwUseCount, 4)
684     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwUseCount, 4)
685     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwUseCount, 28)
686     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwHitRate, 4)
687     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwHitRate, 4)
688     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwHitRate, 32)
689     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwSizeLow, 4)
690     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwSizeLow, 4)
691     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwSizeLow, 36)
692     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwSizeHigh, 4)
693     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwSizeHigh, 4)
694     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwSizeHigh, 40)
695     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, LastModifiedTime, 8)
696     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, LastModifiedTime, 4)
697     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, LastModifiedTime, 44)
698     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, ExpireTime, 8)
699     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, ExpireTime, 4)
700     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, ExpireTime, 52)
701     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, LastAccessTime, 8)
702     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, LastAccessTime, 4)
703     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, LastAccessTime, 60)
704     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, LastSyncTime, 8)
705     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, LastSyncTime, 4)
706     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, LastSyncTime, 68)
707     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, lpHeaderInfo, 8)
708     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, lpHeaderInfo, 8)
709     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, lpHeaderInfo, 80)
710     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwHeaderInfoSize, 4)
711     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwHeaderInfoSize, 4)
712     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwHeaderInfoSize, 88)
713     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, lpszFileExtension, 8)
714     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, lpszFileExtension, 8)
715     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, lpszFileExtension, 96)
716 }
717 
718 static void test_pack_INTERNET_CERTIFICATE_INFOA(void)
719 {
720     /* INTERNET_CERTIFICATE_INFOA */
721     TEST_TYPE_SIZE   (INTERNET_CERTIFICATE_INFOA, 64)
722     TEST_TYPE_ALIGN  (INTERNET_CERTIFICATE_INFOA, 8)
723     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, ftExpiry, 8)
724     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, ftExpiry, 4)
725     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, ftExpiry, 0)
726     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, ftStart, 8)
727     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, ftStart, 4)
728     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, ftStart, 8)
729     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszSubjectInfo, 8)
730     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszSubjectInfo, 8)
731     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszSubjectInfo, 16)
732     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszIssuerInfo, 8)
733     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszIssuerInfo, 8)
734     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszIssuerInfo, 24)
735     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszProtocolName, 8)
736     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszProtocolName, 8)
737     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszProtocolName, 32)
738     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszSignatureAlgName, 8)
739     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszSignatureAlgName, 8)
740     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszSignatureAlgName, 40)
741     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszEncryptionAlgName, 8)
742     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszEncryptionAlgName, 8)
743     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszEncryptionAlgName, 48)
744     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, dwKeySize, 4)
745     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, dwKeySize, 4)
746     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, dwKeySize, 56)
747 }
748 
749 static void test_pack_INTERNET_CERTIFICATE_INFOW(void)
750 {
751     /* INTERNET_CERTIFICATE_INFOW */
752     TEST_TYPE_SIZE   (INTERNET_CERTIFICATE_INFOW, 64)
753     TEST_TYPE_ALIGN  (INTERNET_CERTIFICATE_INFOW, 8)
754     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, ftExpiry, 8)
755     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, ftExpiry, 4)
756     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, ftExpiry, 0)
757     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, ftStart, 8)
758     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, ftStart, 4)
759     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, ftStart, 8)
760     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszSubjectInfo, 8)
761     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszSubjectInfo, 8)
762     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszSubjectInfo, 16)
763     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszIssuerInfo, 8)
764     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszIssuerInfo, 8)
765     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszIssuerInfo, 24)
766     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszProtocolName, 8)
767     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszProtocolName, 8)
768     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszProtocolName, 32)
769     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszSignatureAlgName, 8)
770     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszSignatureAlgName, 8)
771     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszSignatureAlgName, 40)
772     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszEncryptionAlgName, 8)
773     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszEncryptionAlgName, 8)
774     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszEncryptionAlgName, 48)
775     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, dwKeySize, 4)
776     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, dwKeySize, 4)
777     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, dwKeySize, 56)
778 }
779 
780 static void test_pack_INTERNET_CONNECTED_INFO(void)
781 {
782     /* INTERNET_CONNECTED_INFO */
783     TEST_TYPE_SIZE   (INTERNET_CONNECTED_INFO, 8)
784     TEST_TYPE_ALIGN  (INTERNET_CONNECTED_INFO, 4)
785     TEST_FIELD_SIZE  (INTERNET_CONNECTED_INFO, dwConnectedState, 4)
786     TEST_FIELD_ALIGN (INTERNET_CONNECTED_INFO, dwConnectedState, 4)
787     TEST_FIELD_OFFSET(INTERNET_CONNECTED_INFO, dwConnectedState, 0)
788     TEST_FIELD_SIZE  (INTERNET_CONNECTED_INFO, dwFlags, 4)
789     TEST_FIELD_ALIGN (INTERNET_CONNECTED_INFO, dwFlags, 4)
790     TEST_FIELD_OFFSET(INTERNET_CONNECTED_INFO, dwFlags, 4)
791 }
792 
793 static void test_pack_INTERNET_PORT(void)
794 {
795     /* INTERNET_PORT */
796     TEST_TYPE_SIZE   (INTERNET_PORT, 2)
797     TEST_TYPE_ALIGN  (INTERNET_PORT, 2)
798     TEST_TYPE_UNSIGNED(INTERNET_PORT)
799 }
800 
801 static void test_pack_INTERNET_PROXY_INFOA(void)
802 {
803     /* INTERNET_PROXY_INFOA */
804     TEST_TYPE_SIZE   (INTERNET_PROXY_INFOA, 24)
805     TEST_TYPE_ALIGN  (INTERNET_PROXY_INFOA, 8)
806     TEST_FIELD_SIZE  (INTERNET_PROXY_INFOA, dwAccessType, 4)
807     TEST_FIELD_ALIGN (INTERNET_PROXY_INFOA, dwAccessType, 4)
808     TEST_FIELD_OFFSET(INTERNET_PROXY_INFOA, dwAccessType, 0)
809     TEST_FIELD_SIZE  (INTERNET_PROXY_INFOA, lpszProxy, 8)
810     TEST_FIELD_ALIGN (INTERNET_PROXY_INFOA, lpszProxy, 8)
811     TEST_FIELD_OFFSET(INTERNET_PROXY_INFOA, lpszProxy, 8)
812     TEST_FIELD_SIZE  (INTERNET_PROXY_INFOA, lpszProxyBypass, 8)
813     TEST_FIELD_ALIGN (INTERNET_PROXY_INFOA, lpszProxyBypass, 8)
814     TEST_FIELD_OFFSET(INTERNET_PROXY_INFOA, lpszProxyBypass, 16)
815 }
816 
817 static void test_pack_INTERNET_PROXY_INFOW(void)
818 {
819     /* INTERNET_PROXY_INFOW */
820     TEST_TYPE_SIZE   (INTERNET_PROXY_INFOW, 24)
821     TEST_TYPE_ALIGN  (INTERNET_PROXY_INFOW, 8)
822     TEST_FIELD_SIZE  (INTERNET_PROXY_INFOW, dwAccessType, 4)
823     TEST_FIELD_ALIGN (INTERNET_PROXY_INFOW, dwAccessType, 4)
824     TEST_FIELD_OFFSET(INTERNET_PROXY_INFOW, dwAccessType, 0)
825     TEST_FIELD_SIZE  (INTERNET_PROXY_INFOW, lpszProxy, 8)
826     TEST_FIELD_ALIGN (INTERNET_PROXY_INFOW, lpszProxy, 8)
827     TEST_FIELD_OFFSET(INTERNET_PROXY_INFOW, lpszProxy, 8)
828     TEST_FIELD_SIZE  (INTERNET_PROXY_INFOW, lpszProxyBypass, 8)
829     TEST_FIELD_ALIGN (INTERNET_PROXY_INFOW, lpszProxyBypass, 8)
830     TEST_FIELD_OFFSET(INTERNET_PROXY_INFOW, lpszProxyBypass, 16)
831 }
832 
833 static void test_pack_INTERNET_STATUS_CALLBACK(void)
834 {
835     /* INTERNET_STATUS_CALLBACK */
836     TEST_TYPE_SIZE   (INTERNET_STATUS_CALLBACK, 8)
837     TEST_TYPE_ALIGN  (INTERNET_STATUS_CALLBACK, 8)
838 }
839 
840 static void test_pack_INTERNET_VERSION_INFO(void)
841 {
842     /* INTERNET_VERSION_INFO */
843     TEST_TYPE_SIZE   (INTERNET_VERSION_INFO, 8)
844     TEST_TYPE_ALIGN  (INTERNET_VERSION_INFO, 4)
845     TEST_FIELD_SIZE  (INTERNET_VERSION_INFO, dwMajorVersion, 4)
846     TEST_FIELD_ALIGN (INTERNET_VERSION_INFO, dwMajorVersion, 4)
847     TEST_FIELD_OFFSET(INTERNET_VERSION_INFO, dwMajorVersion, 0)
848     TEST_FIELD_SIZE  (INTERNET_VERSION_INFO, dwMinorVersion, 4)
849     TEST_FIELD_ALIGN (INTERNET_VERSION_INFO, dwMinorVersion, 4)
850     TEST_FIELD_OFFSET(INTERNET_VERSION_INFO, dwMinorVersion, 4)
851 }
852 
853 static void test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA(void)
854 {
855     /* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA */
856     TEST_TYPE_SIZE   (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 8)
857     TEST_TYPE_ALIGN  (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 8)
858     TEST_TARGET_SIZE (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 16)
859     TEST_TARGET_ALIGN(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 8)
860 }
861 
862 static void test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW(void)
863 {
864     /* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW */
865     TEST_TYPE_SIZE   (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 8)
866     TEST_TYPE_ALIGN  (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 8)
867     TEST_TARGET_SIZE (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 16)
868     TEST_TARGET_ALIGN(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 8)
869 }
870 
871 static void test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEA(void)
872 {
873     /* LPGOPHER_ADMIN_ATTRIBUTE_TYPEA */
874     TEST_TYPE_SIZE   (LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 8)
875     TEST_TYPE_ALIGN  (LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 8)
876     TEST_TARGET_SIZE (LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 16)
877     TEST_TARGET_ALIGN(LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 8)
878 }
879 
880 static void test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEW(void)
881 {
882     /* LPGOPHER_ADMIN_ATTRIBUTE_TYPEW */
883     TEST_TYPE_SIZE   (LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 8)
884     TEST_TYPE_ALIGN  (LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 8)
885     TEST_TARGET_SIZE (LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 16)
886     TEST_TARGET_ALIGN(LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 8)
887 }
888 
889 static void test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEA(void)
890 {
891     /* LPGOPHER_ASK_ATTRIBUTE_TYPEA */
892     TEST_TYPE_SIZE   (LPGOPHER_ASK_ATTRIBUTE_TYPEA, 8)
893     TEST_TYPE_ALIGN  (LPGOPHER_ASK_ATTRIBUTE_TYPEA, 8)
894     TEST_TARGET_SIZE (LPGOPHER_ASK_ATTRIBUTE_TYPEA, 16)
895     TEST_TARGET_ALIGN(LPGOPHER_ASK_ATTRIBUTE_TYPEA, 8)
896 }
897 
898 static void test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEW(void)
899 {
900     /* LPGOPHER_ASK_ATTRIBUTE_TYPEW */
901     TEST_TYPE_SIZE   (LPGOPHER_ASK_ATTRIBUTE_TYPEW, 8)
902     TEST_TYPE_ALIGN  (LPGOPHER_ASK_ATTRIBUTE_TYPEW, 8)
903     TEST_TARGET_SIZE (LPGOPHER_ASK_ATTRIBUTE_TYPEW, 16)
904     TEST_TARGET_ALIGN(LPGOPHER_ASK_ATTRIBUTE_TYPEW, 8)
905 }
906 
907 static void test_pack_LPGOPHER_ATTRIBUTE_TYPEA(void)
908 {
909     /* LPGOPHER_ATTRIBUTE_TYPEA */
910     TEST_TYPE_SIZE   (LPGOPHER_ATTRIBUTE_TYPEA, 8)
911     TEST_TYPE_ALIGN  (LPGOPHER_ATTRIBUTE_TYPEA, 8)
912 }
913 
914 static void test_pack_LPGOPHER_ATTRIBUTE_TYPEW(void)
915 {
916     /* LPGOPHER_ATTRIBUTE_TYPEW */
917     TEST_TYPE_SIZE   (LPGOPHER_ATTRIBUTE_TYPEW, 8)
918     TEST_TYPE_ALIGN  (LPGOPHER_ATTRIBUTE_TYPEW, 8)
919 }
920 
921 static void test_pack_LPGOPHER_FIND_DATAA(void)
922 {
923     /* LPGOPHER_FIND_DATAA */
924     TEST_TYPE_SIZE   (LPGOPHER_FIND_DATAA, 8)
925     TEST_TYPE_ALIGN  (LPGOPHER_FIND_DATAA, 8)
926     TEST_TARGET_SIZE (LPGOPHER_FIND_DATAA, 808)
927     TEST_TARGET_ALIGN(LPGOPHER_FIND_DATAA, 4)
928 }
929 
930 static void test_pack_LPGOPHER_FIND_DATAW(void)
931 {
932     /* LPGOPHER_FIND_DATAW */
933     TEST_TYPE_SIZE   (LPGOPHER_FIND_DATAW, 8)
934     TEST_TYPE_ALIGN  (LPGOPHER_FIND_DATAW, 8)
935     TEST_TARGET_SIZE (LPGOPHER_FIND_DATAW, 1588)
936     TEST_TARGET_ALIGN(LPGOPHER_FIND_DATAW, 4)
937 }
938 
939 static void test_pack_LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE(void)
940 {
941     /* LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE */
942     TEST_TYPE_SIZE   (LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 8)
943     TEST_TYPE_ALIGN  (LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 8)
944     TEST_TARGET_SIZE (LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24)
945     TEST_TARGET_ALIGN(LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 4)
946 }
947 
948 static void test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEA(void)
949 {
950     /* LPGOPHER_LOCATION_ATTRIBUTE_TYPEA */
951     TEST_TYPE_SIZE   (LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 8)
952     TEST_TYPE_ALIGN  (LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 8)
953     TEST_TARGET_SIZE (LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 8)
954     TEST_TARGET_ALIGN(LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 8)
955 }
956 
957 static void test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEW(void)
958 {
959     /* LPGOPHER_LOCATION_ATTRIBUTE_TYPEW */
960     TEST_TYPE_SIZE   (LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 8)
961     TEST_TYPE_ALIGN  (LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 8)
962     TEST_TARGET_SIZE (LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 8)
963     TEST_TARGET_ALIGN(LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 8)
964 }
965 
966 static void test_pack_LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
967 {
968     /* LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE */
969     TEST_TYPE_SIZE   (LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8)
970     TEST_TYPE_ALIGN  (LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8)
971     TEST_TARGET_SIZE (LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8)
972     TEST_TARGET_ALIGN(LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 4)
973 }
974 
975 static void test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA(void)
976 {
977     /* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA */
978     TEST_TYPE_SIZE   (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 8)
979     TEST_TYPE_ALIGN  (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 8)
980     TEST_TARGET_SIZE (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 8)
981     TEST_TARGET_ALIGN(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 8)
982 }
983 
984 static void test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW(void)
985 {
986     /* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW */
987     TEST_TYPE_SIZE   (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 8)
988     TEST_TYPE_ALIGN  (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 8)
989     TEST_TARGET_SIZE (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 8)
990     TEST_TARGET_ALIGN(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 8)
991 }
992 
993 static void test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA(void)
994 {
995     /* LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA */
996     TEST_TYPE_SIZE   (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 8)
997     TEST_TYPE_ALIGN  (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 8)
998     TEST_TARGET_SIZE (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 8)
999     TEST_TARGET_ALIGN(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 8)
1000 }
1001 
1002 static void test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW(void)
1003 {
1004     /* LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW */
1005     TEST_TYPE_SIZE   (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 8)
1006     TEST_TYPE_ALIGN  (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 8)
1007     TEST_TARGET_SIZE (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 8)
1008     TEST_TARGET_ALIGN(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 8)
1009 }
1010 
1011 static void test_pack_LPGOPHER_SCORE_ATTRIBUTE_TYPE(void)
1012 {
1013     /* LPGOPHER_SCORE_ATTRIBUTE_TYPE */
1014     TEST_TYPE_SIZE   (LPGOPHER_SCORE_ATTRIBUTE_TYPE, 8)
1015     TEST_TYPE_ALIGN  (LPGOPHER_SCORE_ATTRIBUTE_TYPE, 8)
1016     TEST_TARGET_SIZE (LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4)
1017     TEST_TARGET_ALIGN(LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4)
1018 }
1019 
1020 static void test_pack_LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE(void)
1021 {
1022     /* LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE */
1023     TEST_TYPE_SIZE   (LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8)
1024     TEST_TYPE_ALIGN  (LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8)
1025     TEST_TARGET_SIZE (LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8)
1026     TEST_TARGET_ALIGN(LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 4)
1027 }
1028 
1029 static void test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEA(void)
1030 {
1031     /* LPGOPHER_SITE_ATTRIBUTE_TYPEA */
1032     TEST_TYPE_SIZE   (LPGOPHER_SITE_ATTRIBUTE_TYPEA, 8)
1033     TEST_TYPE_ALIGN  (LPGOPHER_SITE_ATTRIBUTE_TYPEA, 8)
1034     TEST_TARGET_SIZE (LPGOPHER_SITE_ATTRIBUTE_TYPEA, 8)
1035     TEST_TARGET_ALIGN(LPGOPHER_SITE_ATTRIBUTE_TYPEA, 8)
1036 }
1037 
1038 static void test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEW(void)
1039 {
1040     /* LPGOPHER_SITE_ATTRIBUTE_TYPEW */
1041     TEST_TYPE_SIZE   (LPGOPHER_SITE_ATTRIBUTE_TYPEW, 8)
1042     TEST_TYPE_ALIGN  (LPGOPHER_SITE_ATTRIBUTE_TYPEW, 8)
1043     TEST_TARGET_SIZE (LPGOPHER_SITE_ATTRIBUTE_TYPEW, 8)
1044     TEST_TARGET_ALIGN(LPGOPHER_SITE_ATTRIBUTE_TYPEW, 8)
1045 }
1046 
1047 static void test_pack_LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
1048 {
1049     /* LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE */
1050     TEST_TYPE_SIZE   (LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 8)
1051     TEST_TYPE_ALIGN  (LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 8)
1052     TEST_TARGET_SIZE (LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
1053     TEST_TARGET_ALIGN(LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
1054 }
1055 
1056 static void test_pack_LPGOPHER_TTL_ATTRIBUTE_TYPE(void)
1057 {
1058     /* LPGOPHER_TTL_ATTRIBUTE_TYPE */
1059     TEST_TYPE_SIZE   (LPGOPHER_TTL_ATTRIBUTE_TYPE, 8)
1060     TEST_TYPE_ALIGN  (LPGOPHER_TTL_ATTRIBUTE_TYPE, 8)
1061     TEST_TARGET_SIZE (LPGOPHER_TTL_ATTRIBUTE_TYPE, 4)
1062     TEST_TARGET_ALIGN(LPGOPHER_TTL_ATTRIBUTE_TYPE, 4)
1063 }
1064 
1065 static void test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA(void)
1066 {
1067     /* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA */
1068     TEST_TYPE_SIZE   (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 8)
1069     TEST_TYPE_ALIGN  (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 8)
1070     TEST_TARGET_SIZE (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 8)
1071     TEST_TARGET_ALIGN(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 8)
1072 }
1073 
1074 static void test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW(void)
1075 {
1076     /* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW */
1077     TEST_TYPE_SIZE   (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 8)
1078     TEST_TYPE_ALIGN  (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 8)
1079     TEST_TARGET_SIZE (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 8)
1080     TEST_TARGET_ALIGN(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 8)
1081 }
1082 
1083 static void test_pack_LPGOPHER_VERONICA_ATTRIBUTE_TYPE(void)
1084 {
1085     /* LPGOPHER_VERONICA_ATTRIBUTE_TYPE */
1086     TEST_TYPE_SIZE   (LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 8)
1087     TEST_TYPE_ALIGN  (LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 8)
1088     TEST_TARGET_SIZE (LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
1089     TEST_TARGET_ALIGN(LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
1090 }
1091 
1092 static void test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEA(void)
1093 {
1094     /* LPGOPHER_VERSION_ATTRIBUTE_TYPEA */
1095     TEST_TYPE_SIZE   (LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 8)
1096     TEST_TYPE_ALIGN  (LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 8)
1097     TEST_TARGET_SIZE (LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 8)
1098     TEST_TARGET_ALIGN(LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 8)
1099 }
1100 
1101 static void test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEW(void)
1102 {
1103     /* LPGOPHER_VERSION_ATTRIBUTE_TYPEW */
1104     TEST_TYPE_SIZE   (LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 8)
1105     TEST_TYPE_ALIGN  (LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 8)
1106     TEST_TARGET_SIZE (LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 8)
1107     TEST_TARGET_ALIGN(LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 8)
1108 }
1109 
1110 static void test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEA(void)
1111 {
1112     /* LPGOPHER_VIEW_ATTRIBUTE_TYPEA */
1113     TEST_TYPE_SIZE   (LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 8)
1114     TEST_TYPE_ALIGN  (LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 8)
1115     TEST_TARGET_SIZE (LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 24)
1116     TEST_TARGET_ALIGN(LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 8)
1117 }
1118 
1119 static void test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEW(void)
1120 {
1121     /* LPGOPHER_VIEW_ATTRIBUTE_TYPEW */
1122     TEST_TYPE_SIZE   (LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 8)
1123     TEST_TYPE_ALIGN  (LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 8)
1124     TEST_TARGET_SIZE (LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 24)
1125     TEST_TARGET_ALIGN(LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 8)
1126 }
1127 
1128 static void test_pack_LPHINTERNET(void)
1129 {
1130     /* LPHINTERNET */
1131     TEST_TYPE_SIZE   (LPHINTERNET, 8)
1132     TEST_TYPE_ALIGN  (LPHINTERNET, 8)
1133     TEST_TARGET_SIZE (LPHINTERNET, 8)
1134     TEST_TARGET_ALIGN(LPHINTERNET, 8)
1135 }
1136 
1137 static void test_pack_LPHTTP_VERSION_INFO(void)
1138 {
1139     /* LPHTTP_VERSION_INFO */
1140     TEST_TYPE_SIZE   (LPHTTP_VERSION_INFO, 8)
1141     TEST_TYPE_ALIGN  (LPHTTP_VERSION_INFO, 8)
1142     TEST_TARGET_SIZE (LPHTTP_VERSION_INFO, 8)
1143     TEST_TARGET_ALIGN(LPHTTP_VERSION_INFO, 4)
1144 }
1145 
1146 static void test_pack_LPINTERNET_ASYNC_RESULT(void)
1147 {
1148     /* LPINTERNET_ASYNC_RESULT */
1149     TEST_TYPE_SIZE   (LPINTERNET_ASYNC_RESULT, 8)
1150     TEST_TYPE_ALIGN  (LPINTERNET_ASYNC_RESULT, 8)
1151     TEST_TARGET_SIZE (LPINTERNET_ASYNC_RESULT, 16)
1152     TEST_TARGET_ALIGN(LPINTERNET_ASYNC_RESULT, 8)
1153 }
1154 
1155 static void test_pack_LPINTERNET_BUFFERSA(void)
1156 {
1157     /* LPINTERNET_BUFFERSA */
1158     TEST_TYPE_SIZE   (LPINTERNET_BUFFERSA, 8)
1159     TEST_TYPE_ALIGN  (LPINTERNET_BUFFERSA, 8)
1160     TEST_TARGET_SIZE (LPINTERNET_BUFFERSA, 56)
1161     TEST_TARGET_ALIGN(LPINTERNET_BUFFERSA, 8)
1162 }
1163 
1164 static void test_pack_LPINTERNET_BUFFERSW(void)
1165 {
1166     /* LPINTERNET_BUFFERSW */
1167     TEST_TYPE_SIZE   (LPINTERNET_BUFFERSW, 8)
1168     TEST_TYPE_ALIGN  (LPINTERNET_BUFFERSW, 8)
1169     TEST_TARGET_SIZE (LPINTERNET_BUFFERSW, 56)
1170     TEST_TARGET_ALIGN(LPINTERNET_BUFFERSW, 8)
1171 }
1172 
1173 static void test_pack_LPINTERNET_CACHE_ENTRY_INFOA(void)
1174 {
1175     /* LPINTERNET_CACHE_ENTRY_INFOA */
1176     TEST_TYPE_SIZE   (LPINTERNET_CACHE_ENTRY_INFOA, 8)
1177     TEST_TYPE_ALIGN  (LPINTERNET_CACHE_ENTRY_INFOA, 8)
1178 }
1179 
1180 static void test_pack_LPINTERNET_CACHE_ENTRY_INFOW(void)
1181 {
1182     /* LPINTERNET_CACHE_ENTRY_INFOW */
1183     TEST_TYPE_SIZE   (LPINTERNET_CACHE_ENTRY_INFOW, 8)
1184     TEST_TYPE_ALIGN  (LPINTERNET_CACHE_ENTRY_INFOW, 8)
1185 }
1186 
1187 static void test_pack_LPINTERNET_CERTIFICATE_INFOA(void)
1188 {
1189     /* LPINTERNET_CERTIFICATE_INFOA */
1190     TEST_TYPE_SIZE   (LPINTERNET_CERTIFICATE_INFOA, 8)
1191     TEST_TYPE_ALIGN  (LPINTERNET_CERTIFICATE_INFOA, 8)
1192     TEST_TARGET_SIZE (LPINTERNET_CERTIFICATE_INFOA, 64)
1193     TEST_TARGET_ALIGN(LPINTERNET_CERTIFICATE_INFOA, 8)
1194 }
1195 
1196 static void test_pack_LPINTERNET_CERTIFICATE_INFOW(void)
1197 {
1198     /* LPINTERNET_CERTIFICATE_INFOW */
1199     TEST_TYPE_SIZE   (LPINTERNET_CERTIFICATE_INFOW, 8)
1200     TEST_TYPE_ALIGN  (LPINTERNET_CERTIFICATE_INFOW, 8)
1201     TEST_TARGET_SIZE (LPINTERNET_CERTIFICATE_INFOW, 64)
1202     TEST_TARGET_ALIGN(LPINTERNET_CERTIFICATE_INFOW, 8)
1203 }
1204 
1205 static void test_pack_LPINTERNET_CONNECTED_INFO(void)
1206 {
1207     /* LPINTERNET_CONNECTED_INFO */
1208     TEST_TYPE_SIZE   (LPINTERNET_CONNECTED_INFO, 8)
1209     TEST_TYPE_ALIGN  (LPINTERNET_CONNECTED_INFO, 8)
1210     TEST_TARGET_SIZE (LPINTERNET_CONNECTED_INFO, 8)
1211     TEST_TARGET_ALIGN(LPINTERNET_CONNECTED_INFO, 4)
1212 }
1213 
1214 static void test_pack_LPINTERNET_PORT(void)
1215 {
1216     /* LPINTERNET_PORT */
1217     TEST_TYPE_SIZE   (LPINTERNET_PORT, 8)
1218     TEST_TYPE_ALIGN  (LPINTERNET_PORT, 8)
1219     TEST_TARGET_SIZE (LPINTERNET_PORT, 2)
1220     TEST_TARGET_ALIGN(LPINTERNET_PORT, 2)
1221 }
1222 
1223 static void test_pack_LPINTERNET_PROXY_INFOA(void)
1224 {
1225     /* LPINTERNET_PROXY_INFOA */
1226     TEST_TYPE_SIZE   (LPINTERNET_PROXY_INFOA, 8)
1227     TEST_TYPE_ALIGN  (LPINTERNET_PROXY_INFOA, 8)
1228     TEST_TARGET_SIZE (LPINTERNET_PROXY_INFOA, 24)
1229     TEST_TARGET_ALIGN(LPINTERNET_PROXY_INFOA, 8)
1230 }
1231 
1232 static void test_pack_LPINTERNET_PROXY_INFOW(void)
1233 {
1234     /* LPINTERNET_PROXY_INFOW */
1235     TEST_TYPE_SIZE   (LPINTERNET_PROXY_INFOW, 8)
1236     TEST_TYPE_ALIGN  (LPINTERNET_PROXY_INFOW, 8)
1237     TEST_TARGET_SIZE (LPINTERNET_PROXY_INFOW, 24)
1238     TEST_TARGET_ALIGN(LPINTERNET_PROXY_INFOW, 8)
1239 }
1240 
1241 static void test_pack_LPINTERNET_STATUS_CALLBACK(void)
1242 {
1243     /* LPINTERNET_STATUS_CALLBACK */
1244     TEST_TYPE_SIZE   (LPINTERNET_STATUS_CALLBACK, 8)
1245     TEST_TYPE_ALIGN  (LPINTERNET_STATUS_CALLBACK, 8)
1246     TEST_TARGET_SIZE (LPINTERNET_STATUS_CALLBACK, 8)
1247     TEST_TARGET_ALIGN(LPINTERNET_STATUS_CALLBACK, 8)
1248 }
1249 
1250 static void test_pack_LPINTERNET_VERSION_INFO(void)
1251 {
1252     /* LPINTERNET_VERSION_INFO */
1253     TEST_TYPE_SIZE   (LPINTERNET_VERSION_INFO, 8)
1254     TEST_TYPE_ALIGN  (LPINTERNET_VERSION_INFO, 8)
1255     TEST_TARGET_SIZE (LPINTERNET_VERSION_INFO, 8)
1256     TEST_TARGET_ALIGN(LPINTERNET_VERSION_INFO, 4)
1257 }
1258 
1259 static void test_pack_LPURL_COMPONENTSA(void)
1260 {
1261     /* LPURL_COMPONENTSA */
1262     TEST_TYPE_SIZE   (LPURL_COMPONENTSA, 8)
1263     TEST_TYPE_ALIGN  (LPURL_COMPONENTSA, 8)
1264 }
1265 
1266 static void test_pack_LPURL_COMPONENTSW(void)
1267 {
1268     /* LPURL_COMPONENTSW */
1269     TEST_TYPE_SIZE   (LPURL_COMPONENTSW, 8)
1270     TEST_TYPE_ALIGN  (LPURL_COMPONENTSW, 8)
1271 }
1272 
1273 static void test_pack_PFN_AUTH_NOTIFY(void)
1274 {
1275     /* PFN_AUTH_NOTIFY */
1276     TEST_TYPE_SIZE   (PFN_AUTH_NOTIFY, 8)
1277     TEST_TYPE_ALIGN  (PFN_AUTH_NOTIFY, 8)
1278 }
1279 
1280 static void test_pack_PFN_DIAL_HANDLER(void)
1281 {
1282     /* PFN_DIAL_HANDLER */
1283     TEST_TYPE_SIZE   (PFN_DIAL_HANDLER, 8)
1284     TEST_TYPE_ALIGN  (PFN_DIAL_HANDLER, 8)
1285 }
1286 
1287 static void test_pack_URL_COMPONENTSA(void)
1288 {
1289     /* URL_COMPONENTSA */
1290     TEST_FIELD_SIZE  (URL_COMPONENTSA, dwStructSize, 4)
1291     TEST_FIELD_ALIGN (URL_COMPONENTSA, dwStructSize, 4)
1292     TEST_FIELD_OFFSET(URL_COMPONENTSA, dwStructSize, 0)
1293     TEST_FIELD_SIZE  (URL_COMPONENTSA, lpszScheme, 8)
1294     TEST_FIELD_ALIGN (URL_COMPONENTSA, lpszScheme, 8)
1295     TEST_FIELD_OFFSET(URL_COMPONENTSA, lpszScheme, 8)
1296     TEST_FIELD_SIZE  (URL_COMPONENTSA, dwSchemeLength, 4)
1297     TEST_FIELD_ALIGN (URL_COMPONENTSA, dwSchemeLength, 4)
1298     TEST_FIELD_OFFSET(URL_COMPONENTSA, dwSchemeLength, 16)
1299 }
1300 
1301 static void test_pack_URL_COMPONENTSW(void)
1302 {
1303     /* URL_COMPONENTSW */
1304     TEST_FIELD_SIZE  (URL_COMPONENTSW, dwStructSize, 4)
1305     TEST_FIELD_ALIGN (URL_COMPONENTSW, dwStructSize, 4)
1306     TEST_FIELD_OFFSET(URL_COMPONENTSW, dwStructSize, 0)
1307     TEST_FIELD_SIZE  (URL_COMPONENTSW, lpszScheme, 8)
1308     TEST_FIELD_ALIGN (URL_COMPONENTSW, lpszScheme, 8)
1309     TEST_FIELD_OFFSET(URL_COMPONENTSW, lpszScheme, 8)
1310     TEST_FIELD_SIZE  (URL_COMPONENTSW, dwSchemeLength, 4)
1311     TEST_FIELD_ALIGN (URL_COMPONENTSW, dwSchemeLength, 4)
1312     TEST_FIELD_OFFSET(URL_COMPONENTSW, dwSchemeLength, 16)
1313 }
1314 
1315 #else /* _WIN64 */
1316 
1317 static void test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEA(void)
1318 {
1319     /* GOPHER_ABSTRACT_ATTRIBUTE_TYPEA */
1320     TEST_TYPE_SIZE   (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 8)
1321     TEST_TYPE_ALIGN  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 4)
1322     TEST_FIELD_SIZE  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, ShortAbstract, 4)
1323     TEST_FIELD_ALIGN (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, ShortAbstract, 4)
1324     TEST_FIELD_OFFSET(GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, ShortAbstract, 0)
1325     TEST_FIELD_SIZE  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, AbstractFile, 4)
1326     TEST_FIELD_ALIGN (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, AbstractFile, 4)
1327     TEST_FIELD_OFFSET(GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, AbstractFile, 4)
1328 }
1329 
1330 static void test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEW(void)
1331 {
1332     /* GOPHER_ABSTRACT_ATTRIBUTE_TYPEW */
1333     TEST_TYPE_SIZE   (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 8)
1334     TEST_TYPE_ALIGN  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 4)
1335     TEST_FIELD_SIZE  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, ShortAbstract, 4)
1336     TEST_FIELD_ALIGN (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, ShortAbstract, 4)
1337     TEST_FIELD_OFFSET(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, ShortAbstract, 0)
1338     TEST_FIELD_SIZE  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, AbstractFile, 4)
1339     TEST_FIELD_ALIGN (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, AbstractFile, 4)
1340     TEST_FIELD_OFFSET(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, AbstractFile, 4)
1341 }
1342 
1343 static void test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEA(void)
1344 {
1345     /* GOPHER_ADMIN_ATTRIBUTE_TYPEA */
1346     TEST_TYPE_SIZE   (GOPHER_ADMIN_ATTRIBUTE_TYPEA, 8)
1347     TEST_TYPE_ALIGN  (GOPHER_ADMIN_ATTRIBUTE_TYPEA, 4)
1348     TEST_FIELD_SIZE  (GOPHER_ADMIN_ATTRIBUTE_TYPEA, Comment, 4)
1349     TEST_FIELD_ALIGN (GOPHER_ADMIN_ATTRIBUTE_TYPEA, Comment, 4)
1350     TEST_FIELD_OFFSET(GOPHER_ADMIN_ATTRIBUTE_TYPEA, Comment, 0)
1351     TEST_FIELD_SIZE  (GOPHER_ADMIN_ATTRIBUTE_TYPEA, EmailAddress, 4)
1352     TEST_FIELD_ALIGN (GOPHER_ADMIN_ATTRIBUTE_TYPEA, EmailAddress, 4)
1353     TEST_FIELD_OFFSET(GOPHER_ADMIN_ATTRIBUTE_TYPEA, EmailAddress, 4)
1354 }
1355 
1356 static void test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEW(void)
1357 {
1358     /* GOPHER_ADMIN_ATTRIBUTE_TYPEW */
1359     TEST_TYPE_SIZE   (GOPHER_ADMIN_ATTRIBUTE_TYPEW, 8)
1360     TEST_TYPE_ALIGN  (GOPHER_ADMIN_ATTRIBUTE_TYPEW, 4)
1361     TEST_FIELD_SIZE  (GOPHER_ADMIN_ATTRIBUTE_TYPEW, Comment, 4)
1362     TEST_FIELD_ALIGN (GOPHER_ADMIN_ATTRIBUTE_TYPEW, Comment, 4)
1363     TEST_FIELD_OFFSET(GOPHER_ADMIN_ATTRIBUTE_TYPEW, Comment, 0)
1364     TEST_FIELD_SIZE  (GOPHER_ADMIN_ATTRIBUTE_TYPEW, EmailAddress, 4)
1365     TEST_FIELD_ALIGN (GOPHER_ADMIN_ATTRIBUTE_TYPEW, EmailAddress, 4)
1366     TEST_FIELD_OFFSET(GOPHER_ADMIN_ATTRIBUTE_TYPEW, EmailAddress, 4)
1367 }
1368 
1369 static void test_pack_GOPHER_ASK_ATTRIBUTE_TYPEA(void)
1370 {
1371     /* GOPHER_ASK_ATTRIBUTE_TYPEA */
1372     TEST_TYPE_SIZE   (GOPHER_ASK_ATTRIBUTE_TYPEA, 8)
1373     TEST_TYPE_ALIGN  (GOPHER_ASK_ATTRIBUTE_TYPEA, 4)
1374     TEST_FIELD_SIZE  (GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionType, 4)
1375     TEST_FIELD_ALIGN (GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionType, 4)
1376     TEST_FIELD_OFFSET(GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionType, 0)
1377     TEST_FIELD_SIZE  (GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionText, 4)
1378     TEST_FIELD_ALIGN (GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionText, 4)
1379     TEST_FIELD_OFFSET(GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionText, 4)
1380 }
1381 
1382 static void test_pack_GOPHER_ASK_ATTRIBUTE_TYPEW(void)
1383 {
1384     /* GOPHER_ASK_ATTRIBUTE_TYPEW */
1385     TEST_TYPE_SIZE   (GOPHER_ASK_ATTRIBUTE_TYPEW, 8)
1386     TEST_TYPE_ALIGN  (GOPHER_ASK_ATTRIBUTE_TYPEW, 4)
1387     TEST_FIELD_SIZE  (GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionType, 4)
1388     TEST_FIELD_ALIGN (GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionType, 4)
1389     TEST_FIELD_OFFSET(GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionType, 0)
1390     TEST_FIELD_SIZE  (GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionText, 4)
1391     TEST_FIELD_ALIGN (GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionText, 4)
1392     TEST_FIELD_OFFSET(GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionText, 4)
1393 }
1394 
1395 static void test_pack_GOPHER_ATTRIBUTE_ENUMERATORA(void)
1396 {
1397     /* GOPHER_ATTRIBUTE_ENUMERATORA */
1398     TEST_TYPE_SIZE   (GOPHER_ATTRIBUTE_ENUMERATORA, 4)
1399     TEST_TYPE_ALIGN  (GOPHER_ATTRIBUTE_ENUMERATORA, 4)
1400 }
1401 
1402 static void test_pack_GOPHER_ATTRIBUTE_ENUMERATORW(void)
1403 {
1404     /* GOPHER_ATTRIBUTE_ENUMERATORW */
1405     TEST_TYPE_SIZE   (GOPHER_ATTRIBUTE_ENUMERATORW, 4)
1406     TEST_TYPE_ALIGN  (GOPHER_ATTRIBUTE_ENUMERATORW, 4)
1407 }
1408 
1409 static void test_pack_GOPHER_ATTRIBUTE_TYPEA(void)
1410 {
1411     /* GOPHER_ATTRIBUTE_TYPEA */
1412     TEST_FIELD_SIZE  (GOPHER_ATTRIBUTE_TYPEA, CategoryId, 4)
1413     TEST_FIELD_ALIGN (GOPHER_ATTRIBUTE_TYPEA, CategoryId, 4)
1414     TEST_FIELD_OFFSET(GOPHER_ATTRIBUTE_TYPEA, CategoryId, 0)
1415     TEST_FIELD_SIZE  (GOPHER_ATTRIBUTE_TYPEA, AttributeId, 4)
1416     TEST_FIELD_ALIGN (GOPHER_ATTRIBUTE_TYPEA, AttributeId, 4)
1417     TEST_FIELD_OFFSET(GOPHER_ATTRIBUTE_TYPEA, AttributeId, 4)
1418 }
1419 
1420 static void test_pack_GOPHER_ATTRIBUTE_TYPEW(void)
1421 {
1422     /* GOPHER_ATTRIBUTE_TYPEW */
1423     TEST_FIELD_SIZE  (GOPHER_ATTRIBUTE_TYPEW, CategoryId, 4)
1424     TEST_FIELD_ALIGN (GOPHER_ATTRIBUTE_TYPEW, CategoryId, 4)
1425     TEST_FIELD_OFFSET(GOPHER_ATTRIBUTE_TYPEW, CategoryId, 0)
1426     TEST_FIELD_SIZE  (GOPHER_ATTRIBUTE_TYPEW, AttributeId, 4)
1427     TEST_FIELD_ALIGN (GOPHER_ATTRIBUTE_TYPEW, AttributeId, 4)
1428     TEST_FIELD_OFFSET(GOPHER_ATTRIBUTE_TYPEW, AttributeId, 4)
1429 }
1430 
1431 static void test_pack_GOPHER_FIND_DATAA(void)
1432 {
1433     /* GOPHER_FIND_DATAA */
1434     TEST_TYPE_SIZE   (GOPHER_FIND_DATAA, 808)
1435     TEST_TYPE_ALIGN  (GOPHER_FIND_DATAA, 4)
1436     TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, DisplayString, 129)
1437     TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, DisplayString, 1)
1438     TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, DisplayString, 0)
1439     TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, GopherType, 4)
1440     TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, GopherType, 4)
1441     TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, GopherType, 132)
1442     TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, SizeLow, 4)
1443     TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, SizeLow, 4)
1444     TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, SizeLow, 136)
1445     TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, SizeHigh, 4)
1446     TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, SizeHigh, 4)
1447     TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, SizeHigh, 140)
1448     TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, LastModificationTime, 8)
1449     TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, LastModificationTime, 4)
1450     TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, LastModificationTime, 144)
1451     TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, Locator, 654)
1452     TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, Locator, 1)
1453     TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, Locator, 152)
1454 }
1455 
1456 static void test_pack_GOPHER_FIND_DATAW(void)
1457 {
1458     /* GOPHER_FIND_DATAW */
1459     TEST_TYPE_SIZE   (GOPHER_FIND_DATAW, 1588)
1460     TEST_TYPE_ALIGN  (GOPHER_FIND_DATAW, 4)
1461     TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, DisplayString, 258)
1462     TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, DisplayString, 2)
1463     TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, DisplayString, 0)
1464     TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, GopherType, 4)
1465     TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, GopherType, 4)
1466     TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, GopherType, 260)
1467     TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, SizeLow, 4)
1468     TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, SizeLow, 4)
1469     TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, SizeLow, 264)
1470     TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, SizeHigh, 4)
1471     TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, SizeHigh, 4)
1472     TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, SizeHigh, 268)
1473     TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, LastModificationTime, 8)
1474     TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, LastModificationTime, 4)
1475     TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, LastModificationTime, 272)
1476     TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, Locator, 1308)
1477     TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, Locator, 2)
1478     TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, Locator, 280)
1479 }
1480 
1481 static void test_pack_GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE(void)
1482 {
1483     /* GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE */
1484     TEST_TYPE_SIZE   (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24)
1485     TEST_TYPE_ALIGN  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 4)
1486     TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesNorth, 4)
1487     TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesNorth, 4)
1488     TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesNorth, 0)
1489     TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesNorth, 4)
1490     TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesNorth, 4)
1491     TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesNorth, 4)
1492     TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsNorth, 4)
1493     TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsNorth, 4)
1494     TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsNorth, 8)
1495     TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesEast, 4)
1496     TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesEast, 4)
1497     TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesEast, 12)
1498     TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesEast, 4)
1499     TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesEast, 4)
1500     TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesEast, 16)
1501     TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsEast, 4)
1502     TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsEast, 4)
1503     TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsEast, 20)
1504 }
1505 
1506 static void test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEA(void)
1507 {
1508     /* GOPHER_LOCATION_ATTRIBUTE_TYPEA */
1509     TEST_TYPE_SIZE   (GOPHER_LOCATION_ATTRIBUTE_TYPEA, 4)
1510     TEST_TYPE_ALIGN  (GOPHER_LOCATION_ATTRIBUTE_TYPEA, 4)
1511     TEST_FIELD_SIZE  (GOPHER_LOCATION_ATTRIBUTE_TYPEA, Location, 4)
1512     TEST_FIELD_ALIGN (GOPHER_LOCATION_ATTRIBUTE_TYPEA, Location, 4)
1513     TEST_FIELD_OFFSET(GOPHER_LOCATION_ATTRIBUTE_TYPEA, Location, 0)
1514 }
1515 
1516 static void test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEW(void)
1517 {
1518     /* GOPHER_LOCATION_ATTRIBUTE_TYPEW */
1519     TEST_TYPE_SIZE   (GOPHER_LOCATION_ATTRIBUTE_TYPEW, 4)
1520     TEST_TYPE_ALIGN  (GOPHER_LOCATION_ATTRIBUTE_TYPEW, 4)
1521     TEST_FIELD_SIZE  (GOPHER_LOCATION_ATTRIBUTE_TYPEW, Location, 4)
1522     TEST_FIELD_ALIGN (GOPHER_LOCATION_ATTRIBUTE_TYPEW, Location, 4)
1523     TEST_FIELD_OFFSET(GOPHER_LOCATION_ATTRIBUTE_TYPEW, Location, 0)
1524 }
1525 
1526 static void test_pack_GOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
1527 {
1528     /* GOPHER_MOD_DATE_ATTRIBUTE_TYPE */
1529     TEST_TYPE_SIZE   (GOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8)
1530     TEST_TYPE_ALIGN  (GOPHER_MOD_DATE_ATTRIBUTE_TYPE, 4)
1531     TEST_FIELD_SIZE  (GOPHER_MOD_DATE_ATTRIBUTE_TYPE, DateAndTime, 8)
1532     TEST_FIELD_ALIGN (GOPHER_MOD_DATE_ATTRIBUTE_TYPE, DateAndTime, 4)
1533     TEST_FIELD_OFFSET(GOPHER_MOD_DATE_ATTRIBUTE_TYPE, DateAndTime, 0)
1534 }
1535 
1536 static void test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA(void)
1537 {
1538     /* GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA */
1539     TEST_TYPE_SIZE   (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4)
1540     TEST_TYPE_ALIGN  (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4)
1541     TEST_FIELD_SIZE  (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, Organization, 4)
1542     TEST_FIELD_ALIGN (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, Organization, 4)
1543     TEST_FIELD_OFFSET(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, Organization, 0)
1544 }
1545 
1546 static void test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW(void)
1547 {
1548     /* GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW */
1549     TEST_TYPE_SIZE   (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4)
1550     TEST_TYPE_ALIGN  (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4)
1551     TEST_FIELD_SIZE  (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, Organization, 4)
1552     TEST_FIELD_ALIGN (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, Organization, 4)
1553     TEST_FIELD_OFFSET(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, Organization, 0)
1554 }
1555 
1556 static void test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEA(void)
1557 {
1558     /* GOPHER_PROVIDER_ATTRIBUTE_TYPEA */
1559     TEST_TYPE_SIZE   (GOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4)
1560     TEST_TYPE_ALIGN  (GOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4)
1561     TEST_FIELD_SIZE  (GOPHER_PROVIDER_ATTRIBUTE_TYPEA, Provider, 4)
1562     TEST_FIELD_ALIGN (GOPHER_PROVIDER_ATTRIBUTE_TYPEA, Provider, 4)
1563     TEST_FIELD_OFFSET(GOPHER_PROVIDER_ATTRIBUTE_TYPEA, Provider, 0)
1564 }
1565 
1566 static void test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEW(void)
1567 {
1568     /* GOPHER_PROVIDER_ATTRIBUTE_TYPEW */
1569     TEST_TYPE_SIZE   (GOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4)
1570     TEST_TYPE_ALIGN  (GOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4)
1571     TEST_FIELD_SIZE  (GOPHER_PROVIDER_ATTRIBUTE_TYPEW, Provider, 4)
1572     TEST_FIELD_ALIGN (GOPHER_PROVIDER_ATTRIBUTE_TYPEW, Provider, 4)
1573     TEST_FIELD_OFFSET(GOPHER_PROVIDER_ATTRIBUTE_TYPEW, Provider, 0)
1574 }
1575 
1576 static void test_pack_GOPHER_SCORE_ATTRIBUTE_TYPE(void)
1577 {
1578     /* GOPHER_SCORE_ATTRIBUTE_TYPE */
1579     TEST_TYPE_SIZE   (GOPHER_SCORE_ATTRIBUTE_TYPE, 4)
1580     TEST_TYPE_ALIGN  (GOPHER_SCORE_ATTRIBUTE_TYPE, 4)
1581     TEST_FIELD_SIZE  (GOPHER_SCORE_ATTRIBUTE_TYPE, Score, 4)
1582     TEST_FIELD_ALIGN (GOPHER_SCORE_ATTRIBUTE_TYPE, Score, 4)
1583     TEST_FIELD_OFFSET(GOPHER_SCORE_ATTRIBUTE_TYPE, Score, 0)
1584 }
1585 
1586 static void test_pack_GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE(void)
1587 {
1588     /* GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE */
1589     TEST_TYPE_SIZE   (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8)
1590     TEST_TYPE_ALIGN  (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 4)
1591     TEST_FIELD_SIZE  (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, LowerBound, 4)
1592     TEST_FIELD_ALIGN (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, LowerBound, 4)
1593     TEST_FIELD_OFFSET(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, LowerBound, 0)
1594     TEST_FIELD_SIZE  (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, UpperBound, 4)
1595     TEST_FIELD_ALIGN (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, UpperBound, 4)
1596     TEST_FIELD_OFFSET(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, UpperBound, 4)
1597 }
1598 
1599 static void test_pack_GOPHER_SITE_ATTRIBUTE_TYPEA(void)
1600 {
1601     /* GOPHER_SITE_ATTRIBUTE_TYPEA */
1602     TEST_TYPE_SIZE   (GOPHER_SITE_ATTRIBUTE_TYPEA, 4)
1603     TEST_TYPE_ALIGN  (GOPHER_SITE_ATTRIBUTE_TYPEA, 4)
1604     TEST_FIELD_SIZE  (GOPHER_SITE_ATTRIBUTE_TYPEA, Site, 4)
1605     TEST_FIELD_ALIGN (GOPHER_SITE_ATTRIBUTE_TYPEA, Site, 4)
1606     TEST_FIELD_OFFSET(GOPHER_SITE_ATTRIBUTE_TYPEA, Site, 0)
1607 }
1608 
1609 static void test_pack_GOPHER_SITE_ATTRIBUTE_TYPEW(void)
1610 {
1611     /* GOPHER_SITE_ATTRIBUTE_TYPEW */
1612     TEST_TYPE_SIZE   (GOPHER_SITE_ATTRIBUTE_TYPEW, 4)
1613     TEST_TYPE_ALIGN  (GOPHER_SITE_ATTRIBUTE_TYPEW, 4)
1614     TEST_FIELD_SIZE  (GOPHER_SITE_ATTRIBUTE_TYPEW, Site, 4)
1615     TEST_FIELD_ALIGN (GOPHER_SITE_ATTRIBUTE_TYPEW, Site, 4)
1616     TEST_FIELD_OFFSET(GOPHER_SITE_ATTRIBUTE_TYPEW, Site, 0)
1617 }
1618 
1619 static void test_pack_GOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
1620 {
1621     /* GOPHER_TIMEZONE_ATTRIBUTE_TYPE */
1622     TEST_TYPE_SIZE   (GOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
1623     TEST_TYPE_ALIGN  (GOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
1624     TEST_FIELD_SIZE  (GOPHER_TIMEZONE_ATTRIBUTE_TYPE, Zone, 4)
1625     TEST_FIELD_ALIGN (GOPHER_TIMEZONE_ATTRIBUTE_TYPE, Zone, 4)
1626     TEST_FIELD_OFFSET(GOPHER_TIMEZONE_ATTRIBUTE_TYPE, Zone, 0)
1627 }
1628 
1629 static void test_pack_GOPHER_TTL_ATTRIBUTE_TYPE(void)
1630 {
1631     /* GOPHER_TTL_ATTRIBUTE_TYPE */
1632     TEST_TYPE_SIZE   (GOPHER_TTL_ATTRIBUTE_TYPE, 4)
1633     TEST_TYPE_ALIGN  (GOPHER_TTL_ATTRIBUTE_TYPE, 4)
1634     TEST_FIELD_SIZE  (GOPHER_TTL_ATTRIBUTE_TYPE, Ttl, 4)
1635     TEST_FIELD_ALIGN (GOPHER_TTL_ATTRIBUTE_TYPE, Ttl, 4)
1636     TEST_FIELD_OFFSET(GOPHER_TTL_ATTRIBUTE_TYPE, Ttl, 0)
1637 }
1638 
1639 static void test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEA(void)
1640 {
1641     /* GOPHER_UNKNOWN_ATTRIBUTE_TYPEA */
1642     TEST_TYPE_SIZE   (GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4)
1643     TEST_TYPE_ALIGN  (GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4)
1644     TEST_FIELD_SIZE  (GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, Text, 4)
1645     TEST_FIELD_ALIGN (GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, Text, 4)
1646     TEST_FIELD_OFFSET(GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, Text, 0)
1647 }
1648 
1649 static void test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEW(void)
1650 {
1651     /* GOPHER_UNKNOWN_ATTRIBUTE_TYPEW */
1652     TEST_TYPE_SIZE   (GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4)
1653     TEST_TYPE_ALIGN  (GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4)
1654     TEST_FIELD_SIZE  (GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, Text, 4)
1655     TEST_FIELD_ALIGN (GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, Text, 4)
1656     TEST_FIELD_OFFSET(GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, Text, 0)
1657 }
1658 
1659 static void test_pack_GOPHER_VERONICA_ATTRIBUTE_TYPE(void)
1660 {
1661     /* GOPHER_VERONICA_ATTRIBUTE_TYPE */
1662     TEST_TYPE_SIZE   (GOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
1663     TEST_TYPE_ALIGN  (GOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
1664     TEST_FIELD_SIZE  (GOPHER_VERONICA_ATTRIBUTE_TYPE, TreeWalk, 4)
1665     TEST_FIELD_ALIGN (GOPHER_VERONICA_ATTRIBUTE_TYPE, TreeWalk, 4)
1666     TEST_FIELD_OFFSET(GOPHER_VERONICA_ATTRIBUTE_TYPE, TreeWalk, 0)
1667 }
1668 
1669 static void test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEA(void)
1670 {
1671     /* GOPHER_VERSION_ATTRIBUTE_TYPEA */
1672     TEST_TYPE_SIZE   (GOPHER_VERSION_ATTRIBUTE_TYPEA, 4)
1673     TEST_TYPE_ALIGN  (GOPHER_VERSION_ATTRIBUTE_TYPEA, 4)
1674     TEST_FIELD_SIZE  (GOPHER_VERSION_ATTRIBUTE_TYPEA, Version, 4)
1675     TEST_FIELD_ALIGN (GOPHER_VERSION_ATTRIBUTE_TYPEA, Version, 4)
1676     TEST_FIELD_OFFSET(GOPHER_VERSION_ATTRIBUTE_TYPEA, Version, 0)
1677 }
1678 
1679 static void test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEW(void)
1680 {
1681     /* GOPHER_VERSION_ATTRIBUTE_TYPEW */
1682     TEST_TYPE_SIZE   (GOPHER_VERSION_ATTRIBUTE_TYPEW, 4)
1683     TEST_TYPE_ALIGN  (GOPHER_VERSION_ATTRIBUTE_TYPEW, 4)
1684     TEST_FIELD_SIZE  (GOPHER_VERSION_ATTRIBUTE_TYPEW, Version, 4)
1685     TEST_FIELD_ALIGN (GOPHER_VERSION_ATTRIBUTE_TYPEW, Version, 4)
1686     TEST_FIELD_OFFSET(GOPHER_VERSION_ATTRIBUTE_TYPEW, Version, 0)
1687 }
1688 
1689 static void test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEA(void)
1690 {
1691     /* GOPHER_VIEW_ATTRIBUTE_TYPEA */
1692     TEST_TYPE_SIZE   (GOPHER_VIEW_ATTRIBUTE_TYPEA, 12)
1693     TEST_TYPE_ALIGN  (GOPHER_VIEW_ATTRIBUTE_TYPEA, 4)
1694     TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEA, ContentType, 4)
1695     TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEA, ContentType, 4)
1696     TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEA, ContentType, 0)
1697     TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEA, Language, 4)
1698     TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEA, Language, 4)
1699     TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEA, Language, 4)
1700     TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEA, Size, 4)
1701     TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEA, Size, 4)
1702     TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEA, Size, 8)
1703 }
1704 
1705 static void test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEW(void)
1706 {
1707     /* GOPHER_VIEW_ATTRIBUTE_TYPEW */
1708     TEST_TYPE_SIZE   (GOPHER_VIEW_ATTRIBUTE_TYPEW, 12)
1709     TEST_TYPE_ALIGN  (GOPHER_VIEW_ATTRIBUTE_TYPEW, 4)
1710     TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEW, ContentType, 4)
1711     TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEW, ContentType, 4)
1712     TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEW, ContentType, 0)
1713     TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEW, Language, 4)
1714     TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEW, Language, 4)
1715     TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEW, Language, 4)
1716     TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEW, Size, 4)
1717     TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEW, Size, 4)
1718     TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEW, Size, 8)
1719 }
1720 
1721 static void test_pack_GROUPID(void)
1722 {
1723     /* GROUPID */
1724     TEST_TYPE_SIZE   (GROUPID, 8)
1725     TEST_TYPE_ALIGN  (GROUPID, 8)
1726     TEST_TYPE_SIGNED (GROUPID)
1727 }
1728 
1729 static void test_pack_HINTERNET(void)
1730 {
1731     /* HINTERNET */
1732     TEST_TYPE_SIZE   (HINTERNET, 4)
1733     TEST_TYPE_ALIGN  (HINTERNET, 4)
1734 }
1735 
1736 static void test_pack_HTTP_VERSION_INFO(void)
1737 {
1738     /* HTTP_VERSION_INFO */
1739     TEST_TYPE_SIZE   (HTTP_VERSION_INFO, 8)
1740     TEST_TYPE_ALIGN  (HTTP_VERSION_INFO, 4)
1741     TEST_FIELD_SIZE  (HTTP_VERSION_INFO, dwMajorVersion, 4)
1742     TEST_FIELD_ALIGN (HTTP_VERSION_INFO, dwMajorVersion, 4)
1743     TEST_FIELD_OFFSET(HTTP_VERSION_INFO, dwMajorVersion, 0)
1744     TEST_FIELD_SIZE  (HTTP_VERSION_INFO, dwMinorVersion, 4)
1745     TEST_FIELD_ALIGN (HTTP_VERSION_INFO, dwMinorVersion, 4)
1746     TEST_FIELD_OFFSET(HTTP_VERSION_INFO, dwMinorVersion, 4)
1747 }
1748 
1749 static void test_pack_INTERNET_ASYNC_RESULT(void)
1750 {
1751     /* INTERNET_ASYNC_RESULT */
1752     TEST_TYPE_SIZE   (INTERNET_ASYNC_RESULT, 8)
1753     TEST_TYPE_ALIGN  (INTERNET_ASYNC_RESULT, 4)
1754     TEST_FIELD_SIZE  (INTERNET_ASYNC_RESULT, dwResult, 4)
1755     TEST_FIELD_ALIGN (INTERNET_ASYNC_RESULT, dwResult, 4)
1756     TEST_FIELD_OFFSET(INTERNET_ASYNC_RESULT, dwResult, 0)
1757     TEST_FIELD_SIZE  (INTERNET_ASYNC_RESULT, dwError, 4)
1758     TEST_FIELD_ALIGN (INTERNET_ASYNC_RESULT, dwError, 4)
1759     TEST_FIELD_OFFSET(INTERNET_ASYNC_RESULT, dwError, 4)
1760 }
1761 
1762 static void test_pack_INTERNET_AUTH_NOTIFY_DATA(void)
1763 {
1764     /* INTERNET_AUTH_NOTIFY_DATA */
1765     TEST_TYPE_SIZE   (INTERNET_AUTH_NOTIFY_DATA, 16)
1766     TEST_TYPE_ALIGN  (INTERNET_AUTH_NOTIFY_DATA, 4)
1767     TEST_FIELD_SIZE  (INTERNET_AUTH_NOTIFY_DATA, cbStruct, 4)
1768     TEST_FIELD_ALIGN (INTERNET_AUTH_NOTIFY_DATA, cbStruct, 4)
1769     TEST_FIELD_OFFSET(INTERNET_AUTH_NOTIFY_DATA, cbStruct, 0)
1770     TEST_FIELD_SIZE  (INTERNET_AUTH_NOTIFY_DATA, dwOptions, 4)
1771     TEST_FIELD_ALIGN (INTERNET_AUTH_NOTIFY_DATA, dwOptions, 4)
1772     TEST_FIELD_OFFSET(INTERNET_AUTH_NOTIFY_DATA, dwOptions, 4)
1773     TEST_FIELD_SIZE  (INTERNET_AUTH_NOTIFY_DATA, pfnNotify, 4)
1774     TEST_FIELD_ALIGN (INTERNET_AUTH_NOTIFY_DATA, pfnNotify, 4)
1775     TEST_FIELD_OFFSET(INTERNET_AUTH_NOTIFY_DATA, pfnNotify, 8)
1776     TEST_FIELD_SIZE  (INTERNET_AUTH_NOTIFY_DATA, dwContext, 4)
1777     TEST_FIELD_ALIGN (INTERNET_AUTH_NOTIFY_DATA, dwContext, 4)
1778     TEST_FIELD_OFFSET(INTERNET_AUTH_NOTIFY_DATA, dwContext, 12)
1779 }
1780 
1781 static void test_pack_INTERNET_BUFFERSA(void)
1782 {
1783     /* INTERNET_BUFFERSA */
1784     TEST_TYPE_SIZE   (INTERNET_BUFFERSA, 40)
1785     TEST_TYPE_ALIGN  (INTERNET_BUFFERSA, 4)
1786     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwStructSize, 4)
1787     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwStructSize, 4)
1788     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwStructSize, 0)
1789     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, Next, 4)
1790     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, Next, 4)
1791     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, Next, 4)
1792     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, lpcszHeader, 4)
1793     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, lpcszHeader, 4)
1794     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, lpcszHeader, 8)
1795     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwHeadersLength, 4)
1796     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwHeadersLength, 4)
1797     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwHeadersLength, 12)
1798     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwHeadersTotal, 4)
1799     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwHeadersTotal, 4)
1800     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwHeadersTotal, 16)
1801     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, lpvBuffer, 4)
1802     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, lpvBuffer, 4)
1803     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, lpvBuffer, 20)
1804     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwBufferLength, 4)
1805     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwBufferLength, 4)
1806     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwBufferLength, 24)
1807     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwBufferTotal, 4)
1808     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwBufferTotal, 4)
1809     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwBufferTotal, 28)
1810     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwOffsetLow, 4)
1811     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwOffsetLow, 4)
1812     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwOffsetLow, 32)
1813     TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwOffsetHigh, 4)
1814     TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwOffsetHigh, 4)
1815     TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwOffsetHigh, 36)
1816 }
1817 
1818 static void test_pack_INTERNET_BUFFERSW(void)
1819 {
1820     /* INTERNET_BUFFERSW */
1821     TEST_TYPE_SIZE   (INTERNET_BUFFERSW, 40)
1822     TEST_TYPE_ALIGN  (INTERNET_BUFFERSW, 4)
1823     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwStructSize, 4)
1824     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwStructSize, 4)
1825     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwStructSize, 0)
1826     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, Next, 4)
1827     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, Next, 4)
1828     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, Next, 4)
1829     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, lpcszHeader, 4)
1830     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, lpcszHeader, 4)
1831     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, lpcszHeader, 8)
1832     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwHeadersLength, 4)
1833     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwHeadersLength, 4)
1834     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwHeadersLength, 12)
1835     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwHeadersTotal, 4)
1836     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwHeadersTotal, 4)
1837     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwHeadersTotal, 16)
1838     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, lpvBuffer, 4)
1839     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, lpvBuffer, 4)
1840     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, lpvBuffer, 20)
1841     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwBufferLength, 4)
1842     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwBufferLength, 4)
1843     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwBufferLength, 24)
1844     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwBufferTotal, 4)
1845     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwBufferTotal, 4)
1846     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwBufferTotal, 28)
1847     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwOffsetLow, 4)
1848     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwOffsetLow, 4)
1849     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwOffsetLow, 32)
1850     TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwOffsetHigh, 4)
1851     TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwOffsetHigh, 4)
1852     TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwOffsetHigh, 36)
1853 }
1854 
1855 static void test_pack_INTERNET_CACHE_ENTRY_INFOA(void)
1856 {
1857     /* INTERNET_CACHE_ENTRY_INFOA */
1858     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwStructSize, 4)
1859     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwStructSize, 4)
1860     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwStructSize, 0)
1861     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, lpszSourceUrlName, 4)
1862     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, lpszSourceUrlName, 4)
1863     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, lpszSourceUrlName, 4)
1864     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, lpszLocalFileName, 4)
1865     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, lpszLocalFileName, 4)
1866     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, lpszLocalFileName, 8)
1867     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, CacheEntryType, 4)
1868     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, CacheEntryType, 4)
1869     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, CacheEntryType, 12)
1870     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwUseCount, 4)
1871     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwUseCount, 4)
1872     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwUseCount, 16)
1873     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwHitRate, 4)
1874     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwHitRate, 4)
1875     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwHitRate, 20)
1876     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwSizeLow, 4)
1877     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwSizeLow, 4)
1878     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwSizeLow, 24)
1879     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwSizeHigh, 4)
1880     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwSizeHigh, 4)
1881     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwSizeHigh, 28)
1882     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, LastModifiedTime, 8)
1883     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, LastModifiedTime, 4)
1884     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, LastModifiedTime, 32)
1885     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, ExpireTime, 8)
1886     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, ExpireTime, 4)
1887     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, ExpireTime, 40)
1888     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, LastAccessTime, 8)
1889     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, LastAccessTime, 4)
1890     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, LastAccessTime, 48)
1891     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, LastSyncTime, 8)
1892     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, LastSyncTime, 4)
1893     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, LastSyncTime, 56)
1894     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, lpHeaderInfo, 4)
1895     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, lpHeaderInfo, 4)
1896     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, lpHeaderInfo, 64)
1897     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwHeaderInfoSize, 4)
1898     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwHeaderInfoSize, 4)
1899     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwHeaderInfoSize, 68)
1900     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, lpszFileExtension, 4)
1901     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, lpszFileExtension, 4)
1902     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, lpszFileExtension, 72)
1903 }
1904 
1905 static void test_pack_INTERNET_CACHE_ENTRY_INFOW(void)
1906 {
1907     /* INTERNET_CACHE_ENTRY_INFOW */
1908     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwStructSize, 4)
1909     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwStructSize, 4)
1910     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwStructSize, 0)
1911     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, lpszSourceUrlName, 4)
1912     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, lpszSourceUrlName, 4)
1913     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, lpszSourceUrlName, 4)
1914     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, lpszLocalFileName, 4)
1915     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, lpszLocalFileName, 4)
1916     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, lpszLocalFileName, 8)
1917     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, CacheEntryType, 4)
1918     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, CacheEntryType, 4)
1919     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, CacheEntryType, 12)
1920     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwUseCount, 4)
1921     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwUseCount, 4)
1922     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwUseCount, 16)
1923     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwHitRate, 4)
1924     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwHitRate, 4)
1925     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwHitRate, 20)
1926     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwSizeLow, 4)
1927     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwSizeLow, 4)
1928     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwSizeLow, 24)
1929     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwSizeHigh, 4)
1930     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwSizeHigh, 4)
1931     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwSizeHigh, 28)
1932     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, LastModifiedTime, 8)
1933     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, LastModifiedTime, 4)
1934     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, LastModifiedTime, 32)
1935     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, ExpireTime, 8)
1936     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, ExpireTime, 4)
1937     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, ExpireTime, 40)
1938     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, LastAccessTime, 8)
1939     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, LastAccessTime, 4)
1940     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, LastAccessTime, 48)
1941     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, LastSyncTime, 8)
1942     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, LastSyncTime, 4)
1943     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, LastSyncTime, 56)
1944     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, lpHeaderInfo, 4)
1945     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, lpHeaderInfo, 4)
1946     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, lpHeaderInfo, 64)
1947     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwHeaderInfoSize, 4)
1948     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwHeaderInfoSize, 4)
1949     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwHeaderInfoSize, 68)
1950     TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, lpszFileExtension, 4)
1951     TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, lpszFileExtension, 4)
1952     TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, lpszFileExtension, 72)
1953 }
1954 
1955 static void test_pack_INTERNET_CERTIFICATE_INFOA(void)
1956 {
1957     /* INTERNET_CERTIFICATE_INFOA */
1958     TEST_TYPE_SIZE   (INTERNET_CERTIFICATE_INFOA, 40)
1959     TEST_TYPE_ALIGN  (INTERNET_CERTIFICATE_INFOA, 4)
1960     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, ftExpiry, 8)
1961     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, ftExpiry, 4)
1962     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, ftExpiry, 0)
1963     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, ftStart, 8)
1964     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, ftStart, 4)
1965     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, ftStart, 8)
1966     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszSubjectInfo, 4)
1967     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszSubjectInfo, 4)
1968     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszSubjectInfo, 16)
1969     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszIssuerInfo, 4)
1970     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszIssuerInfo, 4)
1971     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszIssuerInfo, 20)
1972     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszProtocolName, 4)
1973     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszProtocolName, 4)
1974     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszProtocolName, 24)
1975     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszSignatureAlgName, 4)
1976     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszSignatureAlgName, 4)
1977     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszSignatureAlgName, 28)
1978     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszEncryptionAlgName, 4)
1979     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszEncryptionAlgName, 4)
1980     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszEncryptionAlgName, 32)
1981     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, dwKeySize, 4)
1982     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, dwKeySize, 4)
1983     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, dwKeySize, 36)
1984 }
1985 
1986 static void test_pack_INTERNET_CERTIFICATE_INFOW(void)
1987 {
1988     /* INTERNET_CERTIFICATE_INFOW */
1989     TEST_TYPE_SIZE   (INTERNET_CERTIFICATE_INFOW, 40)
1990     TEST_TYPE_ALIGN  (INTERNET_CERTIFICATE_INFOW, 4)
1991     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, ftExpiry, 8)
1992     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, ftExpiry, 4)
1993     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, ftExpiry, 0)
1994     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, ftStart, 8)
1995     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, ftStart, 4)
1996     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, ftStart, 8)
1997     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszSubjectInfo, 4)
1998     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszSubjectInfo, 4)
1999     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszSubjectInfo, 16)
2000     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszIssuerInfo, 4)
2001     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszIssuerInfo, 4)
2002     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszIssuerInfo, 20)
2003     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszProtocolName, 4)
2004     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszProtocolName, 4)
2005     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszProtocolName, 24)
2006     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszSignatureAlgName, 4)
2007     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszSignatureAlgName, 4)
2008     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszSignatureAlgName, 28)
2009     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszEncryptionAlgName, 4)
2010     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszEncryptionAlgName, 4)
2011     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszEncryptionAlgName, 32)
2012     TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, dwKeySize, 4)
2013     TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, dwKeySize, 4)
2014     TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, dwKeySize, 36)
2015 }
2016 
2017 static void test_pack_INTERNET_CONNECTED_INFO(void)
2018 {
2019     /* INTERNET_CONNECTED_INFO */
2020     TEST_TYPE_SIZE   (INTERNET_CONNECTED_INFO, 8)
2021     TEST_TYPE_ALIGN  (INTERNET_CONNECTED_INFO, 4)
2022     TEST_FIELD_SIZE  (INTERNET_CONNECTED_INFO, dwConnectedState, 4)
2023     TEST_FIELD_ALIGN (INTERNET_CONNECTED_INFO, dwConnectedState, 4)
2024     TEST_FIELD_OFFSET(INTERNET_CONNECTED_INFO, dwConnectedState, 0)
2025     TEST_FIELD_SIZE  (INTERNET_CONNECTED_INFO, dwFlags, 4)
2026     TEST_FIELD_ALIGN (INTERNET_CONNECTED_INFO, dwFlags, 4)
2027     TEST_FIELD_OFFSET(INTERNET_CONNECTED_INFO, dwFlags, 4)
2028 }
2029 
2030 static void test_pack_INTERNET_PORT(void)
2031 {
2032     /* INTERNET_PORT */
2033     TEST_TYPE_SIZE   (INTERNET_PORT, 2)
2034     TEST_TYPE_ALIGN  (INTERNET_PORT, 2)
2035     TEST_TYPE_UNSIGNED(INTERNET_PORT)
2036 }
2037 
2038 static void test_pack_INTERNET_PROXY_INFOA(void)
2039 {
2040     /* INTERNET_PROXY_INFOA */
2041     TEST_TYPE_SIZE   (INTERNET_PROXY_INFOA, 12)
2042     TEST_TYPE_ALIGN  (INTERNET_PROXY_INFOA, 4)
2043     TEST_FIELD_SIZE  (INTERNET_PROXY_INFOA, dwAccessType, 4)
2044     TEST_FIELD_ALIGN (INTERNET_PROXY_INFOA, dwAccessType, 4)
2045     TEST_FIELD_OFFSET(INTERNET_PROXY_INFOA, dwAccessType, 0)
2046     TEST_FIELD_SIZE  (INTERNET_PROXY_INFOA, lpszProxy, 4)
2047     TEST_FIELD_ALIGN (INTERNET_PROXY_INFOA, lpszProxy, 4)
2048     TEST_FIELD_OFFSET(INTERNET_PROXY_INFOA, lpszProxy, 4)
2049     TEST_FIELD_SIZE  (INTERNET_PROXY_INFOA, lpszProxyBypass, 4)
2050     TEST_FIELD_ALIGN (INTERNET_PROXY_INFOA, lpszProxyBypass, 4)
2051     TEST_FIELD_OFFSET(INTERNET_PROXY_INFOA, lpszProxyBypass, 8)
2052 }
2053 
2054 static void test_pack_INTERNET_PROXY_INFOW(void)
2055 {
2056     /* INTERNET_PROXY_INFOW */
2057     TEST_TYPE_SIZE   (INTERNET_PROXY_INFOW, 12)
2058     TEST_TYPE_ALIGN  (INTERNET_PROXY_INFOW, 4)
2059     TEST_FIELD_SIZE  (INTERNET_PROXY_INFOW, dwAccessType, 4)
2060     TEST_FIELD_ALIGN (INTERNET_PROXY_INFOW, dwAccessType, 4)
2061     TEST_FIELD_OFFSET(INTERNET_PROXY_INFOW, dwAccessType, 0)
2062     TEST_FIELD_SIZE  (INTERNET_PROXY_INFOW, lpszProxy, 4)
2063     TEST_FIELD_ALIGN (INTERNET_PROXY_INFOW, lpszProxy, 4)
2064     TEST_FIELD_OFFSET(INTERNET_PROXY_INFOW, lpszProxy, 4)
2065     TEST_FIELD_SIZE  (INTERNET_PROXY_INFOW, lpszProxyBypass, 4)
2066     TEST_FIELD_ALIGN (INTERNET_PROXY_INFOW, lpszProxyBypass, 4)
2067     TEST_FIELD_OFFSET(INTERNET_PROXY_INFOW, lpszProxyBypass, 8)
2068 }
2069 
2070 static void test_pack_INTERNET_STATUS_CALLBACK(void)
2071 {
2072     /* INTERNET_STATUS_CALLBACK */
2073     TEST_TYPE_SIZE   (INTERNET_STATUS_CALLBACK, 4)
2074     TEST_TYPE_ALIGN  (INTERNET_STATUS_CALLBACK, 4)
2075 }
2076 
2077 static void test_pack_INTERNET_VERSION_INFO(void)
2078 {
2079     /* INTERNET_VERSION_INFO */
2080     TEST_TYPE_SIZE   (INTERNET_VERSION_INFO, 8)
2081     TEST_TYPE_ALIGN  (INTERNET_VERSION_INFO, 4)
2082     TEST_FIELD_SIZE  (INTERNET_VERSION_INFO, dwMajorVersion, 4)
2083     TEST_FIELD_ALIGN (INTERNET_VERSION_INFO, dwMajorVersion, 4)
2084     TEST_FIELD_OFFSET(INTERNET_VERSION_INFO, dwMajorVersion, 0)
2085     TEST_FIELD_SIZE  (INTERNET_VERSION_INFO, dwMinorVersion, 4)
2086     TEST_FIELD_ALIGN (INTERNET_VERSION_INFO, dwMinorVersion, 4)
2087     TEST_FIELD_OFFSET(INTERNET_VERSION_INFO, dwMinorVersion, 4)
2088 }
2089 
2090 static void test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA(void)
2091 {
2092     /* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA */
2093     TEST_TYPE_SIZE   (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 4)
2094     TEST_TYPE_ALIGN  (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 4)
2095     TEST_TARGET_SIZE (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 8)
2096     TEST_TARGET_ALIGN(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 4)
2097 }
2098 
2099 static void test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW(void)
2100 {
2101     /* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW */
2102     TEST_TYPE_SIZE   (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 4)
2103     TEST_TYPE_ALIGN  (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 4)
2104     TEST_TARGET_SIZE (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 8)
2105     TEST_TARGET_ALIGN(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 4)
2106 }
2107 
2108 static void test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEA(void)
2109 {
2110     /* LPGOPHER_ADMIN_ATTRIBUTE_TYPEA */
2111     TEST_TYPE_SIZE   (LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 4)
2112     TEST_TYPE_ALIGN  (LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 4)
2113     TEST_TARGET_SIZE (LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 8)
2114     TEST_TARGET_ALIGN(LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 4)
2115 }
2116 
2117 static void test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEW(void)
2118 {
2119     /* LPGOPHER_ADMIN_ATTRIBUTE_TYPEW */
2120     TEST_TYPE_SIZE   (LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 4)
2121     TEST_TYPE_ALIGN  (LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 4)
2122     TEST_TARGET_SIZE (LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 8)
2123     TEST_TARGET_ALIGN(LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 4)
2124 }
2125 
2126 static void test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEA(void)
2127 {
2128     /* LPGOPHER_ASK_ATTRIBUTE_TYPEA */
2129     TEST_TYPE_SIZE   (LPGOPHER_ASK_ATTRIBUTE_TYPEA, 4)
2130     TEST_TYPE_ALIGN  (LPGOPHER_ASK_ATTRIBUTE_TYPEA, 4)
2131     TEST_TARGET_SIZE (LPGOPHER_ASK_ATTRIBUTE_TYPEA, 8)
2132     TEST_TARGET_ALIGN(LPGOPHER_ASK_ATTRIBUTE_TYPEA, 4)
2133 }
2134 
2135 static void test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEW(void)
2136 {
2137     /* LPGOPHER_ASK_ATTRIBUTE_TYPEW */
2138     TEST_TYPE_SIZE   (LPGOPHER_ASK_ATTRIBUTE_TYPEW, 4)
2139     TEST_TYPE_ALIGN  (LPGOPHER_ASK_ATTRIBUTE_TYPEW, 4)
2140     TEST_TARGET_SIZE (LPGOPHER_ASK_ATTRIBUTE_TYPEW, 8)
2141     TEST_TARGET_ALIGN(LPGOPHER_ASK_ATTRIBUTE_TYPEW, 4)
2142 }
2143 
2144 static void test_pack_LPGOPHER_ATTRIBUTE_TYPEA(void)
2145 {
2146     /* LPGOPHER_ATTRIBUTE_TYPEA */
2147     TEST_TYPE_SIZE   (LPGOPHER_ATTRIBUTE_TYPEA, 4)
2148     TEST_TYPE_ALIGN  (LPGOPHER_ATTRIBUTE_TYPEA, 4)
2149 }
2150 
2151 static void test_pack_LPGOPHER_ATTRIBUTE_TYPEW(void)
2152 {
2153     /* LPGOPHER_ATTRIBUTE_TYPEW */
2154     TEST_TYPE_SIZE   (LPGOPHER_ATTRIBUTE_TYPEW, 4)
2155     TEST_TYPE_ALIGN  (LPGOPHER_ATTRIBUTE_TYPEW, 4)
2156 }
2157 
2158 static void test_pack_LPGOPHER_FIND_DATAA(void)
2159 {
2160     /* LPGOPHER_FIND_DATAA */
2161     TEST_TYPE_SIZE   (LPGOPHER_FIND_DATAA, 4)
2162     TEST_TYPE_ALIGN  (LPGOPHER_FIND_DATAA, 4)
2163     TEST_TARGET_SIZE (LPGOPHER_FIND_DATAA, 808)
2164     TEST_TARGET_ALIGN(LPGOPHER_FIND_DATAA, 4)
2165 }
2166 
2167 static void test_pack_LPGOPHER_FIND_DATAW(void)
2168 {
2169     /* LPGOPHER_FIND_DATAW */
2170     TEST_TYPE_SIZE   (LPGOPHER_FIND_DATAW, 4)
2171     TEST_TYPE_ALIGN  (LPGOPHER_FIND_DATAW, 4)
2172     TEST_TARGET_SIZE (LPGOPHER_FIND_DATAW, 1588)
2173     TEST_TARGET_ALIGN(LPGOPHER_FIND_DATAW, 4)
2174 }
2175 
2176 static void test_pack_LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE(void)
2177 {
2178     /* LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE */
2179     TEST_TYPE_SIZE   (LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 4)
2180     TEST_TYPE_ALIGN  (LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 4)
2181     TEST_TARGET_SIZE (LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24)
2182     TEST_TARGET_ALIGN(LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 4)
2183 }
2184 
2185 static void test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEA(void)
2186 {
2187     /* LPGOPHER_LOCATION_ATTRIBUTE_TYPEA */
2188     TEST_TYPE_SIZE   (LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 4)
2189     TEST_TYPE_ALIGN  (LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 4)
2190     TEST_TARGET_SIZE (LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 4)
2191     TEST_TARGET_ALIGN(LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 4)
2192 }
2193 
2194 static void test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEW(void)
2195 {
2196     /* LPGOPHER_LOCATION_ATTRIBUTE_TYPEW */
2197     TEST_TYPE_SIZE   (LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 4)
2198     TEST_TYPE_ALIGN  (LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 4)
2199     TEST_TARGET_SIZE (LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 4)
2200     TEST_TARGET_ALIGN(LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 4)
2201 }
2202 
2203 static void test_pack_LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
2204 {
2205     /* LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE */
2206     TEST_TYPE_SIZE   (LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 4)
2207     TEST_TYPE_ALIGN  (LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 4)
2208     TEST_TARGET_SIZE (LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8)
2209     TEST_TARGET_ALIGN(LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 4)
2210 }
2211 
2212 static void test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA(void)
2213 {
2214     /* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA */
2215     TEST_TYPE_SIZE   (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4)
2216     TEST_TYPE_ALIGN  (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4)
2217     TEST_TARGET_SIZE (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4)
2218     TEST_TARGET_ALIGN(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4)
2219 }
2220 
2221 static void test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW(void)
2222 {
2223     /* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW */
2224     TEST_TYPE_SIZE   (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4)
2225     TEST_TYPE_ALIGN  (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4)
2226     TEST_TARGET_SIZE (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4)
2227     TEST_TARGET_ALIGN(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4)
2228 }
2229 
2230 static void test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA(void)
2231 {
2232     /* LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA */
2233     TEST_TYPE_SIZE   (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4)
2234     TEST_TYPE_ALIGN  (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4)
2235     TEST_TARGET_SIZE (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4)
2236     TEST_TARGET_ALIGN(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4)
2237 }
2238 
2239 static void test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW(void)
2240 {
2241     /* LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW */
2242     TEST_TYPE_SIZE   (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4)
2243     TEST_TYPE_ALIGN  (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4)
2244     TEST_TARGET_SIZE (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4)
2245     TEST_TARGET_ALIGN(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4)
2246 }
2247 
2248 static void test_pack_LPGOPHER_SCORE_ATTRIBUTE_TYPE(void)
2249 {
2250     /* LPGOPHER_SCORE_ATTRIBUTE_TYPE */
2251     TEST_TYPE_SIZE   (LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4)
2252     TEST_TYPE_ALIGN  (LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4)
2253     TEST_TARGET_SIZE (LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4)
2254     TEST_TARGET_ALIGN(LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4)
2255 }
2256 
2257 static void test_pack_LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE(void)
2258 {
2259     /* LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE */
2260     TEST_TYPE_SIZE   (LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 4)
2261     TEST_TYPE_ALIGN  (LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 4)
2262     TEST_TARGET_SIZE (LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8)
2263     TEST_TARGET_ALIGN(LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 4)
2264 }
2265 
2266 static void test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEA(void)
2267 {
2268     /* LPGOPHER_SITE_ATTRIBUTE_TYPEA */
2269     TEST_TYPE_SIZE   (LPGOPHER_SITE_ATTRIBUTE_TYPEA, 4)
2270     TEST_TYPE_ALIGN  (LPGOPHER_SITE_ATTRIBUTE_TYPEA, 4)
2271     TEST_TARGET_SIZE (LPGOPHER_SITE_ATTRIBUTE_TYPEA, 4)
2272     TEST_TARGET_ALIGN(LPGOPHER_SITE_ATTRIBUTE_TYPEA, 4)
2273 }
2274 
2275 static void test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEW(void)
2276 {
2277     /* LPGOPHER_SITE_ATTRIBUTE_TYPEW */
2278     TEST_TYPE_SIZE   (LPGOPHER_SITE_ATTRIBUTE_TYPEW, 4)
2279     TEST_TYPE_ALIGN  (LPGOPHER_SITE_ATTRIBUTE_TYPEW, 4)
2280     TEST_TARGET_SIZE (LPGOPHER_SITE_ATTRIBUTE_TYPEW, 4)
2281     TEST_TARGET_ALIGN(LPGOPHER_SITE_ATTRIBUTE_TYPEW, 4)
2282 }
2283 
2284 static void test_pack_LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
2285 {
2286     /* LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE */
2287     TEST_TYPE_SIZE   (LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
2288     TEST_TYPE_ALIGN  (LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
2289     TEST_TARGET_SIZE (LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
2290     TEST_TARGET_ALIGN(LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
2291 }
2292 
2293 static void test_pack_LPGOPHER_TTL_ATTRIBUTE_TYPE(void)
2294 {
2295     /* LPGOPHER_TTL_ATTRIBUTE_TYPE */
2296     TEST_TYPE_SIZE   (LPGOPHER_TTL_ATTRIBUTE_TYPE, 4)
2297     TEST_TYPE_ALIGN  (LPGOPHER_TTL_ATTRIBUTE_TYPE, 4)
2298     TEST_TARGET_SIZE (LPGOPHER_TTL_ATTRIBUTE_TYPE, 4)
2299     TEST_TARGET_ALIGN(LPGOPHER_TTL_ATTRIBUTE_TYPE, 4)
2300 }
2301 
2302 static void test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA(void)
2303 {
2304     /* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA */
2305     TEST_TYPE_SIZE   (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4)
2306     TEST_TYPE_ALIGN  (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4)
2307     TEST_TARGET_SIZE (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4)
2308     TEST_TARGET_ALIGN(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4)
2309 }
2310 
2311 static void test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW(void)
2312 {
2313     /* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW */
2314     TEST_TYPE_SIZE   (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4)
2315     TEST_TYPE_ALIGN  (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4)
2316     TEST_TARGET_SIZE (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4)
2317     TEST_TARGET_ALIGN(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4)
2318 }
2319 
2320 static void test_pack_LPGOPHER_VERONICA_ATTRIBUTE_TYPE(void)
2321 {
2322     /* LPGOPHER_VERONICA_ATTRIBUTE_TYPE */
2323     TEST_TYPE_SIZE   (LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
2324     TEST_TYPE_ALIGN  (LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
2325     TEST_TARGET_SIZE (LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
2326     TEST_TARGET_ALIGN(LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
2327 }
2328 
2329 static void test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEA(void)
2330 {
2331     /* LPGOPHER_VERSION_ATTRIBUTE_TYPEA */
2332     TEST_TYPE_SIZE   (LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 4)
2333     TEST_TYPE_ALIGN  (LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 4)
2334     TEST_TARGET_SIZE (LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 4)
2335     TEST_TARGET_ALIGN(LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 4)
2336 }
2337 
2338 static void test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEW(void)
2339 {
2340     /* LPGOPHER_VERSION_ATTRIBUTE_TYPEW */
2341     TEST_TYPE_SIZE   (LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 4)
2342     TEST_TYPE_ALIGN  (LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 4)
2343     TEST_TARGET_SIZE (LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 4)
2344     TEST_TARGET_ALIGN(LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 4)
2345 }
2346 
2347 static void test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEA(void)
2348 {
2349     /* LPGOPHER_VIEW_ATTRIBUTE_TYPEA */
2350     TEST_TYPE_SIZE   (LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 4)
2351     TEST_TYPE_ALIGN  (LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 4)
2352     TEST_TARGET_SIZE (LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 12)
2353     TEST_TARGET_ALIGN(LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 4)
2354 }
2355 
2356 static void test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEW(void)
2357 {
2358     /* LPGOPHER_VIEW_ATTRIBUTE_TYPEW */
2359     TEST_TYPE_SIZE   (LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 4)
2360     TEST_TYPE_ALIGN  (LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 4)
2361     TEST_TARGET_SIZE (LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 12)
2362     TEST_TARGET_ALIGN(LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 4)
2363 }
2364 
2365 static void test_pack_LPHINTERNET(void)
2366 {
2367     /* LPHINTERNET */
2368     TEST_TYPE_SIZE   (LPHINTERNET, 4)
2369     TEST_TYPE_ALIGN  (LPHINTERNET, 4)
2370     TEST_TARGET_SIZE (LPHINTERNET, 4)
2371     TEST_TARGET_ALIGN(LPHINTERNET, 4)
2372 }
2373 
2374 static void test_pack_LPHTTP_VERSION_INFO(void)
2375 {
2376     /* LPHTTP_VERSION_INFO */
2377     TEST_TYPE_SIZE   (LPHTTP_VERSION_INFO, 4)
2378     TEST_TYPE_ALIGN  (LPHTTP_VERSION_INFO, 4)
2379     TEST_TARGET_SIZE (LPHTTP_VERSION_INFO, 8)
2380     TEST_TARGET_ALIGN(LPHTTP_VERSION_INFO, 4)
2381 }
2382 
2383 static void test_pack_LPINTERNET_ASYNC_RESULT(void)
2384 {
2385     /* LPINTERNET_ASYNC_RESULT */
2386     TEST_TYPE_SIZE   (LPINTERNET_ASYNC_RESULT, 4)
2387     TEST_TYPE_ALIGN  (LPINTERNET_ASYNC_RESULT, 4)
2388     TEST_TARGET_SIZE (LPINTERNET_ASYNC_RESULT, 8)
2389     TEST_TARGET_ALIGN(LPINTERNET_ASYNC_RESULT, 4)
2390 }
2391 
2392 static void test_pack_LPINTERNET_BUFFERSA(void)
2393 {
2394     /* LPINTERNET_BUFFERSA */
2395     TEST_TYPE_SIZE   (LPINTERNET_BUFFERSA, 4)
2396     TEST_TYPE_ALIGN  (LPINTERNET_BUFFERSA, 4)
2397     TEST_TARGET_SIZE (LPINTERNET_BUFFERSA, 40)
2398     TEST_TARGET_ALIGN(LPINTERNET_BUFFERSA, 4)
2399 }
2400 
2401 static void test_pack_LPINTERNET_BUFFERSW(void)
2402 {
2403     /* LPINTERNET_BUFFERSW */
2404     TEST_TYPE_SIZE   (LPINTERNET_BUFFERSW, 4)
2405     TEST_TYPE_ALIGN  (LPINTERNET_BUFFERSW, 4)
2406     TEST_TARGET_SIZE (LPINTERNET_BUFFERSW, 40)
2407     TEST_TARGET_ALIGN(LPINTERNET_BUFFERSW, 4)
2408 }
2409 
2410 static void test_pack_LPINTERNET_CACHE_ENTRY_INFOA(void)
2411 {
2412     /* LPINTERNET_CACHE_ENTRY_INFOA */
2413     TEST_TYPE_SIZE   (LPINTERNET_CACHE_ENTRY_INFOA, 4)
2414     TEST_TYPE_ALIGN  (LPINTERNET_CACHE_ENTRY_INFOA, 4)
2415 }
2416 
2417 static void test_pack_LPINTERNET_CACHE_ENTRY_INFOW(void)
2418 {
2419     /* LPINTERNET_CACHE_ENTRY_INFOW */
2420     TEST_TYPE_SIZE   (LPINTERNET_CACHE_ENTRY_INFOW, 4)
2421     TEST_TYPE_ALIGN  (LPINTERNET_CACHE_ENTRY_INFOW, 4)
2422 }
2423 
2424 static void test_pack_LPINTERNET_CERTIFICATE_INFOA(void)
2425 {
2426     /* LPINTERNET_CERTIFICATE_INFOA */
2427     TEST_TYPE_SIZE   (LPINTERNET_CERTIFICATE_INFOA, 4)
2428     TEST_TYPE_ALIGN  (LPINTERNET_CERTIFICATE_INFOA, 4)
2429     TEST_TARGET_SIZE (LPINTERNET_CERTIFICATE_INFOA, 40)
2430     TEST_TARGET_ALIGN(LPINTERNET_CERTIFICATE_INFOA, 4)
2431 }
2432 
2433 static void test_pack_LPINTERNET_CERTIFICATE_INFOW(void)
2434 {
2435     /* LPINTERNET_CERTIFICATE_INFOW */
2436     TEST_TYPE_SIZE   (LPINTERNET_CERTIFICATE_INFOW, 4)
2437     TEST_TYPE_ALIGN  (LPINTERNET_CERTIFICATE_INFOW, 4)
2438     TEST_TARGET_SIZE (LPINTERNET_CERTIFICATE_INFOW, 40)
2439     TEST_TARGET_ALIGN(LPINTERNET_CERTIFICATE_INFOW, 4)
2440 }
2441 
2442 static void test_pack_LPINTERNET_CONNECTED_INFO(void)
2443 {
2444     /* LPINTERNET_CONNECTED_INFO */
2445     TEST_TYPE_SIZE   (LPINTERNET_CONNECTED_INFO, 4)
2446     TEST_TYPE_ALIGN  (LPINTERNET_CONNECTED_INFO, 4)
2447     TEST_TARGET_SIZE (LPINTERNET_CONNECTED_INFO, 8)
2448     TEST_TARGET_ALIGN(LPINTERNET_CONNECTED_INFO, 4)
2449 }
2450 
2451 static void test_pack_LPINTERNET_PORT(void)
2452 {
2453     /* LPINTERNET_PORT */
2454     TEST_TYPE_SIZE   (LPINTERNET_PORT, 4)
2455     TEST_TYPE_ALIGN  (LPINTERNET_PORT, 4)
2456     TEST_TARGET_SIZE (LPINTERNET_PORT, 2)
2457     TEST_TARGET_ALIGN(LPINTERNET_PORT, 2)
2458 }
2459 
2460 static void test_pack_LPINTERNET_PROXY_INFOA(void)
2461 {
2462     /* LPINTERNET_PROXY_INFOA */
2463     TEST_TYPE_SIZE   (LPINTERNET_PROXY_INFOA, 4)
2464     TEST_TYPE_ALIGN  (LPINTERNET_PROXY_INFOA, 4)
2465     TEST_TARGET_SIZE (LPINTERNET_PROXY_INFOA, 12)
2466     TEST_TARGET_ALIGN(LPINTERNET_PROXY_INFOA, 4)
2467 }
2468 
2469 static void test_pack_LPINTERNET_PROXY_INFOW(void)
2470 {
2471     /* LPINTERNET_PROXY_INFOW */
2472     TEST_TYPE_SIZE   (LPINTERNET_PROXY_INFOW, 4)
2473     TEST_TYPE_ALIGN  (LPINTERNET_PROXY_INFOW, 4)
2474     TEST_TARGET_SIZE (LPINTERNET_PROXY_INFOW, 12)
2475     TEST_TARGET_ALIGN(LPINTERNET_PROXY_INFOW, 4)
2476 }
2477 
2478 static void test_pack_LPINTERNET_STATUS_CALLBACK(void)
2479 {
2480     /* LPINTERNET_STATUS_CALLBACK */
2481     TEST_TYPE_SIZE   (LPINTERNET_STATUS_CALLBACK, 4)
2482     TEST_TYPE_ALIGN  (LPINTERNET_STATUS_CALLBACK, 4)
2483     TEST_TARGET_SIZE (LPINTERNET_STATUS_CALLBACK, 4)
2484     TEST_TARGET_ALIGN(LPINTERNET_STATUS_CALLBACK, 4)
2485 }
2486 
2487 static void test_pack_LPINTERNET_VERSION_INFO(void)
2488 {
2489     /* LPINTERNET_VERSION_INFO */
2490     TEST_TYPE_SIZE   (LPINTERNET_VERSION_INFO, 4)
2491     TEST_TYPE_ALIGN  (LPINTERNET_VERSION_INFO, 4)
2492     TEST_TARGET_SIZE (LPINTERNET_VERSION_INFO, 8)
2493     TEST_TARGET_ALIGN(LPINTERNET_VERSION_INFO, 4)
2494 }
2495 
2496 static void test_pack_LPURL_COMPONENTSA(void)
2497 {
2498     /* LPURL_COMPONENTSA */
2499     TEST_TYPE_SIZE   (LPURL_COMPONENTSA, 4)
2500     TEST_TYPE_ALIGN  (LPURL_COMPONENTSA, 4)
2501 }
2502 
2503 static void test_pack_LPURL_COMPONENTSW(void)
2504 {
2505     /* LPURL_COMPONENTSW */
2506     TEST_TYPE_SIZE   (LPURL_COMPONENTSW, 4)
2507     TEST_TYPE_ALIGN  (LPURL_COMPONENTSW, 4)
2508 }
2509 
2510 static void test_pack_PFN_AUTH_NOTIFY(void)
2511 {
2512     /* PFN_AUTH_NOTIFY */
2513     TEST_TYPE_SIZE   (PFN_AUTH_NOTIFY, 4)
2514     TEST_TYPE_ALIGN  (PFN_AUTH_NOTIFY, 4)
2515 }
2516 
2517 static void test_pack_PFN_DIAL_HANDLER(void)
2518 {
2519     /* PFN_DIAL_HANDLER */
2520     TEST_TYPE_SIZE   (PFN_DIAL_HANDLER, 4)
2521     TEST_TYPE_ALIGN  (PFN_DIAL_HANDLER, 4)
2522 }
2523 
2524 static void test_pack_URL_COMPONENTSA(void)
2525 {
2526     /* URL_COMPONENTSA */
2527     TEST_FIELD_SIZE  (URL_COMPONENTSA, dwStructSize, 4)
2528     TEST_FIELD_ALIGN (URL_COMPONENTSA, dwStructSize, 4)
2529     TEST_FIELD_OFFSET(URL_COMPONENTSA, dwStructSize, 0)
2530     TEST_FIELD_SIZE  (URL_COMPONENTSA, lpszScheme, 4)
2531     TEST_FIELD_ALIGN (URL_COMPONENTSA, lpszScheme, 4)
2532     TEST_FIELD_OFFSET(URL_COMPONENTSA, lpszScheme, 4)
2533     TEST_FIELD_SIZE  (URL_COMPONENTSA, dwSchemeLength, 4)
2534     TEST_FIELD_ALIGN (URL_COMPONENTSA, dwSchemeLength, 4)
2535     TEST_FIELD_OFFSET(URL_COMPONENTSA, dwSchemeLength, 8)
2536 }
2537 
2538 static void test_pack_URL_COMPONENTSW(void)
2539 {
2540     /* URL_COMPONENTSW */
2541     TEST_FIELD_SIZE  (URL_COMPONENTSW, dwStructSize, 4)
2542     TEST_FIELD_ALIGN (URL_COMPONENTSW, dwStructSize, 4)
2543     TEST_FIELD_OFFSET(URL_COMPONENTSW, dwStructSize, 0)
2544     TEST_FIELD_SIZE  (URL_COMPONENTSW, lpszScheme, 4)
2545     TEST_FIELD_ALIGN (URL_COMPONENTSW, lpszScheme, 4)
2546     TEST_FIELD_OFFSET(URL_COMPONENTSW, lpszScheme, 4)
2547     TEST_FIELD_SIZE  (URL_COMPONENTSW, dwSchemeLength, 4)
2548     TEST_FIELD_ALIGN (URL_COMPONENTSW, dwSchemeLength, 4)
2549     TEST_FIELD_OFFSET(URL_COMPONENTSW, dwSchemeLength, 8)
2550 }
2551 
2552 #endif /* _WIN64 */
2553 
2554 static void test_pack(void)
2555 {
2556     test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEA();
2557     test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEW();
2558     test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEA();
2559     test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEW();
2560     test_pack_GOPHER_ASK_ATTRIBUTE_TYPEA();
2561     test_pack_GOPHER_ASK_ATTRIBUTE_TYPEW();
2562     test_pack_GOPHER_ATTRIBUTE_ENUMERATORA();
2563     test_pack_GOPHER_ATTRIBUTE_ENUMERATORW();
2564     test_pack_GOPHER_ATTRIBUTE_TYPEA();
2565     test_pack_GOPHER_ATTRIBUTE_TYPEW();
2566     test_pack_GOPHER_FIND_DATAA();
2567     test_pack_GOPHER_FIND_DATAW();
2568     test_pack_GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE();
2569     test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEA();
2570     test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEW();
2571     test_pack_GOPHER_MOD_DATE_ATTRIBUTE_TYPE();
2572     test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA();
2573     test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW();
2574     test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEA();
2575     test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEW();
2576     test_pack_GOPHER_SCORE_ATTRIBUTE_TYPE();
2577     test_pack_GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE();
2578     test_pack_GOPHER_SITE_ATTRIBUTE_TYPEA();
2579     test_pack_GOPHER_SITE_ATTRIBUTE_TYPEW();
2580     test_pack_GOPHER_TIMEZONE_ATTRIBUTE_TYPE();
2581     test_pack_GOPHER_TTL_ATTRIBUTE_TYPE();
2582     test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEA();
2583     test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEW();
2584     test_pack_GOPHER_VERONICA_ATTRIBUTE_TYPE();
2585     test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEA();
2586     test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEW();
2587     test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEA();
2588     test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEW();
2589     test_pack_GROUPID();
2590     test_pack_HINTERNET();
2591     test_pack_HTTP_VERSION_INFO();
2592     test_pack_INTERNET_ASYNC_RESULT();
2593     test_pack_INTERNET_AUTH_NOTIFY_DATA();
2594     test_pack_INTERNET_BUFFERSA();
2595     test_pack_INTERNET_BUFFERSW();
2596     test_pack_INTERNET_CACHE_ENTRY_INFOA();
2597     test_pack_INTERNET_CACHE_ENTRY_INFOW();
2598     test_pack_INTERNET_CERTIFICATE_INFOA();
2599     test_pack_INTERNET_CERTIFICATE_INFOW();
2600     test_pack_INTERNET_CONNECTED_INFO();
2601     test_pack_INTERNET_PORT();
2602     test_pack_INTERNET_PROXY_INFOA();
2603     test_pack_INTERNET_PROXY_INFOW();
2604     test_pack_INTERNET_STATUS_CALLBACK();
2605     test_pack_INTERNET_VERSION_INFO();
2606     test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA();
2607     test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW();
2608     test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEA();
2609     test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEW();
2610     test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEA();
2611     test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEW();
2612     test_pack_LPGOPHER_ATTRIBUTE_TYPEA();
2613     test_pack_LPGOPHER_ATTRIBUTE_TYPEW();
2614     test_pack_LPGOPHER_FIND_DATAA();
2615     test_pack_LPGOPHER_FIND_DATAW();
2616     test_pack_LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE();
2617     test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEA();
2618     test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEW();
2619     test_pack_LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE();
2620     test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA();
2621     test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW();
2622     test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA();
2623     test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW();
2624     test_pack_LPGOPHER_SCORE_ATTRIBUTE_TYPE();
2625     test_pack_LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE();
2626     test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEA();
2627     test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEW();
2628     test_pack_LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE();
2629     test_pack_LPGOPHER_TTL_ATTRIBUTE_TYPE();
2630     test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA();
2631     test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW();
2632     test_pack_LPGOPHER_VERONICA_ATTRIBUTE_TYPE();
2633     test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEA();
2634     test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEW();
2635     test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEA();
2636     test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEW();
2637     test_pack_LPHINTERNET();
2638     test_pack_LPHTTP_VERSION_INFO();
2639     test_pack_LPINTERNET_ASYNC_RESULT();
2640     test_pack_LPINTERNET_BUFFERSA();
2641     test_pack_LPINTERNET_BUFFERSW();
2642     test_pack_LPINTERNET_CACHE_ENTRY_INFOA();
2643     test_pack_LPINTERNET_CACHE_ENTRY_INFOW();
2644     test_pack_LPINTERNET_CERTIFICATE_INFOA();
2645     test_pack_LPINTERNET_CERTIFICATE_INFOW();
2646     test_pack_LPINTERNET_CONNECTED_INFO();
2647     test_pack_LPINTERNET_PORT();
2648     test_pack_LPINTERNET_PROXY_INFOA();
2649     test_pack_LPINTERNET_PROXY_INFOW();
2650     test_pack_LPINTERNET_STATUS_CALLBACK();
2651     test_pack_LPINTERNET_VERSION_INFO();
2652     test_pack_LPURL_COMPONENTSA();
2653     test_pack_LPURL_COMPONENTSW();
2654     test_pack_PFN_AUTH_NOTIFY();
2655     test_pack_PFN_DIAL_HANDLER();
2656     test_pack_URL_COMPONENTSA();
2657     test_pack_URL_COMPONENTSW();
2658 }
2659 
2660 START_TEST(generated)
2661 {
2662     test_pack();
2663 }
2664