winhttp, wininet: Load i2d_X509 from libcrypto.so.
[wine] / dlls / gdi32 / tests / generated.c
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 WINVER 0x0501
9 #define _WIN32_IE 0x0501
10 #define _WIN32_WINNT 0x0501
11
12 #define WINE_NOWINSOCK
13
14 #include "windows.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 #ifdef _WIN64
55
56 # define TEST_TYPE_SIZE(type, size)
57 # define TEST_TYPE_ALIGN(type, align)
58 # define TEST_TARGET_ALIGN(type, align)
59 # define TEST_FIELD_ALIGN(type, field, align)
60 # define TEST_FIELD_OFFSET(type, field, offset)
61
62 #else
63
64 # define TEST_TYPE_SIZE(type, size)             C_ASSERT(sizeof(type) == size);
65
66 # ifdef TYPE_ALIGNMENT
67 #  define TEST_TYPE_ALIGN(type, align)          C_ASSERT(TYPE_ALIGNMENT(type) == align);
68 # else
69 #  define TEST_TYPE_ALIGN(type, align)
70 # endif
71
72 # ifdef _TYPE_ALIGNMENT
73 #  define TEST_TARGET_ALIGN(type, align)        C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align);
74 #  define TEST_FIELD_ALIGN(type, field, align)  C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align);
75 # else
76 #  define TEST_TARGET_ALIGN(type, align)
77 #  define TEST_FIELD_ALIGN(type, field, align)
78 # endif
79
80 # define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset);
81
82 #endif
83
84 #define TEST_TARGET_SIZE(type, size)            TEST_TYPE_SIZE(*(type)0, size)
85 #define TEST_FIELD_SIZE(type, field, size)      TEST_TYPE_SIZE((((type*)0)->field), size)
86 #define TEST_TYPE_SIGNED(type)                  C_ASSERT((type) -1 < 0);
87 #define TEST_TYPE_UNSIGNED(type)                C_ASSERT((type) -1 > 0);
88
89
90 static void test_pack_ABC(void)
91 {
92     /* ABC (pack 4) */
93     TEST_TYPE_SIZE   (ABC, 12)
94     TEST_TYPE_ALIGN  (ABC, 4)
95     TEST_FIELD_SIZE  (ABC, abcA, 4)
96     TEST_FIELD_ALIGN (ABC, abcA, 4)
97     TEST_FIELD_OFFSET(ABC, abcA, 0)
98     TEST_FIELD_SIZE  (ABC, abcB, 4)
99     TEST_FIELD_ALIGN (ABC, abcB, 4)
100     TEST_FIELD_OFFSET(ABC, abcB, 4)
101     TEST_FIELD_SIZE  (ABC, abcC, 4)
102     TEST_FIELD_ALIGN (ABC, abcC, 4)
103     TEST_FIELD_OFFSET(ABC, abcC, 8)
104 }
105
106 static void test_pack_ABCFLOAT(void)
107 {
108     /* ABCFLOAT (pack 4) */
109     TEST_TYPE_SIZE   (ABCFLOAT, 12)
110     TEST_TYPE_ALIGN  (ABCFLOAT, 4)
111     TEST_FIELD_SIZE  (ABCFLOAT, abcfA, 4)
112     TEST_FIELD_ALIGN (ABCFLOAT, abcfA, 4)
113     TEST_FIELD_OFFSET(ABCFLOAT, abcfA, 0)
114     TEST_FIELD_SIZE  (ABCFLOAT, abcfB, 4)
115     TEST_FIELD_ALIGN (ABCFLOAT, abcfB, 4)
116     TEST_FIELD_OFFSET(ABCFLOAT, abcfB, 4)
117     TEST_FIELD_SIZE  (ABCFLOAT, abcfC, 4)
118     TEST_FIELD_ALIGN (ABCFLOAT, abcfC, 4)
119     TEST_FIELD_OFFSET(ABCFLOAT, abcfC, 8)
120 }
121
122 static void test_pack_ABORTPROC(void)
123 {
124     /* ABORTPROC */
125     TEST_TYPE_SIZE   (ABORTPROC, 4)
126     TEST_TYPE_ALIGN  (ABORTPROC, 4)
127 }
128
129 static void test_pack_BITMAP(void)
130 {
131     /* BITMAP (pack 4) */
132     TEST_TYPE_SIZE   (BITMAP, 24)
133     TEST_TYPE_ALIGN  (BITMAP, 4)
134     TEST_FIELD_SIZE  (BITMAP, bmType, 4)
135     TEST_FIELD_ALIGN (BITMAP, bmType, 4)
136     TEST_FIELD_OFFSET(BITMAP, bmType, 0)
137     TEST_FIELD_SIZE  (BITMAP, bmWidth, 4)
138     TEST_FIELD_ALIGN (BITMAP, bmWidth, 4)
139     TEST_FIELD_OFFSET(BITMAP, bmWidth, 4)
140     TEST_FIELD_SIZE  (BITMAP, bmHeight, 4)
141     TEST_FIELD_ALIGN (BITMAP, bmHeight, 4)
142     TEST_FIELD_OFFSET(BITMAP, bmHeight, 8)
143     TEST_FIELD_SIZE  (BITMAP, bmWidthBytes, 4)
144     TEST_FIELD_ALIGN (BITMAP, bmWidthBytes, 4)
145     TEST_FIELD_OFFSET(BITMAP, bmWidthBytes, 12)
146     TEST_FIELD_SIZE  (BITMAP, bmPlanes, 2)
147     TEST_FIELD_ALIGN (BITMAP, bmPlanes, 2)
148     TEST_FIELD_OFFSET(BITMAP, bmPlanes, 16)
149     TEST_FIELD_SIZE  (BITMAP, bmBitsPixel, 2)
150     TEST_FIELD_ALIGN (BITMAP, bmBitsPixel, 2)
151     TEST_FIELD_OFFSET(BITMAP, bmBitsPixel, 18)
152     TEST_FIELD_SIZE  (BITMAP, bmBits, 4)
153     TEST_FIELD_ALIGN (BITMAP, bmBits, 4)
154     TEST_FIELD_OFFSET(BITMAP, bmBits, 20)
155 }
156
157 static void test_pack_BITMAPCOREHEADER(void)
158 {
159     /* BITMAPCOREHEADER (pack 4) */
160     TEST_TYPE_SIZE   (BITMAPCOREHEADER, 12)
161     TEST_TYPE_ALIGN  (BITMAPCOREHEADER, 4)
162     TEST_FIELD_SIZE  (BITMAPCOREHEADER, bcSize, 4)
163     TEST_FIELD_ALIGN (BITMAPCOREHEADER, bcSize, 4)
164     TEST_FIELD_OFFSET(BITMAPCOREHEADER, bcSize, 0)
165     TEST_FIELD_SIZE  (BITMAPCOREHEADER, bcWidth, 2)
166     TEST_FIELD_ALIGN (BITMAPCOREHEADER, bcWidth, 2)
167     TEST_FIELD_OFFSET(BITMAPCOREHEADER, bcWidth, 4)
168     TEST_FIELD_SIZE  (BITMAPCOREHEADER, bcHeight, 2)
169     TEST_FIELD_ALIGN (BITMAPCOREHEADER, bcHeight, 2)
170     TEST_FIELD_OFFSET(BITMAPCOREHEADER, bcHeight, 6)
171     TEST_FIELD_SIZE  (BITMAPCOREHEADER, bcPlanes, 2)
172     TEST_FIELD_ALIGN (BITMAPCOREHEADER, bcPlanes, 2)
173     TEST_FIELD_OFFSET(BITMAPCOREHEADER, bcPlanes, 8)
174     TEST_FIELD_SIZE  (BITMAPCOREHEADER, bcBitCount, 2)
175     TEST_FIELD_ALIGN (BITMAPCOREHEADER, bcBitCount, 2)
176     TEST_FIELD_OFFSET(BITMAPCOREHEADER, bcBitCount, 10)
177 }
178
179 static void test_pack_BITMAPCOREINFO(void)
180 {
181     /* BITMAPCOREINFO (pack 4) */
182     TEST_TYPE_SIZE   (BITMAPCOREINFO, 16)
183     TEST_TYPE_ALIGN  (BITMAPCOREINFO, 4)
184     TEST_FIELD_SIZE  (BITMAPCOREINFO, bmciHeader, 12)
185     TEST_FIELD_ALIGN (BITMAPCOREINFO, bmciHeader, 4)
186     TEST_FIELD_OFFSET(BITMAPCOREINFO, bmciHeader, 0)
187     TEST_FIELD_SIZE  (BITMAPCOREINFO, bmciColors, 3)
188     TEST_FIELD_ALIGN (BITMAPCOREINFO, bmciColors, 1)
189     TEST_FIELD_OFFSET(BITMAPCOREINFO, bmciColors, 12)
190 }
191
192 static void test_pack_BITMAPFILEHEADER(void)
193 {
194     /* BITMAPFILEHEADER (pack 2) */
195     TEST_TYPE_SIZE   (BITMAPFILEHEADER, 14)
196     TEST_TYPE_ALIGN  (BITMAPFILEHEADER, 2)
197     TEST_FIELD_SIZE  (BITMAPFILEHEADER, bfType, 2)
198     TEST_FIELD_ALIGN (BITMAPFILEHEADER, bfType, 2)
199     TEST_FIELD_OFFSET(BITMAPFILEHEADER, bfType, 0)
200     TEST_FIELD_SIZE  (BITMAPFILEHEADER, bfSize, 4)
201     TEST_FIELD_ALIGN (BITMAPFILEHEADER, bfSize, 2)
202     TEST_FIELD_OFFSET(BITMAPFILEHEADER, bfSize, 2)
203     TEST_FIELD_SIZE  (BITMAPFILEHEADER, bfReserved1, 2)
204     TEST_FIELD_ALIGN (BITMAPFILEHEADER, bfReserved1, 2)
205     TEST_FIELD_OFFSET(BITMAPFILEHEADER, bfReserved1, 6)
206     TEST_FIELD_SIZE  (BITMAPFILEHEADER, bfReserved2, 2)
207     TEST_FIELD_ALIGN (BITMAPFILEHEADER, bfReserved2, 2)
208     TEST_FIELD_OFFSET(BITMAPFILEHEADER, bfReserved2, 8)
209     TEST_FIELD_SIZE  (BITMAPFILEHEADER, bfOffBits, 4)
210     TEST_FIELD_ALIGN (BITMAPFILEHEADER, bfOffBits, 2)
211     TEST_FIELD_OFFSET(BITMAPFILEHEADER, bfOffBits, 10)
212 }
213
214 static void test_pack_BITMAPINFO(void)
215 {
216     /* BITMAPINFO (pack 4) */
217     TEST_TYPE_SIZE   (BITMAPINFO, 44)
218     TEST_TYPE_ALIGN  (BITMAPINFO, 4)
219     TEST_FIELD_SIZE  (BITMAPINFO, bmiHeader, 40)
220     TEST_FIELD_ALIGN (BITMAPINFO, bmiHeader, 4)
221     TEST_FIELD_OFFSET(BITMAPINFO, bmiHeader, 0)
222     TEST_FIELD_SIZE  (BITMAPINFO, bmiColors, 4)
223     TEST_FIELD_ALIGN (BITMAPINFO, bmiColors, 1)
224     TEST_FIELD_OFFSET(BITMAPINFO, bmiColors, 40)
225 }
226
227 static void test_pack_BITMAPINFOHEADER(void)
228 {
229     /* BITMAPINFOHEADER (pack 4) */
230     TEST_TYPE_SIZE   (BITMAPINFOHEADER, 40)
231     TEST_TYPE_ALIGN  (BITMAPINFOHEADER, 4)
232     TEST_FIELD_SIZE  (BITMAPINFOHEADER, biSize, 4)
233     TEST_FIELD_ALIGN (BITMAPINFOHEADER, biSize, 4)
234     TEST_FIELD_OFFSET(BITMAPINFOHEADER, biSize, 0)
235     TEST_FIELD_SIZE  (BITMAPINFOHEADER, biWidth, 4)
236     TEST_FIELD_ALIGN (BITMAPINFOHEADER, biWidth, 4)
237     TEST_FIELD_OFFSET(BITMAPINFOHEADER, biWidth, 4)
238     TEST_FIELD_SIZE  (BITMAPINFOHEADER, biHeight, 4)
239     TEST_FIELD_ALIGN (BITMAPINFOHEADER, biHeight, 4)
240     TEST_FIELD_OFFSET(BITMAPINFOHEADER, biHeight, 8)
241     TEST_FIELD_SIZE  (BITMAPINFOHEADER, biPlanes, 2)
242     TEST_FIELD_ALIGN (BITMAPINFOHEADER, biPlanes, 2)
243     TEST_FIELD_OFFSET(BITMAPINFOHEADER, biPlanes, 12)
244     TEST_FIELD_SIZE  (BITMAPINFOHEADER, biBitCount, 2)
245     TEST_FIELD_ALIGN (BITMAPINFOHEADER, biBitCount, 2)
246     TEST_FIELD_OFFSET(BITMAPINFOHEADER, biBitCount, 14)
247     TEST_FIELD_SIZE  (BITMAPINFOHEADER, biCompression, 4)
248     TEST_FIELD_ALIGN (BITMAPINFOHEADER, biCompression, 4)
249     TEST_FIELD_OFFSET(BITMAPINFOHEADER, biCompression, 16)
250     TEST_FIELD_SIZE  (BITMAPINFOHEADER, biSizeImage, 4)
251     TEST_FIELD_ALIGN (BITMAPINFOHEADER, biSizeImage, 4)
252     TEST_FIELD_OFFSET(BITMAPINFOHEADER, biSizeImage, 20)
253     TEST_FIELD_SIZE  (BITMAPINFOHEADER, biXPelsPerMeter, 4)
254     TEST_FIELD_ALIGN (BITMAPINFOHEADER, biXPelsPerMeter, 4)
255     TEST_FIELD_OFFSET(BITMAPINFOHEADER, biXPelsPerMeter, 24)
256     TEST_FIELD_SIZE  (BITMAPINFOHEADER, biYPelsPerMeter, 4)
257     TEST_FIELD_ALIGN (BITMAPINFOHEADER, biYPelsPerMeter, 4)
258     TEST_FIELD_OFFSET(BITMAPINFOHEADER, biYPelsPerMeter, 28)
259     TEST_FIELD_SIZE  (BITMAPINFOHEADER, biClrUsed, 4)
260     TEST_FIELD_ALIGN (BITMAPINFOHEADER, biClrUsed, 4)
261     TEST_FIELD_OFFSET(BITMAPINFOHEADER, biClrUsed, 32)
262     TEST_FIELD_SIZE  (BITMAPINFOHEADER, biClrImportant, 4)
263     TEST_FIELD_ALIGN (BITMAPINFOHEADER, biClrImportant, 4)
264     TEST_FIELD_OFFSET(BITMAPINFOHEADER, biClrImportant, 36)
265 }
266
267 static void test_pack_BITMAPV4HEADER(void)
268 {
269     /* BITMAPV4HEADER (pack 4) */
270     TEST_TYPE_SIZE   (BITMAPV4HEADER, 108)
271     TEST_TYPE_ALIGN  (BITMAPV4HEADER, 4)
272     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4Size, 4)
273     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4Size, 4)
274     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4Size, 0)
275     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4Width, 4)
276     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4Width, 4)
277     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4Width, 4)
278     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4Height, 4)
279     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4Height, 4)
280     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4Height, 8)
281     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4Planes, 2)
282     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4Planes, 2)
283     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4Planes, 12)
284     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4BitCount, 2)
285     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4BitCount, 2)
286     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4BitCount, 14)
287     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4V4Compression, 4)
288     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4V4Compression, 4)
289     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4V4Compression, 16)
290     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4SizeImage, 4)
291     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4SizeImage, 4)
292     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4SizeImage, 20)
293     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4XPelsPerMeter, 4)
294     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4XPelsPerMeter, 4)
295     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4XPelsPerMeter, 24)
296     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4YPelsPerMeter, 4)
297     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4YPelsPerMeter, 4)
298     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4YPelsPerMeter, 28)
299     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4ClrUsed, 4)
300     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4ClrUsed, 4)
301     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4ClrUsed, 32)
302     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4ClrImportant, 4)
303     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4ClrImportant, 4)
304     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4ClrImportant, 36)
305     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4RedMask, 4)
306     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4RedMask, 4)
307     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4RedMask, 40)
308     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4GreenMask, 4)
309     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4GreenMask, 4)
310     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4GreenMask, 44)
311     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4BlueMask, 4)
312     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4BlueMask, 4)
313     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4BlueMask, 48)
314     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4AlphaMask, 4)
315     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4AlphaMask, 4)
316     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4AlphaMask, 52)
317     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4CSType, 4)
318     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4CSType, 4)
319     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4CSType, 56)
320     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4Endpoints, 36)
321     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4Endpoints, 4)
322     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4Endpoints, 60)
323     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4GammaRed, 4)
324     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4GammaRed, 4)
325     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4GammaRed, 96)
326     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4GammaGreen, 4)
327     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4GammaGreen, 4)
328     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4GammaGreen, 100)
329     TEST_FIELD_SIZE  (BITMAPV4HEADER, bV4GammaBlue, 4)
330     TEST_FIELD_ALIGN (BITMAPV4HEADER, bV4GammaBlue, 4)
331     TEST_FIELD_OFFSET(BITMAPV4HEADER, bV4GammaBlue, 104)
332 }
333
334 static void test_pack_BITMAPV5HEADER(void)
335 {
336     /* BITMAPV5HEADER (pack 4) */
337     TEST_TYPE_SIZE   (BITMAPV5HEADER, 124)
338     TEST_TYPE_ALIGN  (BITMAPV5HEADER, 4)
339     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5Size, 4)
340     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5Size, 4)
341     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5Size, 0)
342     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5Width, 4)
343     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5Width, 4)
344     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5Width, 4)
345     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5Height, 4)
346     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5Height, 4)
347     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5Height, 8)
348     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5Planes, 2)
349     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5Planes, 2)
350     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5Planes, 12)
351     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5BitCount, 2)
352     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5BitCount, 2)
353     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5BitCount, 14)
354     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5Compression, 4)
355     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5Compression, 4)
356     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5Compression, 16)
357     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5SizeImage, 4)
358     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5SizeImage, 4)
359     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5SizeImage, 20)
360     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5XPelsPerMeter, 4)
361     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5XPelsPerMeter, 4)
362     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5XPelsPerMeter, 24)
363     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5YPelsPerMeter, 4)
364     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5YPelsPerMeter, 4)
365     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5YPelsPerMeter, 28)
366     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5ClrUsed, 4)
367     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5ClrUsed, 4)
368     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5ClrUsed, 32)
369     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5ClrImportant, 4)
370     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5ClrImportant, 4)
371     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5ClrImportant, 36)
372     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5RedMask, 4)
373     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5RedMask, 4)
374     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5RedMask, 40)
375     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5GreenMask, 4)
376     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5GreenMask, 4)
377     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5GreenMask, 44)
378     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5BlueMask, 4)
379     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5BlueMask, 4)
380     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5BlueMask, 48)
381     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5AlphaMask, 4)
382     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5AlphaMask, 4)
383     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5AlphaMask, 52)
384     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5CSType, 4)
385     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5CSType, 4)
386     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5CSType, 56)
387     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5Endpoints, 36)
388     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5Endpoints, 4)
389     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5Endpoints, 60)
390     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5GammaRed, 4)
391     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5GammaRed, 4)
392     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5GammaRed, 96)
393     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5GammaGreen, 4)
394     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5GammaGreen, 4)
395     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5GammaGreen, 100)
396     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5GammaBlue, 4)
397     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5GammaBlue, 4)
398     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5GammaBlue, 104)
399     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5Intent, 4)
400     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5Intent, 4)
401     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5Intent, 108)
402     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5ProfileData, 4)
403     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5ProfileData, 4)
404     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5ProfileData, 112)
405     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5ProfileSize, 4)
406     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5ProfileSize, 4)
407     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5ProfileSize, 116)
408     TEST_FIELD_SIZE  (BITMAPV5HEADER, bV5Reserved, 4)
409     TEST_FIELD_ALIGN (BITMAPV5HEADER, bV5Reserved, 4)
410     TEST_FIELD_OFFSET(BITMAPV5HEADER, bV5Reserved, 120)
411 }
412
413 static void test_pack_BLENDFUNCTION(void)
414 {
415     /* BLENDFUNCTION (pack 4) */
416     TEST_TYPE_SIZE   (BLENDFUNCTION, 4)
417     TEST_TYPE_ALIGN  (BLENDFUNCTION, 1)
418     TEST_FIELD_SIZE  (BLENDFUNCTION, BlendOp, 1)
419     TEST_FIELD_ALIGN (BLENDFUNCTION, BlendOp, 1)
420     TEST_FIELD_OFFSET(BLENDFUNCTION, BlendOp, 0)
421     TEST_FIELD_SIZE  (BLENDFUNCTION, BlendFlags, 1)
422     TEST_FIELD_ALIGN (BLENDFUNCTION, BlendFlags, 1)
423     TEST_FIELD_OFFSET(BLENDFUNCTION, BlendFlags, 1)
424     TEST_FIELD_SIZE  (BLENDFUNCTION, SourceConstantAlpha, 1)
425     TEST_FIELD_ALIGN (BLENDFUNCTION, SourceConstantAlpha, 1)
426     TEST_FIELD_OFFSET(BLENDFUNCTION, SourceConstantAlpha, 2)
427     TEST_FIELD_SIZE  (BLENDFUNCTION, AlphaFormat, 1)
428     TEST_FIELD_ALIGN (BLENDFUNCTION, AlphaFormat, 1)
429     TEST_FIELD_OFFSET(BLENDFUNCTION, AlphaFormat, 3)
430 }
431
432 static void test_pack_CHARSETINFO(void)
433 {
434     /* CHARSETINFO (pack 4) */
435     TEST_TYPE_SIZE   (CHARSETINFO, 32)
436     TEST_TYPE_ALIGN  (CHARSETINFO, 4)
437     TEST_FIELD_SIZE  (CHARSETINFO, ciCharset, 4)
438     TEST_FIELD_ALIGN (CHARSETINFO, ciCharset, 4)
439     TEST_FIELD_OFFSET(CHARSETINFO, ciCharset, 0)
440     TEST_FIELD_SIZE  (CHARSETINFO, ciACP, 4)
441     TEST_FIELD_ALIGN (CHARSETINFO, ciACP, 4)
442     TEST_FIELD_OFFSET(CHARSETINFO, ciACP, 4)
443     TEST_FIELD_SIZE  (CHARSETINFO, fs, 24)
444     TEST_FIELD_ALIGN (CHARSETINFO, fs, 4)
445     TEST_FIELD_OFFSET(CHARSETINFO, fs, 8)
446 }
447
448 static void test_pack_CIEXYZ(void)
449 {
450     /* CIEXYZ (pack 4) */
451     TEST_TYPE_SIZE   (CIEXYZ, 12)
452     TEST_TYPE_ALIGN  (CIEXYZ, 4)
453     TEST_FIELD_SIZE  (CIEXYZ, ciexyzX, 4)
454     TEST_FIELD_ALIGN (CIEXYZ, ciexyzX, 4)
455     TEST_FIELD_OFFSET(CIEXYZ, ciexyzX, 0)
456     TEST_FIELD_SIZE  (CIEXYZ, ciexyzY, 4)
457     TEST_FIELD_ALIGN (CIEXYZ, ciexyzY, 4)
458     TEST_FIELD_OFFSET(CIEXYZ, ciexyzY, 4)
459     TEST_FIELD_SIZE  (CIEXYZ, ciexyzZ, 4)
460     TEST_FIELD_ALIGN (CIEXYZ, ciexyzZ, 4)
461     TEST_FIELD_OFFSET(CIEXYZ, ciexyzZ, 8)
462 }
463
464 static void test_pack_CIEXYZTRIPLE(void)
465 {
466     /* CIEXYZTRIPLE (pack 4) */
467     TEST_TYPE_SIZE   (CIEXYZTRIPLE, 36)
468     TEST_TYPE_ALIGN  (CIEXYZTRIPLE, 4)
469     TEST_FIELD_SIZE  (CIEXYZTRIPLE, ciexyzRed, 12)
470     TEST_FIELD_ALIGN (CIEXYZTRIPLE, ciexyzRed, 4)
471     TEST_FIELD_OFFSET(CIEXYZTRIPLE, ciexyzRed, 0)
472     TEST_FIELD_SIZE  (CIEXYZTRIPLE, ciexyzGreen, 12)
473     TEST_FIELD_ALIGN (CIEXYZTRIPLE, ciexyzGreen, 4)
474     TEST_FIELD_OFFSET(CIEXYZTRIPLE, ciexyzGreen, 12)
475     TEST_FIELD_SIZE  (CIEXYZTRIPLE, ciexyzBlue, 12)
476     TEST_FIELD_ALIGN (CIEXYZTRIPLE, ciexyzBlue, 4)
477     TEST_FIELD_OFFSET(CIEXYZTRIPLE, ciexyzBlue, 24)
478 }
479
480 static void test_pack_COLOR16(void)
481 {
482     /* COLOR16 */
483     TEST_TYPE_SIZE   (COLOR16, 2)
484     TEST_TYPE_ALIGN  (COLOR16, 2)
485 }
486
487 static void test_pack_COLORADJUSTMENT(void)
488 {
489     /* COLORADJUSTMENT (pack 4) */
490     TEST_TYPE_SIZE   (COLORADJUSTMENT, 24)
491     TEST_TYPE_ALIGN  (COLORADJUSTMENT, 2)
492     TEST_FIELD_SIZE  (COLORADJUSTMENT, caSize, 2)
493     TEST_FIELD_ALIGN (COLORADJUSTMENT, caSize, 2)
494     TEST_FIELD_OFFSET(COLORADJUSTMENT, caSize, 0)
495     TEST_FIELD_SIZE  (COLORADJUSTMENT, caFlags, 2)
496     TEST_FIELD_ALIGN (COLORADJUSTMENT, caFlags, 2)
497     TEST_FIELD_OFFSET(COLORADJUSTMENT, caFlags, 2)
498     TEST_FIELD_SIZE  (COLORADJUSTMENT, caIlluminantIndex, 2)
499     TEST_FIELD_ALIGN (COLORADJUSTMENT, caIlluminantIndex, 2)
500     TEST_FIELD_OFFSET(COLORADJUSTMENT, caIlluminantIndex, 4)
501     TEST_FIELD_SIZE  (COLORADJUSTMENT, caRedGamma, 2)
502     TEST_FIELD_ALIGN (COLORADJUSTMENT, caRedGamma, 2)
503     TEST_FIELD_OFFSET(COLORADJUSTMENT, caRedGamma, 6)
504     TEST_FIELD_SIZE  (COLORADJUSTMENT, caGreenGamma, 2)
505     TEST_FIELD_ALIGN (COLORADJUSTMENT, caGreenGamma, 2)
506     TEST_FIELD_OFFSET(COLORADJUSTMENT, caGreenGamma, 8)
507     TEST_FIELD_SIZE  (COLORADJUSTMENT, caBlueGamma, 2)
508     TEST_FIELD_ALIGN (COLORADJUSTMENT, caBlueGamma, 2)
509     TEST_FIELD_OFFSET(COLORADJUSTMENT, caBlueGamma, 10)
510     TEST_FIELD_SIZE  (COLORADJUSTMENT, caReferenceBlack, 2)
511     TEST_FIELD_ALIGN (COLORADJUSTMENT, caReferenceBlack, 2)
512     TEST_FIELD_OFFSET(COLORADJUSTMENT, caReferenceBlack, 12)
513     TEST_FIELD_SIZE  (COLORADJUSTMENT, caReferenceWhite, 2)
514     TEST_FIELD_ALIGN (COLORADJUSTMENT, caReferenceWhite, 2)
515     TEST_FIELD_OFFSET(COLORADJUSTMENT, caReferenceWhite, 14)
516     TEST_FIELD_SIZE  (COLORADJUSTMENT, caContrast, 2)
517     TEST_FIELD_ALIGN (COLORADJUSTMENT, caContrast, 2)
518     TEST_FIELD_OFFSET(COLORADJUSTMENT, caContrast, 16)
519     TEST_FIELD_SIZE  (COLORADJUSTMENT, caBrightness, 2)
520     TEST_FIELD_ALIGN (COLORADJUSTMENT, caBrightness, 2)
521     TEST_FIELD_OFFSET(COLORADJUSTMENT, caBrightness, 18)
522     TEST_FIELD_SIZE  (COLORADJUSTMENT, caColorfulness, 2)
523     TEST_FIELD_ALIGN (COLORADJUSTMENT, caColorfulness, 2)
524     TEST_FIELD_OFFSET(COLORADJUSTMENT, caColorfulness, 20)
525     TEST_FIELD_SIZE  (COLORADJUSTMENT, caRedGreenTint, 2)
526     TEST_FIELD_ALIGN (COLORADJUSTMENT, caRedGreenTint, 2)
527     TEST_FIELD_OFFSET(COLORADJUSTMENT, caRedGreenTint, 22)
528 }
529
530 static void test_pack_DEVMODEA(void)
531 {
532     /* DEVMODEA (pack 4) */
533     TEST_FIELD_SIZE  (DEVMODEA, dmDeviceName, 32)
534     TEST_FIELD_ALIGN (DEVMODEA, dmDeviceName, 1)
535     TEST_FIELD_OFFSET(DEVMODEA, dmDeviceName, 0)
536     TEST_FIELD_SIZE  (DEVMODEA, dmSpecVersion, 2)
537     TEST_FIELD_ALIGN (DEVMODEA, dmSpecVersion, 2)
538     TEST_FIELD_OFFSET(DEVMODEA, dmSpecVersion, 32)
539     TEST_FIELD_SIZE  (DEVMODEA, dmDriverVersion, 2)
540     TEST_FIELD_ALIGN (DEVMODEA, dmDriverVersion, 2)
541     TEST_FIELD_OFFSET(DEVMODEA, dmDriverVersion, 34)
542     TEST_FIELD_SIZE  (DEVMODEA, dmSize, 2)
543     TEST_FIELD_ALIGN (DEVMODEA, dmSize, 2)
544     TEST_FIELD_OFFSET(DEVMODEA, dmSize, 36)
545     TEST_FIELD_SIZE  (DEVMODEA, dmDriverExtra, 2)
546     TEST_FIELD_ALIGN (DEVMODEA, dmDriverExtra, 2)
547     TEST_FIELD_OFFSET(DEVMODEA, dmDriverExtra, 38)
548     TEST_FIELD_SIZE  (DEVMODEA, dmFields, 4)
549     TEST_FIELD_ALIGN (DEVMODEA, dmFields, 4)
550     TEST_FIELD_OFFSET(DEVMODEA, dmFields, 40)
551 }
552
553 static void test_pack_DEVMODEW(void)
554 {
555     /* DEVMODEW (pack 4) */
556     TEST_FIELD_SIZE  (DEVMODEW, dmDeviceName, 64)
557     TEST_FIELD_ALIGN (DEVMODEW, dmDeviceName, 2)
558     TEST_FIELD_OFFSET(DEVMODEW, dmDeviceName, 0)
559     TEST_FIELD_SIZE  (DEVMODEW, dmSpecVersion, 2)
560     TEST_FIELD_ALIGN (DEVMODEW, dmSpecVersion, 2)
561     TEST_FIELD_OFFSET(DEVMODEW, dmSpecVersion, 64)
562     TEST_FIELD_SIZE  (DEVMODEW, dmDriverVersion, 2)
563     TEST_FIELD_ALIGN (DEVMODEW, dmDriverVersion, 2)
564     TEST_FIELD_OFFSET(DEVMODEW, dmDriverVersion, 66)
565     TEST_FIELD_SIZE  (DEVMODEW, dmSize, 2)
566     TEST_FIELD_ALIGN (DEVMODEW, dmSize, 2)
567     TEST_FIELD_OFFSET(DEVMODEW, dmSize, 68)
568     TEST_FIELD_SIZE  (DEVMODEW, dmDriverExtra, 2)
569     TEST_FIELD_ALIGN (DEVMODEW, dmDriverExtra, 2)
570     TEST_FIELD_OFFSET(DEVMODEW, dmDriverExtra, 70)
571     TEST_FIELD_SIZE  (DEVMODEW, dmFields, 4)
572     TEST_FIELD_ALIGN (DEVMODEW, dmFields, 4)
573     TEST_FIELD_OFFSET(DEVMODEW, dmFields, 72)
574 }
575
576 static void test_pack_DIBSECTION(void)
577 {
578     /* DIBSECTION (pack 4) */
579     TEST_TYPE_SIZE   (DIBSECTION, 84)
580     TEST_TYPE_ALIGN  (DIBSECTION, 4)
581     TEST_FIELD_SIZE  (DIBSECTION, dsBm, 24)
582     TEST_FIELD_ALIGN (DIBSECTION, dsBm, 4)
583     TEST_FIELD_OFFSET(DIBSECTION, dsBm, 0)
584     TEST_FIELD_SIZE  (DIBSECTION, dsBmih, 40)
585     TEST_FIELD_ALIGN (DIBSECTION, dsBmih, 4)
586     TEST_FIELD_OFFSET(DIBSECTION, dsBmih, 24)
587     TEST_FIELD_SIZE  (DIBSECTION, dsBitfields, 12)
588     TEST_FIELD_ALIGN (DIBSECTION, dsBitfields, 4)
589     TEST_FIELD_OFFSET(DIBSECTION, dsBitfields, 64)
590     TEST_FIELD_SIZE  (DIBSECTION, dshSection, 4)
591     TEST_FIELD_ALIGN (DIBSECTION, dshSection, 4)
592     TEST_FIELD_OFFSET(DIBSECTION, dshSection, 76)
593     TEST_FIELD_SIZE  (DIBSECTION, dsOffset, 4)
594     TEST_FIELD_ALIGN (DIBSECTION, dsOffset, 4)
595     TEST_FIELD_OFFSET(DIBSECTION, dsOffset, 80)
596 }
597
598 static void test_pack_DISPLAY_DEVICEA(void)
599 {
600     /* DISPLAY_DEVICEA (pack 4) */
601     TEST_TYPE_SIZE   (DISPLAY_DEVICEA, 424)
602     TEST_TYPE_ALIGN  (DISPLAY_DEVICEA, 4)
603     TEST_FIELD_SIZE  (DISPLAY_DEVICEA, cb, 4)
604     TEST_FIELD_ALIGN (DISPLAY_DEVICEA, cb, 4)
605     TEST_FIELD_OFFSET(DISPLAY_DEVICEA, cb, 0)
606     TEST_FIELD_SIZE  (DISPLAY_DEVICEA, DeviceName, 32)
607     TEST_FIELD_ALIGN (DISPLAY_DEVICEA, DeviceName, 1)
608     TEST_FIELD_OFFSET(DISPLAY_DEVICEA, DeviceName, 4)
609     TEST_FIELD_SIZE  (DISPLAY_DEVICEA, DeviceString, 128)
610     TEST_FIELD_ALIGN (DISPLAY_DEVICEA, DeviceString, 1)
611     TEST_FIELD_OFFSET(DISPLAY_DEVICEA, DeviceString, 36)
612     TEST_FIELD_SIZE  (DISPLAY_DEVICEA, StateFlags, 4)
613     TEST_FIELD_ALIGN (DISPLAY_DEVICEA, StateFlags, 4)
614     TEST_FIELD_OFFSET(DISPLAY_DEVICEA, StateFlags, 164)
615     TEST_FIELD_SIZE  (DISPLAY_DEVICEA, DeviceID, 128)
616     TEST_FIELD_ALIGN (DISPLAY_DEVICEA, DeviceID, 1)
617     TEST_FIELD_OFFSET(DISPLAY_DEVICEA, DeviceID, 168)
618     TEST_FIELD_SIZE  (DISPLAY_DEVICEA, DeviceKey, 128)
619     TEST_FIELD_ALIGN (DISPLAY_DEVICEA, DeviceKey, 1)
620     TEST_FIELD_OFFSET(DISPLAY_DEVICEA, DeviceKey, 296)
621 }
622
623 static void test_pack_DISPLAY_DEVICEW(void)
624 {
625     /* DISPLAY_DEVICEW (pack 4) */
626     TEST_TYPE_SIZE   (DISPLAY_DEVICEW, 840)
627     TEST_TYPE_ALIGN  (DISPLAY_DEVICEW, 4)
628     TEST_FIELD_SIZE  (DISPLAY_DEVICEW, cb, 4)
629     TEST_FIELD_ALIGN (DISPLAY_DEVICEW, cb, 4)
630     TEST_FIELD_OFFSET(DISPLAY_DEVICEW, cb, 0)
631     TEST_FIELD_SIZE  (DISPLAY_DEVICEW, DeviceName, 64)
632     TEST_FIELD_ALIGN (DISPLAY_DEVICEW, DeviceName, 2)
633     TEST_FIELD_OFFSET(DISPLAY_DEVICEW, DeviceName, 4)
634     TEST_FIELD_SIZE  (DISPLAY_DEVICEW, DeviceString, 256)
635     TEST_FIELD_ALIGN (DISPLAY_DEVICEW, DeviceString, 2)
636     TEST_FIELD_OFFSET(DISPLAY_DEVICEW, DeviceString, 68)
637     TEST_FIELD_SIZE  (DISPLAY_DEVICEW, StateFlags, 4)
638     TEST_FIELD_ALIGN (DISPLAY_DEVICEW, StateFlags, 4)
639     TEST_FIELD_OFFSET(DISPLAY_DEVICEW, StateFlags, 324)
640     TEST_FIELD_SIZE  (DISPLAY_DEVICEW, DeviceID, 256)
641     TEST_FIELD_ALIGN (DISPLAY_DEVICEW, DeviceID, 2)
642     TEST_FIELD_OFFSET(DISPLAY_DEVICEW, DeviceID, 328)
643     TEST_FIELD_SIZE  (DISPLAY_DEVICEW, DeviceKey, 256)
644     TEST_FIELD_ALIGN (DISPLAY_DEVICEW, DeviceKey, 2)
645     TEST_FIELD_OFFSET(DISPLAY_DEVICEW, DeviceKey, 584)
646 }
647
648 static void test_pack_DOCINFOA(void)
649 {
650     /* DOCINFOA (pack 4) */
651     TEST_TYPE_SIZE   (DOCINFOA, 20)
652     TEST_TYPE_ALIGN  (DOCINFOA, 4)
653     TEST_FIELD_SIZE  (DOCINFOA, cbSize, 4)
654     TEST_FIELD_ALIGN (DOCINFOA, cbSize, 4)
655     TEST_FIELD_OFFSET(DOCINFOA, cbSize, 0)
656     TEST_FIELD_SIZE  (DOCINFOA, lpszDocName, 4)
657     TEST_FIELD_ALIGN (DOCINFOA, lpszDocName, 4)
658     TEST_FIELD_OFFSET(DOCINFOA, lpszDocName, 4)
659     TEST_FIELD_SIZE  (DOCINFOA, lpszOutput, 4)
660     TEST_FIELD_ALIGN (DOCINFOA, lpszOutput, 4)
661     TEST_FIELD_OFFSET(DOCINFOA, lpszOutput, 8)
662     TEST_FIELD_SIZE  (DOCINFOA, lpszDatatype, 4)
663     TEST_FIELD_ALIGN (DOCINFOA, lpszDatatype, 4)
664     TEST_FIELD_OFFSET(DOCINFOA, lpszDatatype, 12)
665     TEST_FIELD_SIZE  (DOCINFOA, fwType, 4)
666     TEST_FIELD_ALIGN (DOCINFOA, fwType, 4)
667     TEST_FIELD_OFFSET(DOCINFOA, fwType, 16)
668 }
669
670 static void test_pack_DOCINFOW(void)
671 {
672     /* DOCINFOW (pack 4) */
673     TEST_TYPE_SIZE   (DOCINFOW, 20)
674     TEST_TYPE_ALIGN  (DOCINFOW, 4)
675     TEST_FIELD_SIZE  (DOCINFOW, cbSize, 4)
676     TEST_FIELD_ALIGN (DOCINFOW, cbSize, 4)
677     TEST_FIELD_OFFSET(DOCINFOW, cbSize, 0)
678     TEST_FIELD_SIZE  (DOCINFOW, lpszDocName, 4)
679     TEST_FIELD_ALIGN (DOCINFOW, lpszDocName, 4)
680     TEST_FIELD_OFFSET(DOCINFOW, lpszDocName, 4)
681     TEST_FIELD_SIZE  (DOCINFOW, lpszOutput, 4)
682     TEST_FIELD_ALIGN (DOCINFOW, lpszOutput, 4)
683     TEST_FIELD_OFFSET(DOCINFOW, lpszOutput, 8)
684     TEST_FIELD_SIZE  (DOCINFOW, lpszDatatype, 4)
685     TEST_FIELD_ALIGN (DOCINFOW, lpszDatatype, 4)
686     TEST_FIELD_OFFSET(DOCINFOW, lpszDatatype, 12)
687     TEST_FIELD_SIZE  (DOCINFOW, fwType, 4)
688     TEST_FIELD_ALIGN (DOCINFOW, fwType, 4)
689     TEST_FIELD_OFFSET(DOCINFOW, fwType, 16)
690 }
691
692 static void test_pack_EMR(void)
693 {
694     /* EMR (pack 4) */
695     TEST_TYPE_SIZE   (EMR, 8)
696     TEST_TYPE_ALIGN  (EMR, 4)
697     TEST_FIELD_SIZE  (EMR, iType, 4)
698     TEST_FIELD_ALIGN (EMR, iType, 4)
699     TEST_FIELD_OFFSET(EMR, iType, 0)
700     TEST_FIELD_SIZE  (EMR, nSize, 4)
701     TEST_FIELD_ALIGN (EMR, nSize, 4)
702     TEST_FIELD_OFFSET(EMR, nSize, 4)
703 }
704
705 static void test_pack_EMRABORTPATH(void)
706 {
707     /* EMRABORTPATH (pack 4) */
708     TEST_TYPE_SIZE   (EMRABORTPATH, 8)
709     TEST_TYPE_ALIGN  (EMRABORTPATH, 4)
710     TEST_FIELD_SIZE  (EMRABORTPATH, emr, 8)
711     TEST_FIELD_ALIGN (EMRABORTPATH, emr, 4)
712     TEST_FIELD_OFFSET(EMRABORTPATH, emr, 0)
713 }
714
715 static void test_pack_EMRANGLEARC(void)
716 {
717     /* EMRANGLEARC (pack 4) */
718     TEST_TYPE_SIZE   (EMRANGLEARC, 28)
719     TEST_TYPE_ALIGN  (EMRANGLEARC, 4)
720     TEST_FIELD_SIZE  (EMRANGLEARC, emr, 8)
721     TEST_FIELD_ALIGN (EMRANGLEARC, emr, 4)
722     TEST_FIELD_OFFSET(EMRANGLEARC, emr, 0)
723     TEST_FIELD_SIZE  (EMRANGLEARC, ptlCenter, 8)
724     TEST_FIELD_ALIGN (EMRANGLEARC, ptlCenter, 4)
725     TEST_FIELD_OFFSET(EMRANGLEARC, ptlCenter, 8)
726     TEST_FIELD_SIZE  (EMRANGLEARC, nRadius, 4)
727     TEST_FIELD_ALIGN (EMRANGLEARC, nRadius, 4)
728     TEST_FIELD_OFFSET(EMRANGLEARC, nRadius, 16)
729     TEST_FIELD_SIZE  (EMRANGLEARC, eStartAngle, 4)
730     TEST_FIELD_ALIGN (EMRANGLEARC, eStartAngle, 4)
731     TEST_FIELD_OFFSET(EMRANGLEARC, eStartAngle, 20)
732     TEST_FIELD_SIZE  (EMRANGLEARC, eSweepAngle, 4)
733     TEST_FIELD_ALIGN (EMRANGLEARC, eSweepAngle, 4)
734     TEST_FIELD_OFFSET(EMRANGLEARC, eSweepAngle, 24)
735 }
736
737 static void test_pack_EMRARC(void)
738 {
739     /* EMRARC (pack 4) */
740     TEST_TYPE_SIZE   (EMRARC, 40)
741     TEST_TYPE_ALIGN  (EMRARC, 4)
742     TEST_FIELD_SIZE  (EMRARC, emr, 8)
743     TEST_FIELD_ALIGN (EMRARC, emr, 4)
744     TEST_FIELD_OFFSET(EMRARC, emr, 0)
745     TEST_FIELD_SIZE  (EMRARC, rclBox, 16)
746     TEST_FIELD_ALIGN (EMRARC, rclBox, 4)
747     TEST_FIELD_OFFSET(EMRARC, rclBox, 8)
748     TEST_FIELD_SIZE  (EMRARC, ptlStart, 8)
749     TEST_FIELD_ALIGN (EMRARC, ptlStart, 4)
750     TEST_FIELD_OFFSET(EMRARC, ptlStart, 24)
751     TEST_FIELD_SIZE  (EMRARC, ptlEnd, 8)
752     TEST_FIELD_ALIGN (EMRARC, ptlEnd, 4)
753     TEST_FIELD_OFFSET(EMRARC, ptlEnd, 32)
754 }
755
756 static void test_pack_EMRARCTO(void)
757 {
758     /* EMRARCTO (pack 4) */
759     TEST_TYPE_SIZE   (EMRARCTO, 40)
760     TEST_TYPE_ALIGN  (EMRARCTO, 4)
761     TEST_FIELD_SIZE  (EMRARCTO, emr, 8)
762     TEST_FIELD_ALIGN (EMRARCTO, emr, 4)
763     TEST_FIELD_OFFSET(EMRARCTO, emr, 0)
764     TEST_FIELD_SIZE  (EMRARCTO, rclBox, 16)
765     TEST_FIELD_ALIGN (EMRARCTO, rclBox, 4)
766     TEST_FIELD_OFFSET(EMRARCTO, rclBox, 8)
767     TEST_FIELD_SIZE  (EMRARCTO, ptlStart, 8)
768     TEST_FIELD_ALIGN (EMRARCTO, ptlStart, 4)
769     TEST_FIELD_OFFSET(EMRARCTO, ptlStart, 24)
770     TEST_FIELD_SIZE  (EMRARCTO, ptlEnd, 8)
771     TEST_FIELD_ALIGN (EMRARCTO, ptlEnd, 4)
772     TEST_FIELD_OFFSET(EMRARCTO, ptlEnd, 32)
773 }
774
775 static void test_pack_EMRBEGINPATH(void)
776 {
777     /* EMRBEGINPATH (pack 4) */
778     TEST_TYPE_SIZE   (EMRBEGINPATH, 8)
779     TEST_TYPE_ALIGN  (EMRBEGINPATH, 4)
780     TEST_FIELD_SIZE  (EMRBEGINPATH, emr, 8)
781     TEST_FIELD_ALIGN (EMRBEGINPATH, emr, 4)
782     TEST_FIELD_OFFSET(EMRBEGINPATH, emr, 0)
783 }
784
785 static void test_pack_EMRBITBLT(void)
786 {
787     /* EMRBITBLT (pack 4) */
788     TEST_TYPE_SIZE   (EMRBITBLT, 100)
789     TEST_TYPE_ALIGN  (EMRBITBLT, 4)
790     TEST_FIELD_SIZE  (EMRBITBLT, emr, 8)
791     TEST_FIELD_ALIGN (EMRBITBLT, emr, 4)
792     TEST_FIELD_OFFSET(EMRBITBLT, emr, 0)
793     TEST_FIELD_SIZE  (EMRBITBLT, rclBounds, 16)
794     TEST_FIELD_ALIGN (EMRBITBLT, rclBounds, 4)
795     TEST_FIELD_OFFSET(EMRBITBLT, rclBounds, 8)
796     TEST_FIELD_SIZE  (EMRBITBLT, xDest, 4)
797     TEST_FIELD_ALIGN (EMRBITBLT, xDest, 4)
798     TEST_FIELD_OFFSET(EMRBITBLT, xDest, 24)
799     TEST_FIELD_SIZE  (EMRBITBLT, yDest, 4)
800     TEST_FIELD_ALIGN (EMRBITBLT, yDest, 4)
801     TEST_FIELD_OFFSET(EMRBITBLT, yDest, 28)
802     TEST_FIELD_SIZE  (EMRBITBLT, cxDest, 4)
803     TEST_FIELD_ALIGN (EMRBITBLT, cxDest, 4)
804     TEST_FIELD_OFFSET(EMRBITBLT, cxDest, 32)
805     TEST_FIELD_SIZE  (EMRBITBLT, cyDest, 4)
806     TEST_FIELD_ALIGN (EMRBITBLT, cyDest, 4)
807     TEST_FIELD_OFFSET(EMRBITBLT, cyDest, 36)
808     TEST_FIELD_SIZE  (EMRBITBLT, dwRop, 4)
809     TEST_FIELD_ALIGN (EMRBITBLT, dwRop, 4)
810     TEST_FIELD_OFFSET(EMRBITBLT, dwRop, 40)
811     TEST_FIELD_SIZE  (EMRBITBLT, xSrc, 4)
812     TEST_FIELD_ALIGN (EMRBITBLT, xSrc, 4)
813     TEST_FIELD_OFFSET(EMRBITBLT, xSrc, 44)
814     TEST_FIELD_SIZE  (EMRBITBLT, ySrc, 4)
815     TEST_FIELD_ALIGN (EMRBITBLT, ySrc, 4)
816     TEST_FIELD_OFFSET(EMRBITBLT, ySrc, 48)
817     TEST_FIELD_SIZE  (EMRBITBLT, xformSrc, 24)
818     TEST_FIELD_ALIGN (EMRBITBLT, xformSrc, 4)
819     TEST_FIELD_OFFSET(EMRBITBLT, xformSrc, 52)
820     TEST_FIELD_SIZE  (EMRBITBLT, crBkColorSrc, 4)
821     TEST_FIELD_ALIGN (EMRBITBLT, crBkColorSrc, 4)
822     TEST_FIELD_OFFSET(EMRBITBLT, crBkColorSrc, 76)
823     TEST_FIELD_SIZE  (EMRBITBLT, iUsageSrc, 4)
824     TEST_FIELD_ALIGN (EMRBITBLT, iUsageSrc, 4)
825     TEST_FIELD_OFFSET(EMRBITBLT, iUsageSrc, 80)
826     TEST_FIELD_SIZE  (EMRBITBLT, offBmiSrc, 4)
827     TEST_FIELD_ALIGN (EMRBITBLT, offBmiSrc, 4)
828     TEST_FIELD_OFFSET(EMRBITBLT, offBmiSrc, 84)
829     TEST_FIELD_SIZE  (EMRBITBLT, cbBmiSrc, 4)
830     TEST_FIELD_ALIGN (EMRBITBLT, cbBmiSrc, 4)
831     TEST_FIELD_OFFSET(EMRBITBLT, cbBmiSrc, 88)
832     TEST_FIELD_SIZE  (EMRBITBLT, offBitsSrc, 4)
833     TEST_FIELD_ALIGN (EMRBITBLT, offBitsSrc, 4)
834     TEST_FIELD_OFFSET(EMRBITBLT, offBitsSrc, 92)
835     TEST_FIELD_SIZE  (EMRBITBLT, cbBitsSrc, 4)
836     TEST_FIELD_ALIGN (EMRBITBLT, cbBitsSrc, 4)
837     TEST_FIELD_OFFSET(EMRBITBLT, cbBitsSrc, 96)
838 }
839
840 static void test_pack_EMRCHORD(void)
841 {
842     /* EMRCHORD (pack 4) */
843     TEST_TYPE_SIZE   (EMRCHORD, 40)
844     TEST_TYPE_ALIGN  (EMRCHORD, 4)
845     TEST_FIELD_SIZE  (EMRCHORD, emr, 8)
846     TEST_FIELD_ALIGN (EMRCHORD, emr, 4)
847     TEST_FIELD_OFFSET(EMRCHORD, emr, 0)
848     TEST_FIELD_SIZE  (EMRCHORD, rclBox, 16)
849     TEST_FIELD_ALIGN (EMRCHORD, rclBox, 4)
850     TEST_FIELD_OFFSET(EMRCHORD, rclBox, 8)
851     TEST_FIELD_SIZE  (EMRCHORD, ptlStart, 8)
852     TEST_FIELD_ALIGN (EMRCHORD, ptlStart, 4)
853     TEST_FIELD_OFFSET(EMRCHORD, ptlStart, 24)
854     TEST_FIELD_SIZE  (EMRCHORD, ptlEnd, 8)
855     TEST_FIELD_ALIGN (EMRCHORD, ptlEnd, 4)
856     TEST_FIELD_OFFSET(EMRCHORD, ptlEnd, 32)
857 }
858
859 static void test_pack_EMRCLOSEFIGURE(void)
860 {
861     /* EMRCLOSEFIGURE (pack 4) */
862     TEST_TYPE_SIZE   (EMRCLOSEFIGURE, 8)
863     TEST_TYPE_ALIGN  (EMRCLOSEFIGURE, 4)
864     TEST_FIELD_SIZE  (EMRCLOSEFIGURE, emr, 8)
865     TEST_FIELD_ALIGN (EMRCLOSEFIGURE, emr, 4)
866     TEST_FIELD_OFFSET(EMRCLOSEFIGURE, emr, 0)
867 }
868
869 static void test_pack_EMRCREATEBRUSHINDIRECT(void)
870 {
871     /* EMRCREATEBRUSHINDIRECT (pack 4) */
872     TEST_TYPE_SIZE   (EMRCREATEBRUSHINDIRECT, 24)
873     TEST_TYPE_ALIGN  (EMRCREATEBRUSHINDIRECT, 4)
874     TEST_FIELD_SIZE  (EMRCREATEBRUSHINDIRECT, emr, 8)
875     TEST_FIELD_ALIGN (EMRCREATEBRUSHINDIRECT, emr, 4)
876     TEST_FIELD_OFFSET(EMRCREATEBRUSHINDIRECT, emr, 0)
877     TEST_FIELD_SIZE  (EMRCREATEBRUSHINDIRECT, ihBrush, 4)
878     TEST_FIELD_ALIGN (EMRCREATEBRUSHINDIRECT, ihBrush, 4)
879     TEST_FIELD_OFFSET(EMRCREATEBRUSHINDIRECT, ihBrush, 8)
880     TEST_FIELD_SIZE  (EMRCREATEBRUSHINDIRECT, lb, 12)
881     TEST_FIELD_ALIGN (EMRCREATEBRUSHINDIRECT, lb, 4)
882     TEST_FIELD_OFFSET(EMRCREATEBRUSHINDIRECT, lb, 12)
883 }
884
885 static void test_pack_EMRCREATECOLORSPACE(void)
886 {
887     /* EMRCREATECOLORSPACE (pack 4) */
888     TEST_TYPE_SIZE   (EMRCREATECOLORSPACE, 340)
889     TEST_TYPE_ALIGN  (EMRCREATECOLORSPACE, 4)
890     TEST_FIELD_SIZE  (EMRCREATECOLORSPACE, emr, 8)
891     TEST_FIELD_ALIGN (EMRCREATECOLORSPACE, emr, 4)
892     TEST_FIELD_OFFSET(EMRCREATECOLORSPACE, emr, 0)
893     TEST_FIELD_SIZE  (EMRCREATECOLORSPACE, ihCS, 4)
894     TEST_FIELD_ALIGN (EMRCREATECOLORSPACE, ihCS, 4)
895     TEST_FIELD_OFFSET(EMRCREATECOLORSPACE, ihCS, 8)
896     TEST_FIELD_SIZE  (EMRCREATECOLORSPACE, lcs, 328)
897     TEST_FIELD_ALIGN (EMRCREATECOLORSPACE, lcs, 4)
898     TEST_FIELD_OFFSET(EMRCREATECOLORSPACE, lcs, 12)
899 }
900
901 static void test_pack_EMRCREATECOLORSPACEW(void)
902 {
903     /* EMRCREATECOLORSPACEW (pack 4) */
904     TEST_TYPE_SIZE   (EMRCREATECOLORSPACEW, 612)
905     TEST_TYPE_ALIGN  (EMRCREATECOLORSPACEW, 4)
906     TEST_FIELD_SIZE  (EMRCREATECOLORSPACEW, emr, 8)
907     TEST_FIELD_ALIGN (EMRCREATECOLORSPACEW, emr, 4)
908     TEST_FIELD_OFFSET(EMRCREATECOLORSPACEW, emr, 0)
909     TEST_FIELD_SIZE  (EMRCREATECOLORSPACEW, ihCS, 4)
910     TEST_FIELD_ALIGN (EMRCREATECOLORSPACEW, ihCS, 4)
911     TEST_FIELD_OFFSET(EMRCREATECOLORSPACEW, ihCS, 8)
912     TEST_FIELD_SIZE  (EMRCREATECOLORSPACEW, lcs, 588)
913     TEST_FIELD_ALIGN (EMRCREATECOLORSPACEW, lcs, 4)
914     TEST_FIELD_OFFSET(EMRCREATECOLORSPACEW, lcs, 12)
915     TEST_FIELD_SIZE  (EMRCREATECOLORSPACEW, dwFlags, 4)
916     TEST_FIELD_ALIGN (EMRCREATECOLORSPACEW, dwFlags, 4)
917     TEST_FIELD_OFFSET(EMRCREATECOLORSPACEW, dwFlags, 600)
918     TEST_FIELD_SIZE  (EMRCREATECOLORSPACEW, cbData, 4)
919     TEST_FIELD_ALIGN (EMRCREATECOLORSPACEW, cbData, 4)
920     TEST_FIELD_OFFSET(EMRCREATECOLORSPACEW, cbData, 604)
921     TEST_FIELD_SIZE  (EMRCREATECOLORSPACEW, Data, 1)
922     TEST_FIELD_ALIGN (EMRCREATECOLORSPACEW, Data, 1)
923     TEST_FIELD_OFFSET(EMRCREATECOLORSPACEW, Data, 608)
924 }
925
926 static void test_pack_EMRCREATEDIBPATTERNBRUSHPT(void)
927 {
928     /* EMRCREATEDIBPATTERNBRUSHPT (pack 4) */
929     TEST_TYPE_SIZE   (EMRCREATEDIBPATTERNBRUSHPT, 32)
930     TEST_TYPE_ALIGN  (EMRCREATEDIBPATTERNBRUSHPT, 4)
931     TEST_FIELD_SIZE  (EMRCREATEDIBPATTERNBRUSHPT, emr, 8)
932     TEST_FIELD_ALIGN (EMRCREATEDIBPATTERNBRUSHPT, emr, 4)
933     TEST_FIELD_OFFSET(EMRCREATEDIBPATTERNBRUSHPT, emr, 0)
934     TEST_FIELD_SIZE  (EMRCREATEDIBPATTERNBRUSHPT, ihBrush, 4)
935     TEST_FIELD_ALIGN (EMRCREATEDIBPATTERNBRUSHPT, ihBrush, 4)
936     TEST_FIELD_OFFSET(EMRCREATEDIBPATTERNBRUSHPT, ihBrush, 8)
937     TEST_FIELD_SIZE  (EMRCREATEDIBPATTERNBRUSHPT, iUsage, 4)
938     TEST_FIELD_ALIGN (EMRCREATEDIBPATTERNBRUSHPT, iUsage, 4)
939     TEST_FIELD_OFFSET(EMRCREATEDIBPATTERNBRUSHPT, iUsage, 12)
940     TEST_FIELD_SIZE  (EMRCREATEDIBPATTERNBRUSHPT, offBmi, 4)
941     TEST_FIELD_ALIGN (EMRCREATEDIBPATTERNBRUSHPT, offBmi, 4)
942     TEST_FIELD_OFFSET(EMRCREATEDIBPATTERNBRUSHPT, offBmi, 16)
943     TEST_FIELD_SIZE  (EMRCREATEDIBPATTERNBRUSHPT, cbBmi, 4)
944     TEST_FIELD_ALIGN (EMRCREATEDIBPATTERNBRUSHPT, cbBmi, 4)
945     TEST_FIELD_OFFSET(EMRCREATEDIBPATTERNBRUSHPT, cbBmi, 20)
946     TEST_FIELD_SIZE  (EMRCREATEDIBPATTERNBRUSHPT, offBits, 4)
947     TEST_FIELD_ALIGN (EMRCREATEDIBPATTERNBRUSHPT, offBits, 4)
948     TEST_FIELD_OFFSET(EMRCREATEDIBPATTERNBRUSHPT, offBits, 24)
949     TEST_FIELD_SIZE  (EMRCREATEDIBPATTERNBRUSHPT, cbBits, 4)
950     TEST_FIELD_ALIGN (EMRCREATEDIBPATTERNBRUSHPT, cbBits, 4)
951     TEST_FIELD_OFFSET(EMRCREATEDIBPATTERNBRUSHPT, cbBits, 28)
952 }
953
954 static void test_pack_EMRCREATEMONOBRUSH(void)
955 {
956     /* EMRCREATEMONOBRUSH (pack 4) */
957     TEST_TYPE_SIZE   (EMRCREATEMONOBRUSH, 32)
958     TEST_TYPE_ALIGN  (EMRCREATEMONOBRUSH, 4)
959     TEST_FIELD_SIZE  (EMRCREATEMONOBRUSH, emr, 8)
960     TEST_FIELD_ALIGN (EMRCREATEMONOBRUSH, emr, 4)
961     TEST_FIELD_OFFSET(EMRCREATEMONOBRUSH, emr, 0)
962     TEST_FIELD_SIZE  (EMRCREATEMONOBRUSH, ihBrush, 4)
963     TEST_FIELD_ALIGN (EMRCREATEMONOBRUSH, ihBrush, 4)
964     TEST_FIELD_OFFSET(EMRCREATEMONOBRUSH, ihBrush, 8)
965     TEST_FIELD_SIZE  (EMRCREATEMONOBRUSH, iUsage, 4)
966     TEST_FIELD_ALIGN (EMRCREATEMONOBRUSH, iUsage, 4)
967     TEST_FIELD_OFFSET(EMRCREATEMONOBRUSH, iUsage, 12)
968     TEST_FIELD_SIZE  (EMRCREATEMONOBRUSH, offBmi, 4)
969     TEST_FIELD_ALIGN (EMRCREATEMONOBRUSH, offBmi, 4)
970     TEST_FIELD_OFFSET(EMRCREATEMONOBRUSH, offBmi, 16)
971     TEST_FIELD_SIZE  (EMRCREATEMONOBRUSH, cbBmi, 4)
972     TEST_FIELD_ALIGN (EMRCREATEMONOBRUSH, cbBmi, 4)
973     TEST_FIELD_OFFSET(EMRCREATEMONOBRUSH, cbBmi, 20)
974     TEST_FIELD_SIZE  (EMRCREATEMONOBRUSH, offBits, 4)
975     TEST_FIELD_ALIGN (EMRCREATEMONOBRUSH, offBits, 4)
976     TEST_FIELD_OFFSET(EMRCREATEMONOBRUSH, offBits, 24)
977     TEST_FIELD_SIZE  (EMRCREATEMONOBRUSH, cbBits, 4)
978     TEST_FIELD_ALIGN (EMRCREATEMONOBRUSH, cbBits, 4)
979     TEST_FIELD_OFFSET(EMRCREATEMONOBRUSH, cbBits, 28)
980 }
981
982 static void test_pack_EMRCREATEPEN(void)
983 {
984     /* EMRCREATEPEN (pack 4) */
985     TEST_TYPE_SIZE   (EMRCREATEPEN, 28)
986     TEST_TYPE_ALIGN  (EMRCREATEPEN, 4)
987     TEST_FIELD_SIZE  (EMRCREATEPEN, emr, 8)
988     TEST_FIELD_ALIGN (EMRCREATEPEN, emr, 4)
989     TEST_FIELD_OFFSET(EMRCREATEPEN, emr, 0)
990     TEST_FIELD_SIZE  (EMRCREATEPEN, ihPen, 4)
991     TEST_FIELD_ALIGN (EMRCREATEPEN, ihPen, 4)
992     TEST_FIELD_OFFSET(EMRCREATEPEN, ihPen, 8)
993     TEST_FIELD_SIZE  (EMRCREATEPEN, lopn, 16)
994     TEST_FIELD_ALIGN (EMRCREATEPEN, lopn, 4)
995     TEST_FIELD_OFFSET(EMRCREATEPEN, lopn, 12)
996 }
997
998 static void test_pack_EMRDELETECOLORSPACE(void)
999 {
1000     /* EMRDELETECOLORSPACE (pack 4) */
1001     TEST_TYPE_SIZE   (EMRDELETECOLORSPACE, 12)
1002     TEST_TYPE_ALIGN  (EMRDELETECOLORSPACE, 4)
1003     TEST_FIELD_SIZE  (EMRDELETECOLORSPACE, emr, 8)
1004     TEST_FIELD_ALIGN (EMRDELETECOLORSPACE, emr, 4)
1005     TEST_FIELD_OFFSET(EMRDELETECOLORSPACE, emr, 0)
1006     TEST_FIELD_SIZE  (EMRDELETECOLORSPACE, ihCS, 4)
1007     TEST_FIELD_ALIGN (EMRDELETECOLORSPACE, ihCS, 4)
1008     TEST_FIELD_OFFSET(EMRDELETECOLORSPACE, ihCS, 8)
1009 }
1010
1011 static void test_pack_EMRDELETEOBJECT(void)
1012 {
1013     /* EMRDELETEOBJECT (pack 4) */
1014     TEST_TYPE_SIZE   (EMRDELETEOBJECT, 12)
1015     TEST_TYPE_ALIGN  (EMRDELETEOBJECT, 4)
1016     TEST_FIELD_SIZE  (EMRDELETEOBJECT, emr, 8)
1017     TEST_FIELD_ALIGN (EMRDELETEOBJECT, emr, 4)
1018     TEST_FIELD_OFFSET(EMRDELETEOBJECT, emr, 0)
1019     TEST_FIELD_SIZE  (EMRDELETEOBJECT, ihObject, 4)
1020     TEST_FIELD_ALIGN (EMRDELETEOBJECT, ihObject, 4)
1021     TEST_FIELD_OFFSET(EMRDELETEOBJECT, ihObject, 8)
1022 }
1023
1024 static void test_pack_EMRELLIPSE(void)
1025 {
1026     /* EMRELLIPSE (pack 4) */
1027     TEST_TYPE_SIZE   (EMRELLIPSE, 24)
1028     TEST_TYPE_ALIGN  (EMRELLIPSE, 4)
1029     TEST_FIELD_SIZE  (EMRELLIPSE, emr, 8)
1030     TEST_FIELD_ALIGN (EMRELLIPSE, emr, 4)
1031     TEST_FIELD_OFFSET(EMRELLIPSE, emr, 0)
1032     TEST_FIELD_SIZE  (EMRELLIPSE, rclBox, 16)
1033     TEST_FIELD_ALIGN (EMRELLIPSE, rclBox, 4)
1034     TEST_FIELD_OFFSET(EMRELLIPSE, rclBox, 8)
1035 }
1036
1037 static void test_pack_EMRENDPATH(void)
1038 {
1039     /* EMRENDPATH (pack 4) */
1040     TEST_TYPE_SIZE   (EMRENDPATH, 8)
1041     TEST_TYPE_ALIGN  (EMRENDPATH, 4)
1042     TEST_FIELD_SIZE  (EMRENDPATH, emr, 8)
1043     TEST_FIELD_ALIGN (EMRENDPATH, emr, 4)
1044     TEST_FIELD_OFFSET(EMRENDPATH, emr, 0)
1045 }
1046
1047 static void test_pack_EMREOF(void)
1048 {
1049     /* EMREOF (pack 4) */
1050     TEST_TYPE_SIZE   (EMREOF, 20)
1051     TEST_TYPE_ALIGN  (EMREOF, 4)
1052     TEST_FIELD_SIZE  (EMREOF, emr, 8)
1053     TEST_FIELD_ALIGN (EMREOF, emr, 4)
1054     TEST_FIELD_OFFSET(EMREOF, emr, 0)
1055     TEST_FIELD_SIZE  (EMREOF, nPalEntries, 4)
1056     TEST_FIELD_ALIGN (EMREOF, nPalEntries, 4)
1057     TEST_FIELD_OFFSET(EMREOF, nPalEntries, 8)
1058     TEST_FIELD_SIZE  (EMREOF, offPalEntries, 4)
1059     TEST_FIELD_ALIGN (EMREOF, offPalEntries, 4)
1060     TEST_FIELD_OFFSET(EMREOF, offPalEntries, 12)
1061     TEST_FIELD_SIZE  (EMREOF, nSizeLast, 4)
1062     TEST_FIELD_ALIGN (EMREOF, nSizeLast, 4)
1063     TEST_FIELD_OFFSET(EMREOF, nSizeLast, 16)
1064 }
1065
1066 static void test_pack_EMREXCLUDECLIPRECT(void)
1067 {
1068     /* EMREXCLUDECLIPRECT (pack 4) */
1069     TEST_TYPE_SIZE   (EMREXCLUDECLIPRECT, 24)
1070     TEST_TYPE_ALIGN  (EMREXCLUDECLIPRECT, 4)
1071     TEST_FIELD_SIZE  (EMREXCLUDECLIPRECT, emr, 8)
1072     TEST_FIELD_ALIGN (EMREXCLUDECLIPRECT, emr, 4)
1073     TEST_FIELD_OFFSET(EMREXCLUDECLIPRECT, emr, 0)
1074     TEST_FIELD_SIZE  (EMREXCLUDECLIPRECT, rclClip, 16)
1075     TEST_FIELD_ALIGN (EMREXCLUDECLIPRECT, rclClip, 4)
1076     TEST_FIELD_OFFSET(EMREXCLUDECLIPRECT, rclClip, 8)
1077 }
1078
1079 static void test_pack_EMREXTCREATEFONTINDIRECTW(void)
1080 {
1081     /* EMREXTCREATEFONTINDIRECTW (pack 4) */
1082     TEST_TYPE_SIZE   (EMREXTCREATEFONTINDIRECTW, 332)
1083     TEST_TYPE_ALIGN  (EMREXTCREATEFONTINDIRECTW, 4)
1084     TEST_FIELD_SIZE  (EMREXTCREATEFONTINDIRECTW, emr, 8)
1085     TEST_FIELD_ALIGN (EMREXTCREATEFONTINDIRECTW, emr, 4)
1086     TEST_FIELD_OFFSET(EMREXTCREATEFONTINDIRECTW, emr, 0)
1087     TEST_FIELD_SIZE  (EMREXTCREATEFONTINDIRECTW, ihFont, 4)
1088     TEST_FIELD_ALIGN (EMREXTCREATEFONTINDIRECTW, ihFont, 4)
1089     TEST_FIELD_OFFSET(EMREXTCREATEFONTINDIRECTW, ihFont, 8)
1090     TEST_FIELD_SIZE  (EMREXTCREATEFONTINDIRECTW, elfw, 320)
1091     TEST_FIELD_ALIGN (EMREXTCREATEFONTINDIRECTW, elfw, 4)
1092     TEST_FIELD_OFFSET(EMREXTCREATEFONTINDIRECTW, elfw, 12)
1093 }
1094
1095 static void test_pack_EMREXTCREATEPEN(void)
1096 {
1097     /* EMREXTCREATEPEN (pack 4) */
1098     TEST_TYPE_SIZE   (EMREXTCREATEPEN, 56)
1099     TEST_TYPE_ALIGN  (EMREXTCREATEPEN, 4)
1100     TEST_FIELD_SIZE  (EMREXTCREATEPEN, emr, 8)
1101     TEST_FIELD_ALIGN (EMREXTCREATEPEN, emr, 4)
1102     TEST_FIELD_OFFSET(EMREXTCREATEPEN, emr, 0)
1103     TEST_FIELD_SIZE  (EMREXTCREATEPEN, ihPen, 4)
1104     TEST_FIELD_ALIGN (EMREXTCREATEPEN, ihPen, 4)
1105     TEST_FIELD_OFFSET(EMREXTCREATEPEN, ihPen, 8)
1106     TEST_FIELD_SIZE  (EMREXTCREATEPEN, offBmi, 4)
1107     TEST_FIELD_ALIGN (EMREXTCREATEPEN, offBmi, 4)
1108     TEST_FIELD_OFFSET(EMREXTCREATEPEN, offBmi, 12)
1109     TEST_FIELD_SIZE  (EMREXTCREATEPEN, cbBmi, 4)
1110     TEST_FIELD_ALIGN (EMREXTCREATEPEN, cbBmi, 4)
1111     TEST_FIELD_OFFSET(EMREXTCREATEPEN, cbBmi, 16)
1112     TEST_FIELD_SIZE  (EMREXTCREATEPEN, offBits, 4)
1113     TEST_FIELD_ALIGN (EMREXTCREATEPEN, offBits, 4)
1114     TEST_FIELD_OFFSET(EMREXTCREATEPEN, offBits, 20)
1115     TEST_FIELD_SIZE  (EMREXTCREATEPEN, cbBits, 4)
1116     TEST_FIELD_ALIGN (EMREXTCREATEPEN, cbBits, 4)
1117     TEST_FIELD_OFFSET(EMREXTCREATEPEN, cbBits, 24)
1118     TEST_FIELD_SIZE  (EMREXTCREATEPEN, elp, 28)
1119     TEST_FIELD_ALIGN (EMREXTCREATEPEN, elp, 4)
1120     TEST_FIELD_OFFSET(EMREXTCREATEPEN, elp, 28)
1121 }
1122
1123 static void test_pack_EMREXTFLOODFILL(void)
1124 {
1125     /* EMREXTFLOODFILL (pack 4) */
1126     TEST_TYPE_SIZE   (EMREXTFLOODFILL, 24)
1127     TEST_TYPE_ALIGN  (EMREXTFLOODFILL, 4)
1128     TEST_FIELD_SIZE  (EMREXTFLOODFILL, emr, 8)
1129     TEST_FIELD_ALIGN (EMREXTFLOODFILL, emr, 4)
1130     TEST_FIELD_OFFSET(EMREXTFLOODFILL, emr, 0)
1131     TEST_FIELD_SIZE  (EMREXTFLOODFILL, ptlStart, 8)
1132     TEST_FIELD_ALIGN (EMREXTFLOODFILL, ptlStart, 4)
1133     TEST_FIELD_OFFSET(EMREXTFLOODFILL, ptlStart, 8)
1134     TEST_FIELD_SIZE  (EMREXTFLOODFILL, crColor, 4)
1135     TEST_FIELD_ALIGN (EMREXTFLOODFILL, crColor, 4)
1136     TEST_FIELD_OFFSET(EMREXTFLOODFILL, crColor, 16)
1137     TEST_FIELD_SIZE  (EMREXTFLOODFILL, iMode, 4)
1138     TEST_FIELD_ALIGN (EMREXTFLOODFILL, iMode, 4)
1139     TEST_FIELD_OFFSET(EMREXTFLOODFILL, iMode, 20)
1140 }
1141
1142 static void test_pack_EMREXTSELECTCLIPRGN(void)
1143 {
1144     /* EMREXTSELECTCLIPRGN (pack 4) */
1145     TEST_TYPE_SIZE   (EMREXTSELECTCLIPRGN, 20)
1146     TEST_TYPE_ALIGN  (EMREXTSELECTCLIPRGN, 4)
1147     TEST_FIELD_SIZE  (EMREXTSELECTCLIPRGN, emr, 8)
1148     TEST_FIELD_ALIGN (EMREXTSELECTCLIPRGN, emr, 4)
1149     TEST_FIELD_OFFSET(EMREXTSELECTCLIPRGN, emr, 0)
1150     TEST_FIELD_SIZE  (EMREXTSELECTCLIPRGN, cbRgnData, 4)
1151     TEST_FIELD_ALIGN (EMREXTSELECTCLIPRGN, cbRgnData, 4)
1152     TEST_FIELD_OFFSET(EMREXTSELECTCLIPRGN, cbRgnData, 8)
1153     TEST_FIELD_SIZE  (EMREXTSELECTCLIPRGN, iMode, 4)
1154     TEST_FIELD_ALIGN (EMREXTSELECTCLIPRGN, iMode, 4)
1155     TEST_FIELD_OFFSET(EMREXTSELECTCLIPRGN, iMode, 12)
1156     TEST_FIELD_SIZE  (EMREXTSELECTCLIPRGN, RgnData, 1)
1157     TEST_FIELD_ALIGN (EMREXTSELECTCLIPRGN, RgnData, 1)
1158     TEST_FIELD_OFFSET(EMREXTSELECTCLIPRGN, RgnData, 16)
1159 }
1160
1161 static void test_pack_EMREXTTEXTOUTA(void)
1162 {
1163     /* EMREXTTEXTOUTA (pack 4) */
1164     TEST_TYPE_SIZE   (EMREXTTEXTOUTA, 76)
1165     TEST_TYPE_ALIGN  (EMREXTTEXTOUTA, 4)
1166     TEST_FIELD_SIZE  (EMREXTTEXTOUTA, emr, 8)
1167     TEST_FIELD_ALIGN (EMREXTTEXTOUTA, emr, 4)
1168     TEST_FIELD_OFFSET(EMREXTTEXTOUTA, emr, 0)
1169     TEST_FIELD_SIZE  (EMREXTTEXTOUTA, rclBounds, 16)
1170     TEST_FIELD_ALIGN (EMREXTTEXTOUTA, rclBounds, 4)
1171     TEST_FIELD_OFFSET(EMREXTTEXTOUTA, rclBounds, 8)
1172     TEST_FIELD_SIZE  (EMREXTTEXTOUTA, iGraphicsMode, 4)
1173     TEST_FIELD_ALIGN (EMREXTTEXTOUTA, iGraphicsMode, 4)
1174     TEST_FIELD_OFFSET(EMREXTTEXTOUTA, iGraphicsMode, 24)
1175     TEST_FIELD_SIZE  (EMREXTTEXTOUTA, exScale, 4)
1176     TEST_FIELD_ALIGN (EMREXTTEXTOUTA, exScale, 4)
1177     TEST_FIELD_OFFSET(EMREXTTEXTOUTA, exScale, 28)
1178     TEST_FIELD_SIZE  (EMREXTTEXTOUTA, eyScale, 4)
1179     TEST_FIELD_ALIGN (EMREXTTEXTOUTA, eyScale, 4)
1180     TEST_FIELD_OFFSET(EMREXTTEXTOUTA, eyScale, 32)
1181     TEST_FIELD_SIZE  (EMREXTTEXTOUTA, emrtext, 40)
1182     TEST_FIELD_ALIGN (EMREXTTEXTOUTA, emrtext, 4)
1183     TEST_FIELD_OFFSET(EMREXTTEXTOUTA, emrtext, 36)
1184 }
1185
1186 static void test_pack_EMREXTTEXTOUTW(void)
1187 {
1188     /* EMREXTTEXTOUTW (pack 4) */
1189     TEST_TYPE_SIZE   (EMREXTTEXTOUTW, 76)
1190     TEST_TYPE_ALIGN  (EMREXTTEXTOUTW, 4)
1191     TEST_FIELD_SIZE  (EMREXTTEXTOUTW, emr, 8)
1192     TEST_FIELD_ALIGN (EMREXTTEXTOUTW, emr, 4)
1193     TEST_FIELD_OFFSET(EMREXTTEXTOUTW, emr, 0)
1194     TEST_FIELD_SIZE  (EMREXTTEXTOUTW, rclBounds, 16)
1195     TEST_FIELD_ALIGN (EMREXTTEXTOUTW, rclBounds, 4)
1196     TEST_FIELD_OFFSET(EMREXTTEXTOUTW, rclBounds, 8)
1197     TEST_FIELD_SIZE  (EMREXTTEXTOUTW, iGraphicsMode, 4)
1198     TEST_FIELD_ALIGN (EMREXTTEXTOUTW, iGraphicsMode, 4)
1199     TEST_FIELD_OFFSET(EMREXTTEXTOUTW, iGraphicsMode, 24)
1200     TEST_FIELD_SIZE  (EMREXTTEXTOUTW, exScale, 4)
1201     TEST_FIELD_ALIGN (EMREXTTEXTOUTW, exScale, 4)
1202     TEST_FIELD_OFFSET(EMREXTTEXTOUTW, exScale, 28)
1203     TEST_FIELD_SIZE  (EMREXTTEXTOUTW, eyScale, 4)
1204     TEST_FIELD_ALIGN (EMREXTTEXTOUTW, eyScale, 4)
1205     TEST_FIELD_OFFSET(EMREXTTEXTOUTW, eyScale, 32)
1206     TEST_FIELD_SIZE  (EMREXTTEXTOUTW, emrtext, 40)
1207     TEST_FIELD_ALIGN (EMREXTTEXTOUTW, emrtext, 4)
1208     TEST_FIELD_OFFSET(EMREXTTEXTOUTW, emrtext, 36)
1209 }
1210
1211 static void test_pack_EMRFILLPATH(void)
1212 {
1213     /* EMRFILLPATH (pack 4) */
1214     TEST_TYPE_SIZE   (EMRFILLPATH, 24)
1215     TEST_TYPE_ALIGN  (EMRFILLPATH, 4)
1216     TEST_FIELD_SIZE  (EMRFILLPATH, emr, 8)
1217     TEST_FIELD_ALIGN (EMRFILLPATH, emr, 4)
1218     TEST_FIELD_OFFSET(EMRFILLPATH, emr, 0)
1219     TEST_FIELD_SIZE  (EMRFILLPATH, rclBounds, 16)
1220     TEST_FIELD_ALIGN (EMRFILLPATH, rclBounds, 4)
1221     TEST_FIELD_OFFSET(EMRFILLPATH, rclBounds, 8)
1222 }
1223
1224 static void test_pack_EMRFILLRGN(void)
1225 {
1226     /* EMRFILLRGN (pack 4) */
1227     TEST_TYPE_SIZE   (EMRFILLRGN, 36)
1228     TEST_TYPE_ALIGN  (EMRFILLRGN, 4)
1229     TEST_FIELD_SIZE  (EMRFILLRGN, emr, 8)
1230     TEST_FIELD_ALIGN (EMRFILLRGN, emr, 4)
1231     TEST_FIELD_OFFSET(EMRFILLRGN, emr, 0)
1232     TEST_FIELD_SIZE  (EMRFILLRGN, rclBounds, 16)
1233     TEST_FIELD_ALIGN (EMRFILLRGN, rclBounds, 4)
1234     TEST_FIELD_OFFSET(EMRFILLRGN, rclBounds, 8)
1235     TEST_FIELD_SIZE  (EMRFILLRGN, cbRgnData, 4)
1236     TEST_FIELD_ALIGN (EMRFILLRGN, cbRgnData, 4)
1237     TEST_FIELD_OFFSET(EMRFILLRGN, cbRgnData, 24)
1238     TEST_FIELD_SIZE  (EMRFILLRGN, ihBrush, 4)
1239     TEST_FIELD_ALIGN (EMRFILLRGN, ihBrush, 4)
1240     TEST_FIELD_OFFSET(EMRFILLRGN, ihBrush, 28)
1241     TEST_FIELD_SIZE  (EMRFILLRGN, RgnData, 1)
1242     TEST_FIELD_ALIGN (EMRFILLRGN, RgnData, 1)
1243     TEST_FIELD_OFFSET(EMRFILLRGN, RgnData, 32)
1244 }
1245
1246 static void test_pack_EMRFLATTENPATH(void)
1247 {
1248     /* EMRFLATTENPATH (pack 4) */
1249     TEST_TYPE_SIZE   (EMRFLATTENPATH, 8)
1250     TEST_TYPE_ALIGN  (EMRFLATTENPATH, 4)
1251     TEST_FIELD_SIZE  (EMRFLATTENPATH, emr, 8)
1252     TEST_FIELD_ALIGN (EMRFLATTENPATH, emr, 4)
1253     TEST_FIELD_OFFSET(EMRFLATTENPATH, emr, 0)
1254 }
1255
1256 static void test_pack_EMRFORMAT(void)
1257 {
1258     /* EMRFORMAT (pack 4) */
1259     TEST_TYPE_SIZE   (EMRFORMAT, 16)
1260     TEST_TYPE_ALIGN  (EMRFORMAT, 4)
1261     TEST_FIELD_SIZE  (EMRFORMAT, dSignature, 4)
1262     TEST_FIELD_ALIGN (EMRFORMAT, dSignature, 4)
1263     TEST_FIELD_OFFSET(EMRFORMAT, dSignature, 0)
1264     TEST_FIELD_SIZE  (EMRFORMAT, nVersion, 4)
1265     TEST_FIELD_ALIGN (EMRFORMAT, nVersion, 4)
1266     TEST_FIELD_OFFSET(EMRFORMAT, nVersion, 4)
1267     TEST_FIELD_SIZE  (EMRFORMAT, cbData, 4)
1268     TEST_FIELD_ALIGN (EMRFORMAT, cbData, 4)
1269     TEST_FIELD_OFFSET(EMRFORMAT, cbData, 8)
1270     TEST_FIELD_SIZE  (EMRFORMAT, offData, 4)
1271     TEST_FIELD_ALIGN (EMRFORMAT, offData, 4)
1272     TEST_FIELD_OFFSET(EMRFORMAT, offData, 12)
1273 }
1274
1275 static void test_pack_EMRFRAMERGN(void)
1276 {
1277     /* EMRFRAMERGN (pack 4) */
1278     TEST_TYPE_SIZE   (EMRFRAMERGN, 44)
1279     TEST_TYPE_ALIGN  (EMRFRAMERGN, 4)
1280     TEST_FIELD_SIZE  (EMRFRAMERGN, emr, 8)
1281     TEST_FIELD_ALIGN (EMRFRAMERGN, emr, 4)
1282     TEST_FIELD_OFFSET(EMRFRAMERGN, emr, 0)
1283     TEST_FIELD_SIZE  (EMRFRAMERGN, rclBounds, 16)
1284     TEST_FIELD_ALIGN (EMRFRAMERGN, rclBounds, 4)
1285     TEST_FIELD_OFFSET(EMRFRAMERGN, rclBounds, 8)
1286     TEST_FIELD_SIZE  (EMRFRAMERGN, cbRgnData, 4)
1287     TEST_FIELD_ALIGN (EMRFRAMERGN, cbRgnData, 4)
1288     TEST_FIELD_OFFSET(EMRFRAMERGN, cbRgnData, 24)
1289     TEST_FIELD_SIZE  (EMRFRAMERGN, ihBrush, 4)
1290     TEST_FIELD_ALIGN (EMRFRAMERGN, ihBrush, 4)
1291     TEST_FIELD_OFFSET(EMRFRAMERGN, ihBrush, 28)
1292     TEST_FIELD_SIZE  (EMRFRAMERGN, szlStroke, 8)
1293     TEST_FIELD_ALIGN (EMRFRAMERGN, szlStroke, 4)
1294     TEST_FIELD_OFFSET(EMRFRAMERGN, szlStroke, 32)
1295     TEST_FIELD_SIZE  (EMRFRAMERGN, RgnData, 1)
1296     TEST_FIELD_ALIGN (EMRFRAMERGN, RgnData, 1)
1297     TEST_FIELD_OFFSET(EMRFRAMERGN, RgnData, 40)
1298 }
1299
1300 static void test_pack_EMRGDICOMMENT(void)
1301 {
1302     /* EMRGDICOMMENT (pack 4) */
1303     TEST_TYPE_SIZE   (EMRGDICOMMENT, 16)
1304     TEST_TYPE_ALIGN  (EMRGDICOMMENT, 4)
1305     TEST_FIELD_SIZE  (EMRGDICOMMENT, emr, 8)
1306     TEST_FIELD_ALIGN (EMRGDICOMMENT, emr, 4)
1307     TEST_FIELD_OFFSET(EMRGDICOMMENT, emr, 0)
1308     TEST_FIELD_SIZE  (EMRGDICOMMENT, cbData, 4)
1309     TEST_FIELD_ALIGN (EMRGDICOMMENT, cbData, 4)
1310     TEST_FIELD_OFFSET(EMRGDICOMMENT, cbData, 8)
1311     TEST_FIELD_SIZE  (EMRGDICOMMENT, Data, 1)
1312     TEST_FIELD_ALIGN (EMRGDICOMMENT, Data, 1)
1313     TEST_FIELD_OFFSET(EMRGDICOMMENT, Data, 12)
1314 }
1315
1316 static void test_pack_EMRGLSBOUNDEDRECORD(void)
1317 {
1318     /* EMRGLSBOUNDEDRECORD (pack 4) */
1319     TEST_TYPE_SIZE   (EMRGLSBOUNDEDRECORD, 32)
1320     TEST_TYPE_ALIGN  (EMRGLSBOUNDEDRECORD, 4)
1321     TEST_FIELD_SIZE  (EMRGLSBOUNDEDRECORD, emr, 8)
1322     TEST_FIELD_ALIGN (EMRGLSBOUNDEDRECORD, emr, 4)
1323     TEST_FIELD_OFFSET(EMRGLSBOUNDEDRECORD, emr, 0)
1324     TEST_FIELD_SIZE  (EMRGLSBOUNDEDRECORD, rclBounds, 16)
1325     TEST_FIELD_ALIGN (EMRGLSBOUNDEDRECORD, rclBounds, 4)
1326     TEST_FIELD_OFFSET(EMRGLSBOUNDEDRECORD, rclBounds, 8)
1327     TEST_FIELD_SIZE  (EMRGLSBOUNDEDRECORD, cbData, 4)
1328     TEST_FIELD_ALIGN (EMRGLSBOUNDEDRECORD, cbData, 4)
1329     TEST_FIELD_OFFSET(EMRGLSBOUNDEDRECORD, cbData, 24)
1330     TEST_FIELD_SIZE  (EMRGLSBOUNDEDRECORD, Data, 1)
1331     TEST_FIELD_ALIGN (EMRGLSBOUNDEDRECORD, Data, 1)
1332     TEST_FIELD_OFFSET(EMRGLSBOUNDEDRECORD, Data, 28)
1333 }
1334
1335 static void test_pack_EMRGLSRECORD(void)
1336 {
1337     /* EMRGLSRECORD (pack 4) */
1338     TEST_TYPE_SIZE   (EMRGLSRECORD, 16)
1339     TEST_TYPE_ALIGN  (EMRGLSRECORD, 4)
1340     TEST_FIELD_SIZE  (EMRGLSRECORD, emr, 8)
1341     TEST_FIELD_ALIGN (EMRGLSRECORD, emr, 4)
1342     TEST_FIELD_OFFSET(EMRGLSRECORD, emr, 0)
1343     TEST_FIELD_SIZE  (EMRGLSRECORD, cbData, 4)
1344     TEST_FIELD_ALIGN (EMRGLSRECORD, cbData, 4)
1345     TEST_FIELD_OFFSET(EMRGLSRECORD, cbData, 8)
1346     TEST_FIELD_SIZE  (EMRGLSRECORD, Data, 1)
1347     TEST_FIELD_ALIGN (EMRGLSRECORD, Data, 1)
1348     TEST_FIELD_OFFSET(EMRGLSRECORD, Data, 12)
1349 }
1350
1351 static void test_pack_EMRINTERSECTCLIPRECT(void)
1352 {
1353     /* EMRINTERSECTCLIPRECT (pack 4) */
1354     TEST_TYPE_SIZE   (EMRINTERSECTCLIPRECT, 24)
1355     TEST_TYPE_ALIGN  (EMRINTERSECTCLIPRECT, 4)
1356     TEST_FIELD_SIZE  (EMRINTERSECTCLIPRECT, emr, 8)
1357     TEST_FIELD_ALIGN (EMRINTERSECTCLIPRECT, emr, 4)
1358     TEST_FIELD_OFFSET(EMRINTERSECTCLIPRECT, emr, 0)
1359     TEST_FIELD_SIZE  (EMRINTERSECTCLIPRECT, rclClip, 16)
1360     TEST_FIELD_ALIGN (EMRINTERSECTCLIPRECT, rclClip, 4)
1361     TEST_FIELD_OFFSET(EMRINTERSECTCLIPRECT, rclClip, 8)
1362 }
1363
1364 static void test_pack_EMRINVERTRGN(void)
1365 {
1366     /* EMRINVERTRGN (pack 4) */
1367     TEST_TYPE_SIZE   (EMRINVERTRGN, 32)
1368     TEST_TYPE_ALIGN  (EMRINVERTRGN, 4)
1369     TEST_FIELD_SIZE  (EMRINVERTRGN, emr, 8)
1370     TEST_FIELD_ALIGN (EMRINVERTRGN, emr, 4)
1371     TEST_FIELD_OFFSET(EMRINVERTRGN, emr, 0)
1372     TEST_FIELD_SIZE  (EMRINVERTRGN, rclBounds, 16)
1373     TEST_FIELD_ALIGN (EMRINVERTRGN, rclBounds, 4)
1374     TEST_FIELD_OFFSET(EMRINVERTRGN, rclBounds, 8)
1375     TEST_FIELD_SIZE  (EMRINVERTRGN, cbRgnData, 4)
1376     TEST_FIELD_ALIGN (EMRINVERTRGN, cbRgnData, 4)
1377     TEST_FIELD_OFFSET(EMRINVERTRGN, cbRgnData, 24)
1378     TEST_FIELD_SIZE  (EMRINVERTRGN, RgnData, 1)
1379     TEST_FIELD_ALIGN (EMRINVERTRGN, RgnData, 1)
1380     TEST_FIELD_OFFSET(EMRINVERTRGN, RgnData, 28)
1381 }
1382
1383 static void test_pack_EMRLINETO(void)
1384 {
1385     /* EMRLINETO (pack 4) */
1386     TEST_TYPE_SIZE   (EMRLINETO, 16)
1387     TEST_TYPE_ALIGN  (EMRLINETO, 4)
1388     TEST_FIELD_SIZE  (EMRLINETO, emr, 8)
1389     TEST_FIELD_ALIGN (EMRLINETO, emr, 4)
1390     TEST_FIELD_OFFSET(EMRLINETO, emr, 0)
1391     TEST_FIELD_SIZE  (EMRLINETO, ptl, 8)
1392     TEST_FIELD_ALIGN (EMRLINETO, ptl, 4)
1393     TEST_FIELD_OFFSET(EMRLINETO, ptl, 8)
1394 }
1395
1396 static void test_pack_EMRMASKBLT(void)
1397 {
1398     /* EMRMASKBLT (pack 4) */
1399     TEST_TYPE_SIZE   (EMRMASKBLT, 128)
1400     TEST_TYPE_ALIGN  (EMRMASKBLT, 4)
1401     TEST_FIELD_SIZE  (EMRMASKBLT, emr, 8)
1402     TEST_FIELD_ALIGN (EMRMASKBLT, emr, 4)
1403     TEST_FIELD_OFFSET(EMRMASKBLT, emr, 0)
1404     TEST_FIELD_SIZE  (EMRMASKBLT, rclBounds, 16)
1405     TEST_FIELD_ALIGN (EMRMASKBLT, rclBounds, 4)
1406     TEST_FIELD_OFFSET(EMRMASKBLT, rclBounds, 8)
1407     TEST_FIELD_SIZE  (EMRMASKBLT, xDest, 4)
1408     TEST_FIELD_ALIGN (EMRMASKBLT, xDest, 4)
1409     TEST_FIELD_OFFSET(EMRMASKBLT, xDest, 24)
1410     TEST_FIELD_SIZE  (EMRMASKBLT, yDest, 4)
1411     TEST_FIELD_ALIGN (EMRMASKBLT, yDest, 4)
1412     TEST_FIELD_OFFSET(EMRMASKBLT, yDest, 28)
1413     TEST_FIELD_SIZE  (EMRMASKBLT, cxDest, 4)
1414     TEST_FIELD_ALIGN (EMRMASKBLT, cxDest, 4)
1415     TEST_FIELD_OFFSET(EMRMASKBLT, cxDest, 32)
1416     TEST_FIELD_SIZE  (EMRMASKBLT, cyDest, 4)
1417     TEST_FIELD_ALIGN (EMRMASKBLT, cyDest, 4)
1418     TEST_FIELD_OFFSET(EMRMASKBLT, cyDest, 36)
1419     TEST_FIELD_SIZE  (EMRMASKBLT, dwRop, 4)
1420     TEST_FIELD_ALIGN (EMRMASKBLT, dwRop, 4)
1421     TEST_FIELD_OFFSET(EMRMASKBLT, dwRop, 40)
1422     TEST_FIELD_SIZE  (EMRMASKBLT, xSrc, 4)
1423     TEST_FIELD_ALIGN (EMRMASKBLT, xSrc, 4)
1424     TEST_FIELD_OFFSET(EMRMASKBLT, xSrc, 44)
1425     TEST_FIELD_SIZE  (EMRMASKBLT, ySrc, 4)
1426     TEST_FIELD_ALIGN (EMRMASKBLT, ySrc, 4)
1427     TEST_FIELD_OFFSET(EMRMASKBLT, ySrc, 48)
1428     TEST_FIELD_SIZE  (EMRMASKBLT, xformSrc, 24)
1429     TEST_FIELD_ALIGN (EMRMASKBLT, xformSrc, 4)
1430     TEST_FIELD_OFFSET(EMRMASKBLT, xformSrc, 52)
1431     TEST_FIELD_SIZE  (EMRMASKBLT, crBkColorSrc, 4)
1432     TEST_FIELD_ALIGN (EMRMASKBLT, crBkColorSrc, 4)
1433     TEST_FIELD_OFFSET(EMRMASKBLT, crBkColorSrc, 76)
1434     TEST_FIELD_SIZE  (EMRMASKBLT, iUsageSrc, 4)
1435     TEST_FIELD_ALIGN (EMRMASKBLT, iUsageSrc, 4)
1436     TEST_FIELD_OFFSET(EMRMASKBLT, iUsageSrc, 80)
1437     TEST_FIELD_SIZE  (EMRMASKBLT, offBmiSrc, 4)
1438     TEST_FIELD_ALIGN (EMRMASKBLT, offBmiSrc, 4)
1439     TEST_FIELD_OFFSET(EMRMASKBLT, offBmiSrc, 84)
1440     TEST_FIELD_SIZE  (EMRMASKBLT, cbBmiSrc, 4)
1441     TEST_FIELD_ALIGN (EMRMASKBLT, cbBmiSrc, 4)
1442     TEST_FIELD_OFFSET(EMRMASKBLT, cbBmiSrc, 88)
1443     TEST_FIELD_SIZE  (EMRMASKBLT, offBitsSrc, 4)
1444     TEST_FIELD_ALIGN (EMRMASKBLT, offBitsSrc, 4)
1445     TEST_FIELD_OFFSET(EMRMASKBLT, offBitsSrc, 92)
1446     TEST_FIELD_SIZE  (EMRMASKBLT, cbBitsSrc, 4)
1447     TEST_FIELD_ALIGN (EMRMASKBLT, cbBitsSrc, 4)
1448     TEST_FIELD_OFFSET(EMRMASKBLT, cbBitsSrc, 96)
1449     TEST_FIELD_SIZE  (EMRMASKBLT, xMask, 4)
1450     TEST_FIELD_ALIGN (EMRMASKBLT, xMask, 4)
1451     TEST_FIELD_OFFSET(EMRMASKBLT, xMask, 100)
1452     TEST_FIELD_SIZE  (EMRMASKBLT, yMask, 4)
1453     TEST_FIELD_ALIGN (EMRMASKBLT, yMask, 4)
1454     TEST_FIELD_OFFSET(EMRMASKBLT, yMask, 104)
1455     TEST_FIELD_SIZE  (EMRMASKBLT, iUsageMask, 4)
1456     TEST_FIELD_ALIGN (EMRMASKBLT, iUsageMask, 4)
1457     TEST_FIELD_OFFSET(EMRMASKBLT, iUsageMask, 108)
1458     TEST_FIELD_SIZE  (EMRMASKBLT, offBmiMask, 4)
1459     TEST_FIELD_ALIGN (EMRMASKBLT, offBmiMask, 4)
1460     TEST_FIELD_OFFSET(EMRMASKBLT, offBmiMask, 112)
1461     TEST_FIELD_SIZE  (EMRMASKBLT, cbBmiMask, 4)
1462     TEST_FIELD_ALIGN (EMRMASKBLT, cbBmiMask, 4)
1463     TEST_FIELD_OFFSET(EMRMASKBLT, cbBmiMask, 116)
1464     TEST_FIELD_SIZE  (EMRMASKBLT, offBitsMask, 4)
1465     TEST_FIELD_ALIGN (EMRMASKBLT, offBitsMask, 4)
1466     TEST_FIELD_OFFSET(EMRMASKBLT, offBitsMask, 120)
1467     TEST_FIELD_SIZE  (EMRMASKBLT, cbBitsMask, 4)
1468     TEST_FIELD_ALIGN (EMRMASKBLT, cbBitsMask, 4)
1469     TEST_FIELD_OFFSET(EMRMASKBLT, cbBitsMask, 124)
1470 }
1471
1472 static void test_pack_EMRMODIFYWORLDTRANSFORM(void)
1473 {
1474     /* EMRMODIFYWORLDTRANSFORM (pack 4) */
1475     TEST_TYPE_SIZE   (EMRMODIFYWORLDTRANSFORM, 36)
1476     TEST_TYPE_ALIGN  (EMRMODIFYWORLDTRANSFORM, 4)
1477     TEST_FIELD_SIZE  (EMRMODIFYWORLDTRANSFORM, emr, 8)
1478     TEST_FIELD_ALIGN (EMRMODIFYWORLDTRANSFORM, emr, 4)
1479     TEST_FIELD_OFFSET(EMRMODIFYWORLDTRANSFORM, emr, 0)
1480     TEST_FIELD_SIZE  (EMRMODIFYWORLDTRANSFORM, xform, 24)
1481     TEST_FIELD_ALIGN (EMRMODIFYWORLDTRANSFORM, xform, 4)
1482     TEST_FIELD_OFFSET(EMRMODIFYWORLDTRANSFORM, xform, 8)
1483     TEST_FIELD_SIZE  (EMRMODIFYWORLDTRANSFORM, iMode, 4)
1484     TEST_FIELD_ALIGN (EMRMODIFYWORLDTRANSFORM, iMode, 4)
1485     TEST_FIELD_OFFSET(EMRMODIFYWORLDTRANSFORM, iMode, 32)
1486 }
1487
1488 static void test_pack_EMRMOVETOEX(void)
1489 {
1490     /* EMRMOVETOEX (pack 4) */
1491     TEST_TYPE_SIZE   (EMRMOVETOEX, 16)
1492     TEST_TYPE_ALIGN  (EMRMOVETOEX, 4)
1493     TEST_FIELD_SIZE  (EMRMOVETOEX, emr, 8)
1494     TEST_FIELD_ALIGN (EMRMOVETOEX, emr, 4)
1495     TEST_FIELD_OFFSET(EMRMOVETOEX, emr, 0)
1496     TEST_FIELD_SIZE  (EMRMOVETOEX, ptl, 8)
1497     TEST_FIELD_ALIGN (EMRMOVETOEX, ptl, 4)
1498     TEST_FIELD_OFFSET(EMRMOVETOEX, ptl, 8)
1499 }
1500
1501 static void test_pack_EMROFFSETCLIPRGN(void)
1502 {
1503     /* EMROFFSETCLIPRGN (pack 4) */
1504     TEST_TYPE_SIZE   (EMROFFSETCLIPRGN, 16)
1505     TEST_TYPE_ALIGN  (EMROFFSETCLIPRGN, 4)
1506     TEST_FIELD_SIZE  (EMROFFSETCLIPRGN, emr, 8)
1507     TEST_FIELD_ALIGN (EMROFFSETCLIPRGN, emr, 4)
1508     TEST_FIELD_OFFSET(EMROFFSETCLIPRGN, emr, 0)
1509     TEST_FIELD_SIZE  (EMROFFSETCLIPRGN, ptlOffset, 8)
1510     TEST_FIELD_ALIGN (EMROFFSETCLIPRGN, ptlOffset, 4)
1511     TEST_FIELD_OFFSET(EMROFFSETCLIPRGN, ptlOffset, 8)
1512 }
1513
1514 static void test_pack_EMRPAINTRGN(void)
1515 {
1516     /* EMRPAINTRGN (pack 4) */
1517     TEST_TYPE_SIZE   (EMRPAINTRGN, 32)
1518     TEST_TYPE_ALIGN  (EMRPAINTRGN, 4)
1519     TEST_FIELD_SIZE  (EMRPAINTRGN, emr, 8)
1520     TEST_FIELD_ALIGN (EMRPAINTRGN, emr, 4)
1521     TEST_FIELD_OFFSET(EMRPAINTRGN, emr, 0)
1522     TEST_FIELD_SIZE  (EMRPAINTRGN, rclBounds, 16)
1523     TEST_FIELD_ALIGN (EMRPAINTRGN, rclBounds, 4)
1524     TEST_FIELD_OFFSET(EMRPAINTRGN, rclBounds, 8)
1525     TEST_FIELD_SIZE  (EMRPAINTRGN, cbRgnData, 4)
1526     TEST_FIELD_ALIGN (EMRPAINTRGN, cbRgnData, 4)
1527     TEST_FIELD_OFFSET(EMRPAINTRGN, cbRgnData, 24)
1528     TEST_FIELD_SIZE  (EMRPAINTRGN, RgnData, 1)
1529     TEST_FIELD_ALIGN (EMRPAINTRGN, RgnData, 1)
1530     TEST_FIELD_OFFSET(EMRPAINTRGN, RgnData, 28)
1531 }
1532
1533 static void test_pack_EMRPIE(void)
1534 {
1535     /* EMRPIE (pack 4) */
1536     TEST_TYPE_SIZE   (EMRPIE, 40)
1537     TEST_TYPE_ALIGN  (EMRPIE, 4)
1538     TEST_FIELD_SIZE  (EMRPIE, emr, 8)
1539     TEST_FIELD_ALIGN (EMRPIE, emr, 4)
1540     TEST_FIELD_OFFSET(EMRPIE, emr, 0)
1541     TEST_FIELD_SIZE  (EMRPIE, rclBox, 16)
1542     TEST_FIELD_ALIGN (EMRPIE, rclBox, 4)
1543     TEST_FIELD_OFFSET(EMRPIE, rclBox, 8)
1544     TEST_FIELD_SIZE  (EMRPIE, ptlStart, 8)
1545     TEST_FIELD_ALIGN (EMRPIE, ptlStart, 4)
1546     TEST_FIELD_OFFSET(EMRPIE, ptlStart, 24)
1547     TEST_FIELD_SIZE  (EMRPIE, ptlEnd, 8)
1548     TEST_FIELD_ALIGN (EMRPIE, ptlEnd, 4)
1549     TEST_FIELD_OFFSET(EMRPIE, ptlEnd, 32)
1550 }
1551
1552 static void test_pack_EMRPIXELFORMAT(void)
1553 {
1554     /* EMRPIXELFORMAT (pack 4) */
1555     TEST_TYPE_SIZE   (EMRPIXELFORMAT, 48)
1556     TEST_TYPE_ALIGN  (EMRPIXELFORMAT, 4)
1557     TEST_FIELD_SIZE  (EMRPIXELFORMAT, emr, 8)
1558     TEST_FIELD_ALIGN (EMRPIXELFORMAT, emr, 4)
1559     TEST_FIELD_OFFSET(EMRPIXELFORMAT, emr, 0)
1560     TEST_FIELD_SIZE  (EMRPIXELFORMAT, pfd, 40)
1561     TEST_FIELD_ALIGN (EMRPIXELFORMAT, pfd, 4)
1562     TEST_FIELD_OFFSET(EMRPIXELFORMAT, pfd, 8)
1563 }
1564
1565 static void test_pack_EMRPLGBLT(void)
1566 {
1567     /* EMRPLGBLT (pack 4) */
1568     TEST_TYPE_SIZE   (EMRPLGBLT, 140)
1569     TEST_TYPE_ALIGN  (EMRPLGBLT, 4)
1570     TEST_FIELD_SIZE  (EMRPLGBLT, emr, 8)
1571     TEST_FIELD_ALIGN (EMRPLGBLT, emr, 4)
1572     TEST_FIELD_OFFSET(EMRPLGBLT, emr, 0)
1573     TEST_FIELD_SIZE  (EMRPLGBLT, rclBounds, 16)
1574     TEST_FIELD_ALIGN (EMRPLGBLT, rclBounds, 4)
1575     TEST_FIELD_OFFSET(EMRPLGBLT, rclBounds, 8)
1576     TEST_FIELD_SIZE  (EMRPLGBLT, aptlDest, 24)
1577     TEST_FIELD_ALIGN (EMRPLGBLT, aptlDest, 4)
1578     TEST_FIELD_OFFSET(EMRPLGBLT, aptlDest, 24)
1579     TEST_FIELD_SIZE  (EMRPLGBLT, xSrc, 4)
1580     TEST_FIELD_ALIGN (EMRPLGBLT, xSrc, 4)
1581     TEST_FIELD_OFFSET(EMRPLGBLT, xSrc, 48)
1582     TEST_FIELD_SIZE  (EMRPLGBLT, ySrc, 4)
1583     TEST_FIELD_ALIGN (EMRPLGBLT, ySrc, 4)
1584     TEST_FIELD_OFFSET(EMRPLGBLT, ySrc, 52)
1585     TEST_FIELD_SIZE  (EMRPLGBLT, cxSrc, 4)
1586     TEST_FIELD_ALIGN (EMRPLGBLT, cxSrc, 4)
1587     TEST_FIELD_OFFSET(EMRPLGBLT, cxSrc, 56)
1588     TEST_FIELD_SIZE  (EMRPLGBLT, cySrc, 4)
1589     TEST_FIELD_ALIGN (EMRPLGBLT, cySrc, 4)
1590     TEST_FIELD_OFFSET(EMRPLGBLT, cySrc, 60)
1591     TEST_FIELD_SIZE  (EMRPLGBLT, xformSrc, 24)
1592     TEST_FIELD_ALIGN (EMRPLGBLT, xformSrc, 4)
1593     TEST_FIELD_OFFSET(EMRPLGBLT, xformSrc, 64)
1594     TEST_FIELD_SIZE  (EMRPLGBLT, crBkColorSrc, 4)
1595     TEST_FIELD_ALIGN (EMRPLGBLT, crBkColorSrc, 4)
1596     TEST_FIELD_OFFSET(EMRPLGBLT, crBkColorSrc, 88)
1597     TEST_FIELD_SIZE  (EMRPLGBLT, iUsageSrc, 4)
1598     TEST_FIELD_ALIGN (EMRPLGBLT, iUsageSrc, 4)
1599     TEST_FIELD_OFFSET(EMRPLGBLT, iUsageSrc, 92)
1600     TEST_FIELD_SIZE  (EMRPLGBLT, offBmiSrc, 4)
1601     TEST_FIELD_ALIGN (EMRPLGBLT, offBmiSrc, 4)
1602     TEST_FIELD_OFFSET(EMRPLGBLT, offBmiSrc, 96)
1603     TEST_FIELD_SIZE  (EMRPLGBLT, cbBmiSrc, 4)
1604     TEST_FIELD_ALIGN (EMRPLGBLT, cbBmiSrc, 4)
1605     TEST_FIELD_OFFSET(EMRPLGBLT, cbBmiSrc, 100)
1606     TEST_FIELD_SIZE  (EMRPLGBLT, offBitsSrc, 4)
1607     TEST_FIELD_ALIGN (EMRPLGBLT, offBitsSrc, 4)
1608     TEST_FIELD_OFFSET(EMRPLGBLT, offBitsSrc, 104)
1609     TEST_FIELD_SIZE  (EMRPLGBLT, cbBitsSrc, 4)
1610     TEST_FIELD_ALIGN (EMRPLGBLT, cbBitsSrc, 4)
1611     TEST_FIELD_OFFSET(EMRPLGBLT, cbBitsSrc, 108)
1612     TEST_FIELD_SIZE  (EMRPLGBLT, xMask, 4)
1613     TEST_FIELD_ALIGN (EMRPLGBLT, xMask, 4)
1614     TEST_FIELD_OFFSET(EMRPLGBLT, xMask, 112)
1615     TEST_FIELD_SIZE  (EMRPLGBLT, yMask, 4)
1616     TEST_FIELD_ALIGN (EMRPLGBLT, yMask, 4)
1617     TEST_FIELD_OFFSET(EMRPLGBLT, yMask, 116)
1618     TEST_FIELD_SIZE  (EMRPLGBLT, iUsageMask, 4)
1619     TEST_FIELD_ALIGN (EMRPLGBLT, iUsageMask, 4)
1620     TEST_FIELD_OFFSET(EMRPLGBLT, iUsageMask, 120)
1621     TEST_FIELD_SIZE  (EMRPLGBLT, offBmiMask, 4)
1622     TEST_FIELD_ALIGN (EMRPLGBLT, offBmiMask, 4)
1623     TEST_FIELD_OFFSET(EMRPLGBLT, offBmiMask, 124)
1624     TEST_FIELD_SIZE  (EMRPLGBLT, cbBmiMask, 4)
1625     TEST_FIELD_ALIGN (EMRPLGBLT, cbBmiMask, 4)
1626     TEST_FIELD_OFFSET(EMRPLGBLT, cbBmiMask, 128)
1627     TEST_FIELD_SIZE  (EMRPLGBLT, offBitsMask, 4)
1628     TEST_FIELD_ALIGN (EMRPLGBLT, offBitsMask, 4)
1629     TEST_FIELD_OFFSET(EMRPLGBLT, offBitsMask, 132)
1630     TEST_FIELD_SIZE  (EMRPLGBLT, cbBitsMask, 4)
1631     TEST_FIELD_ALIGN (EMRPLGBLT, cbBitsMask, 4)
1632     TEST_FIELD_OFFSET(EMRPLGBLT, cbBitsMask, 136)
1633 }
1634
1635 static void test_pack_EMRPOLYBEZIER(void)
1636 {
1637     /* EMRPOLYBEZIER (pack 4) */
1638     TEST_TYPE_SIZE   (EMRPOLYBEZIER, 36)
1639     TEST_TYPE_ALIGN  (EMRPOLYBEZIER, 4)
1640     TEST_FIELD_SIZE  (EMRPOLYBEZIER, emr, 8)
1641     TEST_FIELD_ALIGN (EMRPOLYBEZIER, emr, 4)
1642     TEST_FIELD_OFFSET(EMRPOLYBEZIER, emr, 0)
1643     TEST_FIELD_SIZE  (EMRPOLYBEZIER, rclBounds, 16)
1644     TEST_FIELD_ALIGN (EMRPOLYBEZIER, rclBounds, 4)
1645     TEST_FIELD_OFFSET(EMRPOLYBEZIER, rclBounds, 8)
1646     TEST_FIELD_SIZE  (EMRPOLYBEZIER, cptl, 4)
1647     TEST_FIELD_ALIGN (EMRPOLYBEZIER, cptl, 4)
1648     TEST_FIELD_OFFSET(EMRPOLYBEZIER, cptl, 24)
1649     TEST_FIELD_SIZE  (EMRPOLYBEZIER, aptl, 8)
1650     TEST_FIELD_ALIGN (EMRPOLYBEZIER, aptl, 4)
1651     TEST_FIELD_OFFSET(EMRPOLYBEZIER, aptl, 28)
1652 }
1653
1654 static void test_pack_EMRPOLYBEZIER16(void)
1655 {
1656     /* EMRPOLYBEZIER16 (pack 4) */
1657     TEST_TYPE_SIZE   (EMRPOLYBEZIER16, 32)
1658     TEST_TYPE_ALIGN  (EMRPOLYBEZIER16, 4)
1659     TEST_FIELD_SIZE  (EMRPOLYBEZIER16, emr, 8)
1660     TEST_FIELD_ALIGN (EMRPOLYBEZIER16, emr, 4)
1661     TEST_FIELD_OFFSET(EMRPOLYBEZIER16, emr, 0)
1662     TEST_FIELD_SIZE  (EMRPOLYBEZIER16, rclBounds, 16)
1663     TEST_FIELD_ALIGN (EMRPOLYBEZIER16, rclBounds, 4)
1664     TEST_FIELD_OFFSET(EMRPOLYBEZIER16, rclBounds, 8)
1665     TEST_FIELD_SIZE  (EMRPOLYBEZIER16, cpts, 4)
1666     TEST_FIELD_ALIGN (EMRPOLYBEZIER16, cpts, 4)
1667     TEST_FIELD_OFFSET(EMRPOLYBEZIER16, cpts, 24)
1668     TEST_FIELD_SIZE  (EMRPOLYBEZIER16, apts, 4)
1669     TEST_FIELD_ALIGN (EMRPOLYBEZIER16, apts, 2)
1670     TEST_FIELD_OFFSET(EMRPOLYBEZIER16, apts, 28)
1671 }
1672
1673 static void test_pack_EMRPOLYBEZIERTO(void)
1674 {
1675     /* EMRPOLYBEZIERTO (pack 4) */
1676     TEST_TYPE_SIZE   (EMRPOLYBEZIERTO, 36)
1677     TEST_TYPE_ALIGN  (EMRPOLYBEZIERTO, 4)
1678     TEST_FIELD_SIZE  (EMRPOLYBEZIERTO, emr, 8)
1679     TEST_FIELD_ALIGN (EMRPOLYBEZIERTO, emr, 4)
1680     TEST_FIELD_OFFSET(EMRPOLYBEZIERTO, emr, 0)
1681     TEST_FIELD_SIZE  (EMRPOLYBEZIERTO, rclBounds, 16)
1682     TEST_FIELD_ALIGN (EMRPOLYBEZIERTO, rclBounds, 4)
1683     TEST_FIELD_OFFSET(EMRPOLYBEZIERTO, rclBounds, 8)
1684     TEST_FIELD_SIZE  (EMRPOLYBEZIERTO, cptl, 4)
1685     TEST_FIELD_ALIGN (EMRPOLYBEZIERTO, cptl, 4)
1686     TEST_FIELD_OFFSET(EMRPOLYBEZIERTO, cptl, 24)
1687     TEST_FIELD_SIZE  (EMRPOLYBEZIERTO, aptl, 8)
1688     TEST_FIELD_ALIGN (EMRPOLYBEZIERTO, aptl, 4)
1689     TEST_FIELD_OFFSET(EMRPOLYBEZIERTO, aptl, 28)
1690 }
1691
1692 static void test_pack_EMRPOLYBEZIERTO16(void)
1693 {
1694     /* EMRPOLYBEZIERTO16 (pack 4) */
1695     TEST_TYPE_SIZE   (EMRPOLYBEZIERTO16, 32)
1696     TEST_TYPE_ALIGN  (EMRPOLYBEZIERTO16, 4)
1697     TEST_FIELD_SIZE  (EMRPOLYBEZIERTO16, emr, 8)
1698     TEST_FIELD_ALIGN (EMRPOLYBEZIERTO16, emr, 4)
1699     TEST_FIELD_OFFSET(EMRPOLYBEZIERTO16, emr, 0)
1700     TEST_FIELD_SIZE  (EMRPOLYBEZIERTO16, rclBounds, 16)
1701     TEST_FIELD_ALIGN (EMRPOLYBEZIERTO16, rclBounds, 4)
1702     TEST_FIELD_OFFSET(EMRPOLYBEZIERTO16, rclBounds, 8)
1703     TEST_FIELD_SIZE  (EMRPOLYBEZIERTO16, cpts, 4)
1704     TEST_FIELD_ALIGN (EMRPOLYBEZIERTO16, cpts, 4)
1705     TEST_FIELD_OFFSET(EMRPOLYBEZIERTO16, cpts, 24)
1706     TEST_FIELD_SIZE  (EMRPOLYBEZIERTO16, apts, 4)
1707     TEST_FIELD_ALIGN (EMRPOLYBEZIERTO16, apts, 2)
1708     TEST_FIELD_OFFSET(EMRPOLYBEZIERTO16, apts, 28)
1709 }
1710
1711 static void test_pack_EMRPOLYDRAW(void)
1712 {
1713     /* EMRPOLYDRAW (pack 4) */
1714     TEST_TYPE_SIZE   (EMRPOLYDRAW, 40)
1715     TEST_TYPE_ALIGN  (EMRPOLYDRAW, 4)
1716     TEST_FIELD_SIZE  (EMRPOLYDRAW, emr, 8)
1717     TEST_FIELD_ALIGN (EMRPOLYDRAW, emr, 4)
1718     TEST_FIELD_OFFSET(EMRPOLYDRAW, emr, 0)
1719     TEST_FIELD_SIZE  (EMRPOLYDRAW, rclBounds, 16)
1720     TEST_FIELD_ALIGN (EMRPOLYDRAW, rclBounds, 4)
1721     TEST_FIELD_OFFSET(EMRPOLYDRAW, rclBounds, 8)
1722     TEST_FIELD_SIZE  (EMRPOLYDRAW, cptl, 4)
1723     TEST_FIELD_ALIGN (EMRPOLYDRAW, cptl, 4)
1724     TEST_FIELD_OFFSET(EMRPOLYDRAW, cptl, 24)
1725     TEST_FIELD_SIZE  (EMRPOLYDRAW, aptl, 8)
1726     TEST_FIELD_ALIGN (EMRPOLYDRAW, aptl, 4)
1727     TEST_FIELD_OFFSET(EMRPOLYDRAW, aptl, 28)
1728     TEST_FIELD_SIZE  (EMRPOLYDRAW, abTypes, 1)
1729     TEST_FIELD_ALIGN (EMRPOLYDRAW, abTypes, 1)
1730     TEST_FIELD_OFFSET(EMRPOLYDRAW, abTypes, 36)
1731 }
1732
1733 static void test_pack_EMRPOLYDRAW16(void)
1734 {
1735     /* EMRPOLYDRAW16 (pack 4) */
1736     TEST_TYPE_SIZE   (EMRPOLYDRAW16, 36)
1737     TEST_TYPE_ALIGN  (EMRPOLYDRAW16, 4)
1738     TEST_FIELD_SIZE  (EMRPOLYDRAW16, emr, 8)
1739     TEST_FIELD_ALIGN (EMRPOLYDRAW16, emr, 4)
1740     TEST_FIELD_OFFSET(EMRPOLYDRAW16, emr, 0)
1741     TEST_FIELD_SIZE  (EMRPOLYDRAW16, rclBounds, 16)
1742     TEST_FIELD_ALIGN (EMRPOLYDRAW16, rclBounds, 4)
1743     TEST_FIELD_OFFSET(EMRPOLYDRAW16, rclBounds, 8)
1744     TEST_FIELD_SIZE  (EMRPOLYDRAW16, cpts, 4)
1745     TEST_FIELD_ALIGN (EMRPOLYDRAW16, cpts, 4)
1746     TEST_FIELD_OFFSET(EMRPOLYDRAW16, cpts, 24)
1747     TEST_FIELD_SIZE  (EMRPOLYDRAW16, apts, 4)
1748     TEST_FIELD_ALIGN (EMRPOLYDRAW16, apts, 2)
1749     TEST_FIELD_OFFSET(EMRPOLYDRAW16, apts, 28)
1750     TEST_FIELD_SIZE  (EMRPOLYDRAW16, abTypes, 1)
1751     TEST_FIELD_ALIGN (EMRPOLYDRAW16, abTypes, 1)
1752     TEST_FIELD_OFFSET(EMRPOLYDRAW16, abTypes, 32)
1753 }
1754
1755 static void test_pack_EMRPOLYGON(void)
1756 {
1757     /* EMRPOLYGON (pack 4) */
1758     TEST_TYPE_SIZE   (EMRPOLYGON, 36)
1759     TEST_TYPE_ALIGN  (EMRPOLYGON, 4)
1760     TEST_FIELD_SIZE  (EMRPOLYGON, emr, 8)
1761     TEST_FIELD_ALIGN (EMRPOLYGON, emr, 4)
1762     TEST_FIELD_OFFSET(EMRPOLYGON, emr, 0)
1763     TEST_FIELD_SIZE  (EMRPOLYGON, rclBounds, 16)
1764     TEST_FIELD_ALIGN (EMRPOLYGON, rclBounds, 4)
1765     TEST_FIELD_OFFSET(EMRPOLYGON, rclBounds, 8)
1766     TEST_FIELD_SIZE  (EMRPOLYGON, cptl, 4)
1767     TEST_FIELD_ALIGN (EMRPOLYGON, cptl, 4)
1768     TEST_FIELD_OFFSET(EMRPOLYGON, cptl, 24)
1769     TEST_FIELD_SIZE  (EMRPOLYGON, aptl, 8)
1770     TEST_FIELD_ALIGN (EMRPOLYGON, aptl, 4)
1771     TEST_FIELD_OFFSET(EMRPOLYGON, aptl, 28)
1772 }
1773
1774 static void test_pack_EMRPOLYGON16(void)
1775 {
1776     /* EMRPOLYGON16 (pack 4) */
1777     TEST_TYPE_SIZE   (EMRPOLYGON16, 32)
1778     TEST_TYPE_ALIGN  (EMRPOLYGON16, 4)
1779     TEST_FIELD_SIZE  (EMRPOLYGON16, emr, 8)
1780     TEST_FIELD_ALIGN (EMRPOLYGON16, emr, 4)
1781     TEST_FIELD_OFFSET(EMRPOLYGON16, emr, 0)
1782     TEST_FIELD_SIZE  (EMRPOLYGON16, rclBounds, 16)
1783     TEST_FIELD_ALIGN (EMRPOLYGON16, rclBounds, 4)
1784     TEST_FIELD_OFFSET(EMRPOLYGON16, rclBounds, 8)
1785     TEST_FIELD_SIZE  (EMRPOLYGON16, cpts, 4)
1786     TEST_FIELD_ALIGN (EMRPOLYGON16, cpts, 4)
1787     TEST_FIELD_OFFSET(EMRPOLYGON16, cpts, 24)
1788     TEST_FIELD_SIZE  (EMRPOLYGON16, apts, 4)
1789     TEST_FIELD_ALIGN (EMRPOLYGON16, apts, 2)
1790     TEST_FIELD_OFFSET(EMRPOLYGON16, apts, 28)
1791 }
1792
1793 static void test_pack_EMRPOLYLINE(void)
1794 {
1795     /* EMRPOLYLINE (pack 4) */
1796     TEST_TYPE_SIZE   (EMRPOLYLINE, 36)
1797     TEST_TYPE_ALIGN  (EMRPOLYLINE, 4)
1798     TEST_FIELD_SIZE  (EMRPOLYLINE, emr, 8)
1799     TEST_FIELD_ALIGN (EMRPOLYLINE, emr, 4)
1800     TEST_FIELD_OFFSET(EMRPOLYLINE, emr, 0)
1801     TEST_FIELD_SIZE  (EMRPOLYLINE, rclBounds, 16)
1802     TEST_FIELD_ALIGN (EMRPOLYLINE, rclBounds, 4)
1803     TEST_FIELD_OFFSET(EMRPOLYLINE, rclBounds, 8)
1804     TEST_FIELD_SIZE  (EMRPOLYLINE, cptl, 4)
1805     TEST_FIELD_ALIGN (EMRPOLYLINE, cptl, 4)
1806     TEST_FIELD_OFFSET(EMRPOLYLINE, cptl, 24)
1807     TEST_FIELD_SIZE  (EMRPOLYLINE, aptl, 8)
1808     TEST_FIELD_ALIGN (EMRPOLYLINE, aptl, 4)
1809     TEST_FIELD_OFFSET(EMRPOLYLINE, aptl, 28)
1810 }
1811
1812 static void test_pack_EMRPOLYLINE16(void)
1813 {
1814     /* EMRPOLYLINE16 (pack 4) */
1815     TEST_TYPE_SIZE   (EMRPOLYLINE16, 32)
1816     TEST_TYPE_ALIGN  (EMRPOLYLINE16, 4)
1817     TEST_FIELD_SIZE  (EMRPOLYLINE16, emr, 8)
1818     TEST_FIELD_ALIGN (EMRPOLYLINE16, emr, 4)
1819     TEST_FIELD_OFFSET(EMRPOLYLINE16, emr, 0)
1820     TEST_FIELD_SIZE  (EMRPOLYLINE16, rclBounds, 16)
1821     TEST_FIELD_ALIGN (EMRPOLYLINE16, rclBounds, 4)
1822     TEST_FIELD_OFFSET(EMRPOLYLINE16, rclBounds, 8)
1823     TEST_FIELD_SIZE  (EMRPOLYLINE16, cpts, 4)
1824     TEST_FIELD_ALIGN (EMRPOLYLINE16, cpts, 4)
1825     TEST_FIELD_OFFSET(EMRPOLYLINE16, cpts, 24)
1826     TEST_FIELD_SIZE  (EMRPOLYLINE16, apts, 4)
1827     TEST_FIELD_ALIGN (EMRPOLYLINE16, apts, 2)
1828     TEST_FIELD_OFFSET(EMRPOLYLINE16, apts, 28)
1829 }
1830
1831 static void test_pack_EMRPOLYLINETO(void)
1832 {
1833     /* EMRPOLYLINETO (pack 4) */
1834     TEST_TYPE_SIZE   (EMRPOLYLINETO, 36)
1835     TEST_TYPE_ALIGN  (EMRPOLYLINETO, 4)
1836     TEST_FIELD_SIZE  (EMRPOLYLINETO, emr, 8)
1837     TEST_FIELD_ALIGN (EMRPOLYLINETO, emr, 4)
1838     TEST_FIELD_OFFSET(EMRPOLYLINETO, emr, 0)
1839     TEST_FIELD_SIZE  (EMRPOLYLINETO, rclBounds, 16)
1840     TEST_FIELD_ALIGN (EMRPOLYLINETO, rclBounds, 4)
1841     TEST_FIELD_OFFSET(EMRPOLYLINETO, rclBounds, 8)
1842     TEST_FIELD_SIZE  (EMRPOLYLINETO, cptl, 4)
1843     TEST_FIELD_ALIGN (EMRPOLYLINETO, cptl, 4)
1844     TEST_FIELD_OFFSET(EMRPOLYLINETO, cptl, 24)
1845     TEST_FIELD_SIZE  (EMRPOLYLINETO, aptl, 8)
1846     TEST_FIELD_ALIGN (EMRPOLYLINETO, aptl, 4)
1847     TEST_FIELD_OFFSET(EMRPOLYLINETO, aptl, 28)
1848 }
1849
1850 static void test_pack_EMRPOLYLINETO16(void)
1851 {
1852     /* EMRPOLYLINETO16 (pack 4) */
1853     TEST_TYPE_SIZE   (EMRPOLYLINETO16, 32)
1854     TEST_TYPE_ALIGN  (EMRPOLYLINETO16, 4)
1855     TEST_FIELD_SIZE  (EMRPOLYLINETO16, emr, 8)
1856     TEST_FIELD_ALIGN (EMRPOLYLINETO16, emr, 4)
1857     TEST_FIELD_OFFSET(EMRPOLYLINETO16, emr, 0)
1858     TEST_FIELD_SIZE  (EMRPOLYLINETO16, rclBounds, 16)
1859     TEST_FIELD_ALIGN (EMRPOLYLINETO16, rclBounds, 4)
1860     TEST_FIELD_OFFSET(EMRPOLYLINETO16, rclBounds, 8)
1861     TEST_FIELD_SIZE  (EMRPOLYLINETO16, cpts, 4)
1862     TEST_FIELD_ALIGN (EMRPOLYLINETO16, cpts, 4)
1863     TEST_FIELD_OFFSET(EMRPOLYLINETO16, cpts, 24)
1864     TEST_FIELD_SIZE  (EMRPOLYLINETO16, apts, 4)
1865     TEST_FIELD_ALIGN (EMRPOLYLINETO16, apts, 2)
1866     TEST_FIELD_OFFSET(EMRPOLYLINETO16, apts, 28)
1867 }
1868
1869 static void test_pack_EMRPOLYPOLYGON(void)
1870 {
1871     /* EMRPOLYPOLYGON (pack 4) */
1872     TEST_TYPE_SIZE   (EMRPOLYPOLYGON, 44)
1873     TEST_TYPE_ALIGN  (EMRPOLYPOLYGON, 4)
1874     TEST_FIELD_SIZE  (EMRPOLYPOLYGON, emr, 8)
1875     TEST_FIELD_ALIGN (EMRPOLYPOLYGON, emr, 4)
1876     TEST_FIELD_OFFSET(EMRPOLYPOLYGON, emr, 0)
1877     TEST_FIELD_SIZE  (EMRPOLYPOLYGON, rclBounds, 16)
1878     TEST_FIELD_ALIGN (EMRPOLYPOLYGON, rclBounds, 4)
1879     TEST_FIELD_OFFSET(EMRPOLYPOLYGON, rclBounds, 8)
1880     TEST_FIELD_SIZE  (EMRPOLYPOLYGON, nPolys, 4)
1881     TEST_FIELD_ALIGN (EMRPOLYPOLYGON, nPolys, 4)
1882     TEST_FIELD_OFFSET(EMRPOLYPOLYGON, nPolys, 24)
1883     TEST_FIELD_SIZE  (EMRPOLYPOLYGON, cptl, 4)
1884     TEST_FIELD_ALIGN (EMRPOLYPOLYGON, cptl, 4)
1885     TEST_FIELD_OFFSET(EMRPOLYPOLYGON, cptl, 28)
1886     TEST_FIELD_SIZE  (EMRPOLYPOLYGON, aPolyCounts, 4)
1887     TEST_FIELD_ALIGN (EMRPOLYPOLYGON, aPolyCounts, 4)
1888     TEST_FIELD_OFFSET(EMRPOLYPOLYGON, aPolyCounts, 32)
1889     TEST_FIELD_SIZE  (EMRPOLYPOLYGON, aptl, 8)
1890     TEST_FIELD_ALIGN (EMRPOLYPOLYGON, aptl, 4)
1891     TEST_FIELD_OFFSET(EMRPOLYPOLYGON, aptl, 36)
1892 }
1893
1894 static void test_pack_EMRPOLYPOLYGON16(void)
1895 {
1896     /* EMRPOLYPOLYGON16 (pack 4) */
1897     TEST_TYPE_SIZE   (EMRPOLYPOLYGON16, 40)
1898     TEST_TYPE_ALIGN  (EMRPOLYPOLYGON16, 4)
1899     TEST_FIELD_SIZE  (EMRPOLYPOLYGON16, emr, 8)
1900     TEST_FIELD_ALIGN (EMRPOLYPOLYGON16, emr, 4)
1901     TEST_FIELD_OFFSET(EMRPOLYPOLYGON16, emr, 0)
1902     TEST_FIELD_SIZE  (EMRPOLYPOLYGON16, rclBounds, 16)
1903     TEST_FIELD_ALIGN (EMRPOLYPOLYGON16, rclBounds, 4)
1904     TEST_FIELD_OFFSET(EMRPOLYPOLYGON16, rclBounds, 8)
1905     TEST_FIELD_SIZE  (EMRPOLYPOLYGON16, nPolys, 4)
1906     TEST_FIELD_ALIGN (EMRPOLYPOLYGON16, nPolys, 4)
1907     TEST_FIELD_OFFSET(EMRPOLYPOLYGON16, nPolys, 24)
1908     TEST_FIELD_SIZE  (EMRPOLYPOLYGON16, cpts, 4)
1909     TEST_FIELD_ALIGN (EMRPOLYPOLYGON16, cpts, 4)
1910     TEST_FIELD_OFFSET(EMRPOLYPOLYGON16, cpts, 28)
1911     TEST_FIELD_SIZE  (EMRPOLYPOLYGON16, aPolyCounts, 4)
1912     TEST_FIELD_ALIGN (EMRPOLYPOLYGON16, aPolyCounts, 4)
1913     TEST_FIELD_OFFSET(EMRPOLYPOLYGON16, aPolyCounts, 32)
1914     TEST_FIELD_SIZE  (EMRPOLYPOLYGON16, apts, 4)
1915     TEST_FIELD_ALIGN (EMRPOLYPOLYGON16, apts, 2)
1916     TEST_FIELD_OFFSET(EMRPOLYPOLYGON16, apts, 36)
1917 }
1918
1919 static void test_pack_EMRPOLYPOLYLINE(void)
1920 {
1921     /* EMRPOLYPOLYLINE (pack 4) */
1922     TEST_TYPE_SIZE   (EMRPOLYPOLYLINE, 44)
1923     TEST_TYPE_ALIGN  (EMRPOLYPOLYLINE, 4)
1924     TEST_FIELD_SIZE  (EMRPOLYPOLYLINE, emr, 8)
1925     TEST_FIELD_ALIGN (EMRPOLYPOLYLINE, emr, 4)
1926     TEST_FIELD_OFFSET(EMRPOLYPOLYLINE, emr, 0)
1927     TEST_FIELD_SIZE  (EMRPOLYPOLYLINE, rclBounds, 16)
1928     TEST_FIELD_ALIGN (EMRPOLYPOLYLINE, rclBounds, 4)
1929     TEST_FIELD_OFFSET(EMRPOLYPOLYLINE, rclBounds, 8)
1930     TEST_FIELD_SIZE  (EMRPOLYPOLYLINE, nPolys, 4)
1931     TEST_FIELD_ALIGN (EMRPOLYPOLYLINE, nPolys, 4)
1932     TEST_FIELD_OFFSET(EMRPOLYPOLYLINE, nPolys, 24)
1933     TEST_FIELD_SIZE  (EMRPOLYPOLYLINE, cptl, 4)
1934     TEST_FIELD_ALIGN (EMRPOLYPOLYLINE, cptl, 4)
1935     TEST_FIELD_OFFSET(EMRPOLYPOLYLINE, cptl, 28)
1936     TEST_FIELD_SIZE  (EMRPOLYPOLYLINE, aPolyCounts, 4)
1937     TEST_FIELD_ALIGN (EMRPOLYPOLYLINE, aPolyCounts, 4)
1938     TEST_FIELD_OFFSET(EMRPOLYPOLYLINE, aPolyCounts, 32)
1939     TEST_FIELD_SIZE  (EMRPOLYPOLYLINE, aptl, 8)
1940     TEST_FIELD_ALIGN (EMRPOLYPOLYLINE, aptl, 4)
1941     TEST_FIELD_OFFSET(EMRPOLYPOLYLINE, aptl, 36)
1942 }
1943
1944 static void test_pack_EMRPOLYPOLYLINE16(void)
1945 {
1946     /* EMRPOLYPOLYLINE16 (pack 4) */
1947     TEST_TYPE_SIZE   (EMRPOLYPOLYLINE16, 40)
1948     TEST_TYPE_ALIGN  (EMRPOLYPOLYLINE16, 4)
1949     TEST_FIELD_SIZE  (EMRPOLYPOLYLINE16, emr, 8)
1950     TEST_FIELD_ALIGN (EMRPOLYPOLYLINE16, emr, 4)
1951     TEST_FIELD_OFFSET(EMRPOLYPOLYLINE16, emr, 0)
1952     TEST_FIELD_SIZE  (EMRPOLYPOLYLINE16, rclBounds, 16)
1953     TEST_FIELD_ALIGN (EMRPOLYPOLYLINE16, rclBounds, 4)
1954     TEST_FIELD_OFFSET(EMRPOLYPOLYLINE16, rclBounds, 8)
1955     TEST_FIELD_SIZE  (EMRPOLYPOLYLINE16, nPolys, 4)
1956     TEST_FIELD_ALIGN (EMRPOLYPOLYLINE16, nPolys, 4)
1957     TEST_FIELD_OFFSET(EMRPOLYPOLYLINE16, nPolys, 24)
1958     TEST_FIELD_SIZE  (EMRPOLYPOLYLINE16, cpts, 4)
1959     TEST_FIELD_ALIGN (EMRPOLYPOLYLINE16, cpts, 4)
1960     TEST_FIELD_OFFSET(EMRPOLYPOLYLINE16, cpts, 28)
1961     TEST_FIELD_SIZE  (EMRPOLYPOLYLINE16, aPolyCounts, 4)
1962     TEST_FIELD_ALIGN (EMRPOLYPOLYLINE16, aPolyCounts, 4)
1963     TEST_FIELD_OFFSET(EMRPOLYPOLYLINE16, aPolyCounts, 32)
1964     TEST_FIELD_SIZE  (EMRPOLYPOLYLINE16, apts, 4)
1965     TEST_FIELD_ALIGN (EMRPOLYPOLYLINE16, apts, 2)
1966     TEST_FIELD_OFFSET(EMRPOLYPOLYLINE16, apts, 36)
1967 }
1968
1969 static void test_pack_EMRPOLYTEXTOUTA(void)
1970 {
1971     /* EMRPOLYTEXTOUTA (pack 4) */
1972     TEST_TYPE_SIZE   (EMRPOLYTEXTOUTA, 80)
1973     TEST_TYPE_ALIGN  (EMRPOLYTEXTOUTA, 4)
1974     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTA, emr, 8)
1975     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTA, emr, 4)
1976     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTA, emr, 0)
1977     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTA, rclBounds, 16)
1978     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTA, rclBounds, 4)
1979     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTA, rclBounds, 8)
1980     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTA, iGraphicsMode, 4)
1981     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTA, iGraphicsMode, 4)
1982     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTA, iGraphicsMode, 24)
1983     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTA, exScale, 4)
1984     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTA, exScale, 4)
1985     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTA, exScale, 28)
1986     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTA, eyScale, 4)
1987     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTA, eyScale, 4)
1988     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTA, eyScale, 32)
1989     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTA, cStrings, 4)
1990     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTA, cStrings, 4)
1991     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTA, cStrings, 36)
1992     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTA, aemrtext, 40)
1993     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTA, aemrtext, 4)
1994     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTA, aemrtext, 40)
1995 }
1996
1997 static void test_pack_EMRPOLYTEXTOUTW(void)
1998 {
1999     /* EMRPOLYTEXTOUTW (pack 4) */
2000     TEST_TYPE_SIZE   (EMRPOLYTEXTOUTW, 80)
2001     TEST_TYPE_ALIGN  (EMRPOLYTEXTOUTW, 4)
2002     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTW, emr, 8)
2003     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTW, emr, 4)
2004     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTW, emr, 0)
2005     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTW, rclBounds, 16)
2006     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTW, rclBounds, 4)
2007     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTW, rclBounds, 8)
2008     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTW, iGraphicsMode, 4)
2009     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTW, iGraphicsMode, 4)
2010     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTW, iGraphicsMode, 24)
2011     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTW, exScale, 4)
2012     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTW, exScale, 4)
2013     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTW, exScale, 28)
2014     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTW, eyScale, 4)
2015     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTW, eyScale, 4)
2016     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTW, eyScale, 32)
2017     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTW, cStrings, 4)
2018     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTW, cStrings, 4)
2019     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTW, cStrings, 36)
2020     TEST_FIELD_SIZE  (EMRPOLYTEXTOUTW, aemrtext, 40)
2021     TEST_FIELD_ALIGN (EMRPOLYTEXTOUTW, aemrtext, 4)
2022     TEST_FIELD_OFFSET(EMRPOLYTEXTOUTW, aemrtext, 40)
2023 }
2024
2025 static void test_pack_EMRREALIZEPALETTE(void)
2026 {
2027     /* EMRREALIZEPALETTE (pack 4) */
2028     TEST_TYPE_SIZE   (EMRREALIZEPALETTE, 8)
2029     TEST_TYPE_ALIGN  (EMRREALIZEPALETTE, 4)
2030     TEST_FIELD_SIZE  (EMRREALIZEPALETTE, emr, 8)
2031     TEST_FIELD_ALIGN (EMRREALIZEPALETTE, emr, 4)
2032     TEST_FIELD_OFFSET(EMRREALIZEPALETTE, emr, 0)
2033 }
2034
2035 static void test_pack_EMRRECTANGLE(void)
2036 {
2037     /* EMRRECTANGLE (pack 4) */
2038     TEST_TYPE_SIZE   (EMRRECTANGLE, 24)
2039     TEST_TYPE_ALIGN  (EMRRECTANGLE, 4)
2040     TEST_FIELD_SIZE  (EMRRECTANGLE, emr, 8)
2041     TEST_FIELD_ALIGN (EMRRECTANGLE, emr, 4)
2042     TEST_FIELD_OFFSET(EMRRECTANGLE, emr, 0)
2043     TEST_FIELD_SIZE  (EMRRECTANGLE, rclBox, 16)
2044     TEST_FIELD_ALIGN (EMRRECTANGLE, rclBox, 4)
2045     TEST_FIELD_OFFSET(EMRRECTANGLE, rclBox, 8)
2046 }
2047
2048 static void test_pack_EMRRESIZEPALETTE(void)
2049 {
2050     /* EMRRESIZEPALETTE (pack 4) */
2051     TEST_TYPE_SIZE   (EMRRESIZEPALETTE, 16)
2052     TEST_TYPE_ALIGN  (EMRRESIZEPALETTE, 4)
2053     TEST_FIELD_SIZE  (EMRRESIZEPALETTE, emr, 8)
2054     TEST_FIELD_ALIGN (EMRRESIZEPALETTE, emr, 4)
2055     TEST_FIELD_OFFSET(EMRRESIZEPALETTE, emr, 0)
2056     TEST_FIELD_SIZE  (EMRRESIZEPALETTE, ihPal, 4)
2057     TEST_FIELD_ALIGN (EMRRESIZEPALETTE, ihPal, 4)
2058     TEST_FIELD_OFFSET(EMRRESIZEPALETTE, ihPal, 8)
2059     TEST_FIELD_SIZE  (EMRRESIZEPALETTE, cEntries, 4)
2060     TEST_FIELD_ALIGN (EMRRESIZEPALETTE, cEntries, 4)
2061     TEST_FIELD_OFFSET(EMRRESIZEPALETTE, cEntries, 12)
2062 }
2063
2064 static void test_pack_EMRRESTOREDC(void)
2065 {
2066     /* EMRRESTOREDC (pack 4) */
2067     TEST_TYPE_SIZE   (EMRRESTOREDC, 12)
2068     TEST_TYPE_ALIGN  (EMRRESTOREDC, 4)
2069     TEST_FIELD_SIZE  (EMRRESTOREDC, emr, 8)
2070     TEST_FIELD_ALIGN (EMRRESTOREDC, emr, 4)
2071     TEST_FIELD_OFFSET(EMRRESTOREDC, emr, 0)
2072     TEST_FIELD_SIZE  (EMRRESTOREDC, iRelative, 4)
2073     TEST_FIELD_ALIGN (EMRRESTOREDC, iRelative, 4)
2074     TEST_FIELD_OFFSET(EMRRESTOREDC, iRelative, 8)
2075 }
2076
2077 static void test_pack_EMRROUNDRECT(void)
2078 {
2079     /* EMRROUNDRECT (pack 4) */
2080     TEST_TYPE_SIZE   (EMRROUNDRECT, 32)
2081     TEST_TYPE_ALIGN  (EMRROUNDRECT, 4)
2082     TEST_FIELD_SIZE  (EMRROUNDRECT, emr, 8)
2083     TEST_FIELD_ALIGN (EMRROUNDRECT, emr, 4)
2084     TEST_FIELD_OFFSET(EMRROUNDRECT, emr, 0)
2085     TEST_FIELD_SIZE  (EMRROUNDRECT, rclBox, 16)
2086     TEST_FIELD_ALIGN (EMRROUNDRECT, rclBox, 4)
2087     TEST_FIELD_OFFSET(EMRROUNDRECT, rclBox, 8)
2088     TEST_FIELD_SIZE  (EMRROUNDRECT, szlCorner, 8)
2089     TEST_FIELD_ALIGN (EMRROUNDRECT, szlCorner, 4)
2090     TEST_FIELD_OFFSET(EMRROUNDRECT, szlCorner, 24)
2091 }
2092
2093 static void test_pack_EMRSAVEDC(void)
2094 {
2095     /* EMRSAVEDC (pack 4) */
2096     TEST_TYPE_SIZE   (EMRSAVEDC, 8)
2097     TEST_TYPE_ALIGN  (EMRSAVEDC, 4)
2098     TEST_FIELD_SIZE  (EMRSAVEDC, emr, 8)
2099     TEST_FIELD_ALIGN (EMRSAVEDC, emr, 4)
2100     TEST_FIELD_OFFSET(EMRSAVEDC, emr, 0)
2101 }
2102
2103 static void test_pack_EMRSCALEVIEWPORTEXTEX(void)
2104 {
2105     /* EMRSCALEVIEWPORTEXTEX (pack 4) */
2106     TEST_TYPE_SIZE   (EMRSCALEVIEWPORTEXTEX, 24)
2107     TEST_TYPE_ALIGN  (EMRSCALEVIEWPORTEXTEX, 4)
2108     TEST_FIELD_SIZE  (EMRSCALEVIEWPORTEXTEX, emr, 8)
2109     TEST_FIELD_ALIGN (EMRSCALEVIEWPORTEXTEX, emr, 4)
2110     TEST_FIELD_OFFSET(EMRSCALEVIEWPORTEXTEX, emr, 0)
2111     TEST_FIELD_SIZE  (EMRSCALEVIEWPORTEXTEX, xNum, 4)
2112     TEST_FIELD_ALIGN (EMRSCALEVIEWPORTEXTEX, xNum, 4)
2113     TEST_FIELD_OFFSET(EMRSCALEVIEWPORTEXTEX, xNum, 8)
2114     TEST_FIELD_SIZE  (EMRSCALEVIEWPORTEXTEX, xDenom, 4)
2115     TEST_FIELD_ALIGN (EMRSCALEVIEWPORTEXTEX, xDenom, 4)
2116     TEST_FIELD_OFFSET(EMRSCALEVIEWPORTEXTEX, xDenom, 12)
2117     TEST_FIELD_SIZE  (EMRSCALEVIEWPORTEXTEX, yNum, 4)
2118     TEST_FIELD_ALIGN (EMRSCALEVIEWPORTEXTEX, yNum, 4)
2119     TEST_FIELD_OFFSET(EMRSCALEVIEWPORTEXTEX, yNum, 16)
2120     TEST_FIELD_SIZE  (EMRSCALEVIEWPORTEXTEX, yDenom, 4)
2121     TEST_FIELD_ALIGN (EMRSCALEVIEWPORTEXTEX, yDenom, 4)
2122     TEST_FIELD_OFFSET(EMRSCALEVIEWPORTEXTEX, yDenom, 20)
2123 }
2124
2125 static void test_pack_EMRSCALEWINDOWEXTEX(void)
2126 {
2127     /* EMRSCALEWINDOWEXTEX (pack 4) */
2128     TEST_TYPE_SIZE   (EMRSCALEWINDOWEXTEX, 24)
2129     TEST_TYPE_ALIGN  (EMRSCALEWINDOWEXTEX, 4)
2130     TEST_FIELD_SIZE  (EMRSCALEWINDOWEXTEX, emr, 8)
2131     TEST_FIELD_ALIGN (EMRSCALEWINDOWEXTEX, emr, 4)
2132     TEST_FIELD_OFFSET(EMRSCALEWINDOWEXTEX, emr, 0)
2133     TEST_FIELD_SIZE  (EMRSCALEWINDOWEXTEX, xNum, 4)
2134     TEST_FIELD_ALIGN (EMRSCALEWINDOWEXTEX, xNum, 4)
2135     TEST_FIELD_OFFSET(EMRSCALEWINDOWEXTEX, xNum, 8)
2136     TEST_FIELD_SIZE  (EMRSCALEWINDOWEXTEX, xDenom, 4)
2137     TEST_FIELD_ALIGN (EMRSCALEWINDOWEXTEX, xDenom, 4)
2138     TEST_FIELD_OFFSET(EMRSCALEWINDOWEXTEX, xDenom, 12)
2139     TEST_FIELD_SIZE  (EMRSCALEWINDOWEXTEX, yNum, 4)
2140     TEST_FIELD_ALIGN (EMRSCALEWINDOWEXTEX, yNum, 4)
2141     TEST_FIELD_OFFSET(EMRSCALEWINDOWEXTEX, yNum, 16)
2142     TEST_FIELD_SIZE  (EMRSCALEWINDOWEXTEX, yDenom, 4)
2143     TEST_FIELD_ALIGN (EMRSCALEWINDOWEXTEX, yDenom, 4)
2144     TEST_FIELD_OFFSET(EMRSCALEWINDOWEXTEX, yDenom, 20)
2145 }
2146
2147 static void test_pack_EMRSELECTCLIPPATH(void)
2148 {
2149     /* EMRSELECTCLIPPATH (pack 4) */
2150     TEST_TYPE_SIZE   (EMRSELECTCLIPPATH, 12)
2151     TEST_TYPE_ALIGN  (EMRSELECTCLIPPATH, 4)
2152     TEST_FIELD_SIZE  (EMRSELECTCLIPPATH, emr, 8)
2153     TEST_FIELD_ALIGN (EMRSELECTCLIPPATH, emr, 4)
2154     TEST_FIELD_OFFSET(EMRSELECTCLIPPATH, emr, 0)
2155     TEST_FIELD_SIZE  (EMRSELECTCLIPPATH, iMode, 4)
2156     TEST_FIELD_ALIGN (EMRSELECTCLIPPATH, iMode, 4)
2157     TEST_FIELD_OFFSET(EMRSELECTCLIPPATH, iMode, 8)
2158 }
2159
2160 static void test_pack_EMRSELECTCOLORSPACE(void)
2161 {
2162     /* EMRSELECTCOLORSPACE (pack 4) */
2163     TEST_TYPE_SIZE   (EMRSELECTCOLORSPACE, 12)
2164     TEST_TYPE_ALIGN  (EMRSELECTCOLORSPACE, 4)
2165     TEST_FIELD_SIZE  (EMRSELECTCOLORSPACE, emr, 8)
2166     TEST_FIELD_ALIGN (EMRSELECTCOLORSPACE, emr, 4)
2167     TEST_FIELD_OFFSET(EMRSELECTCOLORSPACE, emr, 0)
2168     TEST_FIELD_SIZE  (EMRSELECTCOLORSPACE, ihCS, 4)
2169     TEST_FIELD_ALIGN (EMRSELECTCOLORSPACE, ihCS, 4)
2170     TEST_FIELD_OFFSET(EMRSELECTCOLORSPACE, ihCS, 8)
2171 }
2172
2173 static void test_pack_EMRSELECTOBJECT(void)
2174 {
2175     /* EMRSELECTOBJECT (pack 4) */
2176     TEST_TYPE_SIZE   (EMRSELECTOBJECT, 12)
2177     TEST_TYPE_ALIGN  (EMRSELECTOBJECT, 4)
2178     TEST_FIELD_SIZE  (EMRSELECTOBJECT, emr, 8)
2179     TEST_FIELD_ALIGN (EMRSELECTOBJECT, emr, 4)
2180     TEST_FIELD_OFFSET(EMRSELECTOBJECT, emr, 0)
2181     TEST_FIELD_SIZE  (EMRSELECTOBJECT, ihObject, 4)
2182     TEST_FIELD_ALIGN (EMRSELECTOBJECT, ihObject, 4)
2183     TEST_FIELD_OFFSET(EMRSELECTOBJECT, ihObject, 8)
2184 }
2185
2186 static void test_pack_EMRSELECTPALETTE(void)
2187 {
2188     /* EMRSELECTPALETTE (pack 4) */
2189     TEST_TYPE_SIZE   (EMRSELECTPALETTE, 12)
2190     TEST_TYPE_ALIGN  (EMRSELECTPALETTE, 4)
2191     TEST_FIELD_SIZE  (EMRSELECTPALETTE, emr, 8)
2192     TEST_FIELD_ALIGN (EMRSELECTPALETTE, emr, 4)
2193     TEST_FIELD_OFFSET(EMRSELECTPALETTE, emr, 0)
2194     TEST_FIELD_SIZE  (EMRSELECTPALETTE, ihPal, 4)
2195     TEST_FIELD_ALIGN (EMRSELECTPALETTE, ihPal, 4)
2196     TEST_FIELD_OFFSET(EMRSELECTPALETTE, ihPal, 8)
2197 }
2198
2199 static void test_pack_EMRSETARCDIRECTION(void)
2200 {
2201     /* EMRSETARCDIRECTION (pack 4) */
2202     TEST_TYPE_SIZE   (EMRSETARCDIRECTION, 12)
2203     TEST_TYPE_ALIGN  (EMRSETARCDIRECTION, 4)
2204     TEST_FIELD_SIZE  (EMRSETARCDIRECTION, emr, 8)
2205     TEST_FIELD_ALIGN (EMRSETARCDIRECTION, emr, 4)
2206     TEST_FIELD_OFFSET(EMRSETARCDIRECTION, emr, 0)
2207     TEST_FIELD_SIZE  (EMRSETARCDIRECTION, iArcDirection, 4)
2208     TEST_FIELD_ALIGN (EMRSETARCDIRECTION, iArcDirection, 4)
2209     TEST_FIELD_OFFSET(EMRSETARCDIRECTION, iArcDirection, 8)
2210 }
2211
2212 static void test_pack_EMRSETBKCOLOR(void)
2213 {
2214     /* EMRSETBKCOLOR (pack 4) */
2215     TEST_TYPE_SIZE   (EMRSETBKCOLOR, 12)
2216     TEST_TYPE_ALIGN  (EMRSETBKCOLOR, 4)
2217     TEST_FIELD_SIZE  (EMRSETBKCOLOR, emr, 8)
2218     TEST_FIELD_ALIGN (EMRSETBKCOLOR, emr, 4)
2219     TEST_FIELD_OFFSET(EMRSETBKCOLOR, emr, 0)
2220     TEST_FIELD_SIZE  (EMRSETBKCOLOR, crColor, 4)
2221     TEST_FIELD_ALIGN (EMRSETBKCOLOR, crColor, 4)
2222     TEST_FIELD_OFFSET(EMRSETBKCOLOR, crColor, 8)
2223 }
2224
2225 static void test_pack_EMRSETBKMODE(void)
2226 {
2227     /* EMRSETBKMODE (pack 4) */
2228     TEST_TYPE_SIZE   (EMRSETBKMODE, 12)
2229     TEST_TYPE_ALIGN  (EMRSETBKMODE, 4)
2230     TEST_FIELD_SIZE  (EMRSETBKMODE, emr, 8)
2231     TEST_FIELD_ALIGN (EMRSETBKMODE, emr, 4)
2232     TEST_FIELD_OFFSET(EMRSETBKMODE, emr, 0)
2233     TEST_FIELD_SIZE  (EMRSETBKMODE, iMode, 4)
2234     TEST_FIELD_ALIGN (EMRSETBKMODE, iMode, 4)
2235     TEST_FIELD_OFFSET(EMRSETBKMODE, iMode, 8)
2236 }
2237
2238 static void test_pack_EMRSETBRUSHORGEX(void)
2239 {
2240     /* EMRSETBRUSHORGEX (pack 4) */
2241     TEST_TYPE_SIZE   (EMRSETBRUSHORGEX, 16)
2242     TEST_TYPE_ALIGN  (EMRSETBRUSHORGEX, 4)
2243     TEST_FIELD_SIZE  (EMRSETBRUSHORGEX, emr, 8)
2244     TEST_FIELD_ALIGN (EMRSETBRUSHORGEX, emr, 4)
2245     TEST_FIELD_OFFSET(EMRSETBRUSHORGEX, emr, 0)
2246     TEST_FIELD_SIZE  (EMRSETBRUSHORGEX, ptlOrigin, 8)
2247     TEST_FIELD_ALIGN (EMRSETBRUSHORGEX, ptlOrigin, 4)
2248     TEST_FIELD_OFFSET(EMRSETBRUSHORGEX, ptlOrigin, 8)
2249 }
2250
2251 static void test_pack_EMRSETCOLORADJUSTMENT(void)
2252 {
2253     /* EMRSETCOLORADJUSTMENT (pack 4) */
2254     TEST_TYPE_SIZE   (EMRSETCOLORADJUSTMENT, 32)
2255     TEST_TYPE_ALIGN  (EMRSETCOLORADJUSTMENT, 4)
2256     TEST_FIELD_SIZE  (EMRSETCOLORADJUSTMENT, emr, 8)
2257     TEST_FIELD_ALIGN (EMRSETCOLORADJUSTMENT, emr, 4)
2258     TEST_FIELD_OFFSET(EMRSETCOLORADJUSTMENT, emr, 0)
2259     TEST_FIELD_SIZE  (EMRSETCOLORADJUSTMENT, ColorAdjustment, 24)
2260     TEST_FIELD_ALIGN (EMRSETCOLORADJUSTMENT, ColorAdjustment, 2)
2261     TEST_FIELD_OFFSET(EMRSETCOLORADJUSTMENT, ColorAdjustment, 8)
2262 }
2263
2264 static void test_pack_EMRSETCOLORSPACE(void)
2265 {
2266     /* EMRSETCOLORSPACE (pack 4) */
2267     TEST_TYPE_SIZE   (EMRSETCOLORSPACE, 12)
2268     TEST_TYPE_ALIGN  (EMRSETCOLORSPACE, 4)
2269     TEST_FIELD_SIZE  (EMRSETCOLORSPACE, emr, 8)
2270     TEST_FIELD_ALIGN (EMRSETCOLORSPACE, emr, 4)
2271     TEST_FIELD_OFFSET(EMRSETCOLORSPACE, emr, 0)
2272     TEST_FIELD_SIZE  (EMRSETCOLORSPACE, ihCS, 4)
2273     TEST_FIELD_ALIGN (EMRSETCOLORSPACE, ihCS, 4)
2274     TEST_FIELD_OFFSET(EMRSETCOLORSPACE, ihCS, 8)
2275 }
2276
2277 static void test_pack_EMRSETDIBITSTODEVICE(void)
2278 {
2279     /* EMRSETDIBITSTODEVICE (pack 4) */
2280     TEST_TYPE_SIZE   (EMRSETDIBITSTODEVICE, 76)
2281     TEST_TYPE_ALIGN  (EMRSETDIBITSTODEVICE, 4)
2282     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, emr, 8)
2283     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, emr, 4)
2284     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, emr, 0)
2285     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, rclBounds, 16)
2286     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, rclBounds, 4)
2287     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, rclBounds, 8)
2288     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, xDest, 4)
2289     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, xDest, 4)
2290     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, xDest, 24)
2291     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, yDest, 4)
2292     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, yDest, 4)
2293     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, yDest, 28)
2294     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, xSrc, 4)
2295     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, xSrc, 4)
2296     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, xSrc, 32)
2297     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, ySrc, 4)
2298     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, ySrc, 4)
2299     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, ySrc, 36)
2300     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, cxSrc, 4)
2301     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, cxSrc, 4)
2302     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, cxSrc, 40)
2303     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, cySrc, 4)
2304     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, cySrc, 4)
2305     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, cySrc, 44)
2306     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, offBmiSrc, 4)
2307     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, offBmiSrc, 4)
2308     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, offBmiSrc, 48)
2309     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, cbBmiSrc, 4)
2310     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, cbBmiSrc, 4)
2311     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, cbBmiSrc, 52)
2312     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, offBitsSrc, 4)
2313     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, offBitsSrc, 4)
2314     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, offBitsSrc, 56)
2315     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, cbBitsSrc, 4)
2316     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, cbBitsSrc, 4)
2317     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, cbBitsSrc, 60)
2318     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, iUsageSrc, 4)
2319     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, iUsageSrc, 4)
2320     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, iUsageSrc, 64)
2321     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, iStartScan, 4)
2322     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, iStartScan, 4)
2323     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, iStartScan, 68)
2324     TEST_FIELD_SIZE  (EMRSETDIBITSTODEVICE, cScans, 4)
2325     TEST_FIELD_ALIGN (EMRSETDIBITSTODEVICE, cScans, 4)
2326     TEST_FIELD_OFFSET(EMRSETDIBITSTODEVICE, cScans, 72)
2327 }
2328
2329 static void test_pack_EMRSETICMMODE(void)
2330 {
2331     /* EMRSETICMMODE (pack 4) */
2332     TEST_TYPE_SIZE   (EMRSETICMMODE, 12)
2333     TEST_TYPE_ALIGN  (EMRSETICMMODE, 4)
2334     TEST_FIELD_SIZE  (EMRSETICMMODE, emr, 8)
2335     TEST_FIELD_ALIGN (EMRSETICMMODE, emr, 4)
2336     TEST_FIELD_OFFSET(EMRSETICMMODE, emr, 0)
2337     TEST_FIELD_SIZE  (EMRSETICMMODE, iMode, 4)
2338     TEST_FIELD_ALIGN (EMRSETICMMODE, iMode, 4)
2339     TEST_FIELD_OFFSET(EMRSETICMMODE, iMode, 8)
2340 }
2341
2342 static void test_pack_EMRSETLAYOUT(void)
2343 {
2344     /* EMRSETLAYOUT (pack 4) */
2345     TEST_TYPE_SIZE   (EMRSETLAYOUT, 12)
2346     TEST_TYPE_ALIGN  (EMRSETLAYOUT, 4)
2347     TEST_FIELD_SIZE  (EMRSETLAYOUT, emr, 8)
2348     TEST_FIELD_ALIGN (EMRSETLAYOUT, emr, 4)
2349     TEST_FIELD_OFFSET(EMRSETLAYOUT, emr, 0)
2350     TEST_FIELD_SIZE  (EMRSETLAYOUT, iMode, 4)
2351     TEST_FIELD_ALIGN (EMRSETLAYOUT, iMode, 4)
2352     TEST_FIELD_OFFSET(EMRSETLAYOUT, iMode, 8)
2353 }
2354
2355 static void test_pack_EMRSETMAPMODE(void)
2356 {
2357     /* EMRSETMAPMODE (pack 4) */
2358     TEST_TYPE_SIZE   (EMRSETMAPMODE, 12)
2359     TEST_TYPE_ALIGN  (EMRSETMAPMODE, 4)
2360     TEST_FIELD_SIZE  (EMRSETMAPMODE, emr, 8)
2361     TEST_FIELD_ALIGN (EMRSETMAPMODE, emr, 4)
2362     TEST_FIELD_OFFSET(EMRSETMAPMODE, emr, 0)
2363     TEST_FIELD_SIZE  (EMRSETMAPMODE, iMode, 4)
2364     TEST_FIELD_ALIGN (EMRSETMAPMODE, iMode, 4)
2365     TEST_FIELD_OFFSET(EMRSETMAPMODE, iMode, 8)
2366 }
2367
2368 static void test_pack_EMRSETMAPPERFLAGS(void)
2369 {
2370     /* EMRSETMAPPERFLAGS (pack 4) */
2371     TEST_TYPE_SIZE   (EMRSETMAPPERFLAGS, 12)
2372     TEST_TYPE_ALIGN  (EMRSETMAPPERFLAGS, 4)
2373     TEST_FIELD_SIZE  (EMRSETMAPPERFLAGS, emr, 8)
2374     TEST_FIELD_ALIGN (EMRSETMAPPERFLAGS, emr, 4)
2375     TEST_FIELD_OFFSET(EMRSETMAPPERFLAGS, emr, 0)
2376     TEST_FIELD_SIZE  (EMRSETMAPPERFLAGS, dwFlags, 4)
2377     TEST_FIELD_ALIGN (EMRSETMAPPERFLAGS, dwFlags, 4)
2378     TEST_FIELD_OFFSET(EMRSETMAPPERFLAGS, dwFlags, 8)
2379 }
2380
2381 static void test_pack_EMRSETMETARGN(void)
2382 {
2383     /* EMRSETMETARGN (pack 4) */
2384     TEST_TYPE_SIZE   (EMRSETMETARGN, 8)
2385     TEST_TYPE_ALIGN  (EMRSETMETARGN, 4)
2386     TEST_FIELD_SIZE  (EMRSETMETARGN, emr, 8)
2387     TEST_FIELD_ALIGN (EMRSETMETARGN, emr, 4)
2388     TEST_FIELD_OFFSET(EMRSETMETARGN, emr, 0)
2389 }
2390
2391 static void test_pack_EMRSETMITERLIMIT(void)
2392 {
2393     /* EMRSETMITERLIMIT (pack 4) */
2394     TEST_TYPE_SIZE   (EMRSETMITERLIMIT, 12)
2395     TEST_TYPE_ALIGN  (EMRSETMITERLIMIT, 4)
2396     TEST_FIELD_SIZE  (EMRSETMITERLIMIT, emr, 8)
2397     TEST_FIELD_ALIGN (EMRSETMITERLIMIT, emr, 4)
2398     TEST_FIELD_OFFSET(EMRSETMITERLIMIT, emr, 0)
2399     TEST_FIELD_SIZE  (EMRSETMITERLIMIT, eMiterLimit, 4)
2400     TEST_FIELD_ALIGN (EMRSETMITERLIMIT, eMiterLimit, 4)
2401     TEST_FIELD_OFFSET(EMRSETMITERLIMIT, eMiterLimit, 8)
2402 }
2403
2404 static void test_pack_EMRSETPIXELV(void)
2405 {
2406     /* EMRSETPIXELV (pack 4) */
2407     TEST_TYPE_SIZE   (EMRSETPIXELV, 20)
2408     TEST_TYPE_ALIGN  (EMRSETPIXELV, 4)
2409     TEST_FIELD_SIZE  (EMRSETPIXELV, emr, 8)
2410     TEST_FIELD_ALIGN (EMRSETPIXELV, emr, 4)
2411     TEST_FIELD_OFFSET(EMRSETPIXELV, emr, 0)
2412     TEST_FIELD_SIZE  (EMRSETPIXELV, ptlPixel, 8)
2413     TEST_FIELD_ALIGN (EMRSETPIXELV, ptlPixel, 4)
2414     TEST_FIELD_OFFSET(EMRSETPIXELV, ptlPixel, 8)
2415     TEST_FIELD_SIZE  (EMRSETPIXELV, crColor, 4)
2416     TEST_FIELD_ALIGN (EMRSETPIXELV, crColor, 4)
2417     TEST_FIELD_OFFSET(EMRSETPIXELV, crColor, 16)
2418 }
2419
2420 static void test_pack_EMRSETPOLYFILLMODE(void)
2421 {
2422     /* EMRSETPOLYFILLMODE (pack 4) */
2423     TEST_TYPE_SIZE   (EMRSETPOLYFILLMODE, 12)
2424     TEST_TYPE_ALIGN  (EMRSETPOLYFILLMODE, 4)
2425     TEST_FIELD_SIZE  (EMRSETPOLYFILLMODE, emr, 8)
2426     TEST_FIELD_ALIGN (EMRSETPOLYFILLMODE, emr, 4)
2427     TEST_FIELD_OFFSET(EMRSETPOLYFILLMODE, emr, 0)
2428     TEST_FIELD_SIZE  (EMRSETPOLYFILLMODE, iMode, 4)
2429     TEST_FIELD_ALIGN (EMRSETPOLYFILLMODE, iMode, 4)
2430     TEST_FIELD_OFFSET(EMRSETPOLYFILLMODE, iMode, 8)
2431 }
2432
2433 static void test_pack_EMRSETROP2(void)
2434 {
2435     /* EMRSETROP2 (pack 4) */
2436     TEST_TYPE_SIZE   (EMRSETROP2, 12)
2437     TEST_TYPE_ALIGN  (EMRSETROP2, 4)
2438     TEST_FIELD_SIZE  (EMRSETROP2, emr, 8)
2439     TEST_FIELD_ALIGN (EMRSETROP2, emr, 4)
2440     TEST_FIELD_OFFSET(EMRSETROP2, emr, 0)
2441     TEST_FIELD_SIZE  (EMRSETROP2, iMode, 4)
2442     TEST_FIELD_ALIGN (EMRSETROP2, iMode, 4)
2443     TEST_FIELD_OFFSET(EMRSETROP2, iMode, 8)
2444 }
2445
2446 static void test_pack_EMRSETSTRETCHBLTMODE(void)
2447 {
2448     /* EMRSETSTRETCHBLTMODE (pack 4) */
2449     TEST_TYPE_SIZE   (EMRSETSTRETCHBLTMODE, 12)
2450     TEST_TYPE_ALIGN  (EMRSETSTRETCHBLTMODE, 4)
2451     TEST_FIELD_SIZE  (EMRSETSTRETCHBLTMODE, emr, 8)
2452     TEST_FIELD_ALIGN (EMRSETSTRETCHBLTMODE, emr, 4)
2453     TEST_FIELD_OFFSET(EMRSETSTRETCHBLTMODE, emr, 0)
2454     TEST_FIELD_SIZE  (EMRSETSTRETCHBLTMODE, iMode, 4)
2455     TEST_FIELD_ALIGN (EMRSETSTRETCHBLTMODE, iMode, 4)
2456     TEST_FIELD_OFFSET(EMRSETSTRETCHBLTMODE, iMode, 8)
2457 }
2458
2459 static void test_pack_EMRSETTEXTALIGN(void)
2460 {
2461     /* EMRSETTEXTALIGN (pack 4) */
2462     TEST_TYPE_SIZE   (EMRSETTEXTALIGN, 12)
2463     TEST_TYPE_ALIGN  (EMRSETTEXTALIGN, 4)
2464     TEST_FIELD_SIZE  (EMRSETTEXTALIGN, emr, 8)
2465     TEST_FIELD_ALIGN (EMRSETTEXTALIGN, emr, 4)
2466     TEST_FIELD_OFFSET(EMRSETTEXTALIGN, emr, 0)
2467     TEST_FIELD_SIZE  (EMRSETTEXTALIGN, iMode, 4)
2468     TEST_FIELD_ALIGN (EMRSETTEXTALIGN, iMode, 4)
2469     TEST_FIELD_OFFSET(EMRSETTEXTALIGN, iMode, 8)
2470 }
2471
2472 static void test_pack_EMRSETTEXTCOLOR(void)
2473 {
2474     /* EMRSETTEXTCOLOR (pack 4) */
2475     TEST_TYPE_SIZE   (EMRSETTEXTCOLOR, 12)
2476     TEST_TYPE_ALIGN  (EMRSETTEXTCOLOR, 4)
2477     TEST_FIELD_SIZE  (EMRSETTEXTCOLOR, emr, 8)
2478     TEST_FIELD_ALIGN (EMRSETTEXTCOLOR, emr, 4)
2479     TEST_FIELD_OFFSET(EMRSETTEXTCOLOR, emr, 0)
2480     TEST_FIELD_SIZE  (EMRSETTEXTCOLOR, crColor, 4)
2481     TEST_FIELD_ALIGN (EMRSETTEXTCOLOR, crColor, 4)
2482     TEST_FIELD_OFFSET(EMRSETTEXTCOLOR, crColor, 8)
2483 }
2484
2485 static void test_pack_EMRSETVIEWPORTEXTEX(void)
2486 {
2487     /* EMRSETVIEWPORTEXTEX (pack 4) */
2488     TEST_TYPE_SIZE   (EMRSETVIEWPORTEXTEX, 16)
2489     TEST_TYPE_ALIGN  (EMRSETVIEWPORTEXTEX, 4)
2490     TEST_FIELD_SIZE  (EMRSETVIEWPORTEXTEX, emr, 8)
2491     TEST_FIELD_ALIGN (EMRSETVIEWPORTEXTEX, emr, 4)
2492     TEST_FIELD_OFFSET(EMRSETVIEWPORTEXTEX, emr, 0)
2493     TEST_FIELD_SIZE  (EMRSETVIEWPORTEXTEX, szlExtent, 8)
2494     TEST_FIELD_ALIGN (EMRSETVIEWPORTEXTEX, szlExtent, 4)
2495     TEST_FIELD_OFFSET(EMRSETVIEWPORTEXTEX, szlExtent, 8)
2496 }
2497
2498 static void test_pack_EMRSETVIEWPORTORGEX(void)
2499 {
2500     /* EMRSETVIEWPORTORGEX (pack 4) */
2501     TEST_TYPE_SIZE   (EMRSETVIEWPORTORGEX, 16)
2502     TEST_TYPE_ALIGN  (EMRSETVIEWPORTORGEX, 4)
2503     TEST_FIELD_SIZE  (EMRSETVIEWPORTORGEX, emr, 8)
2504     TEST_FIELD_ALIGN (EMRSETVIEWPORTORGEX, emr, 4)
2505     TEST_FIELD_OFFSET(EMRSETVIEWPORTORGEX, emr, 0)
2506     TEST_FIELD_SIZE  (EMRSETVIEWPORTORGEX, ptlOrigin, 8)
2507     TEST_FIELD_ALIGN (EMRSETVIEWPORTORGEX, ptlOrigin, 4)
2508     TEST_FIELD_OFFSET(EMRSETVIEWPORTORGEX, ptlOrigin, 8)
2509 }
2510
2511 static void test_pack_EMRSETWINDOWEXTEX(void)
2512 {
2513     /* EMRSETWINDOWEXTEX (pack 4) */
2514     TEST_TYPE_SIZE   (EMRSETWINDOWEXTEX, 16)
2515     TEST_TYPE_ALIGN  (EMRSETWINDOWEXTEX, 4)
2516     TEST_FIELD_SIZE  (EMRSETWINDOWEXTEX, emr, 8)
2517     TEST_FIELD_ALIGN (EMRSETWINDOWEXTEX, emr, 4)
2518     TEST_FIELD_OFFSET(EMRSETWINDOWEXTEX, emr, 0)
2519     TEST_FIELD_SIZE  (EMRSETWINDOWEXTEX, szlExtent, 8)
2520     TEST_FIELD_ALIGN (EMRSETWINDOWEXTEX, szlExtent, 4)
2521     TEST_FIELD_OFFSET(EMRSETWINDOWEXTEX, szlExtent, 8)
2522 }
2523
2524 static void test_pack_EMRSETWINDOWORGEX(void)
2525 {
2526     /* EMRSETWINDOWORGEX (pack 4) */
2527     TEST_TYPE_SIZE   (EMRSETWINDOWORGEX, 16)
2528     TEST_TYPE_ALIGN  (EMRSETWINDOWORGEX, 4)
2529     TEST_FIELD_SIZE  (EMRSETWINDOWORGEX, emr, 8)
2530     TEST_FIELD_ALIGN (EMRSETWINDOWORGEX, emr, 4)
2531     TEST_FIELD_OFFSET(EMRSETWINDOWORGEX, emr, 0)
2532     TEST_FIELD_SIZE  (EMRSETWINDOWORGEX, ptlOrigin, 8)
2533     TEST_FIELD_ALIGN (EMRSETWINDOWORGEX, ptlOrigin, 4)
2534     TEST_FIELD_OFFSET(EMRSETWINDOWORGEX, ptlOrigin, 8)
2535 }
2536
2537 static void test_pack_EMRSETWORLDTRANSFORM(void)
2538 {
2539     /* EMRSETWORLDTRANSFORM (pack 4) */
2540     TEST_TYPE_SIZE   (EMRSETWORLDTRANSFORM, 32)
2541     TEST_TYPE_ALIGN  (EMRSETWORLDTRANSFORM, 4)
2542     TEST_FIELD_SIZE  (EMRSETWORLDTRANSFORM, emr, 8)
2543     TEST_FIELD_ALIGN (EMRSETWORLDTRANSFORM, emr, 4)
2544     TEST_FIELD_OFFSET(EMRSETWORLDTRANSFORM, emr, 0)
2545     TEST_FIELD_SIZE  (EMRSETWORLDTRANSFORM, xform, 24)
2546     TEST_FIELD_ALIGN (EMRSETWORLDTRANSFORM, xform, 4)
2547     TEST_FIELD_OFFSET(EMRSETWORLDTRANSFORM, xform, 8)
2548 }
2549
2550 static void test_pack_EMRSTRETCHBLT(void)
2551 {
2552     /* EMRSTRETCHBLT (pack 4) */
2553     TEST_TYPE_SIZE   (EMRSTRETCHBLT, 108)
2554     TEST_TYPE_ALIGN  (EMRSTRETCHBLT, 4)
2555     TEST_FIELD_SIZE  (EMRSTRETCHBLT, emr, 8)
2556     TEST_FIELD_ALIGN (EMRSTRETCHBLT, emr, 4)
2557     TEST_FIELD_OFFSET(EMRSTRETCHBLT, emr, 0)
2558     TEST_FIELD_SIZE  (EMRSTRETCHBLT, rclBounds, 16)
2559     TEST_FIELD_ALIGN (EMRSTRETCHBLT, rclBounds, 4)
2560     TEST_FIELD_OFFSET(EMRSTRETCHBLT, rclBounds, 8)
2561     TEST_FIELD_SIZE  (EMRSTRETCHBLT, xDest, 4)
2562     TEST_FIELD_ALIGN (EMRSTRETCHBLT, xDest, 4)
2563     TEST_FIELD_OFFSET(EMRSTRETCHBLT, xDest, 24)
2564     TEST_FIELD_SIZE  (EMRSTRETCHBLT, yDest, 4)
2565     TEST_FIELD_ALIGN (EMRSTRETCHBLT, yDest, 4)
2566     TEST_FIELD_OFFSET(EMRSTRETCHBLT, yDest, 28)
2567     TEST_FIELD_SIZE  (EMRSTRETCHBLT, cxDest, 4)
2568     TEST_FIELD_ALIGN (EMRSTRETCHBLT, cxDest, 4)
2569     TEST_FIELD_OFFSET(EMRSTRETCHBLT, cxDest, 32)
2570     TEST_FIELD_SIZE  (EMRSTRETCHBLT, cyDest, 4)
2571     TEST_FIELD_ALIGN (EMRSTRETCHBLT, cyDest, 4)
2572     TEST_FIELD_OFFSET(EMRSTRETCHBLT, cyDest, 36)
2573     TEST_FIELD_SIZE  (EMRSTRETCHBLT, dwRop, 4)
2574     TEST_FIELD_ALIGN (EMRSTRETCHBLT, dwRop, 4)
2575     TEST_FIELD_OFFSET(EMRSTRETCHBLT, dwRop, 40)
2576     TEST_FIELD_SIZE  (EMRSTRETCHBLT, xSrc, 4)
2577     TEST_FIELD_ALIGN (EMRSTRETCHBLT, xSrc, 4)
2578     TEST_FIELD_OFFSET(EMRSTRETCHBLT, xSrc, 44)
2579     TEST_FIELD_SIZE  (EMRSTRETCHBLT, ySrc, 4)
2580     TEST_FIELD_ALIGN (EMRSTRETCHBLT, ySrc, 4)
2581     TEST_FIELD_OFFSET(EMRSTRETCHBLT, ySrc, 48)
2582     TEST_FIELD_SIZE  (EMRSTRETCHBLT, xformSrc, 24)
2583     TEST_FIELD_ALIGN (EMRSTRETCHBLT, xformSrc, 4)
2584     TEST_FIELD_OFFSET(EMRSTRETCHBLT, xformSrc, 52)
2585     TEST_FIELD_SIZE  (EMRSTRETCHBLT, crBkColorSrc, 4)
2586     TEST_FIELD_ALIGN (EMRSTRETCHBLT, crBkColorSrc, 4)
2587     TEST_FIELD_OFFSET(EMRSTRETCHBLT, crBkColorSrc, 76)
2588     TEST_FIELD_SIZE  (EMRSTRETCHBLT, iUsageSrc, 4)
2589     TEST_FIELD_ALIGN (EMRSTRETCHBLT, iUsageSrc, 4)
2590     TEST_FIELD_OFFSET(EMRSTRETCHBLT, iUsageSrc, 80)
2591     TEST_FIELD_SIZE  (EMRSTRETCHBLT, offBmiSrc, 4)
2592     TEST_FIELD_ALIGN (EMRSTRETCHBLT, offBmiSrc, 4)
2593     TEST_FIELD_OFFSET(EMRSTRETCHBLT, offBmiSrc, 84)
2594     TEST_FIELD_SIZE  (EMRSTRETCHBLT, cbBmiSrc, 4)
2595     TEST_FIELD_ALIGN (EMRSTRETCHBLT, cbBmiSrc, 4)
2596     TEST_FIELD_OFFSET(EMRSTRETCHBLT, cbBmiSrc, 88)
2597     TEST_FIELD_SIZE  (EMRSTRETCHBLT, offBitsSrc, 4)
2598     TEST_FIELD_ALIGN (EMRSTRETCHBLT, offBitsSrc, 4)
2599     TEST_FIELD_OFFSET(EMRSTRETCHBLT, offBitsSrc, 92)
2600     TEST_FIELD_SIZE  (EMRSTRETCHBLT, cbBitsSrc, 4)
2601     TEST_FIELD_ALIGN (EMRSTRETCHBLT, cbBitsSrc, 4)
2602     TEST_FIELD_OFFSET(EMRSTRETCHBLT, cbBitsSrc, 96)
2603     TEST_FIELD_SIZE  (EMRSTRETCHBLT, cxSrc, 4)
2604     TEST_FIELD_ALIGN (EMRSTRETCHBLT, cxSrc, 4)
2605     TEST_FIELD_OFFSET(EMRSTRETCHBLT, cxSrc, 100)
2606     TEST_FIELD_SIZE  (EMRSTRETCHBLT, cySrc, 4)
2607     TEST_FIELD_ALIGN (EMRSTRETCHBLT, cySrc, 4)
2608     TEST_FIELD_OFFSET(EMRSTRETCHBLT, cySrc, 104)
2609 }
2610
2611 static void test_pack_EMRSTRETCHDIBITS(void)
2612 {
2613     /* EMRSTRETCHDIBITS (pack 4) */
2614     TEST_TYPE_SIZE   (EMRSTRETCHDIBITS, 80)
2615     TEST_TYPE_ALIGN  (EMRSTRETCHDIBITS, 4)
2616     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, emr, 8)
2617     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, emr, 4)
2618     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, emr, 0)
2619     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, rclBounds, 16)
2620     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, rclBounds, 4)
2621     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, rclBounds, 8)
2622     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, xDest, 4)
2623     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, xDest, 4)
2624     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, xDest, 24)
2625     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, yDest, 4)
2626     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, yDest, 4)
2627     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, yDest, 28)
2628     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, xSrc, 4)
2629     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, xSrc, 4)
2630     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, xSrc, 32)
2631     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, ySrc, 4)
2632     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, ySrc, 4)
2633     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, ySrc, 36)
2634     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, cxSrc, 4)
2635     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, cxSrc, 4)
2636     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, cxSrc, 40)
2637     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, cySrc, 4)
2638     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, cySrc, 4)
2639     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, cySrc, 44)
2640     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, offBmiSrc, 4)
2641     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, offBmiSrc, 4)
2642     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, offBmiSrc, 48)
2643     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, cbBmiSrc, 4)
2644     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, cbBmiSrc, 4)
2645     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, cbBmiSrc, 52)
2646     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, offBitsSrc, 4)
2647     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, offBitsSrc, 4)
2648     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, offBitsSrc, 56)
2649     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, cbBitsSrc, 4)
2650     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, cbBitsSrc, 4)
2651     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, cbBitsSrc, 60)
2652     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, iUsageSrc, 4)
2653     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, iUsageSrc, 4)
2654     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, iUsageSrc, 64)
2655     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, dwRop, 4)
2656     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, dwRop, 4)
2657     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, dwRop, 68)
2658     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, cxDest, 4)
2659     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, cxDest, 4)
2660     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, cxDest, 72)
2661     TEST_FIELD_SIZE  (EMRSTRETCHDIBITS, cyDest, 4)
2662     TEST_FIELD_ALIGN (EMRSTRETCHDIBITS, cyDest, 4)
2663     TEST_FIELD_OFFSET(EMRSTRETCHDIBITS, cyDest, 76)
2664 }
2665
2666 static void test_pack_EMRSTROKEANDFILLPATH(void)
2667 {
2668     /* EMRSTROKEANDFILLPATH (pack 4) */
2669     TEST_TYPE_SIZE   (EMRSTROKEANDFILLPATH, 24)
2670     TEST_TYPE_ALIGN  (EMRSTROKEANDFILLPATH, 4)
2671     TEST_FIELD_SIZE  (EMRSTROKEANDFILLPATH, emr, 8)
2672     TEST_FIELD_ALIGN (EMRSTROKEANDFILLPATH, emr, 4)
2673     TEST_FIELD_OFFSET(EMRSTROKEANDFILLPATH, emr, 0)
2674     TEST_FIELD_SIZE  (EMRSTROKEANDFILLPATH, rclBounds, 16)
2675     TEST_FIELD_ALIGN (EMRSTROKEANDFILLPATH, rclBounds, 4)
2676     TEST_FIELD_OFFSET(EMRSTROKEANDFILLPATH, rclBounds, 8)
2677 }
2678
2679 static void test_pack_EMRSTROKEPATH(void)
2680 {
2681     /* EMRSTROKEPATH (pack 4) */
2682     TEST_TYPE_SIZE   (EMRSTROKEPATH, 24)
2683     TEST_TYPE_ALIGN  (EMRSTROKEPATH, 4)
2684     TEST_FIELD_SIZE  (EMRSTROKEPATH, emr, 8)
2685     TEST_FIELD_ALIGN (EMRSTROKEPATH, emr, 4)
2686     TEST_FIELD_OFFSET(EMRSTROKEPATH, emr, 0)
2687     TEST_FIELD_SIZE  (EMRSTROKEPATH, rclBounds, 16)
2688     TEST_FIELD_ALIGN (EMRSTROKEPATH, rclBounds, 4)
2689     TEST_FIELD_OFFSET(EMRSTROKEPATH, rclBounds, 8)
2690 }
2691
2692 static void test_pack_EMRTEXT(void)
2693 {
2694     /* EMRTEXT (pack 4) */
2695     TEST_TYPE_SIZE   (EMRTEXT, 40)
2696     TEST_TYPE_ALIGN  (EMRTEXT, 4)
2697     TEST_FIELD_SIZE  (EMRTEXT, ptlReference, 8)
2698     TEST_FIELD_ALIGN (EMRTEXT, ptlReference, 4)
2699     TEST_FIELD_OFFSET(EMRTEXT, ptlReference, 0)
2700     TEST_FIELD_SIZE  (EMRTEXT, nChars, 4)
2701     TEST_FIELD_ALIGN (EMRTEXT, nChars, 4)
2702     TEST_FIELD_OFFSET(EMRTEXT, nChars, 8)
2703     TEST_FIELD_SIZE  (EMRTEXT, offString, 4)
2704     TEST_FIELD_ALIGN (EMRTEXT, offString, 4)
2705     TEST_FIELD_OFFSET(EMRTEXT, offString, 12)
2706     TEST_FIELD_SIZE  (EMRTEXT, fOptions, 4)
2707     TEST_FIELD_ALIGN (EMRTEXT, fOptions, 4)
2708     TEST_FIELD_OFFSET(EMRTEXT, fOptions, 16)
2709     TEST_FIELD_SIZE  (EMRTEXT, rcl, 16)
2710     TEST_FIELD_ALIGN (EMRTEXT, rcl, 4)
2711     TEST_FIELD_OFFSET(EMRTEXT, rcl, 20)
2712     TEST_FIELD_SIZE  (EMRTEXT, offDx, 4)
2713     TEST_FIELD_ALIGN (EMRTEXT, offDx, 4)
2714     TEST_FIELD_OFFSET(EMRTEXT, offDx, 36)
2715 }
2716
2717 static void test_pack_EMRWIDENPATH(void)
2718 {
2719     /* EMRWIDENPATH (pack 4) */
2720     TEST_TYPE_SIZE   (EMRWIDENPATH, 8)
2721     TEST_TYPE_ALIGN  (EMRWIDENPATH, 4)
2722     TEST_FIELD_SIZE  (EMRWIDENPATH, emr, 8)
2723     TEST_FIELD_ALIGN (EMRWIDENPATH, emr, 4)
2724     TEST_FIELD_OFFSET(EMRWIDENPATH, emr, 0)
2725 }
2726
2727 static void test_pack_ENHMETAHEADER(void)
2728 {
2729     /* ENHMETAHEADER (pack 4) */
2730     TEST_TYPE_SIZE   (ENHMETAHEADER, 108)
2731     TEST_TYPE_ALIGN  (ENHMETAHEADER, 4)
2732     TEST_FIELD_SIZE  (ENHMETAHEADER, iType, 4)
2733     TEST_FIELD_ALIGN (ENHMETAHEADER, iType, 4)
2734     TEST_FIELD_OFFSET(ENHMETAHEADER, iType, 0)
2735     TEST_FIELD_SIZE  (ENHMETAHEADER, nSize, 4)
2736     TEST_FIELD_ALIGN (ENHMETAHEADER, nSize, 4)
2737     TEST_FIELD_OFFSET(ENHMETAHEADER, nSize, 4)
2738     TEST_FIELD_SIZE  (ENHMETAHEADER, rclBounds, 16)
2739     TEST_FIELD_ALIGN (ENHMETAHEADER, rclBounds, 4)
2740     TEST_FIELD_OFFSET(ENHMETAHEADER, rclBounds, 8)
2741     TEST_FIELD_SIZE  (ENHMETAHEADER, rclFrame, 16)
2742     TEST_FIELD_ALIGN (ENHMETAHEADER, rclFrame, 4)
2743     TEST_FIELD_OFFSET(ENHMETAHEADER, rclFrame, 24)
2744     TEST_FIELD_SIZE  (ENHMETAHEADER, dSignature, 4)
2745     TEST_FIELD_ALIGN (ENHMETAHEADER, dSignature, 4)
2746     TEST_FIELD_OFFSET(ENHMETAHEADER, dSignature, 40)
2747     TEST_FIELD_SIZE  (ENHMETAHEADER, nVersion, 4)
2748     TEST_FIELD_ALIGN (ENHMETAHEADER, nVersion, 4)
2749     TEST_FIELD_OFFSET(ENHMETAHEADER, nVersion, 44)
2750     TEST_FIELD_SIZE  (ENHMETAHEADER, nBytes, 4)
2751     TEST_FIELD_ALIGN (ENHMETAHEADER, nBytes, 4)
2752     TEST_FIELD_OFFSET(ENHMETAHEADER, nBytes, 48)
2753     TEST_FIELD_SIZE  (ENHMETAHEADER, nRecords, 4)
2754     TEST_FIELD_ALIGN (ENHMETAHEADER, nRecords, 4)
2755     TEST_FIELD_OFFSET(ENHMETAHEADER, nRecords, 52)
2756     TEST_FIELD_SIZE  (ENHMETAHEADER, nHandles, 2)
2757     TEST_FIELD_ALIGN (ENHMETAHEADER, nHandles, 2)
2758     TEST_FIELD_OFFSET(ENHMETAHEADER, nHandles, 56)
2759     TEST_FIELD_SIZE  (ENHMETAHEADER, sReserved, 2)
2760     TEST_FIELD_ALIGN (ENHMETAHEADER, sReserved, 2)
2761     TEST_FIELD_OFFSET(ENHMETAHEADER, sReserved, 58)
2762     TEST_FIELD_SIZE  (ENHMETAHEADER, nDescription, 4)
2763     TEST_FIELD_ALIGN (ENHMETAHEADER, nDescription, 4)
2764     TEST_FIELD_OFFSET(ENHMETAHEADER, nDescription, 60)
2765     TEST_FIELD_SIZE  (ENHMETAHEADER, offDescription, 4)
2766     TEST_FIELD_ALIGN (ENHMETAHEADER, offDescription, 4)
2767     TEST_FIELD_OFFSET(ENHMETAHEADER, offDescription, 64)
2768     TEST_FIELD_SIZE  (ENHMETAHEADER, nPalEntries, 4)
2769     TEST_FIELD_ALIGN (ENHMETAHEADER, nPalEntries, 4)
2770     TEST_FIELD_OFFSET(ENHMETAHEADER, nPalEntries, 68)
2771     TEST_FIELD_SIZE  (ENHMETAHEADER, szlDevice, 8)
2772     TEST_FIELD_ALIGN (ENHMETAHEADER, szlDevice, 4)
2773     TEST_FIELD_OFFSET(ENHMETAHEADER, szlDevice, 72)
2774     TEST_FIELD_SIZE  (ENHMETAHEADER, szlMillimeters, 8)
2775     TEST_FIELD_ALIGN (ENHMETAHEADER, szlMillimeters, 4)
2776     TEST_FIELD_OFFSET(ENHMETAHEADER, szlMillimeters, 80)
2777     TEST_FIELD_SIZE  (ENHMETAHEADER, cbPixelFormat, 4)
2778     TEST_FIELD_ALIGN (ENHMETAHEADER, cbPixelFormat, 4)
2779     TEST_FIELD_OFFSET(ENHMETAHEADER, cbPixelFormat, 88)
2780     TEST_FIELD_SIZE  (ENHMETAHEADER, offPixelFormat, 4)
2781     TEST_FIELD_ALIGN (ENHMETAHEADER, offPixelFormat, 4)
2782     TEST_FIELD_OFFSET(ENHMETAHEADER, offPixelFormat, 92)
2783     TEST_FIELD_SIZE  (ENHMETAHEADER, bOpenGL, 4)
2784     TEST_FIELD_ALIGN (ENHMETAHEADER, bOpenGL, 4)
2785     TEST_FIELD_OFFSET(ENHMETAHEADER, bOpenGL, 96)
2786     TEST_FIELD_SIZE  (ENHMETAHEADER, szlMicrometers, 8)
2787     TEST_FIELD_ALIGN (ENHMETAHEADER, szlMicrometers, 4)
2788     TEST_FIELD_OFFSET(ENHMETAHEADER, szlMicrometers, 100)
2789 }
2790
2791 static void test_pack_ENHMETARECORD(void)
2792 {
2793     /* ENHMETARECORD (pack 4) */
2794     TEST_TYPE_SIZE   (ENHMETARECORD, 12)
2795     TEST_TYPE_ALIGN  (ENHMETARECORD, 4)
2796     TEST_FIELD_SIZE  (ENHMETARECORD, iType, 4)
2797     TEST_FIELD_ALIGN (ENHMETARECORD, iType, 4)
2798     TEST_FIELD_OFFSET(ENHMETARECORD, iType, 0)
2799     TEST_FIELD_SIZE  (ENHMETARECORD, nSize, 4)
2800     TEST_FIELD_ALIGN (ENHMETARECORD, nSize, 4)
2801     TEST_FIELD_OFFSET(ENHMETARECORD, nSize, 4)
2802     TEST_FIELD_SIZE  (ENHMETARECORD, dParm, 4)
2803     TEST_FIELD_ALIGN (ENHMETARECORD, dParm, 4)
2804     TEST_FIELD_OFFSET(ENHMETARECORD, dParm, 8)
2805 }
2806
2807 static void test_pack_ENHMFENUMPROC(void)
2808 {
2809     /* ENHMFENUMPROC */
2810     TEST_TYPE_SIZE   (ENHMFENUMPROC, 4)
2811     TEST_TYPE_ALIGN  (ENHMFENUMPROC, 4)
2812 }
2813
2814 static void test_pack_ENUMLOGFONTA(void)
2815 {
2816     /* ENUMLOGFONTA (pack 4) */
2817     TEST_TYPE_SIZE   (ENUMLOGFONTA, 156)
2818     TEST_TYPE_ALIGN  (ENUMLOGFONTA, 4)
2819     TEST_FIELD_SIZE  (ENUMLOGFONTA, elfLogFont, 60)
2820     TEST_FIELD_ALIGN (ENUMLOGFONTA, elfLogFont, 4)
2821     TEST_FIELD_OFFSET(ENUMLOGFONTA, elfLogFont, 0)
2822     TEST_FIELD_SIZE  (ENUMLOGFONTA, elfFullName, 64)
2823     TEST_FIELD_ALIGN (ENUMLOGFONTA, elfFullName, 1)
2824     TEST_FIELD_OFFSET(ENUMLOGFONTA, elfFullName, 60)
2825     TEST_FIELD_SIZE  (ENUMLOGFONTA, elfStyle, 32)
2826     TEST_FIELD_ALIGN (ENUMLOGFONTA, elfStyle, 1)
2827     TEST_FIELD_OFFSET(ENUMLOGFONTA, elfStyle, 124)
2828 }
2829
2830 static void test_pack_ENUMLOGFONTEXA(void)
2831 {
2832     /* ENUMLOGFONTEXA (pack 4) */
2833     TEST_TYPE_SIZE   (ENUMLOGFONTEXA, 188)
2834     TEST_TYPE_ALIGN  (ENUMLOGFONTEXA, 4)
2835     TEST_FIELD_SIZE  (ENUMLOGFONTEXA, elfLogFont, 60)
2836     TEST_FIELD_ALIGN (ENUMLOGFONTEXA, elfLogFont, 4)
2837     TEST_FIELD_OFFSET(ENUMLOGFONTEXA, elfLogFont, 0)
2838     TEST_FIELD_SIZE  (ENUMLOGFONTEXA, elfFullName, 64)
2839     TEST_FIELD_ALIGN (ENUMLOGFONTEXA, elfFullName, 1)
2840     TEST_FIELD_OFFSET(ENUMLOGFONTEXA, elfFullName, 60)
2841     TEST_FIELD_SIZE  (ENUMLOGFONTEXA, elfStyle, 32)
2842     TEST_FIELD_ALIGN (ENUMLOGFONTEXA, elfStyle, 1)
2843     TEST_FIELD_OFFSET(ENUMLOGFONTEXA, elfStyle, 124)
2844     TEST_FIELD_SIZE  (ENUMLOGFONTEXA, elfScript, 32)
2845     TEST_FIELD_ALIGN (ENUMLOGFONTEXA, elfScript, 1)
2846     TEST_FIELD_OFFSET(ENUMLOGFONTEXA, elfScript, 156)
2847 }
2848
2849 static void test_pack_ENUMLOGFONTEXW(void)
2850 {
2851     /* ENUMLOGFONTEXW (pack 4) */
2852     TEST_TYPE_SIZE   (ENUMLOGFONTEXW, 348)
2853     TEST_TYPE_ALIGN  (ENUMLOGFONTEXW, 4)
2854     TEST_FIELD_SIZE  (ENUMLOGFONTEXW, elfLogFont, 92)
2855     TEST_FIELD_ALIGN (ENUMLOGFONTEXW, elfLogFont, 4)
2856     TEST_FIELD_OFFSET(ENUMLOGFONTEXW, elfLogFont, 0)
2857     TEST_FIELD_SIZE  (ENUMLOGFONTEXW, elfFullName, 128)
2858     TEST_FIELD_ALIGN (ENUMLOGFONTEXW, elfFullName, 2)
2859     TEST_FIELD_OFFSET(ENUMLOGFONTEXW, elfFullName, 92)
2860     TEST_FIELD_SIZE  (ENUMLOGFONTEXW, elfStyle, 64)
2861     TEST_FIELD_ALIGN (ENUMLOGFONTEXW, elfStyle, 2)
2862     TEST_FIELD_OFFSET(ENUMLOGFONTEXW, elfStyle, 220)
2863     TEST_FIELD_SIZE  (ENUMLOGFONTEXW, elfScript, 64)
2864     TEST_FIELD_ALIGN (ENUMLOGFONTEXW, elfScript, 2)
2865     TEST_FIELD_OFFSET(ENUMLOGFONTEXW, elfScript, 284)
2866 }
2867
2868 static void test_pack_ENUMLOGFONTW(void)
2869 {
2870     /* ENUMLOGFONTW (pack 4) */
2871     TEST_TYPE_SIZE   (ENUMLOGFONTW, 284)
2872     TEST_TYPE_ALIGN  (ENUMLOGFONTW, 4)
2873     TEST_FIELD_SIZE  (ENUMLOGFONTW, elfLogFont, 92)
2874     TEST_FIELD_ALIGN (ENUMLOGFONTW, elfLogFont, 4)
2875     TEST_FIELD_OFFSET(ENUMLOGFONTW, elfLogFont, 0)
2876     TEST_FIELD_SIZE  (ENUMLOGFONTW, elfFullName, 128)
2877     TEST_FIELD_ALIGN (ENUMLOGFONTW, elfFullName, 2)
2878     TEST_FIELD_OFFSET(ENUMLOGFONTW, elfFullName, 92)
2879     TEST_FIELD_SIZE  (ENUMLOGFONTW, elfStyle, 64)
2880     TEST_FIELD_ALIGN (ENUMLOGFONTW, elfStyle, 2)
2881     TEST_FIELD_OFFSET(ENUMLOGFONTW, elfStyle, 220)
2882 }
2883
2884 static void test_pack_EXTLOGFONTA(void)
2885 {
2886     /* EXTLOGFONTA (pack 4) */
2887     TEST_TYPE_SIZE   (EXTLOGFONTA, 192)
2888     TEST_TYPE_ALIGN  (EXTLOGFONTA, 4)
2889     TEST_FIELD_SIZE  (EXTLOGFONTA, elfLogFont, 60)
2890     TEST_FIELD_ALIGN (EXTLOGFONTA, elfLogFont, 4)
2891     TEST_FIELD_OFFSET(EXTLOGFONTA, elfLogFont, 0)
2892     TEST_FIELD_SIZE  (EXTLOGFONTA, elfFullName, 64)
2893     TEST_FIELD_ALIGN (EXTLOGFONTA, elfFullName, 1)
2894     TEST_FIELD_OFFSET(EXTLOGFONTA, elfFullName, 60)
2895     TEST_FIELD_SIZE  (EXTLOGFONTA, elfStyle, 32)
2896     TEST_FIELD_ALIGN (EXTLOGFONTA, elfStyle, 1)
2897     TEST_FIELD_OFFSET(EXTLOGFONTA, elfStyle, 124)
2898     TEST_FIELD_SIZE  (EXTLOGFONTA, elfVersion, 4)
2899     TEST_FIELD_ALIGN (EXTLOGFONTA, elfVersion, 4)
2900     TEST_FIELD_OFFSET(EXTLOGFONTA, elfVersion, 156)
2901     TEST_FIELD_SIZE  (EXTLOGFONTA, elfStyleSize, 4)
2902     TEST_FIELD_ALIGN (EXTLOGFONTA, elfStyleSize, 4)
2903     TEST_FIELD_OFFSET(EXTLOGFONTA, elfStyleSize, 160)
2904     TEST_FIELD_SIZE  (EXTLOGFONTA, elfMatch, 4)
2905     TEST_FIELD_ALIGN (EXTLOGFONTA, elfMatch, 4)
2906     TEST_FIELD_OFFSET(EXTLOGFONTA, elfMatch, 164)
2907     TEST_FIELD_SIZE  (EXTLOGFONTA, elfReserved, 4)
2908     TEST_FIELD_ALIGN (EXTLOGFONTA, elfReserved, 4)
2909     TEST_FIELD_OFFSET(EXTLOGFONTA, elfReserved, 168)
2910     TEST_FIELD_SIZE  (EXTLOGFONTA, elfVendorId, 4)
2911     TEST_FIELD_ALIGN (EXTLOGFONTA, elfVendorId, 1)
2912     TEST_FIELD_OFFSET(EXTLOGFONTA, elfVendorId, 172)
2913     TEST_FIELD_SIZE  (EXTLOGFONTA, elfCulture, 4)
2914     TEST_FIELD_ALIGN (EXTLOGFONTA, elfCulture, 4)
2915     TEST_FIELD_OFFSET(EXTLOGFONTA, elfCulture, 176)
2916     TEST_FIELD_SIZE  (EXTLOGFONTA, elfPanose, 10)
2917     TEST_FIELD_ALIGN (EXTLOGFONTA, elfPanose, 1)
2918     TEST_FIELD_OFFSET(EXTLOGFONTA, elfPanose, 180)
2919 }
2920
2921 static void test_pack_EXTLOGFONTW(void)
2922 {
2923     /* EXTLOGFONTW (pack 4) */
2924     TEST_TYPE_SIZE   (EXTLOGFONTW, 320)
2925     TEST_TYPE_ALIGN  (EXTLOGFONTW, 4)
2926     TEST_FIELD_SIZE  (EXTLOGFONTW, elfLogFont, 92)
2927     TEST_FIELD_ALIGN (EXTLOGFONTW, elfLogFont, 4)
2928     TEST_FIELD_OFFSET(EXTLOGFONTW, elfLogFont, 0)
2929     TEST_FIELD_SIZE  (EXTLOGFONTW, elfFullName, 128)
2930     TEST_FIELD_ALIGN (EXTLOGFONTW, elfFullName, 2)
2931     TEST_FIELD_OFFSET(EXTLOGFONTW, elfFullName, 92)
2932     TEST_FIELD_SIZE  (EXTLOGFONTW, elfStyle, 64)
2933     TEST_FIELD_ALIGN (EXTLOGFONTW, elfStyle, 2)
2934     TEST_FIELD_OFFSET(EXTLOGFONTW, elfStyle, 220)
2935     TEST_FIELD_SIZE  (EXTLOGFONTW, elfVersion, 4)
2936     TEST_FIELD_ALIGN (EXTLOGFONTW, elfVersion, 4)
2937     TEST_FIELD_OFFSET(EXTLOGFONTW, elfVersion, 284)
2938     TEST_FIELD_SIZE  (EXTLOGFONTW, elfStyleSize, 4)
2939     TEST_FIELD_ALIGN (EXTLOGFONTW, elfStyleSize, 4)
2940     TEST_FIELD_OFFSET(EXTLOGFONTW, elfStyleSize, 288)
2941     TEST_FIELD_SIZE  (EXTLOGFONTW, elfMatch, 4)
2942     TEST_FIELD_ALIGN (EXTLOGFONTW, elfMatch, 4)
2943     TEST_FIELD_OFFSET(EXTLOGFONTW, elfMatch, 292)
2944     TEST_FIELD_SIZE  (EXTLOGFONTW, elfReserved, 4)
2945     TEST_FIELD_ALIGN (EXTLOGFONTW, elfReserved, 4)
2946     TEST_FIELD_OFFSET(EXTLOGFONTW, elfReserved, 296)
2947     TEST_FIELD_SIZE  (EXTLOGFONTW, elfVendorId, 4)
2948     TEST_FIELD_ALIGN (EXTLOGFONTW, elfVendorId, 1)
2949     TEST_FIELD_OFFSET(EXTLOGFONTW, elfVendorId, 300)
2950     TEST_FIELD_SIZE  (EXTLOGFONTW, elfCulture, 4)
2951     TEST_FIELD_ALIGN (EXTLOGFONTW, elfCulture, 4)
2952     TEST_FIELD_OFFSET(EXTLOGFONTW, elfCulture, 304)
2953     TEST_FIELD_SIZE  (EXTLOGFONTW, elfPanose, 10)
2954     TEST_FIELD_ALIGN (EXTLOGFONTW, elfPanose, 1)
2955     TEST_FIELD_OFFSET(EXTLOGFONTW, elfPanose, 308)
2956 }
2957
2958 static void test_pack_EXTLOGPEN(void)
2959 {
2960     /* EXTLOGPEN (pack 4) */
2961     TEST_TYPE_SIZE   (EXTLOGPEN, 28)
2962     TEST_TYPE_ALIGN  (EXTLOGPEN, 4)
2963     TEST_FIELD_SIZE  (EXTLOGPEN, elpPenStyle, 4)
2964     TEST_FIELD_ALIGN (EXTLOGPEN, elpPenStyle, 4)
2965     TEST_FIELD_OFFSET(EXTLOGPEN, elpPenStyle, 0)
2966     TEST_FIELD_SIZE  (EXTLOGPEN, elpWidth, 4)
2967     TEST_FIELD_ALIGN (EXTLOGPEN, elpWidth, 4)
2968     TEST_FIELD_OFFSET(EXTLOGPEN, elpWidth, 4)
2969     TEST_FIELD_SIZE  (EXTLOGPEN, elpBrushStyle, 4)
2970     TEST_FIELD_ALIGN (EXTLOGPEN, elpBrushStyle, 4)
2971     TEST_FIELD_OFFSET(EXTLOGPEN, elpBrushStyle, 8)
2972     TEST_FIELD_SIZE  (EXTLOGPEN, elpColor, 4)
2973     TEST_FIELD_ALIGN (EXTLOGPEN, elpColor, 4)
2974     TEST_FIELD_OFFSET(EXTLOGPEN, elpColor, 12)
2975     TEST_FIELD_SIZE  (EXTLOGPEN, elpHatch, 4)
2976     TEST_FIELD_ALIGN (EXTLOGPEN, elpHatch, 4)
2977     TEST_FIELD_OFFSET(EXTLOGPEN, elpHatch, 16)
2978     TEST_FIELD_SIZE  (EXTLOGPEN, elpNumEntries, 4)
2979     TEST_FIELD_ALIGN (EXTLOGPEN, elpNumEntries, 4)
2980     TEST_FIELD_OFFSET(EXTLOGPEN, elpNumEntries, 20)
2981     TEST_FIELD_SIZE  (EXTLOGPEN, elpStyleEntry, 4)
2982     TEST_FIELD_ALIGN (EXTLOGPEN, elpStyleEntry, 4)
2983     TEST_FIELD_OFFSET(EXTLOGPEN, elpStyleEntry, 24)
2984 }
2985
2986 static void test_pack_FIXED(void)
2987 {
2988     /* FIXED (pack 4) */
2989     TEST_TYPE_SIZE   (FIXED, 4)
2990     TEST_TYPE_ALIGN  (FIXED, 2)
2991     TEST_FIELD_SIZE  (FIXED, fract, 2)
2992     TEST_FIELD_ALIGN (FIXED, fract, 2)
2993     TEST_FIELD_OFFSET(FIXED, fract, 0)
2994     TEST_FIELD_SIZE  (FIXED, value, 2)
2995     TEST_FIELD_ALIGN (FIXED, value, 2)
2996     TEST_FIELD_OFFSET(FIXED, value, 2)
2997 }
2998
2999 static void test_pack_FONTENUMPROCA(void)
3000 {
3001     /* FONTENUMPROCA */
3002     TEST_TYPE_SIZE   (FONTENUMPROCA, 4)
3003     TEST_TYPE_ALIGN  (FONTENUMPROCA, 4)
3004 }
3005
3006 static void test_pack_FONTENUMPROCW(void)
3007 {
3008     /* FONTENUMPROCW */
3009     TEST_TYPE_SIZE   (FONTENUMPROCW, 4)
3010     TEST_TYPE_ALIGN  (FONTENUMPROCW, 4)
3011 }
3012
3013 static void test_pack_FONTSIGNATURE(void)
3014 {
3015     /* FONTSIGNATURE (pack 4) */
3016     TEST_TYPE_SIZE   (FONTSIGNATURE, 24)
3017     TEST_TYPE_ALIGN  (FONTSIGNATURE, 4)
3018     TEST_FIELD_SIZE  (FONTSIGNATURE, fsUsb, 16)
3019     TEST_FIELD_ALIGN (FONTSIGNATURE, fsUsb, 4)
3020     TEST_FIELD_OFFSET(FONTSIGNATURE, fsUsb, 0)
3021     TEST_FIELD_SIZE  (FONTSIGNATURE, fsCsb, 8)
3022     TEST_FIELD_ALIGN (FONTSIGNATURE, fsCsb, 4)
3023     TEST_FIELD_OFFSET(FONTSIGNATURE, fsCsb, 16)
3024 }
3025
3026 static void test_pack_FXPT16DOT16(void)
3027 {
3028     /* FXPT16DOT16 */
3029     TEST_TYPE_SIZE   (FXPT16DOT16, 4)
3030     TEST_TYPE_ALIGN  (FXPT16DOT16, 4)
3031 }
3032
3033 static void test_pack_FXPT2DOT30(void)
3034 {
3035     /* FXPT2DOT30 */
3036     TEST_TYPE_SIZE   (FXPT2DOT30, 4)
3037     TEST_TYPE_ALIGN  (FXPT2DOT30, 4)
3038 }
3039
3040 static void test_pack_GCP_RESULTSA(void)
3041 {
3042     /* GCP_RESULTSA (pack 4) */
3043     TEST_TYPE_SIZE   (GCP_RESULTSA, 36)
3044     TEST_TYPE_ALIGN  (GCP_RESULTSA, 4)
3045     TEST_FIELD_SIZE  (GCP_RESULTSA, lStructSize, 4)
3046     TEST_FIELD_ALIGN (GCP_RESULTSA, lStructSize, 4)
3047     TEST_FIELD_OFFSET(GCP_RESULTSA, lStructSize, 0)
3048     TEST_FIELD_SIZE  (GCP_RESULTSA, lpOutString, 4)
3049     TEST_FIELD_ALIGN (GCP_RESULTSA, lpOutString, 4)
3050     TEST_FIELD_OFFSET(GCP_RESULTSA, lpOutString, 4)
3051     TEST_FIELD_SIZE  (GCP_RESULTSA, lpOrder, 4)
3052     TEST_FIELD_ALIGN (GCP_RESULTSA, lpOrder, 4)
3053     TEST_FIELD_OFFSET(GCP_RESULTSA, lpOrder, 8)
3054     TEST_FIELD_SIZE  (GCP_RESULTSA, lpDx, 4)
3055     TEST_FIELD_ALIGN (GCP_RESULTSA, lpDx, 4)
3056     TEST_FIELD_OFFSET(GCP_RESULTSA, lpDx, 12)
3057     TEST_FIELD_SIZE  (GCP_RESULTSA, lpCaretPos, 4)
3058     TEST_FIELD_ALIGN (GCP_RESULTSA, lpCaretPos, 4)
3059     TEST_FIELD_OFFSET(GCP_RESULTSA, lpCaretPos, 16)
3060     TEST_FIELD_SIZE  (GCP_RESULTSA, lpClass, 4)
3061     TEST_FIELD_ALIGN (GCP_RESULTSA, lpClass, 4)
3062     TEST_FIELD_OFFSET(GCP_RESULTSA, lpClass, 20)
3063     TEST_FIELD_SIZE  (GCP_RESULTSA, lpGlyphs, 4)
3064     TEST_FIELD_ALIGN (GCP_RESULTSA, lpGlyphs, 4)
3065     TEST_FIELD_OFFSET(GCP_RESULTSA, lpGlyphs, 24)
3066     TEST_FIELD_SIZE  (GCP_RESULTSA, nGlyphs, 4)
3067     TEST_FIELD_ALIGN (GCP_RESULTSA, nGlyphs, 4)
3068     TEST_FIELD_OFFSET(GCP_RESULTSA, nGlyphs, 28)
3069     TEST_FIELD_SIZE  (GCP_RESULTSA, nMaxFit, 4)
3070     TEST_FIELD_ALIGN (GCP_RESULTSA, nMaxFit, 4)
3071     TEST_FIELD_OFFSET(GCP_RESULTSA, nMaxFit, 32)
3072 }
3073
3074 static void test_pack_GCP_RESULTSW(void)
3075 {
3076     /* GCP_RESULTSW (pack 4) */
3077     TEST_TYPE_SIZE   (GCP_RESULTSW, 36)
3078     TEST_TYPE_ALIGN  (GCP_RESULTSW, 4)
3079     TEST_FIELD_SIZE  (GCP_RESULTSW, lStructSize, 4)
3080     TEST_FIELD_ALIGN (GCP_RESULTSW, lStructSize, 4)
3081     TEST_FIELD_OFFSET(GCP_RESULTSW, lStructSize, 0)
3082     TEST_FIELD_SIZE  (GCP_RESULTSW, lpOutString, 4)
3083     TEST_FIELD_ALIGN (GCP_RESULTSW, lpOutString, 4)
3084     TEST_FIELD_OFFSET(GCP_RESULTSW, lpOutString, 4)
3085     TEST_FIELD_SIZE  (GCP_RESULTSW, lpOrder, 4)
3086     TEST_FIELD_ALIGN (GCP_RESULTSW, lpOrder, 4)
3087     TEST_FIELD_OFFSET(GCP_RESULTSW, lpOrder, 8)
3088     TEST_FIELD_SIZE  (GCP_RESULTSW, lpDx, 4)
3089     TEST_FIELD_ALIGN (GCP_RESULTSW, lpDx, 4)
3090     TEST_FIELD_OFFSET(GCP_RESULTSW, lpDx, 12)
3091     TEST_FIELD_SIZE  (GCP_RESULTSW, lpCaretPos, 4)
3092     TEST_FIELD_ALIGN (GCP_RESULTSW, lpCaretPos, 4)
3093     TEST_FIELD_OFFSET(GCP_RESULTSW, lpCaretPos, 16)
3094     TEST_FIELD_SIZE  (GCP_RESULTSW, lpClass, 4)
3095     TEST_FIELD_ALIGN (GCP_RESULTSW, lpClass, 4)
3096     TEST_FIELD_OFFSET(GCP_RESULTSW, lpClass, 20)
3097     TEST_FIELD_SIZE  (GCP_RESULTSW, lpGlyphs, 4)
3098     TEST_FIELD_ALIGN (GCP_RESULTSW, lpGlyphs, 4)
3099     TEST_FIELD_OFFSET(GCP_RESULTSW, lpGlyphs, 24)
3100     TEST_FIELD_SIZE  (GCP_RESULTSW, nGlyphs, 4)
3101     TEST_FIELD_ALIGN (GCP_RESULTSW, nGlyphs, 4)
3102     TEST_FIELD_OFFSET(GCP_RESULTSW, nGlyphs, 28)
3103     TEST_FIELD_SIZE  (GCP_RESULTSW, nMaxFit, 4)
3104     TEST_FIELD_ALIGN (GCP_RESULTSW, nMaxFit, 4)
3105     TEST_FIELD_OFFSET(GCP_RESULTSW, nMaxFit, 32)
3106 }
3107
3108 static void test_pack_GLYPHMETRICS(void)
3109 {
3110     /* GLYPHMETRICS (pack 4) */
3111     TEST_TYPE_SIZE   (GLYPHMETRICS, 20)
3112     TEST_TYPE_ALIGN  (GLYPHMETRICS, 4)
3113     TEST_FIELD_SIZE  (GLYPHMETRICS, gmBlackBoxX, 4)
3114     TEST_FIELD_ALIGN (GLYPHMETRICS, gmBlackBoxX, 4)
3115     TEST_FIELD_OFFSET(GLYPHMETRICS, gmBlackBoxX, 0)
3116     TEST_FIELD_SIZE  (GLYPHMETRICS, gmBlackBoxY, 4)
3117     TEST_FIELD_ALIGN (GLYPHMETRICS, gmBlackBoxY, 4)
3118     TEST_FIELD_OFFSET(GLYPHMETRICS, gmBlackBoxY, 4)
3119     TEST_FIELD_SIZE  (GLYPHMETRICS, gmptGlyphOrigin, 8)
3120     TEST_FIELD_ALIGN (GLYPHMETRICS, gmptGlyphOrigin, 4)
3121     TEST_FIELD_OFFSET(GLYPHMETRICS, gmptGlyphOrigin, 8)
3122     TEST_FIELD_SIZE  (GLYPHMETRICS, gmCellIncX, 2)
3123     TEST_FIELD_ALIGN (GLYPHMETRICS, gmCellIncX, 2)
3124     TEST_FIELD_OFFSET(GLYPHMETRICS, gmCellIncX, 16)
3125     TEST_FIELD_SIZE  (GLYPHMETRICS, gmCellIncY, 2)
3126     TEST_FIELD_ALIGN (GLYPHMETRICS, gmCellIncY, 2)
3127     TEST_FIELD_OFFSET(GLYPHMETRICS, gmCellIncY, 18)
3128 }
3129
3130 static void test_pack_GLYPHMETRICSFLOAT(void)
3131 {
3132     /* GLYPHMETRICSFLOAT (pack 4) */
3133     TEST_TYPE_SIZE   (GLYPHMETRICSFLOAT, 24)
3134     TEST_TYPE_ALIGN  (GLYPHMETRICSFLOAT, 4)
3135     TEST_FIELD_SIZE  (GLYPHMETRICSFLOAT, gmfBlackBoxX, 4)
3136     TEST_FIELD_ALIGN (GLYPHMETRICSFLOAT, gmfBlackBoxX, 4)
3137     TEST_FIELD_OFFSET(GLYPHMETRICSFLOAT, gmfBlackBoxX, 0)
3138     TEST_FIELD_SIZE  (GLYPHMETRICSFLOAT, gmfBlackBoxY, 4)
3139     TEST_FIELD_ALIGN (GLYPHMETRICSFLOAT, gmfBlackBoxY, 4)
3140     TEST_FIELD_OFFSET(GLYPHMETRICSFLOAT, gmfBlackBoxY, 4)
3141     TEST_FIELD_SIZE  (GLYPHMETRICSFLOAT, gmfptGlyphOrigin, 8)
3142     TEST_FIELD_ALIGN (GLYPHMETRICSFLOAT, gmfptGlyphOrigin, 4)
3143     TEST_FIELD_OFFSET(GLYPHMETRICSFLOAT, gmfptGlyphOrigin, 8)
3144     TEST_FIELD_SIZE  (GLYPHMETRICSFLOAT, gmfCellIncX, 4)
3145     TEST_FIELD_ALIGN (GLYPHMETRICSFLOAT, gmfCellIncX, 4)
3146     TEST_FIELD_OFFSET(GLYPHMETRICSFLOAT, gmfCellIncX, 16)
3147     TEST_FIELD_SIZE  (GLYPHMETRICSFLOAT, gmfCellIncY, 4)
3148     TEST_FIELD_ALIGN (GLYPHMETRICSFLOAT, gmfCellIncY, 4)
3149     TEST_FIELD_OFFSET(GLYPHMETRICSFLOAT, gmfCellIncY, 20)
3150 }
3151
3152 static void test_pack_GOBJENUMPROC(void)
3153 {
3154     /* GOBJENUMPROC */
3155     TEST_TYPE_SIZE   (GOBJENUMPROC, 4)
3156     TEST_TYPE_ALIGN  (GOBJENUMPROC, 4)
3157 }
3158
3159 static void test_pack_GRADIENT_RECT(void)
3160 {
3161     /* GRADIENT_RECT (pack 4) */
3162     TEST_TYPE_SIZE   (GRADIENT_RECT, 8)
3163     TEST_TYPE_ALIGN  (GRADIENT_RECT, 4)
3164     TEST_FIELD_SIZE  (GRADIENT_RECT, UpperLeft, 4)
3165     TEST_FIELD_ALIGN (GRADIENT_RECT, UpperLeft, 4)
3166     TEST_FIELD_OFFSET(GRADIENT_RECT, UpperLeft, 0)
3167     TEST_FIELD_SIZE  (GRADIENT_RECT, LowerRight, 4)
3168     TEST_FIELD_ALIGN (GRADIENT_RECT, LowerRight, 4)
3169     TEST_FIELD_OFFSET(GRADIENT_RECT, LowerRight, 4)
3170 }
3171
3172 static void test_pack_GRADIENT_TRIANGLE(void)
3173 {
3174     /* GRADIENT_TRIANGLE (pack 4) */
3175     TEST_TYPE_SIZE   (GRADIENT_TRIANGLE, 12)
3176     TEST_TYPE_ALIGN  (GRADIENT_TRIANGLE, 4)
3177     TEST_FIELD_SIZE  (GRADIENT_TRIANGLE, Vertex1, 4)
3178     TEST_FIELD_ALIGN (GRADIENT_TRIANGLE, Vertex1, 4)
3179     TEST_FIELD_OFFSET(GRADIENT_TRIANGLE, Vertex1, 0)
3180     TEST_FIELD_SIZE  (GRADIENT_TRIANGLE, Vertex2, 4)
3181     TEST_FIELD_ALIGN (GRADIENT_TRIANGLE, Vertex2, 4)
3182     TEST_FIELD_OFFSET(GRADIENT_TRIANGLE, Vertex2, 4)
3183     TEST_FIELD_SIZE  (GRADIENT_TRIANGLE, Vertex3, 4)
3184     TEST_FIELD_ALIGN (GRADIENT_TRIANGLE, Vertex3, 4)
3185     TEST_FIELD_OFFSET(GRADIENT_TRIANGLE, Vertex3, 8)
3186 }
3187
3188 static void test_pack_HANDLETABLE(void)
3189 {
3190     /* HANDLETABLE (pack 4) */
3191     TEST_TYPE_SIZE   (HANDLETABLE, 4)
3192     TEST_TYPE_ALIGN  (HANDLETABLE, 4)
3193     TEST_FIELD_SIZE  (HANDLETABLE, objectHandle, 4)
3194     TEST_FIELD_ALIGN (HANDLETABLE, objectHandle, 4)
3195     TEST_FIELD_OFFSET(HANDLETABLE, objectHandle, 0)
3196 }
3197
3198 static void test_pack_ICMENUMPROCA(void)
3199 {
3200     /* ICMENUMPROCA */
3201     TEST_TYPE_SIZE   (ICMENUMPROCA, 4)
3202     TEST_TYPE_ALIGN  (ICMENUMPROCA, 4)
3203 }
3204
3205 static void test_pack_ICMENUMPROCW(void)
3206 {
3207     /* ICMENUMPROCW */
3208     TEST_TYPE_SIZE   (ICMENUMPROCW, 4)
3209     TEST_TYPE_ALIGN  (ICMENUMPROCW, 4)
3210 }
3211
3212 static void test_pack_KERNINGPAIR(void)
3213 {
3214     /* KERNINGPAIR (pack 4) */
3215     TEST_TYPE_SIZE   (KERNINGPAIR, 8)
3216     TEST_TYPE_ALIGN  (KERNINGPAIR, 4)
3217     TEST_FIELD_SIZE  (KERNINGPAIR, wFirst, 2)
3218     TEST_FIELD_ALIGN (KERNINGPAIR, wFirst, 2)
3219     TEST_FIELD_OFFSET(KERNINGPAIR, wFirst, 0)
3220     TEST_FIELD_SIZE  (KERNINGPAIR, wSecond, 2)
3221     TEST_FIELD_ALIGN (KERNINGPAIR, wSecond, 2)
3222     TEST_FIELD_OFFSET(KERNINGPAIR, wSecond, 2)
3223     TEST_FIELD_SIZE  (KERNINGPAIR, iKernAmount, 4)
3224     TEST_FIELD_ALIGN (KERNINGPAIR, iKernAmount, 4)
3225     TEST_FIELD_OFFSET(KERNINGPAIR, iKernAmount, 4)
3226 }
3227
3228 static void test_pack_LAYERPLANEDESCRIPTOR(void)
3229 {
3230     /* LAYERPLANEDESCRIPTOR (pack 4) */
3231     TEST_TYPE_SIZE   (LAYERPLANEDESCRIPTOR, 32)
3232     TEST_TYPE_ALIGN  (LAYERPLANEDESCRIPTOR, 4)
3233     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, nSize, 2)
3234     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, nSize, 2)
3235     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, nSize, 0)
3236     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, nVersion, 2)
3237     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, nVersion, 2)
3238     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, nVersion, 2)
3239     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, dwFlags, 4)
3240     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, dwFlags, 4)
3241     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, dwFlags, 4)
3242     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, iPixelType, 1)
3243     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, iPixelType, 1)
3244     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, iPixelType, 8)
3245     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cColorBits, 1)
3246     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cColorBits, 1)
3247     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cColorBits, 9)
3248     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cRedBits, 1)
3249     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cRedBits, 1)
3250     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cRedBits, 10)
3251     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cRedShift, 1)
3252     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cRedShift, 1)
3253     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cRedShift, 11)
3254     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cGreenBits, 1)
3255     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cGreenBits, 1)
3256     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cGreenBits, 12)
3257     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cGreenShift, 1)
3258     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cGreenShift, 1)
3259     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cGreenShift, 13)
3260     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cBlueBits, 1)
3261     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cBlueBits, 1)
3262     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cBlueBits, 14)
3263     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cBlueShift, 1)
3264     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cBlueShift, 1)
3265     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cBlueShift, 15)
3266     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cAlphaBits, 1)
3267     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cAlphaBits, 1)
3268     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cAlphaBits, 16)
3269     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cAlphaShift, 1)
3270     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cAlphaShift, 1)
3271     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cAlphaShift, 17)
3272     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cAccumBits, 1)
3273     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cAccumBits, 1)
3274     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cAccumBits, 18)
3275     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cAccumRedBits, 1)
3276     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cAccumRedBits, 1)
3277     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cAccumRedBits, 19)
3278     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cAccumGreenBits, 1)
3279     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cAccumGreenBits, 1)
3280     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cAccumGreenBits, 20)
3281     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cAccumBlueBits, 1)
3282     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cAccumBlueBits, 1)
3283     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cAccumBlueBits, 21)
3284     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cAccumAlphaBits, 1)
3285     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cAccumAlphaBits, 1)
3286     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cAccumAlphaBits, 22)
3287     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cDepthBits, 1)
3288     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cDepthBits, 1)
3289     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cDepthBits, 23)
3290     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cStencilBits, 1)
3291     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cStencilBits, 1)
3292     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cStencilBits, 24)
3293     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, cAuxBuffers, 1)
3294     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, cAuxBuffers, 1)
3295     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, cAuxBuffers, 25)
3296     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, iLayerPlane, 1)
3297     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, iLayerPlane, 1)
3298     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, iLayerPlane, 26)
3299     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, bReserved, 1)
3300     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, bReserved, 1)
3301     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, bReserved, 27)
3302     TEST_FIELD_SIZE  (LAYERPLANEDESCRIPTOR, crTransparent, 4)
3303     TEST_FIELD_ALIGN (LAYERPLANEDESCRIPTOR, crTransparent, 4)
3304     TEST_FIELD_OFFSET(LAYERPLANEDESCRIPTOR, crTransparent, 28)
3305 }
3306
3307 static void test_pack_LCSCSTYPE(void)
3308 {
3309     /* LCSCSTYPE */
3310     TEST_TYPE_SIZE   (LCSCSTYPE, 4)
3311     TEST_TYPE_ALIGN  (LCSCSTYPE, 4)
3312 }
3313
3314 static void test_pack_LCSGAMUTMATCH(void)
3315 {
3316     /* LCSGAMUTMATCH */
3317     TEST_TYPE_SIZE   (LCSGAMUTMATCH, 4)
3318     TEST_TYPE_ALIGN  (LCSGAMUTMATCH, 4)
3319 }
3320
3321 static void test_pack_LINEDDAPROC(void)
3322 {
3323     /* LINEDDAPROC */
3324     TEST_TYPE_SIZE   (LINEDDAPROC, 4)
3325     TEST_TYPE_ALIGN  (LINEDDAPROC, 4)
3326 }
3327
3328 static void test_pack_LOCALESIGNATURE(void)
3329 {
3330     /* LOCALESIGNATURE (pack 4) */
3331     TEST_TYPE_SIZE   (LOCALESIGNATURE, 32)
3332     TEST_TYPE_ALIGN  (LOCALESIGNATURE, 4)
3333     TEST_FIELD_SIZE  (LOCALESIGNATURE, lsUsb, 16)
3334     TEST_FIELD_ALIGN (LOCALESIGNATURE, lsUsb, 4)
3335     TEST_FIELD_OFFSET(LOCALESIGNATURE, lsUsb, 0)
3336     TEST_FIELD_SIZE  (LOCALESIGNATURE, lsCsbDefault, 8)
3337     TEST_FIELD_ALIGN (LOCALESIGNATURE, lsCsbDefault, 4)
3338     TEST_FIELD_OFFSET(LOCALESIGNATURE, lsCsbDefault, 16)
3339     TEST_FIELD_SIZE  (LOCALESIGNATURE, lsCsbSupported, 8)
3340     TEST_FIELD_ALIGN (LOCALESIGNATURE, lsCsbSupported, 4)
3341     TEST_FIELD_OFFSET(LOCALESIGNATURE, lsCsbSupported, 24)
3342 }
3343
3344 static void test_pack_LOGBRUSH(void)
3345 {
3346     /* LOGBRUSH (pack 4) */
3347     TEST_TYPE_SIZE   (LOGBRUSH, 12)
3348     TEST_TYPE_ALIGN  (LOGBRUSH, 4)
3349     TEST_FIELD_SIZE  (LOGBRUSH, lbStyle, 4)
3350     TEST_FIELD_ALIGN (LOGBRUSH, lbStyle, 4)
3351     TEST_FIELD_OFFSET(LOGBRUSH, lbStyle, 0)
3352     TEST_FIELD_SIZE  (LOGBRUSH, lbColor, 4)
3353     TEST_FIELD_ALIGN (LOGBRUSH, lbColor, 4)
3354     TEST_FIELD_OFFSET(LOGBRUSH, lbColor, 4)
3355     TEST_FIELD_SIZE  (LOGBRUSH, lbHatch, 4)
3356     TEST_FIELD_ALIGN (LOGBRUSH, lbHatch, 4)
3357     TEST_FIELD_OFFSET(LOGBRUSH, lbHatch, 8)
3358 }
3359
3360 static void test_pack_LOGCOLORSPACEA(void)
3361 {
3362     /* LOGCOLORSPACEA (pack 4) */
3363     TEST_TYPE_SIZE   (LOGCOLORSPACEA, 328)
3364     TEST_TYPE_ALIGN  (LOGCOLORSPACEA, 4)
3365     TEST_FIELD_SIZE  (LOGCOLORSPACEA, lcsSignature, 4)
3366     TEST_FIELD_ALIGN (LOGCOLORSPACEA, lcsSignature, 4)
3367     TEST_FIELD_OFFSET(LOGCOLORSPACEA, lcsSignature, 0)
3368     TEST_FIELD_SIZE  (LOGCOLORSPACEA, lcsVersion, 4)
3369     TEST_FIELD_ALIGN (LOGCOLORSPACEA, lcsVersion, 4)
3370     TEST_FIELD_OFFSET(LOGCOLORSPACEA, lcsVersion, 4)
3371     TEST_FIELD_SIZE  (LOGCOLORSPACEA, lcsSize, 4)
3372     TEST_FIELD_ALIGN (LOGCOLORSPACEA, lcsSize, 4)
3373     TEST_FIELD_OFFSET(LOGCOLORSPACEA, lcsSize, 8)
3374     TEST_FIELD_SIZE  (LOGCOLORSPACEA, lcsCSType, 4)
3375     TEST_FIELD_ALIGN (LOGCOLORSPACEA, lcsCSType, 4)
3376     TEST_FIELD_OFFSET(LOGCOLORSPACEA, lcsCSType, 12)
3377     TEST_FIELD_SIZE  (LOGCOLORSPACEA, lcsIntent, 4)
3378     TEST_FIELD_ALIGN (LOGCOLORSPACEA, lcsIntent, 4)
3379     TEST_FIELD_OFFSET(LOGCOLORSPACEA, lcsIntent, 16)
3380     TEST_FIELD_SIZE  (LOGCOLORSPACEA, lcsEndpoints, 36)
3381     TEST_FIELD_ALIGN (LOGCOLORSPACEA, lcsEndpoints, 4)
3382     TEST_FIELD_OFFSET(LOGCOLORSPACEA, lcsEndpoints, 20)
3383     TEST_FIELD_SIZE  (LOGCOLORSPACEA, lcsGammaRed, 4)
3384     TEST_FIELD_ALIGN (LOGCOLORSPACEA, lcsGammaRed, 4)
3385     TEST_FIELD_OFFSET(LOGCOLORSPACEA, lcsGammaRed, 56)
3386     TEST_FIELD_SIZE  (LOGCOLORSPACEA, lcsGammaGreen, 4)
3387     TEST_FIELD_ALIGN (LOGCOLORSPACEA, lcsGammaGreen, 4)
3388     TEST_FIELD_OFFSET(LOGCOLORSPACEA, lcsGammaGreen, 60)
3389     TEST_FIELD_SIZE  (LOGCOLORSPACEA, lcsGammaBlue, 4)
3390     TEST_FIELD_ALIGN (LOGCOLORSPACEA, lcsGammaBlue, 4)
3391     TEST_FIELD_OFFSET(LOGCOLORSPACEA, lcsGammaBlue, 64)
3392     TEST_FIELD_SIZE  (LOGCOLORSPACEA, lcsFilename, 260)
3393     TEST_FIELD_ALIGN (LOGCOLORSPACEA, lcsFilename, 1)
3394     TEST_FIELD_OFFSET(LOGCOLORSPACEA, lcsFilename, 68)
3395 }
3396
3397 static void test_pack_LOGCOLORSPACEW(void)
3398 {
3399     /* LOGCOLORSPACEW (pack 4) */
3400     TEST_TYPE_SIZE   (LOGCOLORSPACEW, 588)
3401     TEST_TYPE_ALIGN  (LOGCOLORSPACEW, 4)
3402     TEST_FIELD_SIZE  (LOGCOLORSPACEW, lcsSignature, 4)
3403     TEST_FIELD_ALIGN (LOGCOLORSPACEW, lcsSignature, 4)
3404     TEST_FIELD_OFFSET(LOGCOLORSPACEW, lcsSignature, 0)
3405     TEST_FIELD_SIZE  (LOGCOLORSPACEW, lcsVersion, 4)
3406     TEST_FIELD_ALIGN (LOGCOLORSPACEW, lcsVersion, 4)
3407     TEST_FIELD_OFFSET(LOGCOLORSPACEW, lcsVersion, 4)
3408     TEST_FIELD_SIZE  (LOGCOLORSPACEW, lcsSize, 4)
3409     TEST_FIELD_ALIGN (LOGCOLORSPACEW, lcsSize, 4)
3410     TEST_FIELD_OFFSET(LOGCOLORSPACEW, lcsSize, 8)
3411     TEST_FIELD_SIZE  (LOGCOLORSPACEW, lcsCSType, 4)
3412     TEST_FIELD_ALIGN (LOGCOLORSPACEW, lcsCSType, 4)
3413     TEST_FIELD_OFFSET(LOGCOLORSPACEW, lcsCSType, 12)
3414     TEST_FIELD_SIZE  (LOGCOLORSPACEW, lcsIntent, 4)
3415     TEST_FIELD_ALIGN (LOGCOLORSPACEW, lcsIntent, 4)
3416     TEST_FIELD_OFFSET(LOGCOLORSPACEW, lcsIntent, 16)
3417     TEST_FIELD_SIZE  (LOGCOLORSPACEW, lcsEndpoints, 36)
3418     TEST_FIELD_ALIGN (LOGCOLORSPACEW, lcsEndpoints, 4)
3419     TEST_FIELD_OFFSET(LOGCOLORSPACEW, lcsEndpoints, 20)
3420     TEST_FIELD_SIZE  (LOGCOLORSPACEW, lcsGammaRed, 4)
3421     TEST_FIELD_ALIGN (LOGCOLORSPACEW, lcsGammaRed, 4)
3422     TEST_FIELD_OFFSET(LOGCOLORSPACEW, lcsGammaRed, 56)
3423     TEST_FIELD_SIZE  (LOGCOLORSPACEW, lcsGammaGreen, 4)
3424     TEST_FIELD_ALIGN (LOGCOLORSPACEW, lcsGammaGreen, 4)
3425     TEST_FIELD_OFFSET(LOGCOLORSPACEW, lcsGammaGreen, 60)
3426     TEST_FIELD_SIZE  (LOGCOLORSPACEW, lcsGammaBlue, 4)
3427     TEST_FIELD_ALIGN (LOGCOLORSPACEW, lcsGammaBlue, 4)
3428     TEST_FIELD_OFFSET(LOGCOLORSPACEW, lcsGammaBlue, 64)
3429     TEST_FIELD_SIZE  (LOGCOLORSPACEW, lcsFilename, 520)
3430     TEST_FIELD_ALIGN (LOGCOLORSPACEW, lcsFilename, 2)
3431     TEST_FIELD_OFFSET(LOGCOLORSPACEW, lcsFilename, 68)
3432 }
3433
3434 static void test_pack_LOGFONTA(void)
3435 {
3436     /* LOGFONTA (pack 4) */
3437     TEST_TYPE_SIZE   (LOGFONTA, 60)
3438     TEST_TYPE_ALIGN  (LOGFONTA, 4)
3439     TEST_FIELD_SIZE  (LOGFONTA, lfHeight, 4)
3440     TEST_FIELD_ALIGN (LOGFONTA, lfHeight, 4)
3441     TEST_FIELD_OFFSET(LOGFONTA, lfHeight, 0)
3442     TEST_FIELD_SIZE  (LOGFONTA, lfWidth, 4)
3443     TEST_FIELD_ALIGN (LOGFONTA, lfWidth, 4)
3444     TEST_FIELD_OFFSET(LOGFONTA, lfWidth, 4)
3445     TEST_FIELD_SIZE  (LOGFONTA, lfEscapement, 4)
3446     TEST_FIELD_ALIGN (LOGFONTA, lfEscapement, 4)
3447     TEST_FIELD_OFFSET(LOGFONTA, lfEscapement, 8)
3448     TEST_FIELD_SIZE  (LOGFONTA, lfOrientation, 4)
3449     TEST_FIELD_ALIGN (LOGFONTA, lfOrientation, 4)
3450     TEST_FIELD_OFFSET(LOGFONTA, lfOrientation, 12)
3451     TEST_FIELD_SIZE  (LOGFONTA, lfWeight, 4)
3452     TEST_FIELD_ALIGN (LOGFONTA, lfWeight, 4)
3453     TEST_FIELD_OFFSET(LOGFONTA, lfWeight, 16)
3454     TEST_FIELD_SIZE  (LOGFONTA, lfItalic, 1)
3455     TEST_FIELD_ALIGN (LOGFONTA, lfItalic, 1)
3456     TEST_FIELD_OFFSET(LOGFONTA, lfItalic, 20)
3457     TEST_FIELD_SIZE  (LOGFONTA, lfUnderline, 1)
3458     TEST_FIELD_ALIGN (LOGFONTA, lfUnderline, 1)
3459     TEST_FIELD_OFFSET(LOGFONTA, lfUnderline, 21)
3460     TEST_FIELD_SIZE  (LOGFONTA, lfStrikeOut, 1)
3461     TEST_FIELD_ALIGN (LOGFONTA, lfStrikeOut, 1)
3462     TEST_FIELD_OFFSET(LOGFONTA, lfStrikeOut, 22)
3463     TEST_FIELD_SIZE  (LOGFONTA, lfCharSet, 1)
3464     TEST_FIELD_ALIGN (LOGFONTA, lfCharSet, 1)
3465     TEST_FIELD_OFFSET(LOGFONTA, lfCharSet, 23)
3466     TEST_FIELD_SIZE  (LOGFONTA, lfOutPrecision, 1)
3467     TEST_FIELD_ALIGN (LOGFONTA, lfOutPrecision, 1)
3468     TEST_FIELD_OFFSET(LOGFONTA, lfOutPrecision, 24)
3469     TEST_FIELD_SIZE  (LOGFONTA, lfClipPrecision, 1)
3470     TEST_FIELD_ALIGN (LOGFONTA, lfClipPrecision, 1)
3471     TEST_FIELD_OFFSET(LOGFONTA, lfClipPrecision, 25)
3472     TEST_FIELD_SIZE  (LOGFONTA, lfQuality, 1)
3473     TEST_FIELD_ALIGN (LOGFONTA, lfQuality, 1)
3474     TEST_FIELD_OFFSET(LOGFONTA, lfQuality, 26)
3475     TEST_FIELD_SIZE  (LOGFONTA, lfPitchAndFamily, 1)
3476     TEST_FIELD_ALIGN (LOGFONTA, lfPitchAndFamily, 1)
3477     TEST_FIELD_OFFSET(LOGFONTA, lfPitchAndFamily, 27)
3478     TEST_FIELD_SIZE  (LOGFONTA, lfFaceName, 32)
3479     TEST_FIELD_ALIGN (LOGFONTA, lfFaceName, 1)
3480     TEST_FIELD_OFFSET(LOGFONTA, lfFaceName, 28)
3481 }
3482
3483 static void test_pack_LOGFONTW(void)
3484 {
3485     /* LOGFONTW (pack 4) */
3486     TEST_TYPE_SIZE   (LOGFONTW, 92)
3487     TEST_TYPE_ALIGN  (LOGFONTW, 4)
3488     TEST_FIELD_SIZE  (LOGFONTW, lfHeight, 4)
3489     TEST_FIELD_ALIGN (LOGFONTW, lfHeight, 4)
3490     TEST_FIELD_OFFSET(LOGFONTW, lfHeight, 0)
3491     TEST_FIELD_SIZE  (LOGFONTW, lfWidth, 4)
3492     TEST_FIELD_ALIGN (LOGFONTW, lfWidth, 4)
3493     TEST_FIELD_OFFSET(LOGFONTW, lfWidth, 4)
3494     TEST_FIELD_SIZE  (LOGFONTW, lfEscapement, 4)
3495     TEST_FIELD_ALIGN (LOGFONTW, lfEscapement, 4)
3496     TEST_FIELD_OFFSET(LOGFONTW, lfEscapement, 8)
3497     TEST_FIELD_SIZE  (LOGFONTW, lfOrientation, 4)
3498     TEST_FIELD_ALIGN (LOGFONTW, lfOrientation, 4)
3499     TEST_FIELD_OFFSET(LOGFONTW, lfOrientation, 12)
3500     TEST_FIELD_SIZE  (LOGFONTW, lfWeight, 4)
3501     TEST_FIELD_ALIGN (LOGFONTW, lfWeight, 4)
3502     TEST_FIELD_OFFSET(LOGFONTW, lfWeight, 16)
3503     TEST_FIELD_SIZE  (LOGFONTW, lfItalic, 1)
3504     TEST_FIELD_ALIGN (LOGFONTW, lfItalic, 1)
3505     TEST_FIELD_OFFSET(LOGFONTW, lfItalic, 20)
3506     TEST_FIELD_SIZE  (LOGFONTW, lfUnderline, 1)
3507     TEST_FIELD_ALIGN (LOGFONTW, lfUnderline, 1)
3508     TEST_FIELD_OFFSET(LOGFONTW, lfUnderline, 21)
3509     TEST_FIELD_SIZE  (LOGFONTW, lfStrikeOut, 1)
3510     TEST_FIELD_ALIGN (LOGFONTW, lfStrikeOut, 1)
3511     TEST_FIELD_OFFSET(LOGFONTW, lfStrikeOut, 22)
3512     TEST_FIELD_SIZE  (LOGFONTW, lfCharSet, 1)
3513     TEST_FIELD_ALIGN (LOGFONTW, lfCharSet, 1)
3514     TEST_FIELD_OFFSET(LOGFONTW, lfCharSet, 23)
3515     TEST_FIELD_SIZE  (LOGFONTW, lfOutPrecision, 1)
3516     TEST_FIELD_ALIGN (LOGFONTW, lfOutPrecision, 1)
3517     TEST_FIELD_OFFSET(LOGFONTW, lfOutPrecision, 24)
3518     TEST_FIELD_SIZE  (LOGFONTW, lfClipPrecision, 1)
3519     TEST_FIELD_ALIGN (LOGFONTW, lfClipPrecision, 1)
3520     TEST_FIELD_OFFSET(LOGFONTW, lfClipPrecision, 25)
3521     TEST_FIELD_SIZE  (LOGFONTW, lfQuality, 1)
3522     TEST_FIELD_ALIGN (LOGFONTW, lfQuality, 1)
3523     TEST_FIELD_OFFSET(LOGFONTW, lfQuality, 26)
3524     TEST_FIELD_SIZE  (LOGFONTW, lfPitchAndFamily, 1)
3525     TEST_FIELD_ALIGN (LOGFONTW, lfPitchAndFamily, 1)
3526     TEST_FIELD_OFFSET(LOGFONTW, lfPitchAndFamily, 27)
3527     TEST_FIELD_SIZE  (LOGFONTW, lfFaceName, 64)
3528     TEST_FIELD_ALIGN (LOGFONTW, lfFaceName, 2)
3529     TEST_FIELD_OFFSET(LOGFONTW, lfFaceName, 28)
3530 }
3531
3532 static void test_pack_LOGPEN(void)
3533 {
3534     /* LOGPEN (pack 4) */
3535     TEST_TYPE_SIZE   (LOGPEN, 16)
3536     TEST_TYPE_ALIGN  (LOGPEN, 4)
3537     TEST_FIELD_SIZE  (LOGPEN, lopnStyle, 4)
3538     TEST_FIELD_ALIGN (LOGPEN, lopnStyle, 4)
3539     TEST_FIELD_OFFSET(LOGPEN, lopnStyle, 0)
3540     TEST_FIELD_SIZE  (LOGPEN, lopnWidth, 8)
3541     TEST_FIELD_ALIGN (LOGPEN, lopnWidth, 4)
3542     TEST_FIELD_OFFSET(LOGPEN, lopnWidth, 4)
3543     TEST_FIELD_SIZE  (LOGPEN, lopnColor, 4)
3544     TEST_FIELD_ALIGN (LOGPEN, lopnColor, 4)
3545     TEST_FIELD_OFFSET(LOGPEN, lopnColor, 12)
3546 }
3547
3548 static void test_pack_LPABC(void)
3549 {
3550     /* LPABC */
3551     TEST_TYPE_SIZE   (LPABC, 4)
3552     TEST_TYPE_ALIGN  (LPABC, 4)
3553     TEST_TARGET_SIZE (LPABC, 12)
3554     TEST_TARGET_ALIGN(LPABC, 4)
3555 }
3556
3557 static void test_pack_LPABCFLOAT(void)
3558 {
3559     /* LPABCFLOAT */
3560     TEST_TYPE_SIZE   (LPABCFLOAT, 4)
3561     TEST_TYPE_ALIGN  (LPABCFLOAT, 4)
3562     TEST_TARGET_SIZE (LPABCFLOAT, 12)
3563     TEST_TARGET_ALIGN(LPABCFLOAT, 4)
3564 }
3565
3566 static void test_pack_LPBITMAP(void)
3567 {
3568     /* LPBITMAP */
3569     TEST_TYPE_SIZE   (LPBITMAP, 4)
3570     TEST_TYPE_ALIGN  (LPBITMAP, 4)
3571     TEST_TARGET_SIZE (LPBITMAP, 24)
3572     TEST_TARGET_ALIGN(LPBITMAP, 4)
3573 }
3574
3575 static void test_pack_LPBITMAPCOREHEADER(void)
3576 {
3577     /* LPBITMAPCOREHEADER */
3578     TEST_TYPE_SIZE   (LPBITMAPCOREHEADER, 4)
3579     TEST_TYPE_ALIGN  (LPBITMAPCOREHEADER, 4)
3580     TEST_TARGET_SIZE (LPBITMAPCOREHEADER, 12)
3581     TEST_TARGET_ALIGN(LPBITMAPCOREHEADER, 4)
3582 }
3583
3584 static void test_pack_LPBITMAPCOREINFO(void)
3585 {
3586     /* LPBITMAPCOREINFO */
3587     TEST_TYPE_SIZE   (LPBITMAPCOREINFO, 4)
3588     TEST_TYPE_ALIGN  (LPBITMAPCOREINFO, 4)
3589     TEST_TARGET_SIZE (LPBITMAPCOREINFO, 16)
3590     TEST_TARGET_ALIGN(LPBITMAPCOREINFO, 4)
3591 }
3592
3593 static void test_pack_LPBITMAPFILEHEADER(void)
3594 {
3595     /* LPBITMAPFILEHEADER */
3596     TEST_TYPE_SIZE   (LPBITMAPFILEHEADER, 4)
3597     TEST_TYPE_ALIGN  (LPBITMAPFILEHEADER, 4)
3598     TEST_TARGET_SIZE (LPBITMAPFILEHEADER, 14)
3599     TEST_TARGET_ALIGN(LPBITMAPFILEHEADER, 2)
3600 }
3601
3602 static void test_pack_LPBITMAPINFO(void)
3603 {
3604     /* LPBITMAPINFO */
3605     TEST_TYPE_SIZE   (LPBITMAPINFO, 4)
3606     TEST_TYPE_ALIGN  (LPBITMAPINFO, 4)
3607     TEST_TARGET_SIZE (LPBITMAPINFO, 44)
3608     TEST_TARGET_ALIGN(LPBITMAPINFO, 4)
3609 }
3610
3611 static void test_pack_LPBITMAPINFOHEADER(void)
3612 {
3613     /* LPBITMAPINFOHEADER */
3614     TEST_TYPE_SIZE   (LPBITMAPINFOHEADER, 4)
3615     TEST_TYPE_ALIGN  (LPBITMAPINFOHEADER, 4)
3616     TEST_TARGET_SIZE (LPBITMAPINFOHEADER, 40)
3617     TEST_TARGET_ALIGN(LPBITMAPINFOHEADER, 4)
3618 }
3619
3620 static void test_pack_LPBITMAPV5HEADER(void)
3621 {
3622     /* LPBITMAPV5HEADER */
3623     TEST_TYPE_SIZE   (LPBITMAPV5HEADER, 4)
3624     TEST_TYPE_ALIGN  (LPBITMAPV5HEADER, 4)
3625     TEST_TARGET_SIZE (LPBITMAPV5HEADER, 124)
3626     TEST_TARGET_ALIGN(LPBITMAPV5HEADER, 4)
3627 }
3628
3629 static void test_pack_LPCHARSETINFO(void)
3630 {
3631     /* LPCHARSETINFO */
3632     TEST_TYPE_SIZE   (LPCHARSETINFO, 4)
3633     TEST_TYPE_ALIGN  (LPCHARSETINFO, 4)
3634     TEST_TARGET_SIZE (LPCHARSETINFO, 32)
3635     TEST_TARGET_ALIGN(LPCHARSETINFO, 4)
3636 }
3637
3638 static void test_pack_LPCIEXYZ(void)
3639 {
3640     /* LPCIEXYZ */
3641     TEST_TYPE_SIZE   (LPCIEXYZ, 4)
3642     TEST_TYPE_ALIGN  (LPCIEXYZ, 4)
3643     TEST_TARGET_SIZE (LPCIEXYZ, 12)
3644     TEST_TARGET_ALIGN(LPCIEXYZ, 4)
3645 }
3646
3647 static void test_pack_LPCIEXYZTRIPLE(void)
3648 {
3649     /* LPCIEXYZTRIPLE */
3650     TEST_TYPE_SIZE   (LPCIEXYZTRIPLE, 4)
3651     TEST_TYPE_ALIGN  (LPCIEXYZTRIPLE, 4)
3652     TEST_TARGET_SIZE (LPCIEXYZTRIPLE, 36)
3653     TEST_TARGET_ALIGN(LPCIEXYZTRIPLE, 4)
3654 }
3655
3656 static void test_pack_LPCOLORADJUSTMENT(void)
3657 {
3658     /* LPCOLORADJUSTMENT */
3659     TEST_TYPE_SIZE   (LPCOLORADJUSTMENT, 4)
3660     TEST_TYPE_ALIGN  (LPCOLORADJUSTMENT, 4)
3661     TEST_TARGET_SIZE (LPCOLORADJUSTMENT, 24)
3662     TEST_TARGET_ALIGN(LPCOLORADJUSTMENT, 2)
3663 }
3664
3665 static void test_pack_LPDEVMODEA(void)
3666 {
3667     /* LPDEVMODEA */
3668     TEST_TYPE_SIZE   (LPDEVMODEA, 4)
3669     TEST_TYPE_ALIGN  (LPDEVMODEA, 4)
3670 }
3671
3672 static void test_pack_LPDEVMODEW(void)
3673 {
3674     /* LPDEVMODEW */
3675     TEST_TYPE_SIZE   (LPDEVMODEW, 4)
3676     TEST_TYPE_ALIGN  (LPDEVMODEW, 4)
3677 }
3678
3679 static void test_pack_LPDIBSECTION(void)
3680 {
3681     /* LPDIBSECTION */
3682     TEST_TYPE_SIZE   (LPDIBSECTION, 4)
3683     TEST_TYPE_ALIGN  (LPDIBSECTION, 4)
3684     TEST_TARGET_SIZE (LPDIBSECTION, 84)
3685     TEST_TARGET_ALIGN(LPDIBSECTION, 4)
3686 }
3687
3688 static void test_pack_LPDISPLAY_DEVICEA(void)
3689 {
3690     /* LPDISPLAY_DEVICEA */
3691     TEST_TYPE_SIZE   (LPDISPLAY_DEVICEA, 4)
3692     TEST_TYPE_ALIGN  (LPDISPLAY_DEVICEA, 4)
3693     TEST_TARGET_SIZE (LPDISPLAY_DEVICEA, 424)
3694     TEST_TARGET_ALIGN(LPDISPLAY_DEVICEA, 4)
3695 }
3696
3697 static void test_pack_LPDISPLAY_DEVICEW(void)
3698 {
3699     /* LPDISPLAY_DEVICEW */
3700     TEST_TYPE_SIZE   (LPDISPLAY_DEVICEW, 4)
3701     TEST_TYPE_ALIGN  (LPDISPLAY_DEVICEW, 4)
3702     TEST_TARGET_SIZE (LPDISPLAY_DEVICEW, 840)
3703     TEST_TARGET_ALIGN(LPDISPLAY_DEVICEW, 4)
3704 }
3705
3706 static void test_pack_LPDOCINFOA(void)
3707 {
3708     /* LPDOCINFOA */
3709     TEST_TYPE_SIZE   (LPDOCINFOA, 4)
3710     TEST_TYPE_ALIGN  (LPDOCINFOA, 4)
3711     TEST_TARGET_SIZE (LPDOCINFOA, 20)
3712     TEST_TARGET_ALIGN(LPDOCINFOA, 4)
3713 }
3714
3715 static void test_pack_LPDOCINFOW(void)
3716 {
3717     /* LPDOCINFOW */
3718     TEST_TYPE_SIZE   (LPDOCINFOW, 4)
3719     TEST_TYPE_ALIGN  (LPDOCINFOW, 4)
3720     TEST_TARGET_SIZE (LPDOCINFOW, 20)
3721     TEST_TARGET_ALIGN(LPDOCINFOW, 4)
3722 }
3723
3724 static void test_pack_LPENHMETAHEADER(void)
3725 {
3726     /* LPENHMETAHEADER */
3727     TEST_TYPE_SIZE   (LPENHMETAHEADER, 4)
3728     TEST_TYPE_ALIGN  (LPENHMETAHEADER, 4)
3729     TEST_TARGET_SIZE (LPENHMETAHEADER, 108)
3730     TEST_TARGET_ALIGN(LPENHMETAHEADER, 4)
3731 }
3732
3733 static void test_pack_LPENHMETARECORD(void)
3734 {
3735     /* LPENHMETARECORD */
3736     TEST_TYPE_SIZE   (LPENHMETARECORD, 4)
3737     TEST_TYPE_ALIGN  (LPENHMETARECORD, 4)
3738     TEST_TARGET_SIZE (LPENHMETARECORD, 12)
3739     TEST_TARGET_ALIGN(LPENHMETARECORD, 4)
3740 }
3741
3742 static void test_pack_LPENUMLOGFONTA(void)
3743 {
3744     /* LPENUMLOGFONTA */
3745     TEST_TYPE_SIZE   (LPENUMLOGFONTA, 4)
3746     TEST_TYPE_ALIGN  (LPENUMLOGFONTA, 4)
3747     TEST_TARGET_SIZE (LPENUMLOGFONTA, 156)
3748     TEST_TARGET_ALIGN(LPENUMLOGFONTA, 4)
3749 }
3750
3751 static void test_pack_LPENUMLOGFONTEXA(void)
3752 {
3753     /* LPENUMLOGFONTEXA */
3754     TEST_TYPE_SIZE   (LPENUMLOGFONTEXA, 4)
3755     TEST_TYPE_ALIGN  (LPENUMLOGFONTEXA, 4)
3756     TEST_TARGET_SIZE (LPENUMLOGFONTEXA, 188)
3757     TEST_TARGET_ALIGN(LPENUMLOGFONTEXA, 4)
3758 }
3759
3760 static void test_pack_LPENUMLOGFONTEXW(void)
3761 {
3762     /* LPENUMLOGFONTEXW */
3763     TEST_TYPE_SIZE   (LPENUMLOGFONTEXW, 4)
3764     TEST_TYPE_ALIGN  (LPENUMLOGFONTEXW, 4)
3765     TEST_TARGET_SIZE (LPENUMLOGFONTEXW, 348)
3766     TEST_TARGET_ALIGN(LPENUMLOGFONTEXW, 4)
3767 }
3768
3769 static void test_pack_LPENUMLOGFONTW(void)
3770 {
3771     /* LPENUMLOGFONTW */
3772     TEST_TYPE_SIZE   (LPENUMLOGFONTW, 4)
3773     TEST_TYPE_ALIGN  (LPENUMLOGFONTW, 4)
3774     TEST_TARGET_SIZE (LPENUMLOGFONTW, 284)
3775     TEST_TARGET_ALIGN(LPENUMLOGFONTW, 4)
3776 }
3777
3778 static void test_pack_LPEXTLOGFONTA(void)
3779 {
3780     /* LPEXTLOGFONTA */
3781     TEST_TYPE_SIZE   (LPEXTLOGFONTA, 4)
3782     TEST_TYPE_ALIGN  (LPEXTLOGFONTA, 4)
3783     TEST_TARGET_SIZE (LPEXTLOGFONTA, 192)
3784     TEST_TARGET_ALIGN(LPEXTLOGFONTA, 4)
3785 }
3786
3787 static void test_pack_LPEXTLOGFONTW(void)
3788 {
3789     /* LPEXTLOGFONTW */
3790     TEST_TYPE_SIZE   (LPEXTLOGFONTW, 4)
3791     TEST_TYPE_ALIGN  (LPEXTLOGFONTW, 4)
3792     TEST_TARGET_SIZE (LPEXTLOGFONTW, 320)
3793     TEST_TARGET_ALIGN(LPEXTLOGFONTW, 4)
3794 }
3795
3796 static void test_pack_LPEXTLOGPEN(void)
3797 {
3798     /* LPEXTLOGPEN */
3799     TEST_TYPE_SIZE   (LPEXTLOGPEN, 4)
3800     TEST_TYPE_ALIGN  (LPEXTLOGPEN, 4)
3801     TEST_TARGET_SIZE (LPEXTLOGPEN, 28)
3802     TEST_TARGET_ALIGN(LPEXTLOGPEN, 4)
3803 }
3804
3805 static void test_pack_LPFONTSIGNATURE(void)
3806 {
3807     /* LPFONTSIGNATURE */
3808     TEST_TYPE_SIZE   (LPFONTSIGNATURE, 4)
3809     TEST_TYPE_ALIGN  (LPFONTSIGNATURE, 4)
3810     TEST_TARGET_SIZE (LPFONTSIGNATURE, 24)
3811     TEST_TARGET_ALIGN(LPFONTSIGNATURE, 4)
3812 }
3813
3814 static void test_pack_LPGCP_RESULTSA(void)
3815 {
3816     /* LPGCP_RESULTSA */
3817     TEST_TYPE_SIZE   (LPGCP_RESULTSA, 4)
3818     TEST_TYPE_ALIGN  (LPGCP_RESULTSA, 4)
3819     TEST_TARGET_SIZE (LPGCP_RESULTSA, 36)
3820     TEST_TARGET_ALIGN(LPGCP_RESULTSA, 4)
3821 }
3822
3823 static void test_pack_LPGCP_RESULTSW(void)
3824 {
3825     /* LPGCP_RESULTSW */
3826     TEST_TYPE_SIZE   (LPGCP_RESULTSW, 4)
3827     TEST_TYPE_ALIGN  (LPGCP_RESULTSW, 4)
3828     TEST_TARGET_SIZE (LPGCP_RESULTSW, 36)
3829     TEST_TARGET_ALIGN(LPGCP_RESULTSW, 4)
3830 }
3831
3832 static void test_pack_LPGLYPHMETRICS(void)
3833 {
3834     /* LPGLYPHMETRICS */
3835     TEST_TYPE_SIZE   (LPGLYPHMETRICS, 4)
3836     TEST_TYPE_ALIGN  (LPGLYPHMETRICS, 4)
3837     TEST_TARGET_SIZE (LPGLYPHMETRICS, 20)
3838     TEST_TARGET_ALIGN(LPGLYPHMETRICS, 4)
3839 }
3840
3841 static void test_pack_LPGLYPHMETRICSFLOAT(void)
3842 {
3843     /* LPGLYPHMETRICSFLOAT */
3844     TEST_TYPE_SIZE   (LPGLYPHMETRICSFLOAT, 4)
3845     TEST_TYPE_ALIGN  (LPGLYPHMETRICSFLOAT, 4)
3846     TEST_TARGET_SIZE (LPGLYPHMETRICSFLOAT, 24)
3847     TEST_TARGET_ALIGN(LPGLYPHMETRICSFLOAT, 4)
3848 }
3849
3850 static void test_pack_LPGRADIENT_RECT(void)
3851 {
3852     /* LPGRADIENT_RECT */
3853     TEST_TYPE_SIZE   (LPGRADIENT_RECT, 4)
3854     TEST_TYPE_ALIGN  (LPGRADIENT_RECT, 4)
3855     TEST_TARGET_SIZE (LPGRADIENT_RECT, 8)
3856     TEST_TARGET_ALIGN(LPGRADIENT_RECT, 4)
3857 }
3858
3859 static void test_pack_LPGRADIENT_TRIANGLE(void)
3860 {
3861     /* LPGRADIENT_TRIANGLE */
3862     TEST_TYPE_SIZE   (LPGRADIENT_TRIANGLE, 4)
3863     TEST_TYPE_ALIGN  (LPGRADIENT_TRIANGLE, 4)
3864     TEST_TARGET_SIZE (LPGRADIENT_TRIANGLE, 12)
3865     TEST_TARGET_ALIGN(LPGRADIENT_TRIANGLE, 4)
3866 }
3867
3868 static void test_pack_LPHANDLETABLE(void)
3869 {
3870     /* LPHANDLETABLE */
3871     TEST_TYPE_SIZE   (LPHANDLETABLE, 4)
3872     TEST_TYPE_ALIGN  (LPHANDLETABLE, 4)
3873     TEST_TARGET_SIZE (LPHANDLETABLE, 4)
3874     TEST_TARGET_ALIGN(LPHANDLETABLE, 4)
3875 }
3876
3877 static void test_pack_LPKERNINGPAIR(void)
3878 {
3879     /* LPKERNINGPAIR */
3880     TEST_TYPE_SIZE   (LPKERNINGPAIR, 4)
3881     TEST_TYPE_ALIGN  (LPKERNINGPAIR, 4)
3882     TEST_TARGET_SIZE (LPKERNINGPAIR, 8)
3883     TEST_TARGET_ALIGN(LPKERNINGPAIR, 4)
3884 }
3885
3886 static void test_pack_LPLAYERPLANEDESCRIPTOR(void)
3887 {
3888     /* LPLAYERPLANEDESCRIPTOR */
3889     TEST_TYPE_SIZE   (LPLAYERPLANEDESCRIPTOR, 4)
3890     TEST_TYPE_ALIGN  (LPLAYERPLANEDESCRIPTOR, 4)
3891     TEST_TARGET_SIZE (LPLAYERPLANEDESCRIPTOR, 32)
3892     TEST_TARGET_ALIGN(LPLAYERPLANEDESCRIPTOR, 4)
3893 }
3894
3895 static void test_pack_LPLOCALESIGNATURE(void)
3896 {
3897     /* LPLOCALESIGNATURE */
3898     TEST_TYPE_SIZE   (LPLOCALESIGNATURE, 4)
3899     TEST_TYPE_ALIGN  (LPLOCALESIGNATURE, 4)
3900     TEST_TARGET_SIZE (LPLOCALESIGNATURE, 32)
3901     TEST_TARGET_ALIGN(LPLOCALESIGNATURE, 4)
3902 }
3903
3904 static void test_pack_LPLOGBRUSH(void)
3905 {
3906     /* LPLOGBRUSH */
3907     TEST_TYPE_SIZE   (LPLOGBRUSH, 4)
3908     TEST_TYPE_ALIGN  (LPLOGBRUSH, 4)
3909     TEST_TARGET_SIZE (LPLOGBRUSH, 12)
3910     TEST_TARGET_ALIGN(LPLOGBRUSH, 4)
3911 }
3912
3913 static void test_pack_LPLOGCOLORSPACEA(void)
3914 {
3915     /* LPLOGCOLORSPACEA */
3916     TEST_TYPE_SIZE   (LPLOGCOLORSPACEA, 4)
3917     TEST_TYPE_ALIGN  (LPLOGCOLORSPACEA, 4)
3918     TEST_TARGET_SIZE (LPLOGCOLORSPACEA, 328)
3919     TEST_TARGET_ALIGN(LPLOGCOLORSPACEA, 4)
3920 }
3921
3922 static void test_pack_LPLOGCOLORSPACEW(void)
3923 {
3924     /* LPLOGCOLORSPACEW */
3925     TEST_TYPE_SIZE   (LPLOGCOLORSPACEW, 4)
3926     TEST_TYPE_ALIGN  (LPLOGCOLORSPACEW, 4)
3927     TEST_TARGET_SIZE (LPLOGCOLORSPACEW, 588)
3928     TEST_TARGET_ALIGN(LPLOGCOLORSPACEW, 4)
3929 }
3930
3931 static void test_pack_LPLOGFONTA(void)
3932 {
3933     /* LPLOGFONTA */
3934     TEST_TYPE_SIZE   (LPLOGFONTA, 4)
3935     TEST_TYPE_ALIGN  (LPLOGFONTA, 4)
3936     TEST_TARGET_SIZE (LPLOGFONTA, 60)
3937     TEST_TARGET_ALIGN(LPLOGFONTA, 4)
3938 }
3939
3940 static void test_pack_LPLOGFONTW(void)
3941 {
3942     /* LPLOGFONTW */
3943     TEST_TYPE_SIZE   (LPLOGFONTW, 4)
3944     TEST_TYPE_ALIGN  (LPLOGFONTW, 4)
3945     TEST_TARGET_SIZE (LPLOGFONTW, 92)
3946     TEST_TARGET_ALIGN(LPLOGFONTW, 4)
3947 }
3948
3949 static void test_pack_LPLOGPEN(void)
3950 {
3951     /* LPLOGPEN */
3952     TEST_TYPE_SIZE   (LPLOGPEN, 4)
3953     TEST_TYPE_ALIGN  (LPLOGPEN, 4)
3954     TEST_TARGET_SIZE (LPLOGPEN, 16)
3955     TEST_TARGET_ALIGN(LPLOGPEN, 4)
3956 }
3957
3958 static void test_pack_LPMAT2(void)
3959 {
3960     /* LPMAT2 */
3961     TEST_TYPE_SIZE   (LPMAT2, 4)
3962     TEST_TYPE_ALIGN  (LPMAT2, 4)
3963     TEST_TARGET_SIZE (LPMAT2, 16)
3964     TEST_TARGET_ALIGN(LPMAT2, 2)
3965 }
3966
3967 static void test_pack_LPMETAFILEPICT(void)
3968 {
3969     /* LPMETAFILEPICT */
3970     TEST_TYPE_SIZE   (LPMETAFILEPICT, 4)
3971     TEST_TYPE_ALIGN  (LPMETAFILEPICT, 4)
3972     TEST_TARGET_SIZE (LPMETAFILEPICT, 16)
3973     TEST_TARGET_ALIGN(LPMETAFILEPICT, 4)
3974 }
3975
3976 static void test_pack_LPMETAHEADER(void)
3977 {
3978     /* LPMETAHEADER */
3979     TEST_TYPE_SIZE   (LPMETAHEADER, 4)
3980     TEST_TYPE_ALIGN  (LPMETAHEADER, 4)
3981     TEST_TARGET_SIZE (LPMETAHEADER, 18)
3982     TEST_TARGET_ALIGN(LPMETAHEADER, 2)
3983 }
3984
3985 static void test_pack_LPMETARECORD(void)
3986 {
3987     /* LPMETARECORD */
3988     TEST_TYPE_SIZE   (LPMETARECORD, 4)
3989     TEST_TYPE_ALIGN  (LPMETARECORD, 4)
3990     TEST_TARGET_SIZE (LPMETARECORD, 8)
3991     TEST_TARGET_ALIGN(LPMETARECORD, 4)
3992 }
3993
3994 static void test_pack_LPNEWTEXTMETRICA(void)
3995 {
3996     /* LPNEWTEXTMETRICA */
3997     TEST_TYPE_SIZE   (LPNEWTEXTMETRICA, 4)
3998     TEST_TYPE_ALIGN  (LPNEWTEXTMETRICA, 4)
3999     TEST_TARGET_SIZE (LPNEWTEXTMETRICA, 72)
4000     TEST_TARGET_ALIGN(LPNEWTEXTMETRICA, 4)
4001 }
4002
4003 static void test_pack_LPNEWTEXTMETRICW(void)
4004 {
4005     /* LPNEWTEXTMETRICW */
4006     TEST_TYPE_SIZE   (LPNEWTEXTMETRICW, 4)
4007     TEST_TYPE_ALIGN  (LPNEWTEXTMETRICW, 4)
4008     TEST_TARGET_SIZE (LPNEWTEXTMETRICW, 76)
4009     TEST_TARGET_ALIGN(LPNEWTEXTMETRICW, 4)
4010 }
4011
4012 static void test_pack_LPOUTLINETEXTMETRICA(void)
4013 {
4014     /* LPOUTLINETEXTMETRICA */
4015     TEST_TYPE_SIZE   (LPOUTLINETEXTMETRICA, 4)
4016     TEST_TYPE_ALIGN  (LPOUTLINETEXTMETRICA, 4)
4017     TEST_TARGET_SIZE (LPOUTLINETEXTMETRICA, 212)
4018     TEST_TARGET_ALIGN(LPOUTLINETEXTMETRICA, 4)
4019 }
4020
4021 static void test_pack_LPOUTLINETEXTMETRICW(void)
4022 {
4023     /* LPOUTLINETEXTMETRICW */
4024     TEST_TYPE_SIZE   (LPOUTLINETEXTMETRICW, 4)
4025     TEST_TYPE_ALIGN  (LPOUTLINETEXTMETRICW, 4)
4026     TEST_TARGET_SIZE (LPOUTLINETEXTMETRICW, 216)
4027     TEST_TARGET_ALIGN(LPOUTLINETEXTMETRICW, 4)
4028 }
4029
4030 static void test_pack_LPPANOSE(void)
4031 {
4032     /* LPPANOSE */
4033     TEST_TYPE_SIZE   (LPPANOSE, 4)
4034     TEST_TYPE_ALIGN  (LPPANOSE, 4)
4035     TEST_TARGET_SIZE (LPPANOSE, 10)
4036     TEST_TARGET_ALIGN(LPPANOSE, 1)
4037 }
4038
4039 static void test_pack_LPPELARRAY(void)
4040 {
4041     /* LPPELARRAY */
4042     TEST_TYPE_SIZE   (LPPELARRAY, 4)
4043     TEST_TYPE_ALIGN  (LPPELARRAY, 4)
4044     TEST_TARGET_SIZE (LPPELARRAY, 20)
4045     TEST_TARGET_ALIGN(LPPELARRAY, 4)
4046 }
4047
4048 static void test_pack_LPPIXELFORMATDESCRIPTOR(void)
4049 {
4050     /* LPPIXELFORMATDESCRIPTOR */
4051     TEST_TYPE_SIZE   (LPPIXELFORMATDESCRIPTOR, 4)
4052     TEST_TYPE_ALIGN  (LPPIXELFORMATDESCRIPTOR, 4)
4053     TEST_TARGET_SIZE (LPPIXELFORMATDESCRIPTOR, 40)
4054     TEST_TARGET_ALIGN(LPPIXELFORMATDESCRIPTOR, 4)
4055 }
4056
4057 static void test_pack_LPPOINTFX(void)
4058 {
4059     /* LPPOINTFX */
4060     TEST_TYPE_SIZE   (LPPOINTFX, 4)
4061     TEST_TYPE_ALIGN  (LPPOINTFX, 4)
4062     TEST_TARGET_SIZE (LPPOINTFX, 8)
4063     TEST_TARGET_ALIGN(LPPOINTFX, 2)
4064 }
4065
4066 static void test_pack_LPPOLYTEXTA(void)
4067 {
4068     /* LPPOLYTEXTA */
4069     TEST_TYPE_SIZE   (LPPOLYTEXTA, 4)
4070     TEST_TYPE_ALIGN  (LPPOLYTEXTA, 4)
4071     TEST_TARGET_SIZE (LPPOLYTEXTA, 40)
4072     TEST_TARGET_ALIGN(LPPOLYTEXTA, 4)
4073 }
4074
4075 static void test_pack_LPPOLYTEXTW(void)
4076 {
4077     /* LPPOLYTEXTW */
4078     TEST_TYPE_SIZE   (LPPOLYTEXTW, 4)
4079     TEST_TYPE_ALIGN  (LPPOLYTEXTW, 4)
4080     TEST_TARGET_SIZE (LPPOLYTEXTW, 40)
4081     TEST_TARGET_ALIGN(LPPOLYTEXTW, 4)
4082 }
4083
4084 static void test_pack_LPRASTERIZER_STATUS(void)
4085 {
4086     /* LPRASTERIZER_STATUS */
4087     TEST_TYPE_SIZE   (LPRASTERIZER_STATUS, 4)
4088     TEST_TYPE_ALIGN  (LPRASTERIZER_STATUS, 4)
4089     TEST_TARGET_SIZE (LPRASTERIZER_STATUS, 6)
4090     TEST_TARGET_ALIGN(LPRASTERIZER_STATUS, 2)
4091 }
4092
4093 static void test_pack_LPRGBQUAD(void)
4094 {
4095     /* LPRGBQUAD */
4096     TEST_TYPE_SIZE   (LPRGBQUAD, 4)
4097     TEST_TYPE_ALIGN  (LPRGBQUAD, 4)
4098     TEST_TARGET_SIZE (LPRGBQUAD, 4)
4099     TEST_TARGET_ALIGN(LPRGBQUAD, 1)
4100 }
4101
4102 static void test_pack_LPRGNDATA(void)
4103 {
4104     /* LPRGNDATA */
4105     TEST_TYPE_SIZE   (LPRGNDATA, 4)
4106     TEST_TYPE_ALIGN  (LPRGNDATA, 4)
4107     TEST_TARGET_SIZE (LPRGNDATA, 36)
4108     TEST_TARGET_ALIGN(LPRGNDATA, 4)
4109 }
4110
4111 static void test_pack_LPTEXTMETRICA(void)
4112 {
4113     /* LPTEXTMETRICA */
4114     TEST_TYPE_SIZE   (LPTEXTMETRICA, 4)
4115     TEST_TYPE_ALIGN  (LPTEXTMETRICA, 4)
4116     TEST_TARGET_SIZE (LPTEXTMETRICA, 56)
4117     TEST_TARGET_ALIGN(LPTEXTMETRICA, 4)
4118 }
4119
4120 static void test_pack_LPTEXTMETRICW(void)
4121 {
4122     /* LPTEXTMETRICW */
4123     TEST_TYPE_SIZE   (LPTEXTMETRICW, 4)
4124     TEST_TYPE_ALIGN  (LPTEXTMETRICW, 4)
4125     TEST_TARGET_SIZE (LPTEXTMETRICW, 60)
4126     TEST_TARGET_ALIGN(LPTEXTMETRICW, 4)
4127 }
4128
4129 static void test_pack_LPTRIVERTEX(void)
4130 {
4131     /* LPTRIVERTEX */
4132     TEST_TYPE_SIZE   (LPTRIVERTEX, 4)
4133     TEST_TYPE_ALIGN  (LPTRIVERTEX, 4)
4134     TEST_TARGET_SIZE (LPTRIVERTEX, 16)
4135     TEST_TARGET_ALIGN(LPTRIVERTEX, 4)
4136 }
4137
4138 static void test_pack_LPTTPOLYCURVE(void)
4139 {
4140     /* LPTTPOLYCURVE */
4141     TEST_TYPE_SIZE   (LPTTPOLYCURVE, 4)
4142     TEST_TYPE_ALIGN  (LPTTPOLYCURVE, 4)
4143     TEST_TARGET_SIZE (LPTTPOLYCURVE, 12)
4144     TEST_TARGET_ALIGN(LPTTPOLYCURVE, 2)
4145 }
4146
4147 static void test_pack_LPTTPOLYGONHEADER(void)
4148 {
4149     /* LPTTPOLYGONHEADER */
4150     TEST_TYPE_SIZE   (LPTTPOLYGONHEADER, 4)
4151     TEST_TYPE_ALIGN  (LPTTPOLYGONHEADER, 4)
4152     TEST_TARGET_SIZE (LPTTPOLYGONHEADER, 16)
4153     TEST_TARGET_ALIGN(LPTTPOLYGONHEADER, 4)
4154 }
4155
4156 static void test_pack_LPXFORM(void)
4157 {
4158     /* LPXFORM */
4159     TEST_TYPE_SIZE   (LPXFORM, 4)
4160     TEST_TYPE_ALIGN  (LPXFORM, 4)
4161     TEST_TARGET_SIZE (LPXFORM, 24)
4162     TEST_TARGET_ALIGN(LPXFORM, 4)
4163 }
4164
4165 static void test_pack_MAT2(void)
4166 {
4167     /* MAT2 (pack 4) */
4168     TEST_TYPE_SIZE   (MAT2, 16)
4169     TEST_TYPE_ALIGN  (MAT2, 2)
4170     TEST_FIELD_SIZE  (MAT2, eM11, 4)
4171     TEST_FIELD_ALIGN (MAT2, eM11, 2)
4172     TEST_FIELD_OFFSET(MAT2, eM11, 0)
4173     TEST_FIELD_SIZE  (MAT2, eM12, 4)
4174     TEST_FIELD_ALIGN (MAT2, eM12, 2)
4175     TEST_FIELD_OFFSET(MAT2, eM12, 4)
4176     TEST_FIELD_SIZE  (MAT2, eM21, 4)
4177     TEST_FIELD_ALIGN (MAT2, eM21, 2)
4178     TEST_FIELD_OFFSET(MAT2, eM21, 8)
4179     TEST_FIELD_SIZE  (MAT2, eM22, 4)
4180     TEST_FIELD_ALIGN (MAT2, eM22, 2)
4181     TEST_FIELD_OFFSET(MAT2, eM22, 12)
4182 }
4183
4184 static void test_pack_METAFILEPICT(void)
4185 {
4186     /* METAFILEPICT (pack 4) */
4187     TEST_TYPE_SIZE   (METAFILEPICT, 16)
4188     TEST_TYPE_ALIGN  (METAFILEPICT, 4)
4189     TEST_FIELD_SIZE  (METAFILEPICT, mm, 4)
4190     TEST_FIELD_ALIGN (METAFILEPICT, mm, 4)
4191     TEST_FIELD_OFFSET(METAFILEPICT, mm, 0)
4192     TEST_FIELD_SIZE  (METAFILEPICT, xExt, 4)
4193     TEST_FIELD_ALIGN (METAFILEPICT, xExt, 4)
4194     TEST_FIELD_OFFSET(METAFILEPICT, xExt, 4)
4195     TEST_FIELD_SIZE  (METAFILEPICT, yExt, 4)
4196     TEST_FIELD_ALIGN (METAFILEPICT, yExt, 4)
4197     TEST_FIELD_OFFSET(METAFILEPICT, yExt, 8)
4198     TEST_FIELD_SIZE  (METAFILEPICT, hMF, 4)
4199     TEST_FIELD_ALIGN (METAFILEPICT, hMF, 4)
4200     TEST_FIELD_OFFSET(METAFILEPICT, hMF, 12)
4201 }
4202
4203 static void test_pack_METAHEADER(void)
4204 {
4205     /* METAHEADER (pack 2) */
4206     TEST_TYPE_SIZE   (METAHEADER, 18)
4207     TEST_TYPE_ALIGN  (METAHEADER, 2)
4208     TEST_FIELD_SIZE  (METAHEADER, mtType, 2)
4209     TEST_FIELD_ALIGN (METAHEADER, mtType, 2)
4210     TEST_FIELD_OFFSET(METAHEADER, mtType, 0)
4211     TEST_FIELD_SIZE  (METAHEADER, mtHeaderSize, 2)
4212     TEST_FIELD_ALIGN (METAHEADER, mtHeaderSize, 2)
4213     TEST_FIELD_OFFSET(METAHEADER, mtHeaderSize, 2)
4214     TEST_FIELD_SIZE  (METAHEADER, mtVersion, 2)
4215     TEST_FIELD_ALIGN (METAHEADER, mtVersion, 2)
4216     TEST_FIELD_OFFSET(METAHEADER, mtVersion, 4)
4217     TEST_FIELD_SIZE  (METAHEADER, mtSize, 4)
4218     TEST_FIELD_ALIGN (METAHEADER, mtSize, 2)
4219     TEST_FIELD_OFFSET(METAHEADER, mtSize, 6)
4220     TEST_FIELD_SIZE  (METAHEADER, mtNoObjects, 2)
4221     TEST_FIELD_ALIGN (METAHEADER, mtNoObjects, 2)
4222     TEST_FIELD_OFFSET(METAHEADER, mtNoObjects, 10)
4223     TEST_FIELD_SIZE  (METAHEADER, mtMaxRecord, 4)
4224     TEST_FIELD_ALIGN (METAHEADER, mtMaxRecord, 2)
4225     TEST_FIELD_OFFSET(METAHEADER, mtMaxRecord, 12)
4226     TEST_FIELD_SIZE  (METAHEADER, mtNoParameters, 2)
4227     TEST_FIELD_ALIGN (METAHEADER, mtNoParameters, 2)
4228     TEST_FIELD_OFFSET(METAHEADER, mtNoParameters, 16)
4229 }
4230
4231 static void test_pack_METARECORD(void)
4232 {
4233     /* METARECORD (pack 4) */
4234     TEST_TYPE_SIZE   (METARECORD, 8)
4235     TEST_TYPE_ALIGN  (METARECORD, 4)
4236     TEST_FIELD_SIZE  (METARECORD, rdSize, 4)
4237     TEST_FIELD_ALIGN (METARECORD, rdSize, 4)
4238     TEST_FIELD_OFFSET(METARECORD, rdSize, 0)
4239     TEST_FIELD_SIZE  (METARECORD, rdFunction, 2)
4240     TEST_FIELD_ALIGN (METARECORD, rdFunction, 2)
4241     TEST_FIELD_OFFSET(METARECORD, rdFunction, 4)
4242     TEST_FIELD_SIZE  (METARECORD, rdParm, 2)
4243     TEST_FIELD_ALIGN (METARECORD, rdParm, 2)
4244     TEST_FIELD_OFFSET(METARECORD, rdParm, 6)
4245 }
4246
4247 static void test_pack_MFENUMPROC(void)
4248 {
4249     /* MFENUMPROC */
4250     TEST_TYPE_SIZE   (MFENUMPROC, 4)
4251     TEST_TYPE_ALIGN  (MFENUMPROC, 4)
4252 }
4253
4254 static void test_pack_NEWTEXTMETRICA(void)
4255 {
4256     /* NEWTEXTMETRICA (pack 4) */
4257     TEST_TYPE_SIZE   (NEWTEXTMETRICA, 72)
4258     TEST_TYPE_ALIGN  (NEWTEXTMETRICA, 4)
4259     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmHeight, 4)
4260     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmHeight, 4)
4261     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmHeight, 0)
4262     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmAscent, 4)
4263     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmAscent, 4)
4264     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmAscent, 4)
4265     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmDescent, 4)
4266     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmDescent, 4)
4267     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmDescent, 8)
4268     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmInternalLeading, 4)
4269     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmInternalLeading, 4)
4270     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmInternalLeading, 12)
4271     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmExternalLeading, 4)
4272     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmExternalLeading, 4)
4273     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmExternalLeading, 16)
4274     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmAveCharWidth, 4)
4275     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmAveCharWidth, 4)
4276     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmAveCharWidth, 20)
4277     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmMaxCharWidth, 4)
4278     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmMaxCharWidth, 4)
4279     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmMaxCharWidth, 24)
4280     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmWeight, 4)
4281     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmWeight, 4)
4282     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmWeight, 28)
4283     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmOverhang, 4)
4284     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmOverhang, 4)
4285     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmOverhang, 32)
4286     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmDigitizedAspectX, 4)
4287     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmDigitizedAspectX, 4)
4288     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmDigitizedAspectX, 36)
4289     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmDigitizedAspectY, 4)
4290     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmDigitizedAspectY, 4)
4291     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmDigitizedAspectY, 40)
4292     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmFirstChar, 1)
4293     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmFirstChar, 1)
4294     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmFirstChar, 44)
4295     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmLastChar, 1)
4296     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmLastChar, 1)
4297     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmLastChar, 45)
4298     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmDefaultChar, 1)
4299     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmDefaultChar, 1)
4300     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmDefaultChar, 46)
4301     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmBreakChar, 1)
4302     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmBreakChar, 1)
4303     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmBreakChar, 47)
4304     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmItalic, 1)
4305     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmItalic, 1)
4306     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmItalic, 48)
4307     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmUnderlined, 1)
4308     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmUnderlined, 1)
4309     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmUnderlined, 49)
4310     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmStruckOut, 1)
4311     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmStruckOut, 1)
4312     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmStruckOut, 50)
4313     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmPitchAndFamily, 1)
4314     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmPitchAndFamily, 1)
4315     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmPitchAndFamily, 51)
4316     TEST_FIELD_SIZE  (NEWTEXTMETRICA, tmCharSet, 1)
4317     TEST_FIELD_ALIGN (NEWTEXTMETRICA, tmCharSet, 1)
4318     TEST_FIELD_OFFSET(NEWTEXTMETRICA, tmCharSet, 52)
4319     TEST_FIELD_SIZE  (NEWTEXTMETRICA, ntmFlags, 4)
4320     TEST_FIELD_ALIGN (NEWTEXTMETRICA, ntmFlags, 4)
4321     TEST_FIELD_OFFSET(NEWTEXTMETRICA, ntmFlags, 56)
4322     TEST_FIELD_SIZE  (NEWTEXTMETRICA, ntmSizeEM, 4)
4323     TEST_FIELD_ALIGN (NEWTEXTMETRICA, ntmSizeEM, 4)
4324     TEST_FIELD_OFFSET(NEWTEXTMETRICA, ntmSizeEM, 60)
4325     TEST_FIELD_SIZE  (NEWTEXTMETRICA, ntmCellHeight, 4)
4326     TEST_FIELD_ALIGN (NEWTEXTMETRICA, ntmCellHeight, 4)
4327     TEST_FIELD_OFFSET(NEWTEXTMETRICA, ntmCellHeight, 64)
4328     TEST_FIELD_SIZE  (NEWTEXTMETRICA, ntmAvgWidth, 4)
4329     TEST_FIELD_ALIGN (NEWTEXTMETRICA, ntmAvgWidth, 4)
4330     TEST_FIELD_OFFSET(NEWTEXTMETRICA, ntmAvgWidth, 68)
4331 }
4332
4333 static void test_pack_NEWTEXTMETRICEXA(void)
4334 {
4335     /* NEWTEXTMETRICEXA (pack 4) */
4336     TEST_TYPE_SIZE   (NEWTEXTMETRICEXA, 96)
4337     TEST_TYPE_ALIGN  (NEWTEXTMETRICEXA, 4)
4338     TEST_FIELD_SIZE  (NEWTEXTMETRICEXA, ntmTm, 72)
4339     TEST_FIELD_ALIGN (NEWTEXTMETRICEXA, ntmTm, 4)
4340     TEST_FIELD_OFFSET(NEWTEXTMETRICEXA, ntmTm, 0)
4341     TEST_FIELD_SIZE  (NEWTEXTMETRICEXA, ntmFontSig, 24)
4342     TEST_FIELD_ALIGN (NEWTEXTMETRICEXA, ntmFontSig, 4)
4343     TEST_FIELD_OFFSET(NEWTEXTMETRICEXA, ntmFontSig, 72)
4344 }
4345
4346 static void test_pack_NEWTEXTMETRICEXW(void)
4347 {
4348     /* NEWTEXTMETRICEXW (pack 4) */
4349     TEST_TYPE_SIZE   (NEWTEXTMETRICEXW, 100)
4350     TEST_TYPE_ALIGN  (NEWTEXTMETRICEXW, 4)
4351     TEST_FIELD_SIZE  (NEWTEXTMETRICEXW, ntmTm, 76)
4352     TEST_FIELD_ALIGN (NEWTEXTMETRICEXW, ntmTm, 4)
4353     TEST_FIELD_OFFSET(NEWTEXTMETRICEXW, ntmTm, 0)
4354     TEST_FIELD_SIZE  (NEWTEXTMETRICEXW, ntmFontSig, 24)
4355     TEST_FIELD_ALIGN (NEWTEXTMETRICEXW, ntmFontSig, 4)
4356     TEST_FIELD_OFFSET(NEWTEXTMETRICEXW, ntmFontSig, 76)
4357 }
4358
4359 static void test_pack_NEWTEXTMETRICW(void)
4360 {
4361     /* NEWTEXTMETRICW (pack 4) */
4362     TEST_TYPE_SIZE   (NEWTEXTMETRICW, 76)
4363     TEST_TYPE_ALIGN  (NEWTEXTMETRICW, 4)
4364     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmHeight, 4)
4365     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmHeight, 4)
4366     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmHeight, 0)
4367     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmAscent, 4)
4368     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmAscent, 4)
4369     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmAscent, 4)
4370     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmDescent, 4)
4371     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmDescent, 4)
4372     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmDescent, 8)
4373     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmInternalLeading, 4)
4374     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmInternalLeading, 4)
4375     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmInternalLeading, 12)
4376     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmExternalLeading, 4)
4377     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmExternalLeading, 4)
4378     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmExternalLeading, 16)
4379     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmAveCharWidth, 4)
4380     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmAveCharWidth, 4)
4381     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmAveCharWidth, 20)
4382     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmMaxCharWidth, 4)
4383     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmMaxCharWidth, 4)
4384     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmMaxCharWidth, 24)
4385     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmWeight, 4)
4386     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmWeight, 4)
4387     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmWeight, 28)
4388     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmOverhang, 4)
4389     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmOverhang, 4)
4390     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmOverhang, 32)
4391     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmDigitizedAspectX, 4)
4392     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmDigitizedAspectX, 4)
4393     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmDigitizedAspectX, 36)
4394     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmDigitizedAspectY, 4)
4395     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmDigitizedAspectY, 4)
4396     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmDigitizedAspectY, 40)
4397     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmFirstChar, 2)
4398     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmFirstChar, 2)
4399     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmFirstChar, 44)
4400     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmLastChar, 2)
4401     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmLastChar, 2)
4402     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmLastChar, 46)
4403     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmDefaultChar, 2)
4404     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmDefaultChar, 2)
4405     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmDefaultChar, 48)
4406     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmBreakChar, 2)
4407     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmBreakChar, 2)
4408     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmBreakChar, 50)
4409     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmItalic, 1)
4410     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmItalic, 1)
4411     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmItalic, 52)
4412     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmUnderlined, 1)
4413     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmUnderlined, 1)
4414     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmUnderlined, 53)
4415     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmStruckOut, 1)
4416     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmStruckOut, 1)
4417     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmStruckOut, 54)
4418     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmPitchAndFamily, 1)
4419     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmPitchAndFamily, 1)
4420     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmPitchAndFamily, 55)
4421     TEST_FIELD_SIZE  (NEWTEXTMETRICW, tmCharSet, 1)
4422     TEST_FIELD_ALIGN (NEWTEXTMETRICW, tmCharSet, 1)
4423     TEST_FIELD_OFFSET(NEWTEXTMETRICW, tmCharSet, 56)
4424     TEST_FIELD_SIZE  (NEWTEXTMETRICW, ntmFlags, 4)
4425     TEST_FIELD_ALIGN (NEWTEXTMETRICW, ntmFlags, 4)
4426     TEST_FIELD_OFFSET(NEWTEXTMETRICW, ntmFlags, 60)
4427     TEST_FIELD_SIZE  (NEWTEXTMETRICW, ntmSizeEM, 4)
4428     TEST_FIELD_ALIGN (NEWTEXTMETRICW, ntmSizeEM, 4)
4429     TEST_FIELD_OFFSET(NEWTEXTMETRICW, ntmSizeEM, 64)
4430     TEST_FIELD_SIZE  (NEWTEXTMETRICW, ntmCellHeight, 4)
4431     TEST_FIELD_ALIGN (NEWTEXTMETRICW, ntmCellHeight, 4)
4432     TEST_FIELD_OFFSET(NEWTEXTMETRICW, ntmCellHeight, 68)
4433     TEST_FIELD_SIZE  (NEWTEXTMETRICW, ntmAvgWidth, 4)
4434     TEST_FIELD_ALIGN (NEWTEXTMETRICW, ntmAvgWidth, 4)
4435     TEST_FIELD_OFFSET(NEWTEXTMETRICW, ntmAvgWidth, 72)
4436 }
4437
4438 static void test_pack_NPEXTLOGPEN(void)
4439 {
4440     /* NPEXTLOGPEN */
4441     TEST_TYPE_SIZE   (NPEXTLOGPEN, 4)
4442     TEST_TYPE_ALIGN  (NPEXTLOGPEN, 4)
4443     TEST_TARGET_SIZE (NPEXTLOGPEN, 28)
4444     TEST_TARGET_ALIGN(NPEXTLOGPEN, 4)
4445 }
4446
4447 static void test_pack_OLDFONTENUMPROC(void)
4448 {
4449     /* OLDFONTENUMPROC */
4450     TEST_TYPE_SIZE   (OLDFONTENUMPROC, 4)
4451     TEST_TYPE_ALIGN  (OLDFONTENUMPROC, 4)
4452 }
4453
4454 static void test_pack_OLDFONTENUMPROCA(void)
4455 {
4456     /* OLDFONTENUMPROCA */
4457     TEST_TYPE_SIZE   (OLDFONTENUMPROCA, 4)
4458     TEST_TYPE_ALIGN  (OLDFONTENUMPROCA, 4)
4459 }
4460
4461 static void test_pack_OLDFONTENUMPROCW(void)
4462 {
4463     /* OLDFONTENUMPROCW */
4464     TEST_TYPE_SIZE   (OLDFONTENUMPROCW, 4)
4465     TEST_TYPE_ALIGN  (OLDFONTENUMPROCW, 4)
4466 }
4467
4468 static void test_pack_OUTLINETEXTMETRICA(void)
4469 {
4470     /* OUTLINETEXTMETRICA (pack 4) */
4471     TEST_TYPE_SIZE   (OUTLINETEXTMETRICA, 212)
4472     TEST_TYPE_ALIGN  (OUTLINETEXTMETRICA, 4)
4473     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmSize, 4)
4474     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmSize, 4)
4475     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmSize, 0)
4476     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmTextMetrics, 56)
4477     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmTextMetrics, 4)
4478     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmTextMetrics, 4)
4479     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmFiller, 1)
4480     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmFiller, 1)
4481     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmFiller, 60)
4482     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmPanoseNumber, 10)
4483     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmPanoseNumber, 1)
4484     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmPanoseNumber, 61)
4485     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmfsSelection, 4)
4486     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmfsSelection, 4)
4487     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmfsSelection, 72)
4488     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmfsType, 4)
4489     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmfsType, 4)
4490     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmfsType, 76)
4491     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmsCharSlopeRise, 4)
4492     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmsCharSlopeRise, 4)
4493     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmsCharSlopeRise, 80)
4494     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmsCharSlopeRun, 4)
4495     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmsCharSlopeRun, 4)
4496     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmsCharSlopeRun, 84)
4497     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmItalicAngle, 4)
4498     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmItalicAngle, 4)
4499     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmItalicAngle, 88)
4500     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmEMSquare, 4)
4501     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmEMSquare, 4)
4502     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmEMSquare, 92)
4503     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmAscent, 4)
4504     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmAscent, 4)
4505     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmAscent, 96)
4506     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmDescent, 4)
4507     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmDescent, 4)
4508     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmDescent, 100)
4509     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmLineGap, 4)
4510     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmLineGap, 4)
4511     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmLineGap, 104)
4512     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmsCapEmHeight, 4)
4513     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmsCapEmHeight, 4)
4514     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmsCapEmHeight, 108)
4515     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmsXHeight, 4)
4516     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmsXHeight, 4)
4517     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmsXHeight, 112)
4518     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmrcFontBox, 16)
4519     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmrcFontBox, 4)
4520     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmrcFontBox, 116)
4521     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmMacAscent, 4)
4522     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmMacAscent, 4)
4523     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmMacAscent, 132)
4524     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmMacDescent, 4)
4525     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmMacDescent, 4)
4526     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmMacDescent, 136)
4527     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmMacLineGap, 4)
4528     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmMacLineGap, 4)
4529     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmMacLineGap, 140)
4530     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmusMinimumPPEM, 4)
4531     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmusMinimumPPEM, 4)
4532     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmusMinimumPPEM, 144)
4533     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmptSubscriptSize, 8)
4534     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmptSubscriptSize, 4)
4535     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmptSubscriptSize, 148)
4536     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmptSubscriptOffset, 8)
4537     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmptSubscriptOffset, 4)
4538     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmptSubscriptOffset, 156)
4539     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmptSuperscriptSize, 8)
4540     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmptSuperscriptSize, 4)
4541     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmptSuperscriptSize, 164)
4542     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmptSuperscriptOffset, 8)
4543     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmptSuperscriptOffset, 4)
4544     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmptSuperscriptOffset, 172)
4545     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmsStrikeoutSize, 4)
4546     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmsStrikeoutSize, 4)
4547     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmsStrikeoutSize, 180)
4548     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmsStrikeoutPosition, 4)
4549     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmsStrikeoutPosition, 4)
4550     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmsStrikeoutPosition, 184)
4551     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmsUnderscoreSize, 4)
4552     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmsUnderscoreSize, 4)
4553     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmsUnderscoreSize, 188)
4554     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmsUnderscorePosition, 4)
4555     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmsUnderscorePosition, 4)
4556     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmsUnderscorePosition, 192)
4557     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmpFamilyName, 4)
4558     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmpFamilyName, 4)
4559     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmpFamilyName, 196)
4560     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmpFaceName, 4)
4561     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmpFaceName, 4)
4562     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmpFaceName, 200)
4563     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmpStyleName, 4)
4564     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmpStyleName, 4)
4565     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmpStyleName, 204)
4566     TEST_FIELD_SIZE  (OUTLINETEXTMETRICA, otmpFullName, 4)
4567     TEST_FIELD_ALIGN (OUTLINETEXTMETRICA, otmpFullName, 4)
4568     TEST_FIELD_OFFSET(OUTLINETEXTMETRICA, otmpFullName, 208)
4569 }
4570
4571 static void test_pack_OUTLINETEXTMETRICW(void)
4572 {
4573     /* OUTLINETEXTMETRICW (pack 4) */
4574     TEST_TYPE_SIZE   (OUTLINETEXTMETRICW, 216)
4575     TEST_TYPE_ALIGN  (OUTLINETEXTMETRICW, 4)
4576     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmSize, 4)
4577     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmSize, 4)
4578     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmSize, 0)
4579     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmTextMetrics, 60)
4580     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmTextMetrics, 4)
4581     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmTextMetrics, 4)
4582     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmFiller, 1)
4583     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmFiller, 1)
4584     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmFiller, 64)
4585     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmPanoseNumber, 10)
4586     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmPanoseNumber, 1)
4587     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmPanoseNumber, 65)
4588     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmfsSelection, 4)
4589     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmfsSelection, 4)
4590     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmfsSelection, 76)
4591     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmfsType, 4)
4592     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmfsType, 4)
4593     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmfsType, 80)
4594     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmsCharSlopeRise, 4)
4595     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmsCharSlopeRise, 4)
4596     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmsCharSlopeRise, 84)
4597     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmsCharSlopeRun, 4)
4598     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmsCharSlopeRun, 4)
4599     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmsCharSlopeRun, 88)
4600     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmItalicAngle, 4)
4601     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmItalicAngle, 4)
4602     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmItalicAngle, 92)
4603     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmEMSquare, 4)
4604     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmEMSquare, 4)
4605     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmEMSquare, 96)
4606     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmAscent, 4)
4607     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmAscent, 4)
4608     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmAscent, 100)
4609     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmDescent, 4)
4610     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmDescent, 4)
4611     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmDescent, 104)
4612     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmLineGap, 4)
4613     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmLineGap, 4)
4614     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmLineGap, 108)
4615     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmsCapEmHeight, 4)
4616     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmsCapEmHeight, 4)
4617     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmsCapEmHeight, 112)
4618     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmsXHeight, 4)
4619     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmsXHeight, 4)
4620     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmsXHeight, 116)
4621     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmrcFontBox, 16)
4622     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmrcFontBox, 4)
4623     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmrcFontBox, 120)
4624     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmMacAscent, 4)
4625     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmMacAscent, 4)
4626     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmMacAscent, 136)
4627     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmMacDescent, 4)
4628     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmMacDescent, 4)
4629     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmMacDescent, 140)
4630     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmMacLineGap, 4)
4631     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmMacLineGap, 4)
4632     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmMacLineGap, 144)
4633     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmusMinimumPPEM, 4)
4634     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmusMinimumPPEM, 4)
4635     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmusMinimumPPEM, 148)
4636     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmptSubscriptSize, 8)
4637     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmptSubscriptSize, 4)
4638     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmptSubscriptSize, 152)
4639     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmptSubscriptOffset, 8)
4640     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmptSubscriptOffset, 4)
4641     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmptSubscriptOffset, 160)
4642     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmptSuperscriptSize, 8)
4643     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmptSuperscriptSize, 4)
4644     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmptSuperscriptSize, 168)
4645     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmptSuperscriptOffset, 8)
4646     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmptSuperscriptOffset, 4)
4647     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmptSuperscriptOffset, 176)
4648     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmsStrikeoutSize, 4)
4649     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmsStrikeoutSize, 4)
4650     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmsStrikeoutSize, 184)
4651     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmsStrikeoutPosition, 4)
4652     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmsStrikeoutPosition, 4)
4653     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmsStrikeoutPosition, 188)
4654     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmsUnderscoreSize, 4)
4655     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmsUnderscoreSize, 4)
4656     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmsUnderscoreSize, 192)
4657     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmsUnderscorePosition, 4)
4658     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmsUnderscorePosition, 4)
4659     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmsUnderscorePosition, 196)
4660     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmpFamilyName, 4)
4661     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmpFamilyName, 4)
4662     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmpFamilyName, 200)
4663     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmpFaceName, 4)
4664     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmpFaceName, 4)
4665     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmpFaceName, 204)
4666     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmpStyleName, 4)
4667     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmpStyleName, 4)
4668     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmpStyleName, 208)
4669     TEST_FIELD_SIZE  (OUTLINETEXTMETRICW, otmpFullName, 4)
4670     TEST_FIELD_ALIGN (OUTLINETEXTMETRICW, otmpFullName, 4)
4671     TEST_FIELD_OFFSET(OUTLINETEXTMETRICW, otmpFullName, 212)
4672 }
4673
4674 static void test_pack_PABC(void)
4675 {
4676     /* PABC */
4677     TEST_TYPE_SIZE   (PABC, 4)
4678     TEST_TYPE_ALIGN  (PABC, 4)
4679     TEST_TARGET_SIZE (PABC, 12)
4680     TEST_TARGET_ALIGN(PABC, 4)
4681 }
4682
4683 static void test_pack_PABCFLOAT(void)
4684 {
4685     /* PABCFLOAT */
4686     TEST_TYPE_SIZE   (PABCFLOAT, 4)
4687     TEST_TYPE_ALIGN  (PABCFLOAT, 4)
4688     TEST_TARGET_SIZE (PABCFLOAT, 12)
4689     TEST_TARGET_ALIGN(PABCFLOAT, 4)
4690 }
4691
4692 static void test_pack_PANOSE(void)
4693 {
4694     /* PANOSE (pack 4) */
4695     TEST_TYPE_SIZE   (PANOSE, 10)
4696     TEST_TYPE_ALIGN  (PANOSE, 1)
4697     TEST_FIELD_SIZE  (PANOSE, bFamilyType, 1)
4698     TEST_FIELD_ALIGN (PANOSE, bFamilyType, 1)
4699     TEST_FIELD_OFFSET(PANOSE, bFamilyType, 0)
4700     TEST_FIELD_SIZE  (PANOSE, bSerifStyle, 1)
4701     TEST_FIELD_ALIGN (PANOSE, bSerifStyle, 1)
4702     TEST_FIELD_OFFSET(PANOSE, bSerifStyle, 1)
4703     TEST_FIELD_SIZE  (PANOSE, bWeight, 1)
4704     TEST_FIELD_ALIGN (PANOSE, bWeight, 1)
4705     TEST_FIELD_OFFSET(PANOSE, bWeight, 2)
4706     TEST_FIELD_SIZE  (PANOSE, bProportion, 1)
4707     TEST_FIELD_ALIGN (PANOSE, bProportion, 1)
4708     TEST_FIELD_OFFSET(PANOSE, bProportion, 3)
4709     TEST_FIELD_SIZE  (PANOSE, bContrast, 1)
4710     TEST_FIELD_ALIGN (PANOSE, bContrast, 1)
4711     TEST_FIELD_OFFSET(PANOSE, bContrast, 4)
4712     TEST_FIELD_SIZE  (PANOSE, bStrokeVariation, 1)
4713     TEST_FIELD_ALIGN (PANOSE, bStrokeVariation, 1)
4714     TEST_FIELD_OFFSET(PANOSE, bStrokeVariation, 5)
4715     TEST_FIELD_SIZE  (PANOSE, bArmStyle, 1)
4716     TEST_FIELD_ALIGN (PANOSE, bArmStyle, 1)
4717     TEST_FIELD_OFFSET(PANOSE, bArmStyle, 6)
4718     TEST_FIELD_SIZE  (PANOSE, bLetterform, 1)
4719     TEST_FIELD_ALIGN (PANOSE, bLetterform, 1)
4720     TEST_FIELD_OFFSET(PANOSE, bLetterform, 7)
4721     TEST_FIELD_SIZE  (PANOSE, bMidline, 1)
4722     TEST_FIELD_ALIGN (PANOSE, bMidline, 1)
4723     TEST_FIELD_OFFSET(PANOSE, bMidline, 8)
4724     TEST_FIELD_SIZE  (PANOSE, bXHeight, 1)
4725     TEST_FIELD_ALIGN (PANOSE, bXHeight, 1)
4726     TEST_FIELD_OFFSET(PANOSE, bXHeight, 9)
4727 }
4728
4729 static void test_pack_PATTERN(void)
4730 {
4731     /* PATTERN */
4732     TEST_TYPE_SIZE   (PATTERN, 12)
4733     TEST_TYPE_ALIGN  (PATTERN, 4)
4734 }
4735
4736 static void test_pack_PBITMAP(void)
4737 {
4738     /* PBITMAP */
4739     TEST_TYPE_SIZE   (PBITMAP, 4)
4740     TEST_TYPE_ALIGN  (PBITMAP, 4)
4741     TEST_TARGET_SIZE (PBITMAP, 24)
4742     TEST_TARGET_ALIGN(PBITMAP, 4)
4743 }
4744
4745 static void test_pack_PBITMAPCOREHEADER(void)
4746 {
4747     /* PBITMAPCOREHEADER */
4748     TEST_TYPE_SIZE   (PBITMAPCOREHEADER, 4)
4749     TEST_TYPE_ALIGN  (PBITMAPCOREHEADER, 4)
4750     TEST_TARGET_SIZE (PBITMAPCOREHEADER, 12)
4751     TEST_TARGET_ALIGN(PBITMAPCOREHEADER, 4)
4752 }
4753
4754 static void test_pack_PBITMAPCOREINFO(void)
4755 {
4756     /* PBITMAPCOREINFO */
4757     TEST_TYPE_SIZE   (PBITMAPCOREINFO, 4)
4758     TEST_TYPE_ALIGN  (PBITMAPCOREINFO, 4)
4759     TEST_TARGET_SIZE (PBITMAPCOREINFO, 16)
4760     TEST_TARGET_ALIGN(PBITMAPCOREINFO, 4)
4761 }
4762
4763 static void test_pack_PBITMAPFILEHEADER(void)
4764 {
4765     /* PBITMAPFILEHEADER */
4766     TEST_TYPE_SIZE   (PBITMAPFILEHEADER, 4)
4767     TEST_TYPE_ALIGN  (PBITMAPFILEHEADER, 4)
4768     TEST_TARGET_SIZE (PBITMAPFILEHEADER, 14)
4769     TEST_TARGET_ALIGN(PBITMAPFILEHEADER, 2)
4770 }
4771
4772 static void test_pack_PBITMAPINFO(void)
4773 {
4774     /* PBITMAPINFO */
4775     TEST_TYPE_SIZE   (PBITMAPINFO, 4)
4776     TEST_TYPE_ALIGN  (PBITMAPINFO, 4)
4777     TEST_TARGET_SIZE (PBITMAPINFO, 44)
4778     TEST_TARGET_ALIGN(PBITMAPINFO, 4)
4779 }
4780
4781 static void test_pack_PBITMAPINFOHEADER(void)
4782 {
4783     /* PBITMAPINFOHEADER */
4784     TEST_TYPE_SIZE   (PBITMAPINFOHEADER, 4)
4785     TEST_TYPE_ALIGN  (PBITMAPINFOHEADER, 4)
4786     TEST_TARGET_SIZE (PBITMAPINFOHEADER, 40)
4787     TEST_TARGET_ALIGN(PBITMAPINFOHEADER, 4)
4788 }
4789
4790 static void test_pack_PBITMAPV4HEADER(void)
4791 {
4792     /* PBITMAPV4HEADER */
4793     TEST_TYPE_SIZE   (PBITMAPV4HEADER, 4)
4794     TEST_TYPE_ALIGN  (PBITMAPV4HEADER, 4)
4795     TEST_TARGET_SIZE (PBITMAPV4HEADER, 108)
4796     TEST_TARGET_ALIGN(PBITMAPV4HEADER, 4)
4797 }
4798
4799 static void test_pack_PBITMAPV5HEADER(void)
4800 {
4801     /* PBITMAPV5HEADER */
4802     TEST_TYPE_SIZE   (PBITMAPV5HEADER, 4)
4803     TEST_TYPE_ALIGN  (PBITMAPV5HEADER, 4)
4804     TEST_TARGET_SIZE (PBITMAPV5HEADER, 124)
4805     TEST_TARGET_ALIGN(PBITMAPV5HEADER, 4)
4806 }
4807
4808 static void test_pack_PBLENDFUNCTION(void)
4809 {
4810     /* PBLENDFUNCTION */
4811     TEST_TYPE_SIZE   (PBLENDFUNCTION, 4)
4812     TEST_TYPE_ALIGN  (PBLENDFUNCTION, 4)
4813     TEST_TARGET_SIZE (PBLENDFUNCTION, 4)
4814     TEST_TARGET_ALIGN(PBLENDFUNCTION, 1)
4815 }
4816
4817 static void test_pack_PCHARSETINFO(void)
4818 {
4819     /* PCHARSETINFO */
4820     TEST_TYPE_SIZE   (PCHARSETINFO, 4)
4821     TEST_TYPE_ALIGN  (PCHARSETINFO, 4)
4822     TEST_TARGET_SIZE (PCHARSETINFO, 32)
4823     TEST_TARGET_ALIGN(PCHARSETINFO, 4)
4824 }
4825
4826 static void test_pack_PCOLORADJUSTMENT(void)
4827 {
4828     /* PCOLORADJUSTMENT */
4829     TEST_TYPE_SIZE   (PCOLORADJUSTMENT, 4)
4830     TEST_TYPE_ALIGN  (PCOLORADJUSTMENT, 4)
4831     TEST_TARGET_SIZE (PCOLORADJUSTMENT, 24)
4832     TEST_TARGET_ALIGN(PCOLORADJUSTMENT, 2)
4833 }
4834
4835 static void test_pack_PDEVMODEA(void)
4836 {
4837     /* PDEVMODEA */
4838     TEST_TYPE_SIZE   (PDEVMODEA, 4)
4839     TEST_TYPE_ALIGN  (PDEVMODEA, 4)
4840 }
4841
4842 static void test_pack_PDEVMODEW(void)
4843 {
4844     /* PDEVMODEW */
4845     TEST_TYPE_SIZE   (PDEVMODEW, 4)
4846     TEST_TYPE_ALIGN  (PDEVMODEW, 4)
4847 }
4848
4849 static void test_pack_PDIBSECTION(void)
4850 {
4851     /* PDIBSECTION */
4852     TEST_TYPE_SIZE   (PDIBSECTION, 4)
4853     TEST_TYPE_ALIGN  (PDIBSECTION, 4)
4854     TEST_TARGET_SIZE (PDIBSECTION, 84)
4855     TEST_TARGET_ALIGN(PDIBSECTION, 4)
4856 }
4857
4858 static void test_pack_PDISPLAY_DEVICEA(void)
4859 {
4860     /* PDISPLAY_DEVICEA */
4861     TEST_TYPE_SIZE   (PDISPLAY_DEVICEA, 4)
4862     TEST_TYPE_ALIGN  (PDISPLAY_DEVICEA, 4)
4863     TEST_TARGET_SIZE (PDISPLAY_DEVICEA, 424)
4864     TEST_TARGET_ALIGN(PDISPLAY_DEVICEA, 4)
4865 }
4866
4867 static void test_pack_PDISPLAY_DEVICEW(void)
4868 {
4869     /* PDISPLAY_DEVICEW */
4870     TEST_TYPE_SIZE   (PDISPLAY_DEVICEW, 4)
4871     TEST_TYPE_ALIGN  (PDISPLAY_DEVICEW, 4)
4872     TEST_TARGET_SIZE (PDISPLAY_DEVICEW, 840)
4873     TEST_TARGET_ALIGN(PDISPLAY_DEVICEW, 4)
4874 }
4875
4876 static void test_pack_PELARRAY(void)
4877 {
4878     /* PELARRAY (pack 4) */
4879     TEST_TYPE_SIZE   (PELARRAY, 20)
4880     TEST_TYPE_ALIGN  (PELARRAY, 4)
4881     TEST_FIELD_SIZE  (PELARRAY, paXCount, 4)
4882     TEST_FIELD_ALIGN (PELARRAY, paXCount, 4)
4883     TEST_FIELD_OFFSET(PELARRAY, paXCount, 0)
4884     TEST_FIELD_SIZE  (PELARRAY, paYCount, 4)
4885     TEST_FIELD_ALIGN (PELARRAY, paYCount, 4)
4886     TEST_FIELD_OFFSET(PELARRAY, paYCount, 4)
4887     TEST_FIELD_SIZE  (PELARRAY, paXExt, 4)
4888     TEST_FIELD_ALIGN (PELARRAY, paXExt, 4)
4889     TEST_FIELD_OFFSET(PELARRAY, paXExt, 8)
4890     TEST_FIELD_SIZE  (PELARRAY, paYExt, 4)
4891     TEST_FIELD_ALIGN (PELARRAY, paYExt, 4)
4892     TEST_FIELD_OFFSET(PELARRAY, paYExt, 12)
4893     TEST_FIELD_SIZE  (PELARRAY, paRGBs, 1)
4894     TEST_FIELD_ALIGN (PELARRAY, paRGBs, 1)
4895     TEST_FIELD_OFFSET(PELARRAY, paRGBs, 16)
4896 }
4897
4898 static void test_pack_PEMR(void)
4899 {
4900     /* PEMR */
4901     TEST_TYPE_SIZE   (PEMR, 4)
4902     TEST_TYPE_ALIGN  (PEMR, 4)
4903     TEST_TARGET_SIZE (PEMR, 8)
4904     TEST_TARGET_ALIGN(PEMR, 4)
4905 }
4906
4907 static void test_pack_PEMRABORTPATH(void)
4908 {
4909     /* PEMRABORTPATH */
4910     TEST_TYPE_SIZE   (PEMRABORTPATH, 4)
4911     TEST_TYPE_ALIGN  (PEMRABORTPATH, 4)
4912     TEST_TARGET_SIZE (PEMRABORTPATH, 8)
4913     TEST_TARGET_ALIGN(PEMRABORTPATH, 4)
4914 }
4915
4916 static void test_pack_PEMRANGLEARC(void)
4917 {
4918     /* PEMRANGLEARC */
4919     TEST_TYPE_SIZE   (PEMRANGLEARC, 4)
4920     TEST_TYPE_ALIGN  (PEMRANGLEARC, 4)
4921     TEST_TARGET_SIZE (PEMRANGLEARC, 28)
4922     TEST_TARGET_ALIGN(PEMRANGLEARC, 4)
4923 }
4924
4925 static void test_pack_PEMRARC(void)
4926 {
4927     /* PEMRARC */
4928     TEST_TYPE_SIZE   (PEMRARC, 4)
4929     TEST_TYPE_ALIGN  (PEMRARC, 4)
4930     TEST_TARGET_SIZE (PEMRARC, 40)
4931     TEST_TARGET_ALIGN(PEMRARC, 4)
4932 }
4933
4934 static void test_pack_PEMRARCTO(void)
4935 {
4936     /* PEMRARCTO */
4937     TEST_TYPE_SIZE   (PEMRARCTO, 4)
4938     TEST_TYPE_ALIGN  (PEMRARCTO, 4)
4939     TEST_TARGET_SIZE (PEMRARCTO, 40)
4940     TEST_TARGET_ALIGN(PEMRARCTO, 4)
4941 }
4942
4943 static void test_pack_PEMRBEGINPATH(void)
4944 {
4945     /* PEMRBEGINPATH */
4946     TEST_TYPE_SIZE   (PEMRBEGINPATH, 4)
4947     TEST_TYPE_ALIGN  (PEMRBEGINPATH, 4)
4948     TEST_TARGET_SIZE (PEMRBEGINPATH, 8)
4949     TEST_TARGET_ALIGN(PEMRBEGINPATH, 4)
4950 }
4951
4952 static void test_pack_PEMRBITBLT(void)
4953 {
4954     /* PEMRBITBLT */
4955     TEST_TYPE_SIZE   (PEMRBITBLT, 4)
4956     TEST_TYPE_ALIGN  (PEMRBITBLT, 4)
4957     TEST_TARGET_SIZE (PEMRBITBLT, 100)
4958     TEST_TARGET_ALIGN(PEMRBITBLT, 4)
4959 }
4960
4961 static void test_pack_PEMRCHORD(void)
4962 {
4963     /* PEMRCHORD */
4964     TEST_TYPE_SIZE   (PEMRCHORD, 4)
4965     TEST_TYPE_ALIGN  (PEMRCHORD, 4)
4966     TEST_TARGET_SIZE (PEMRCHORD, 40)
4967     TEST_TARGET_ALIGN(PEMRCHORD, 4)
4968 }
4969
4970 static void test_pack_PEMRCLOSEFIGURE(void)
4971 {
4972     /* PEMRCLOSEFIGURE */
4973     TEST_TYPE_SIZE   (PEMRCLOSEFIGURE, 4)
4974     TEST_TYPE_ALIGN  (PEMRCLOSEFIGURE, 4)
4975     TEST_TARGET_SIZE (PEMRCLOSEFIGURE, 8)
4976     TEST_TARGET_ALIGN(PEMRCLOSEFIGURE, 4)
4977 }
4978
4979 static void test_pack_PEMRCREATEBRUSHINDIRECT(void)
4980 {
4981     /* PEMRCREATEBRUSHINDIRECT */
4982     TEST_TYPE_SIZE   (PEMRCREATEBRUSHINDIRECT, 4)
4983     TEST_TYPE_ALIGN  (PEMRCREATEBRUSHINDIRECT, 4)
4984     TEST_TARGET_SIZE (PEMRCREATEBRUSHINDIRECT, 24)
4985     TEST_TARGET_ALIGN(PEMRCREATEBRUSHINDIRECT, 4)
4986 }
4987
4988 static void test_pack_PEMRCREATECOLORSPACE(void)
4989 {
4990     /* PEMRCREATECOLORSPACE */
4991     TEST_TYPE_SIZE   (PEMRCREATECOLORSPACE, 4)
4992     TEST_TYPE_ALIGN  (PEMRCREATECOLORSPACE, 4)
4993     TEST_TARGET_SIZE (PEMRCREATECOLORSPACE, 340)
4994     TEST_TARGET_ALIGN(PEMRCREATECOLORSPACE, 4)
4995 }
4996
4997 static void test_pack_PEMRCREATECOLORSPACEW(void)
4998 {
4999     /* PEMRCREATECOLORSPACEW */
5000     TEST_TYPE_SIZE   (PEMRCREATECOLORSPACEW, 4)
5001     TEST_TYPE_ALIGN  (PEMRCREATECOLORSPACEW, 4)
5002     TEST_TARGET_SIZE (PEMRCREATECOLORSPACEW, 612)
5003     TEST_TARGET_ALIGN(PEMRCREATECOLORSPACEW, 4)
5004 }
5005
5006 static void test_pack_PEMRCREATEDIBPATTERNBRUSHPT(void)
5007 {
5008     /* PEMRCREATEDIBPATTERNBRUSHPT */
5009     TEST_TYPE_SIZE   (PEMRCREATEDIBPATTERNBRUSHPT, 4)
5010     TEST_TYPE_ALIGN  (PEMRCREATEDIBPATTERNBRUSHPT, 4)
5011     TEST_TARGET_SIZE (PEMRCREATEDIBPATTERNBRUSHPT, 32)
5012     TEST_TARGET_ALIGN(PEMRCREATEDIBPATTERNBRUSHPT, 4)
5013 }
5014
5015 static void test_pack_PEMRCREATEMONOBRUSH(void)
5016 {
5017     /* PEMRCREATEMONOBRUSH */
5018     TEST_TYPE_SIZE   (PEMRCREATEMONOBRUSH, 4)
5019     TEST_TYPE_ALIGN  (PEMRCREATEMONOBRUSH, 4)
5020     TEST_TARGET_SIZE (PEMRCREATEMONOBRUSH, 32)
5021     TEST_TARGET_ALIGN(PEMRCREATEMONOBRUSH, 4)
5022 }
5023
5024 static void test_pack_PEMRCREATEPALETTE(void)
5025 {
5026     /* PEMRCREATEPALETTE */
5027     TEST_TYPE_SIZE   (PEMRCREATEPALETTE, 4)
5028     TEST_TYPE_ALIGN  (PEMRCREATEPALETTE, 4)
5029     TEST_TARGET_SIZE (PEMRCREATEPALETTE, 20)
5030     TEST_TARGET_ALIGN(PEMRCREATEPALETTE, 4)
5031 }
5032
5033 static void test_pack_PEMRCREATEPEN(void)
5034 {
5035     /* PEMRCREATEPEN */
5036     TEST_TYPE_SIZE   (PEMRCREATEPEN, 4)
5037     TEST_TYPE_ALIGN  (PEMRCREATEPEN, 4)
5038     TEST_TARGET_SIZE (PEMRCREATEPEN, 28)
5039     TEST_TARGET_ALIGN(PEMRCREATEPEN, 4)
5040 }
5041
5042 static void test_pack_PEMRDELETECOLORSPACE(void)
5043 {
5044     /* PEMRDELETECOLORSPACE */
5045     TEST_TYPE_SIZE   (PEMRDELETECOLORSPACE, 4)
5046     TEST_TYPE_ALIGN  (PEMRDELETECOLORSPACE, 4)
5047     TEST_TARGET_SIZE (PEMRDELETECOLORSPACE, 12)
5048     TEST_TARGET_ALIGN(PEMRDELETECOLORSPACE, 4)
5049 }
5050
5051 static void test_pack_PEMRDELETEOBJECT(void)
5052 {
5053     /* PEMRDELETEOBJECT */
5054     TEST_TYPE_SIZE   (PEMRDELETEOBJECT, 4)
5055     TEST_TYPE_ALIGN  (PEMRDELETEOBJECT, 4)
5056     TEST_TARGET_SIZE (PEMRDELETEOBJECT, 12)
5057     TEST_TARGET_ALIGN(PEMRDELETEOBJECT, 4)
5058 }
5059
5060 static void test_pack_PEMRELLIPSE(void)
5061 {
5062     /* PEMRELLIPSE */
5063     TEST_TYPE_SIZE   (PEMRELLIPSE, 4)
5064     TEST_TYPE_ALIGN  (PEMRELLIPSE, 4)
5065     TEST_TARGET_SIZE (PEMRELLIPSE, 24)
5066     TEST_TARGET_ALIGN(PEMRELLIPSE, 4)
5067 }
5068
5069 static void test_pack_PEMRENDPATH(void)
5070 {
5071     /* PEMRENDPATH */
5072     TEST_TYPE_SIZE   (PEMRENDPATH, 4)
5073     TEST_TYPE_ALIGN  (PEMRENDPATH, 4)
5074     TEST_TARGET_SIZE (PEMRENDPATH, 8)
5075     TEST_TARGET_ALIGN(PEMRENDPATH, 4)
5076 }
5077
5078 static void test_pack_PEMREOF(void)
5079 {
5080     /* PEMREOF */
5081     TEST_TYPE_SIZE   (PEMREOF, 4)
5082     TEST_TYPE_ALIGN  (PEMREOF, 4)
5083     TEST_TARGET_SIZE (PEMREOF, 20)
5084     TEST_TARGET_ALIGN(PEMREOF, 4)
5085 }
5086
5087 static void test_pack_PEMREXCLUDECLIPRECT(void)
5088 {
5089     /* PEMREXCLUDECLIPRECT */
5090     TEST_TYPE_SIZE   (PEMREXCLUDECLIPRECT, 4)
5091     TEST_TYPE_ALIGN  (PEMREXCLUDECLIPRECT, 4)
5092     TEST_TARGET_SIZE (PEMREXCLUDECLIPRECT, 24)
5093     TEST_TARGET_ALIGN(PEMREXCLUDECLIPRECT, 4)
5094 }
5095
5096 static void test_pack_PEMREXTCREATEFONTINDIRECTW(void)
5097 {
5098     /* PEMREXTCREATEFONTINDIRECTW */
5099     TEST_TYPE_SIZE   (PEMREXTCREATEFONTINDIRECTW, 4)
5100     TEST_TYPE_ALIGN  (PEMREXTCREATEFONTINDIRECTW, 4)
5101     TEST_TARGET_SIZE (PEMREXTCREATEFONTINDIRECTW, 332)
5102     TEST_TARGET_ALIGN(PEMREXTCREATEFONTINDIRECTW, 4)
5103 }
5104
5105 static void test_pack_PEMREXTCREATEPEN(void)
5106 {
5107     /* PEMREXTCREATEPEN */
5108     TEST_TYPE_SIZE   (PEMREXTCREATEPEN, 4)
5109     TEST_TYPE_ALIGN  (PEMREXTCREATEPEN, 4)
5110     TEST_TARGET_SIZE (PEMREXTCREATEPEN, 56)
5111     TEST_TARGET_ALIGN(PEMREXTCREATEPEN, 4)
5112 }
5113
5114 static void test_pack_PEMREXTFLOODFILL(void)
5115 {
5116     /* PEMREXTFLOODFILL */
5117     TEST_TYPE_SIZE   (PEMREXTFLOODFILL, 4)
5118     TEST_TYPE_ALIGN  (PEMREXTFLOODFILL, 4)
5119     TEST_TARGET_SIZE (PEMREXTFLOODFILL, 24)
5120     TEST_TARGET_ALIGN(PEMREXTFLOODFILL, 4)
5121 }
5122
5123 static void test_pack_PEMREXTSELECTCLIPRGN(void)
5124 {
5125     /* PEMREXTSELECTCLIPRGN */
5126     TEST_TYPE_SIZE   (PEMREXTSELECTCLIPRGN, 4)
5127     TEST_TYPE_ALIGN  (PEMREXTSELECTCLIPRGN, 4)
5128     TEST_TARGET_SIZE (PEMREXTSELECTCLIPRGN, 20)
5129     TEST_TARGET_ALIGN(PEMREXTSELECTCLIPRGN, 4)
5130 }
5131
5132 static void test_pack_PEMREXTTEXTOUTA(void)
5133 {
5134     /* PEMREXTTEXTOUTA */
5135     TEST_TYPE_SIZE   (PEMREXTTEXTOUTA, 4)
5136     TEST_TYPE_ALIGN  (PEMREXTTEXTOUTA, 4)
5137     TEST_TARGET_SIZE (PEMREXTTEXTOUTA, 76)
5138     TEST_TARGET_ALIGN(PEMREXTTEXTOUTA, 4)
5139 }
5140
5141 static void test_pack_PEMREXTTEXTOUTW(void)
5142 {
5143     /* PEMREXTTEXTOUTW */
5144     TEST_TYPE_SIZE   (PEMREXTTEXTOUTW, 4)
5145     TEST_TYPE_ALIGN  (PEMREXTTEXTOUTW, 4)
5146     TEST_TARGET_SIZE (PEMREXTTEXTOUTW, 76)
5147     TEST_TARGET_ALIGN(PEMREXTTEXTOUTW, 4)
5148 }
5149
5150 static void test_pack_PEMRFILLPATH(void)
5151 {
5152     /* PEMRFILLPATH */
5153     TEST_TYPE_SIZE   (PEMRFILLPATH, 4)
5154     TEST_TYPE_ALIGN  (PEMRFILLPATH, 4)
5155     TEST_TARGET_SIZE (PEMRFILLPATH, 24)
5156     TEST_TARGET_ALIGN(PEMRFILLPATH, 4)
5157 }
5158
5159 static void test_pack_PEMRFILLRGN(void)
5160 {
5161     /* PEMRFILLRGN */
5162     TEST_TYPE_SIZE   (PEMRFILLRGN, 4)
5163     TEST_TYPE_ALIGN  (PEMRFILLRGN, 4)
5164     TEST_TARGET_SIZE (PEMRFILLRGN, 36)
5165     TEST_TARGET_ALIGN(PEMRFILLRGN, 4)
5166 }
5167
5168 static void test_pack_PEMRFLATTENPATH(void)
5169 {
5170     /* PEMRFLATTENPATH */
5171     TEST_TYPE_SIZE   (PEMRFLATTENPATH, 4)
5172     TEST_TYPE_ALIGN  (PEMRFLATTENPATH, 4)
5173     TEST_TARGET_SIZE (PEMRFLATTENPATH, 8)
5174     TEST_TARGET_ALIGN(PEMRFLATTENPATH, 4)
5175 }
5176
5177 static void test_pack_PEMRFORMAT(void)
5178 {
5179     /* PEMRFORMAT */
5180     TEST_TYPE_SIZE   (PEMRFORMAT, 4)
5181     TEST_TYPE_ALIGN  (PEMRFORMAT, 4)
5182     TEST_TARGET_SIZE (PEMRFORMAT, 16)
5183     TEST_TARGET_ALIGN(PEMRFORMAT, 4)
5184 }
5185
5186 static void test_pack_PEMRFRAMERGN(void)
5187 {
5188     /* PEMRFRAMERGN */
5189     TEST_TYPE_SIZE   (PEMRFRAMERGN, 4)
5190     TEST_TYPE_ALIGN  (PEMRFRAMERGN, 4)
5191     TEST_TARGET_SIZE (PEMRFRAMERGN, 44)
5192     TEST_TARGET_ALIGN(PEMRFRAMERGN, 4)
5193 }
5194
5195 static void test_pack_PEMRGDICOMMENT(void)
5196 {
5197     /* PEMRGDICOMMENT */
5198     TEST_TYPE_SIZE   (PEMRGDICOMMENT, 4)
5199     TEST_TYPE_ALIGN  (PEMRGDICOMMENT, 4)
5200     TEST_TARGET_SIZE (PEMRGDICOMMENT, 16)
5201     TEST_TARGET_ALIGN(PEMRGDICOMMENT, 4)
5202 }
5203
5204 static void test_pack_PEMRGLSBOUNDEDRECORD(void)
5205 {
5206     /* PEMRGLSBOUNDEDRECORD */
5207     TEST_TYPE_SIZE   (PEMRGLSBOUNDEDRECORD, 4)
5208     TEST_TYPE_ALIGN  (PEMRGLSBOUNDEDRECORD, 4)
5209     TEST_TARGET_SIZE (PEMRGLSBOUNDEDRECORD, 32)
5210     TEST_TARGET_ALIGN(PEMRGLSBOUNDEDRECORD, 4)
5211 }
5212
5213 static void test_pack_PEMRGLSRECORD(void)
5214 {
5215     /* PEMRGLSRECORD */
5216     TEST_TYPE_SIZE   (PEMRGLSRECORD, 4)
5217     TEST_TYPE_ALIGN  (PEMRGLSRECORD, 4)
5218     TEST_TARGET_SIZE (PEMRGLSRECORD, 16)
5219     TEST_TARGET_ALIGN(PEMRGLSRECORD, 4)
5220 }
5221
5222 static void test_pack_PEMRINTERSECTCLIPRECT(void)
5223 {
5224     /* PEMRINTERSECTCLIPRECT */
5225     TEST_TYPE_SIZE   (PEMRINTERSECTCLIPRECT, 4)
5226     TEST_TYPE_ALIGN  (PEMRINTERSECTCLIPRECT, 4)
5227     TEST_TARGET_SIZE (PEMRINTERSECTCLIPRECT, 24)
5228     TEST_TARGET_ALIGN(PEMRINTERSECTCLIPRECT, 4)
5229 }
5230
5231 static void test_pack_PEMRINVERTRGN(void)
5232 {
5233     /* PEMRINVERTRGN */
5234     TEST_TYPE_SIZE   (PEMRINVERTRGN, 4)
5235     TEST_TYPE_ALIGN  (PEMRINVERTRGN, 4)
5236     TEST_TARGET_SIZE (PEMRINVERTRGN, 32)
5237     TEST_TARGET_ALIGN(PEMRINVERTRGN, 4)
5238 }
5239
5240 static void test_pack_PEMRLINETO(void)
5241 {
5242     /* PEMRLINETO */
5243     TEST_TYPE_SIZE   (PEMRLINETO, 4)
5244     TEST_TYPE_ALIGN  (PEMRLINETO, 4)
5245     TEST_TARGET_SIZE (PEMRLINETO, 16)
5246     TEST_TARGET_ALIGN(PEMRLINETO, 4)
5247 }
5248
5249 static void test_pack_PEMRMASKBLT(void)
5250 {
5251     /* PEMRMASKBLT */
5252     TEST_TYPE_SIZE   (PEMRMASKBLT, 4)
5253     TEST_TYPE_ALIGN  (PEMRMASKBLT, 4)
5254     TEST_TARGET_SIZE (PEMRMASKBLT, 128)
5255     TEST_TARGET_ALIGN(PEMRMASKBLT, 4)
5256 }
5257
5258 static void test_pack_PEMRMODIFYWORLDTRANSFORM(void)
5259 {
5260     /* PEMRMODIFYWORLDTRANSFORM */
5261     TEST_TYPE_SIZE   (PEMRMODIFYWORLDTRANSFORM, 4)
5262     TEST_TYPE_ALIGN  (PEMRMODIFYWORLDTRANSFORM, 4)
5263     TEST_TARGET_SIZE (PEMRMODIFYWORLDTRANSFORM, 36)
5264     TEST_TARGET_ALIGN(PEMRMODIFYWORLDTRANSFORM, 4)
5265 }
5266
5267 static void test_pack_PEMRMOVETOEX(void)
5268 {
5269     /* PEMRMOVETOEX */
5270     TEST_TYPE_SIZE   (PEMRMOVETOEX, 4)
5271     TEST_TYPE_ALIGN  (PEMRMOVETOEX, 4)
5272     TEST_TARGET_SIZE (PEMRMOVETOEX, 16)
5273     TEST_TARGET_ALIGN(PEMRMOVETOEX, 4)
5274 }
5275
5276 static void test_pack_PEMROFFSETCLIPRGN(void)
5277 {
5278     /* PEMROFFSETCLIPRGN */
5279     TEST_TYPE_SIZE   (PEMROFFSETCLIPRGN, 4)
5280     TEST_TYPE_ALIGN  (PEMROFFSETCLIPRGN, 4)
5281     TEST_TARGET_SIZE (PEMROFFSETCLIPRGN, 16)
5282     TEST_TARGET_ALIGN(PEMROFFSETCLIPRGN, 4)
5283 }
5284
5285 static void test_pack_PEMRPAINTRGN(void)
5286 {
5287     /* PEMRPAINTRGN */
5288     TEST_TYPE_SIZE   (PEMRPAINTRGN, 4)
5289     TEST_TYPE_ALIGN  (PEMRPAINTRGN, 4)
5290     TEST_TARGET_SIZE (PEMRPAINTRGN, 32)
5291     TEST_TARGET_ALIGN(PEMRPAINTRGN, 4)
5292 }
5293
5294 static void test_pack_PEMRPIE(void)
5295 {
5296     /* PEMRPIE */
5297     TEST_TYPE_SIZE   (PEMRPIE, 4)
5298     TEST_TYPE_ALIGN  (PEMRPIE, 4)
5299     TEST_TARGET_SIZE (PEMRPIE, 40)
5300     TEST_TARGET_ALIGN(PEMRPIE, 4)
5301 }
5302
5303 static void test_pack_PEMRPIXELFORMAT(void)
5304 {
5305     /* PEMRPIXELFORMAT */
5306     TEST_TYPE_SIZE   (PEMRPIXELFORMAT, 4)
5307     TEST_TYPE_ALIGN  (PEMRPIXELFORMAT, 4)
5308     TEST_TARGET_SIZE (PEMRPIXELFORMAT, 48)
5309     TEST_TARGET_ALIGN(PEMRPIXELFORMAT, 4)
5310 }
5311
5312 static void test_pack_PEMRPLGBLT(void)
5313 {
5314     /* PEMRPLGBLT */
5315     TEST_TYPE_SIZE   (PEMRPLGBLT, 4)
5316     TEST_TYPE_ALIGN  (PEMRPLGBLT, 4)
5317     TEST_TARGET_SIZE (PEMRPLGBLT, 140)
5318     TEST_TARGET_ALIGN(PEMRPLGBLT, 4)
5319 }
5320
5321 static void test_pack_PEMRPOLYBEZIER(void)
5322 {
5323     /* PEMRPOLYBEZIER */
5324     TEST_TYPE_SIZE   (PEMRPOLYBEZIER, 4)
5325     TEST_TYPE_ALIGN  (PEMRPOLYBEZIER, 4)
5326     TEST_TARGET_SIZE (PEMRPOLYBEZIER, 36)
5327     TEST_TARGET_ALIGN(PEMRPOLYBEZIER, 4)
5328 }
5329
5330 static void test_pack_PEMRPOLYBEZIER16(void)
5331 {
5332     /* PEMRPOLYBEZIER16 */
5333     TEST_TYPE_SIZE   (PEMRPOLYBEZIER16, 4)
5334     TEST_TYPE_ALIGN  (PEMRPOLYBEZIER16, 4)
5335     TEST_TARGET_SIZE (PEMRPOLYBEZIER16, 32)
5336     TEST_TARGET_ALIGN(PEMRPOLYBEZIER16, 4)
5337 }
5338
5339 static void test_pack_PEMRPOLYBEZIERTO(void)
5340 {
5341     /* PEMRPOLYBEZIERTO */
5342     TEST_TYPE_SIZE   (PEMRPOLYBEZIERTO, 4)
5343     TEST_TYPE_ALIGN  (PEMRPOLYBEZIERTO, 4)
5344     TEST_TARGET_SIZE (PEMRPOLYBEZIERTO, 36)
5345     TEST_TARGET_ALIGN(PEMRPOLYBEZIERTO, 4)
5346 }
5347
5348 static void test_pack_PEMRPOLYBEZIERTO16(void)
5349 {
5350     /* PEMRPOLYBEZIERTO16 */
5351     TEST_TYPE_SIZE   (PEMRPOLYBEZIERTO16, 4)
5352     TEST_TYPE_ALIGN  (PEMRPOLYBEZIERTO16, 4)
5353     TEST_TARGET_SIZE (PEMRPOLYBEZIERTO16, 32)
5354     TEST_TARGET_ALIGN(PEMRPOLYBEZIERTO16, 4)
5355 }
5356
5357 static void test_pack_PEMRPOLYDRAW(void)
5358 {
5359     /* PEMRPOLYDRAW */
5360     TEST_TYPE_SIZE   (PEMRPOLYDRAW, 4)
5361     TEST_TYPE_ALIGN  (PEMRPOLYDRAW, 4)
5362     TEST_TARGET_SIZE (PEMRPOLYDRAW, 40)
5363     TEST_TARGET_ALIGN(PEMRPOLYDRAW, 4)
5364 }
5365
5366 static void test_pack_PEMRPOLYDRAW16(void)
5367 {
5368     /* PEMRPOLYDRAW16 */
5369     TEST_TYPE_SIZE   (PEMRPOLYDRAW16, 4)
5370     TEST_TYPE_ALIGN  (PEMRPOLYDRAW16, 4)
5371     TEST_TARGET_SIZE (PEMRPOLYDRAW16, 36)
5372     TEST_TARGET_ALIGN(PEMRPOLYDRAW16, 4)
5373 }
5374
5375 static void test_pack_PEMRPOLYGON(void)
5376 {
5377     /* PEMRPOLYGON */
5378     TEST_TYPE_SIZE   (PEMRPOLYGON, 4)
5379     TEST_TYPE_ALIGN  (PEMRPOLYGON, 4)
5380     TEST_TARGET_SIZE (PEMRPOLYGON, 36)
5381     TEST_TARGET_ALIGN(PEMRPOLYGON, 4)
5382 }
5383
5384 static void test_pack_PEMRPOLYGON16(void)
5385 {
5386     /* PEMRPOLYGON16 */
5387     TEST_TYPE_SIZE   (PEMRPOLYGON16, 4)
5388     TEST_TYPE_ALIGN  (PEMRPOLYGON16, 4)
5389     TEST_TARGET_SIZE (PEMRPOLYGON16, 32)
5390     TEST_TARGET_ALIGN(PEMRPOLYGON16, 4)
5391 }
5392
5393 static void test_pack_PEMRPOLYLINE(void)
5394 {
5395     /* PEMRPOLYLINE */
5396     TEST_TYPE_SIZE   (PEMRPOLYLINE, 4)
5397     TEST_TYPE_ALIGN  (PEMRPOLYLINE, 4)
5398     TEST_TARGET_SIZE (PEMRPOLYLINE, 36)
5399     TEST_TARGET_ALIGN(PEMRPOLYLINE, 4)
5400 }
5401
5402 static void test_pack_PEMRPOLYLINE16(void)
5403 {
5404     /* PEMRPOLYLINE16 */
5405     TEST_TYPE_SIZE   (PEMRPOLYLINE16, 4)
5406     TEST_TYPE_ALIGN  (PEMRPOLYLINE16, 4)
5407     TEST_TARGET_SIZE (PEMRPOLYLINE16, 32)
5408     TEST_TARGET_ALIGN(PEMRPOLYLINE16, 4)
5409 }
5410
5411 static void test_pack_PEMRPOLYLINETO(void)
5412 {
5413     /* PEMRPOLYLINETO */
5414     TEST_TYPE_SIZE   (PEMRPOLYLINETO, 4)
5415     TEST_TYPE_ALIGN  (PEMRPOLYLINETO, 4)
5416     TEST_TARGET_SIZE (PEMRPOLYLINETO, 36)
5417     TEST_TARGET_ALIGN(PEMRPOLYLINETO, 4)
5418 }
5419
5420 static void test_pack_PEMRPOLYLINETO16(void)
5421 {
5422     /* PEMRPOLYLINETO16 */
5423     TEST_TYPE_SIZE   (PEMRPOLYLINETO16, 4)
5424     TEST_TYPE_ALIGN  (PEMRPOLYLINETO16, 4)
5425     TEST_TARGET_SIZE (PEMRPOLYLINETO16, 32)
5426     TEST_TARGET_ALIGN(PEMRPOLYLINETO16, 4)
5427 }
5428
5429 static void test_pack_PEMRPOLYPOLYGON(void)
5430 {
5431     /* PEMRPOLYPOLYGON */
5432     TEST_TYPE_SIZE   (PEMRPOLYPOLYGON, 4)
5433     TEST_TYPE_ALIGN  (PEMRPOLYPOLYGON, 4)
5434     TEST_TARGET_SIZE (PEMRPOLYPOLYGON, 44)
5435     TEST_TARGET_ALIGN(PEMRPOLYPOLYGON, 4)
5436 }
5437
5438 static void test_pack_PEMRPOLYPOLYGON16(void)
5439 {
5440     /* PEMRPOLYPOLYGON16 */
5441     TEST_TYPE_SIZE   (PEMRPOLYPOLYGON16, 4)
5442     TEST_TYPE_ALIGN  (PEMRPOLYPOLYGON16, 4)
5443     TEST_TARGET_SIZE (PEMRPOLYPOLYGON16, 40)
5444     TEST_TARGET_ALIGN(PEMRPOLYPOLYGON16, 4)
5445 }
5446
5447 static void test_pack_PEMRPOLYPOLYLINE(void)
5448 {
5449     /* PEMRPOLYPOLYLINE */
5450     TEST_TYPE_SIZE   (PEMRPOLYPOLYLINE, 4)
5451     TEST_TYPE_ALIGN  (PEMRPOLYPOLYLINE, 4)
5452     TEST_TARGET_SIZE (PEMRPOLYPOLYLINE, 44)
5453     TEST_TARGET_ALIGN(PEMRPOLYPOLYLINE, 4)
5454 }
5455
5456 static void test_pack_PEMRPOLYPOLYLINE16(void)
5457 {
5458     /* PEMRPOLYPOLYLINE16 */
5459     TEST_TYPE_SIZE   (PEMRPOLYPOLYLINE16, 4)
5460     TEST_TYPE_ALIGN  (PEMRPOLYPOLYLINE16, 4)
5461     TEST_TARGET_SIZE (PEMRPOLYPOLYLINE16, 40)
5462     TEST_TARGET_ALIGN(PEMRPOLYPOLYLINE16, 4)
5463 }
5464
5465 static void test_pack_PEMRPOLYTEXTOUTA(void)
5466 {
5467     /* PEMRPOLYTEXTOUTA */
5468     TEST_TYPE_SIZE   (PEMRPOLYTEXTOUTA, 4)
5469     TEST_TYPE_ALIGN  (PEMRPOLYTEXTOUTA, 4)
5470     TEST_TARGET_SIZE (PEMRPOLYTEXTOUTA, 80)
5471     TEST_TARGET_ALIGN(PEMRPOLYTEXTOUTA, 4)
5472 }
5473
5474 static void test_pack_PEMRPOLYTEXTOUTW(void)
5475 {
5476     /* PEMRPOLYTEXTOUTW */
5477     TEST_TYPE_SIZE   (PEMRPOLYTEXTOUTW, 4)
5478     TEST_TYPE_ALIGN  (PEMRPOLYTEXTOUTW, 4)
5479     TEST_TARGET_SIZE (PEMRPOLYTEXTOUTW, 80)
5480     TEST_TARGET_ALIGN(PEMRPOLYTEXTOUTW, 4)
5481 }
5482
5483 static void test_pack_PEMRREALIZEPALETTE(void)
5484 {
5485     /* PEMRREALIZEPALETTE */
5486     TEST_TYPE_SIZE   (PEMRREALIZEPALETTE, 4)
5487     TEST_TYPE_ALIGN  (PEMRREALIZEPALETTE, 4)
5488     TEST_TARGET_SIZE (PEMRREALIZEPALETTE, 8)
5489     TEST_TARGET_ALIGN(PEMRREALIZEPALETTE, 4)
5490 }
5491
5492 static void test_pack_PEMRRECTANGLE(void)
5493 {
5494     /* PEMRRECTANGLE */
5495     TEST_TYPE_SIZE   (PEMRRECTANGLE, 4)
5496     TEST_TYPE_ALIGN  (PEMRRECTANGLE, 4)
5497     TEST_TARGET_SIZE (PEMRRECTANGLE, 24)
5498     TEST_TARGET_ALIGN(PEMRRECTANGLE, 4)
5499 }
5500
5501 static void test_pack_PEMRRESIZEPALETTE(void)
5502 {
5503     /* PEMRRESIZEPALETTE */
5504     TEST_TYPE_SIZE   (PEMRRESIZEPALETTE, 4)
5505     TEST_TYPE_ALIGN  (PEMRRESIZEPALETTE, 4)
5506     TEST_TARGET_SIZE (PEMRRESIZEPALETTE, 16)
5507     TEST_TARGET_ALIGN(PEMRRESIZEPALETTE, 4)
5508 }
5509
5510 static void test_pack_PEMRRESTOREDC(void)
5511 {
5512     /* PEMRRESTOREDC */
5513     TEST_TYPE_SIZE   (PEMRRESTOREDC, 4)
5514     TEST_TYPE_ALIGN  (PEMRRESTOREDC, 4)
5515     TEST_TARGET_SIZE (PEMRRESTOREDC, 12)
5516     TEST_TARGET_ALIGN(PEMRRESTOREDC, 4)
5517 }
5518
5519 static void test_pack_PEMRROUNDRECT(void)
5520 {
5521     /* PEMRROUNDRECT */
5522     TEST_TYPE_SIZE   (PEMRROUNDRECT, 4)
5523     TEST_TYPE_ALIGN  (PEMRROUNDRECT, 4)
5524     TEST_TARGET_SIZE (PEMRROUNDRECT, 32)
5525     TEST_TARGET_ALIGN(PEMRROUNDRECT, 4)
5526 }
5527
5528 static void test_pack_PEMRSAVEDC(void)
5529 {
5530     /* PEMRSAVEDC */
5531     TEST_TYPE_SIZE   (PEMRSAVEDC, 4)
5532     TEST_TYPE_ALIGN  (PEMRSAVEDC, 4)
5533     TEST_TARGET_SIZE (PEMRSAVEDC, 8)
5534     TEST_TARGET_ALIGN(PEMRSAVEDC, 4)
5535 }
5536
5537 static void test_pack_PEMRSCALEVIEWPORTEXTEX(void)
5538 {
5539     /* PEMRSCALEVIEWPORTEXTEX */
5540     TEST_TYPE_SIZE   (PEMRSCALEVIEWPORTEXTEX, 4)
5541     TEST_TYPE_ALIGN  (PEMRSCALEVIEWPORTEXTEX, 4)
5542     TEST_TARGET_SIZE (PEMRSCALEVIEWPORTEXTEX, 24)
5543     TEST_TARGET_ALIGN(PEMRSCALEVIEWPORTEXTEX, 4)
5544 }
5545
5546 static void test_pack_PEMRSCALEWINDOWEXTEX(void)
5547 {
5548     /* PEMRSCALEWINDOWEXTEX */
5549     TEST_TYPE_SIZE   (PEMRSCALEWINDOWEXTEX, 4)
5550     TEST_TYPE_ALIGN  (PEMRSCALEWINDOWEXTEX, 4)
5551     TEST_TARGET_SIZE (PEMRSCALEWINDOWEXTEX, 24)
5552     TEST_TARGET_ALIGN(PEMRSCALEWINDOWEXTEX, 4)
5553 }
5554
5555 static void test_pack_PEMRSELECTCLIPPATH(void)
5556 {
5557     /* PEMRSELECTCLIPPATH */
5558     TEST_TYPE_SIZE   (PEMRSELECTCLIPPATH, 4)
5559     TEST_TYPE_ALIGN  (PEMRSELECTCLIPPATH, 4)
5560     TEST_TARGET_SIZE (PEMRSELECTCLIPPATH, 12)
5561     TEST_TARGET_ALIGN(PEMRSELECTCLIPPATH, 4)
5562 }
5563
5564 static void test_pack_PEMRSELECTCOLORSPACE(void)
5565 {
5566     /* PEMRSELECTCOLORSPACE */
5567     TEST_TYPE_SIZE   (PEMRSELECTCOLORSPACE, 4)
5568     TEST_TYPE_ALIGN  (PEMRSELECTCOLORSPACE, 4)
5569     TEST_TARGET_SIZE (PEMRSELECTCOLORSPACE, 12)
5570     TEST_TARGET_ALIGN(PEMRSELECTCOLORSPACE, 4)
5571 }
5572
5573 static void test_pack_PEMRSELECTOBJECT(void)
5574 {
5575     /* PEMRSELECTOBJECT */
5576     TEST_TYPE_SIZE   (PEMRSELECTOBJECT, 4)
5577     TEST_TYPE_ALIGN  (PEMRSELECTOBJECT, 4)
5578     TEST_TARGET_SIZE (PEMRSELECTOBJECT, 12)
5579     TEST_TARGET_ALIGN(PEMRSELECTOBJECT, 4)
5580 }
5581
5582 static void test_pack_PEMRSELECTPALETTE(void)
5583 {
5584     /* PEMRSELECTPALETTE */
5585     TEST_TYPE_SIZE   (PEMRSELECTPALETTE, 4)
5586     TEST_TYPE_ALIGN  (PEMRSELECTPALETTE, 4)
5587     TEST_TARGET_SIZE (PEMRSELECTPALETTE, 12)
5588     TEST_TARGET_ALIGN(PEMRSELECTPALETTE, 4)
5589 }
5590
5591 static void test_pack_PEMRSETARCDIRECTION(void)
5592 {
5593     /* PEMRSETARCDIRECTION */
5594     TEST_TYPE_SIZE   (PEMRSETARCDIRECTION, 4)
5595     TEST_TYPE_ALIGN  (PEMRSETARCDIRECTION, 4)
5596     TEST_TARGET_SIZE (PEMRSETARCDIRECTION, 12)
5597     TEST_TARGET_ALIGN(PEMRSETARCDIRECTION, 4)
5598 }
5599
5600 static void test_pack_PEMRSETBKCOLOR(void)
5601 {
5602     /* PEMRSETBKCOLOR */
5603     TEST_TYPE_SIZE   (PEMRSETBKCOLOR, 4)
5604     TEST_TYPE_ALIGN  (PEMRSETBKCOLOR, 4)
5605     TEST_TARGET_SIZE (PEMRSETBKCOLOR, 12)
5606     TEST_TARGET_ALIGN(PEMRSETBKCOLOR, 4)
5607 }
5608
5609 static void test_pack_PEMRSETBKMODE(void)
5610 {
5611     /* PEMRSETBKMODE */
5612     TEST_TYPE_SIZE   (PEMRSETBKMODE, 4)
5613     TEST_TYPE_ALIGN  (PEMRSETBKMODE, 4)
5614     TEST_TARGET_SIZE (PEMRSETBKMODE, 12)
5615     TEST_TARGET_ALIGN(PEMRSETBKMODE, 4)
5616 }
5617
5618 static void test_pack_PEMRSETBRUSHORGEX(void)
5619 {
5620     /* PEMRSETBRUSHORGEX */
5621     TEST_TYPE_SIZE   (PEMRSETBRUSHORGEX, 4)
5622     TEST_TYPE_ALIGN  (PEMRSETBRUSHORGEX, 4)
5623     TEST_TARGET_SIZE (PEMRSETBRUSHORGEX, 16)
5624     TEST_TARGET_ALIGN(PEMRSETBRUSHORGEX, 4)
5625 }
5626
5627 static void test_pack_PEMRSETCOLORADJUSTMENT(void)
5628 {
5629     /* PEMRSETCOLORADJUSTMENT */
5630     TEST_TYPE_SIZE   (PEMRSETCOLORADJUSTMENT, 4)
5631     TEST_TYPE_ALIGN  (PEMRSETCOLORADJUSTMENT, 4)
5632     TEST_TARGET_SIZE (PEMRSETCOLORADJUSTMENT, 32)
5633     TEST_TARGET_ALIGN(PEMRSETCOLORADJUSTMENT, 4)
5634 }
5635
5636 static void test_pack_PEMRSETCOLORSPACE(void)
5637 {
5638     /* PEMRSETCOLORSPACE */
5639     TEST_TYPE_SIZE   (PEMRSETCOLORSPACE, 4)
5640     TEST_TYPE_ALIGN  (PEMRSETCOLORSPACE, 4)
5641     TEST_TARGET_SIZE (PEMRSETCOLORSPACE, 12)
5642     TEST_TARGET_ALIGN(PEMRSETCOLORSPACE, 4)
5643 }
5644
5645 static void test_pack_PEMRSETDIBITSTODEVICE(void)
5646 {
5647     /* PEMRSETDIBITSTODEVICE */
5648     TEST_TYPE_SIZE   (PEMRSETDIBITSTODEVICE, 4)
5649     TEST_TYPE_ALIGN  (PEMRSETDIBITSTODEVICE, 4)
5650     TEST_TARGET_SIZE (PEMRSETDIBITSTODEVICE, 76)
5651     TEST_TARGET_ALIGN(PEMRSETDIBITSTODEVICE, 4)
5652 }
5653
5654 static void test_pack_PEMRSETICMMODE(void)
5655 {
5656     /* PEMRSETICMMODE */
5657     TEST_TYPE_SIZE   (PEMRSETICMMODE, 4)
5658     TEST_TYPE_ALIGN  (PEMRSETICMMODE, 4)
5659     TEST_TARGET_SIZE (PEMRSETICMMODE, 12)
5660     TEST_TARGET_ALIGN(PEMRSETICMMODE, 4)
5661 }
5662
5663 static void test_pack_PEMRSETLAYOUT(void)
5664 {
5665     /* PEMRSETLAYOUT */
5666     TEST_TYPE_SIZE   (PEMRSETLAYOUT, 4)
5667     TEST_TYPE_ALIGN  (PEMRSETLAYOUT, 4)
5668     TEST_TARGET_SIZE (PEMRSETLAYOUT, 12)
5669     TEST_TARGET_ALIGN(PEMRSETLAYOUT, 4)
5670 }
5671
5672 static void test_pack_PEMRSETMAPMODE(void)
5673 {
5674     /* PEMRSETMAPMODE */
5675     TEST_TYPE_SIZE   (PEMRSETMAPMODE, 4)
5676     TEST_TYPE_ALIGN  (PEMRSETMAPMODE, 4)
5677     TEST_TARGET_SIZE (PEMRSETMAPMODE, 12)
5678     TEST_TARGET_ALIGN(PEMRSETMAPMODE, 4)
5679 }
5680
5681 static void test_pack_PEMRSETMAPPERFLAGS(void)
5682 {
5683     /* PEMRSETMAPPERFLAGS */
5684     TEST_TYPE_SIZE   (PEMRSETMAPPERFLAGS, 4)
5685     TEST_TYPE_ALIGN  (PEMRSETMAPPERFLAGS, 4)
5686     TEST_TARGET_SIZE (PEMRSETMAPPERFLAGS, 12)
5687     TEST_TARGET_ALIGN(PEMRSETMAPPERFLAGS, 4)
5688 }
5689
5690 static void test_pack_PEMRSETMETARGN(void)
5691 {
5692     /* PEMRSETMETARGN */
5693     TEST_TYPE_SIZE   (PEMRSETMETARGN, 4)
5694     TEST_TYPE_ALIGN  (PEMRSETMETARGN, 4)
5695     TEST_TARGET_SIZE (PEMRSETMETARGN, 8)
5696     TEST_TARGET_ALIGN(PEMRSETMETARGN, 4)
5697 }
5698
5699 static void test_pack_PEMRSETMITERLIMIT(void)
5700 {
5701     /* PEMRSETMITERLIMIT */
5702     TEST_TYPE_SIZE   (PEMRSETMITERLIMIT, 4)
5703     TEST_TYPE_ALIGN  (PEMRSETMITERLIMIT, 4)
5704     TEST_TARGET_SIZE (PEMRSETMITERLIMIT, 12)
5705     TEST_TARGET_ALIGN(PEMRSETMITERLIMIT, 4)
5706 }
5707
5708 static void test_pack_PEMRSETPALETTEENTRIES(void)
5709 {
5710     /* PEMRSETPALETTEENTRIES */
5711     TEST_TYPE_SIZE   (PEMRSETPALETTEENTRIES, 4)
5712     TEST_TYPE_ALIGN  (PEMRSETPALETTEENTRIES, 4)
5713     TEST_TARGET_SIZE (PEMRSETPALETTEENTRIES, 24)
5714     TEST_TARGET_ALIGN(PEMRSETPALETTEENTRIES, 4)
5715 }
5716
5717 static void test_pack_PEMRSETPIXELV(void)
5718 {
5719     /* PEMRSETPIXELV */
5720     TEST_TYPE_SIZE   (PEMRSETPIXELV, 4)
5721     TEST_TYPE_ALIGN  (PEMRSETPIXELV, 4)
5722     TEST_TARGET_SIZE (PEMRSETPIXELV, 20)
5723     TEST_TARGET_ALIGN(PEMRSETPIXELV, 4)
5724 }
5725
5726 static void test_pack_PEMRSETPOLYFILLMODE(void)
5727 {
5728     /* PEMRSETPOLYFILLMODE */
5729     TEST_TYPE_SIZE   (PEMRSETPOLYFILLMODE, 4)
5730     TEST_TYPE_ALIGN  (PEMRSETPOLYFILLMODE, 4)
5731     TEST_TARGET_SIZE (PEMRSETPOLYFILLMODE, 12)
5732     TEST_TARGET_ALIGN(PEMRSETPOLYFILLMODE, 4)
5733 }
5734
5735 static void test_pack_PEMRSETROP2(void)
5736 {
5737     /* PEMRSETROP2 */
5738     TEST_TYPE_SIZE   (PEMRSETROP2, 4)
5739     TEST_TYPE_ALIGN  (PEMRSETROP2, 4)
5740     TEST_TARGET_SIZE (PEMRSETROP2, 12)
5741     TEST_TARGET_ALIGN(PEMRSETROP2, 4)
5742 }
5743
5744 static void test_pack_PEMRSETSTRETCHBLTMODE(void)
5745 {
5746     /* PEMRSETSTRETCHBLTMODE */
5747     TEST_TYPE_SIZE   (PEMRSETSTRETCHBLTMODE, 4)
5748     TEST_TYPE_ALIGN  (PEMRSETSTRETCHBLTMODE, 4)
5749     TEST_TARGET_SIZE (PEMRSETSTRETCHBLTMODE, 12)
5750     TEST_TARGET_ALIGN(PEMRSETSTRETCHBLTMODE, 4)
5751 }
5752
5753 static void test_pack_PEMRSETTEXTALIGN(void)
5754 {
5755     /* PEMRSETTEXTALIGN */
5756     TEST_TYPE_SIZE   (PEMRSETTEXTALIGN, 4)
5757     TEST_TYPE_ALIGN  (PEMRSETTEXTALIGN, 4)
5758     TEST_TARGET_SIZE (PEMRSETTEXTALIGN, 12)
5759     TEST_TARGET_ALIGN(PEMRSETTEXTALIGN, 4)
5760 }
5761
5762 static void test_pack_PEMRSETTEXTCOLOR(void)
5763 {
5764     /* PEMRSETTEXTCOLOR */
5765     TEST_TYPE_SIZE   (PEMRSETTEXTCOLOR, 4)
5766     TEST_TYPE_ALIGN  (PEMRSETTEXTCOLOR, 4)
5767     TEST_TARGET_SIZE (PEMRSETTEXTCOLOR, 12)
5768     TEST_TARGET_ALIGN(PEMRSETTEXTCOLOR, 4)
5769 }
5770
5771 static void test_pack_PEMRSETVIEWPORTEXTEX(void)
5772 {
5773     /* PEMRSETVIEWPORTEXTEX */
5774     TEST_TYPE_SIZE   (PEMRSETVIEWPORTEXTEX, 4)
5775     TEST_TYPE_ALIGN  (PEMRSETVIEWPORTEXTEX, 4)
5776     TEST_TARGET_SIZE (PEMRSETVIEWPORTEXTEX, 16)
5777     TEST_TARGET_ALIGN(PEMRSETVIEWPORTEXTEX, 4)
5778 }
5779
5780 static void test_pack_PEMRSETVIEWPORTORGEX(void)
5781 {
5782     /* PEMRSETVIEWPORTORGEX */
5783     TEST_TYPE_SIZE   (PEMRSETVIEWPORTORGEX, 4)
5784     TEST_TYPE_ALIGN  (PEMRSETVIEWPORTORGEX, 4)
5785     TEST_TARGET_SIZE (PEMRSETVIEWPORTORGEX, 16)
5786     TEST_TARGET_ALIGN(PEMRSETVIEWPORTORGEX, 4)
5787 }
5788
5789 static void test_pack_PEMRSETWINDOWEXTEX(void)
5790 {
5791     /* PEMRSETWINDOWEXTEX */
5792     TEST_TYPE_SIZE   (PEMRSETWINDOWEXTEX, 4)
5793     TEST_TYPE_ALIGN  (PEMRSETWINDOWEXTEX, 4)
5794     TEST_TARGET_SIZE (PEMRSETWINDOWEXTEX, 16)
5795     TEST_TARGET_ALIGN(PEMRSETWINDOWEXTEX, 4)
5796 }
5797
5798 static void test_pack_PEMRSETWINDOWORGEX(void)
5799 {
5800     /* PEMRSETWINDOWORGEX */
5801     TEST_TYPE_SIZE   (PEMRSETWINDOWORGEX, 4)
5802     TEST_TYPE_ALIGN  (PEMRSETWINDOWORGEX, 4)
5803     TEST_TARGET_SIZE (PEMRSETWINDOWORGEX, 16)
5804     TEST_TARGET_ALIGN(PEMRSETWINDOWORGEX, 4)
5805 }
5806
5807 static void test_pack_PEMRSETWORLDTRANSFORM(void)
5808 {
5809     /* PEMRSETWORLDTRANSFORM */
5810     TEST_TYPE_SIZE   (PEMRSETWORLDTRANSFORM, 4)
5811     TEST_TYPE_ALIGN  (PEMRSETWORLDTRANSFORM, 4)
5812     TEST_TARGET_SIZE (PEMRSETWORLDTRANSFORM, 32)
5813     TEST_TARGET_ALIGN(PEMRSETWORLDTRANSFORM, 4)
5814 }
5815
5816 static void test_pack_PEMRSTRETCHBLT(void)
5817 {
5818     /* PEMRSTRETCHBLT */
5819     TEST_TYPE_SIZE   (PEMRSTRETCHBLT, 4)
5820     TEST_TYPE_ALIGN  (PEMRSTRETCHBLT, 4)
5821     TEST_TARGET_SIZE (PEMRSTRETCHBLT, 108)
5822     TEST_TARGET_ALIGN(PEMRSTRETCHBLT, 4)
5823 }
5824
5825 static void test_pack_PEMRSTRETCHDIBITS(void)
5826 {
5827     /* PEMRSTRETCHDIBITS */
5828     TEST_TYPE_SIZE   (PEMRSTRETCHDIBITS, 4)
5829     TEST_TYPE_ALIGN  (PEMRSTRETCHDIBITS, 4)
5830     TEST_TARGET_SIZE (PEMRSTRETCHDIBITS, 80)
5831     TEST_TARGET_ALIGN(PEMRSTRETCHDIBITS, 4)
5832 }
5833
5834 static void test_pack_PEMRSTROKEANDFILLPATH(void)
5835 {
5836     /* PEMRSTROKEANDFILLPATH */
5837     TEST_TYPE_SIZE   (PEMRSTROKEANDFILLPATH, 4)
5838     TEST_TYPE_ALIGN  (PEMRSTROKEANDFILLPATH, 4)
5839     TEST_TARGET_SIZE (PEMRSTROKEANDFILLPATH, 24)
5840     TEST_TARGET_ALIGN(PEMRSTROKEANDFILLPATH, 4)
5841 }
5842
5843 static void test_pack_PEMRSTROKEPATH(void)
5844 {
5845     /* PEMRSTROKEPATH */
5846     TEST_TYPE_SIZE   (PEMRSTROKEPATH, 4)
5847     TEST_TYPE_ALIGN  (PEMRSTROKEPATH, 4)
5848     TEST_TARGET_SIZE (PEMRSTROKEPATH, 24)
5849     TEST_TARGET_ALIGN(PEMRSTROKEPATH, 4)
5850 }
5851
5852 static void test_pack_PEMRTEXT(void)
5853 {
5854     /* PEMRTEXT */
5855     TEST_TYPE_SIZE   (PEMRTEXT, 4)
5856     TEST_TYPE_ALIGN  (PEMRTEXT, 4)
5857     TEST_TARGET_SIZE (PEMRTEXT, 40)
5858     TEST_TARGET_ALIGN(PEMRTEXT, 4)
5859 }
5860
5861 static void test_pack_PEMRWIDENPATH(void)
5862 {
5863     /* PEMRWIDENPATH */
5864     TEST_TYPE_SIZE   (PEMRWIDENPATH, 4)
5865     TEST_TYPE_ALIGN  (PEMRWIDENPATH, 4)
5866     TEST_TARGET_SIZE (PEMRWIDENPATH, 8)
5867     TEST_TARGET_ALIGN(PEMRWIDENPATH, 4)
5868 }
5869
5870 static void test_pack_PENHMETAHEADER(void)
5871 {
5872     /* PENHMETAHEADER */
5873     TEST_TYPE_SIZE   (PENHMETAHEADER, 4)
5874     TEST_TYPE_ALIGN  (PENHMETAHEADER, 4)
5875     TEST_TARGET_SIZE (PENHMETAHEADER, 108)
5876     TEST_TARGET_ALIGN(PENHMETAHEADER, 4)
5877 }
5878
5879 static void test_pack_PEXTLOGFONTA(void)
5880 {
5881     /* PEXTLOGFONTA */
5882     TEST_TYPE_SIZE   (PEXTLOGFONTA, 4)
5883     TEST_TYPE_ALIGN  (PEXTLOGFONTA, 4)
5884     TEST_TARGET_SIZE (PEXTLOGFONTA, 192)
5885     TEST_TARGET_ALIGN(PEXTLOGFONTA, 4)
5886 }
5887
5888 static void test_pack_PEXTLOGFONTW(void)
5889 {
5890     /* PEXTLOGFONTW */
5891     TEST_TYPE_SIZE   (PEXTLOGFONTW, 4)
5892     TEST_TYPE_ALIGN  (PEXTLOGFONTW, 4)
5893     TEST_TARGET_SIZE (PEXTLOGFONTW, 320)
5894     TEST_TARGET_ALIGN(PEXTLOGFONTW, 4)
5895 }
5896
5897 static void test_pack_PEXTLOGPEN(void)
5898 {
5899     /* PEXTLOGPEN */
5900     TEST_TYPE_SIZE   (PEXTLOGPEN, 4)
5901     TEST_TYPE_ALIGN  (PEXTLOGPEN, 4)
5902     TEST_TARGET_SIZE (PEXTLOGPEN, 28)
5903     TEST_TARGET_ALIGN(PEXTLOGPEN, 4)
5904 }
5905
5906 static void test_pack_PFONTSIGNATURE(void)
5907 {
5908     /* PFONTSIGNATURE */
5909     TEST_TYPE_SIZE   (PFONTSIGNATURE, 4)
5910     TEST_TYPE_ALIGN  (PFONTSIGNATURE, 4)
5911     TEST_TARGET_SIZE (PFONTSIGNATURE, 24)
5912     TEST_TARGET_ALIGN(PFONTSIGNATURE, 4)
5913 }
5914
5915 static void test_pack_PGLYPHMETRICSFLOAT(void)
5916 {
5917     /* PGLYPHMETRICSFLOAT */
5918     TEST_TYPE_SIZE   (PGLYPHMETRICSFLOAT, 4)
5919     TEST_TYPE_ALIGN  (PGLYPHMETRICSFLOAT, 4)
5920     TEST_TARGET_SIZE (PGLYPHMETRICSFLOAT, 24)
5921     TEST_TARGET_ALIGN(PGLYPHMETRICSFLOAT, 4)
5922 }
5923
5924 static void test_pack_PGRADIENT_RECT(void)
5925 {
5926     /* PGRADIENT_RECT */
5927     TEST_TYPE_SIZE   (PGRADIENT_RECT, 4)
5928     TEST_TYPE_ALIGN  (PGRADIENT_RECT, 4)
5929     TEST_TARGET_SIZE (PGRADIENT_RECT, 8)
5930     TEST_TARGET_ALIGN(PGRADIENT_RECT, 4)
5931 }
5932
5933 static void test_pack_PGRADIENT_TRIANGLE(void)
5934 {
5935     /* PGRADIENT_TRIANGLE */
5936     TEST_TYPE_SIZE   (PGRADIENT_TRIANGLE, 4)
5937     TEST_TYPE_ALIGN  (PGRADIENT_TRIANGLE, 4)
5938     TEST_TARGET_SIZE (PGRADIENT_TRIANGLE, 12)
5939     TEST_TARGET_ALIGN(PGRADIENT_TRIANGLE, 4)
5940 }
5941
5942 static void test_pack_PHANDLETABLE(void)
5943 {
5944     /* PHANDLETABLE */
5945     TEST_TYPE_SIZE   (PHANDLETABLE, 4)
5946     TEST_TYPE_ALIGN  (PHANDLETABLE, 4)
5947     TEST_TARGET_SIZE (PHANDLETABLE, 4)
5948     TEST_TARGET_ALIGN(PHANDLETABLE, 4)
5949 }
5950
5951 static void test_pack_PIXELFORMATDESCRIPTOR(void)
5952 {
5953     /* PIXELFORMATDESCRIPTOR (pack 4) */
5954     TEST_TYPE_SIZE   (PIXELFORMATDESCRIPTOR, 40)
5955     TEST_TYPE_ALIGN  (PIXELFORMATDESCRIPTOR, 4)
5956     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, nSize, 2)
5957     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, nSize, 2)
5958     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, nSize, 0)
5959     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, nVersion, 2)
5960     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, nVersion, 2)
5961     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, nVersion, 2)
5962     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, dwFlags, 4)
5963     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, dwFlags, 4)
5964     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, dwFlags, 4)
5965     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, iPixelType, 1)
5966     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, iPixelType, 1)
5967     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, iPixelType, 8)
5968     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cColorBits, 1)
5969     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cColorBits, 1)
5970     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cColorBits, 9)
5971     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cRedBits, 1)
5972     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cRedBits, 1)
5973     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cRedBits, 10)
5974     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cRedShift, 1)
5975     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cRedShift, 1)
5976     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cRedShift, 11)
5977     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cGreenBits, 1)
5978     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cGreenBits, 1)
5979     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cGreenBits, 12)
5980     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cGreenShift, 1)
5981     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cGreenShift, 1)
5982     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cGreenShift, 13)
5983     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cBlueBits, 1)
5984     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cBlueBits, 1)
5985     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cBlueBits, 14)
5986     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cBlueShift, 1)
5987     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cBlueShift, 1)
5988     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cBlueShift, 15)
5989     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cAlphaBits, 1)
5990     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cAlphaBits, 1)
5991     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cAlphaBits, 16)
5992     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cAlphaShift, 1)
5993     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cAlphaShift, 1)
5994     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cAlphaShift, 17)
5995     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cAccumBits, 1)
5996     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cAccumBits, 1)
5997     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cAccumBits, 18)
5998     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cAccumRedBits, 1)
5999     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cAccumRedBits, 1)
6000     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cAccumRedBits, 19)
6001     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cAccumGreenBits, 1)
6002     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cAccumGreenBits, 1)
6003     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cAccumGreenBits, 20)
6004     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cAccumBlueBits, 1)
6005     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cAccumBlueBits, 1)
6006     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cAccumBlueBits, 21)
6007     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cAccumAlphaBits, 1)
6008     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cAccumAlphaBits, 1)
6009     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cAccumAlphaBits, 22)
6010     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cDepthBits, 1)
6011     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cDepthBits, 1)
6012     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cDepthBits, 23)
6013     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cStencilBits, 1)
6014     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cStencilBits, 1)
6015     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cStencilBits, 24)
6016     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, cAuxBuffers, 1)
6017     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, cAuxBuffers, 1)
6018     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, cAuxBuffers, 25)
6019     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, iLayerType, 1)
6020     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, iLayerType, 1)
6021     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, iLayerType, 26)
6022     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, bReserved, 1)
6023     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, bReserved, 1)
6024     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, bReserved, 27)
6025     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, dwLayerMask, 4)
6026     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, dwLayerMask, 4)
6027     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, dwLayerMask, 28)
6028     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, dwVisibleMask, 4)
6029     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, dwVisibleMask, 4)
6030     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, dwVisibleMask, 32)
6031     TEST_FIELD_SIZE  (PIXELFORMATDESCRIPTOR, dwDamageMask, 4)
6032     TEST_FIELD_ALIGN (PIXELFORMATDESCRIPTOR, dwDamageMask, 4)
6033     TEST_FIELD_OFFSET(PIXELFORMATDESCRIPTOR, dwDamageMask, 36)
6034 }
6035
6036 static void test_pack_PLAYERPLANEDESCRIPTOR(void)
6037 {
6038     /* PLAYERPLANEDESCRIPTOR */
6039     TEST_TYPE_SIZE   (PLAYERPLANEDESCRIPTOR, 4)
6040     TEST_TYPE_ALIGN  (PLAYERPLANEDESCRIPTOR, 4)
6041     TEST_TARGET_SIZE (PLAYERPLANEDESCRIPTOR, 32)
6042     TEST_TARGET_ALIGN(PLAYERPLANEDESCRIPTOR, 4)
6043 }
6044
6045 static void test_pack_PLOCALESIGNATURE(void)
6046 {
6047     /* PLOCALESIGNATURE */
6048     TEST_TYPE_SIZE   (PLOCALESIGNATURE, 4)
6049     TEST_TYPE_ALIGN  (PLOCALESIGNATURE, 4)
6050     TEST_TARGET_SIZE (PLOCALESIGNATURE, 32)
6051     TEST_TARGET_ALIGN(PLOCALESIGNATURE, 4)
6052 }
6053
6054 static void test_pack_PLOGBRUSH(void)
6055 {
6056     /* PLOGBRUSH */
6057     TEST_TYPE_SIZE   (PLOGBRUSH, 4)
6058     TEST_TYPE_ALIGN  (PLOGBRUSH, 4)
6059     TEST_TARGET_SIZE (PLOGBRUSH, 12)
6060     TEST_TARGET_ALIGN(PLOGBRUSH, 4)
6061 }
6062
6063 static void test_pack_PLOGFONTA(void)
6064 {
6065     /* PLOGFONTA */
6066     TEST_TYPE_SIZE   (PLOGFONTA, 4)
6067     TEST_TYPE_ALIGN  (PLOGFONTA, 4)
6068     TEST_TARGET_SIZE (PLOGFONTA, 60)
6069     TEST_TARGET_ALIGN(PLOGFONTA, 4)
6070 }
6071
6072 static void test_pack_PLOGFONTW(void)
6073 {
6074     /* PLOGFONTW */
6075     TEST_TYPE_SIZE   (PLOGFONTW, 4)
6076     TEST_TYPE_ALIGN  (PLOGFONTW, 4)
6077     TEST_TARGET_SIZE (PLOGFONTW, 92)
6078     TEST_TARGET_ALIGN(PLOGFONTW, 4)
6079 }
6080
6081 static void test_pack_PMETAHEADER(void)
6082 {
6083     /* PMETAHEADER */
6084     TEST_TYPE_SIZE   (PMETAHEADER, 4)
6085     TEST_TYPE_ALIGN  (PMETAHEADER, 4)
6086     TEST_TARGET_SIZE (PMETAHEADER, 18)
6087     TEST_TARGET_ALIGN(PMETAHEADER, 2)
6088 }
6089
6090 static void test_pack_PMETARECORD(void)
6091 {
6092     /* PMETARECORD */
6093     TEST_TYPE_SIZE   (PMETARECORD, 4)
6094     TEST_TYPE_ALIGN  (PMETARECORD, 4)
6095     TEST_TARGET_SIZE (PMETARECORD, 8)
6096     TEST_TARGET_ALIGN(PMETARECORD, 4)
6097 }
6098
6099 static void test_pack_PNEWTEXTMETRICA(void)
6100 {
6101     /* PNEWTEXTMETRICA */
6102     TEST_TYPE_SIZE   (PNEWTEXTMETRICA, 4)
6103     TEST_TYPE_ALIGN  (PNEWTEXTMETRICA, 4)
6104     TEST_TARGET_SIZE (PNEWTEXTMETRICA, 72)
6105     TEST_TARGET_ALIGN(PNEWTEXTMETRICA, 4)
6106 }
6107
6108 static void test_pack_PNEWTEXTMETRICW(void)
6109 {
6110     /* PNEWTEXTMETRICW */
6111     TEST_TYPE_SIZE   (PNEWTEXTMETRICW, 4)
6112     TEST_TYPE_ALIGN  (PNEWTEXTMETRICW, 4)
6113     TEST_TARGET_SIZE (PNEWTEXTMETRICW, 76)
6114     TEST_TARGET_ALIGN(PNEWTEXTMETRICW, 4)
6115 }
6116
6117 static void test_pack_POINTFLOAT(void)
6118 {
6119     /* POINTFLOAT (pack 4) */
6120     TEST_TYPE_SIZE   (POINTFLOAT, 8)
6121     TEST_TYPE_ALIGN  (POINTFLOAT, 4)
6122     TEST_FIELD_SIZE  (POINTFLOAT, x, 4)
6123     TEST_FIELD_ALIGN (POINTFLOAT, x, 4)
6124     TEST_FIELD_OFFSET(POINTFLOAT, x, 0)
6125     TEST_FIELD_SIZE  (POINTFLOAT, y, 4)
6126     TEST_FIELD_ALIGN (POINTFLOAT, y, 4)
6127     TEST_FIELD_OFFSET(POINTFLOAT, y, 4)
6128 }
6129
6130 static void test_pack_POINTFX(void)
6131 {
6132     /* POINTFX (pack 4) */
6133     TEST_TYPE_SIZE   (POINTFX, 8)
6134     TEST_TYPE_ALIGN  (POINTFX, 2)
6135     TEST_FIELD_SIZE  (POINTFX, x, 4)
6136     TEST_FIELD_ALIGN (POINTFX, x, 2)
6137     TEST_FIELD_OFFSET(POINTFX, x, 0)
6138     TEST_FIELD_SIZE  (POINTFX, y, 4)
6139     TEST_FIELD_ALIGN (POINTFX, y, 2)
6140     TEST_FIELD_OFFSET(POINTFX, y, 4)
6141 }
6142
6143 static void test_pack_POLYTEXTA(void)
6144 {
6145     /* POLYTEXTA (pack 4) */
6146     TEST_TYPE_SIZE   (POLYTEXTA, 40)
6147     TEST_TYPE_ALIGN  (POLYTEXTA, 4)
6148     TEST_FIELD_SIZE  (POLYTEXTA, x, 4)
6149     TEST_FIELD_ALIGN (POLYTEXTA, x, 4)
6150     TEST_FIELD_OFFSET(POLYTEXTA, x, 0)
6151     TEST_FIELD_SIZE  (POLYTEXTA, y, 4)
6152     TEST_FIELD_ALIGN (POLYTEXTA, y, 4)
6153     TEST_FIELD_OFFSET(POLYTEXTA, y, 4)
6154     TEST_FIELD_SIZE  (POLYTEXTA, n, 4)
6155     TEST_FIELD_ALIGN (POLYTEXTA, n, 4)
6156     TEST_FIELD_OFFSET(POLYTEXTA, n, 8)
6157     TEST_FIELD_SIZE  (POLYTEXTA, lpstr, 4)
6158     TEST_FIELD_ALIGN (POLYTEXTA, lpstr, 4)
6159     TEST_FIELD_OFFSET(POLYTEXTA, lpstr, 12)
6160     TEST_FIELD_SIZE  (POLYTEXTA, uiFlags, 4)
6161     TEST_FIELD_ALIGN (POLYTEXTA, uiFlags, 4)
6162     TEST_FIELD_OFFSET(POLYTEXTA, uiFlags, 16)
6163     TEST_FIELD_SIZE  (POLYTEXTA, rcl, 16)
6164     TEST_FIELD_ALIGN (POLYTEXTA, rcl, 4)
6165     TEST_FIELD_OFFSET(POLYTEXTA, rcl, 20)
6166     TEST_FIELD_SIZE  (POLYTEXTA, pdx, 4)
6167     TEST_FIELD_ALIGN (POLYTEXTA, pdx, 4)
6168     TEST_FIELD_OFFSET(POLYTEXTA, pdx, 36)
6169 }
6170
6171 static void test_pack_POLYTEXTW(void)
6172 {
6173     /* POLYTEXTW (pack 4) */
6174     TEST_TYPE_SIZE   (POLYTEXTW, 40)
6175     TEST_TYPE_ALIGN  (POLYTEXTW, 4)
6176     TEST_FIELD_SIZE  (POLYTEXTW, x, 4)
6177     TEST_FIELD_ALIGN (POLYTEXTW, x, 4)
6178     TEST_FIELD_OFFSET(POLYTEXTW, x, 0)
6179     TEST_FIELD_SIZE  (POLYTEXTW, y, 4)
6180     TEST_FIELD_ALIGN (POLYTEXTW, y, 4)
6181     TEST_FIELD_OFFSET(POLYTEXTW, y, 4)
6182     TEST_FIELD_SIZE  (POLYTEXTW, n, 4)
6183     TEST_FIELD_ALIGN (POLYTEXTW, n, 4)
6184     TEST_FIELD_OFFSET(POLYTEXTW, n, 8)
6185     TEST_FIELD_SIZE  (POLYTEXTW, lpstr, 4)
6186     TEST_FIELD_ALIGN (POLYTEXTW, lpstr, 4)
6187     TEST_FIELD_OFFSET(POLYTEXTW, lpstr, 12)
6188     TEST_FIELD_SIZE  (POLYTEXTW, uiFlags, 4)
6189     TEST_FIELD_ALIGN (POLYTEXTW, uiFlags, 4)
6190     TEST_FIELD_OFFSET(POLYTEXTW, uiFlags, 16)
6191     TEST_FIELD_SIZE  (POLYTEXTW, rcl, 16)
6192     TEST_FIELD_ALIGN (POLYTEXTW, rcl, 4)
6193     TEST_FIELD_OFFSET(POLYTEXTW, rcl, 20)
6194     TEST_FIELD_SIZE  (POLYTEXTW, pdx, 4)
6195     TEST_FIELD_ALIGN (POLYTEXTW, pdx, 4)
6196     TEST_FIELD_OFFSET(POLYTEXTW, pdx, 36)
6197 }
6198
6199 static void test_pack_POUTLINETEXTMETRICA(void)
6200 {
6201     /* POUTLINETEXTMETRICA */
6202     TEST_TYPE_SIZE   (POUTLINETEXTMETRICA, 4)
6203     TEST_TYPE_ALIGN  (POUTLINETEXTMETRICA, 4)
6204     TEST_TARGET_SIZE (POUTLINETEXTMETRICA, 212)
6205     TEST_TARGET_ALIGN(POUTLINETEXTMETRICA, 4)
6206 }
6207
6208 static void test_pack_POUTLINETEXTMETRICW(void)
6209 {
6210     /* POUTLINETEXTMETRICW */
6211     TEST_TYPE_SIZE   (POUTLINETEXTMETRICW, 4)
6212     TEST_TYPE_ALIGN  (POUTLINETEXTMETRICW, 4)
6213     TEST_TARGET_SIZE (POUTLINETEXTMETRICW, 216)
6214     TEST_TARGET_ALIGN(POUTLINETEXTMETRICW, 4)
6215 }
6216
6217 static void test_pack_PPELARRAY(void)
6218 {
6219     /* PPELARRAY */
6220     TEST_TYPE_SIZE   (PPELARRAY, 4)
6221     TEST_TYPE_ALIGN  (PPELARRAY, 4)
6222     TEST_TARGET_SIZE (PPELARRAY, 20)
6223     TEST_TARGET_ALIGN(PPELARRAY, 4)
6224 }
6225
6226 static void test_pack_PPIXELFORMATDESCRIPTOR(void)
6227 {
6228     /* PPIXELFORMATDESCRIPTOR */
6229     TEST_TYPE_SIZE   (PPIXELFORMATDESCRIPTOR, 4)
6230     TEST_TYPE_ALIGN  (PPIXELFORMATDESCRIPTOR, 4)
6231     TEST_TARGET_SIZE (PPIXELFORMATDESCRIPTOR, 40)
6232     TEST_TARGET_ALIGN(PPIXELFORMATDESCRIPTOR, 4)
6233 }
6234
6235 static void test_pack_PPOINTFLOAT(void)
6236 {
6237     /* PPOINTFLOAT */
6238     TEST_TYPE_SIZE   (PPOINTFLOAT, 4)
6239     TEST_TYPE_ALIGN  (PPOINTFLOAT, 4)
6240     TEST_TARGET_SIZE (PPOINTFLOAT, 8)
6241     TEST_TARGET_ALIGN(PPOINTFLOAT, 4)
6242 }
6243
6244 static void test_pack_PPOLYTEXTA(void)
6245 {
6246     /* PPOLYTEXTA */
6247     TEST_TYPE_SIZE   (PPOLYTEXTA, 4)
6248     TEST_TYPE_ALIGN  (PPOLYTEXTA, 4)
6249     TEST_TARGET_SIZE (PPOLYTEXTA, 40)
6250     TEST_TARGET_ALIGN(PPOLYTEXTA, 4)
6251 }
6252
6253 static void test_pack_PPOLYTEXTW(void)
6254 {
6255     /* PPOLYTEXTW */
6256     TEST_TYPE_SIZE   (PPOLYTEXTW, 4)
6257     TEST_TYPE_ALIGN  (PPOLYTEXTW, 4)
6258     TEST_TARGET_SIZE (PPOLYTEXTW, 40)
6259     TEST_TARGET_ALIGN(PPOLYTEXTW, 4)
6260 }
6261
6262 static void test_pack_PRGNDATA(void)
6263 {
6264     /* PRGNDATA */
6265     TEST_TYPE_SIZE   (PRGNDATA, 4)
6266     TEST_TYPE_ALIGN  (PRGNDATA, 4)
6267     TEST_TARGET_SIZE (PRGNDATA, 36)
6268     TEST_TARGET_ALIGN(PRGNDATA, 4)
6269 }
6270
6271 static void test_pack_PRGNDATAHEADER(void)
6272 {
6273     /* PRGNDATAHEADER */
6274     TEST_TYPE_SIZE   (PRGNDATAHEADER, 4)
6275     TEST_TYPE_ALIGN  (PRGNDATAHEADER, 4)
6276     TEST_TARGET_SIZE (PRGNDATAHEADER, 32)
6277     TEST_TARGET_ALIGN(PRGNDATAHEADER, 4)
6278 }
6279
6280 static void test_pack_PTEXTMETRICA(void)
6281 {
6282     /* PTEXTMETRICA */
6283     TEST_TYPE_SIZE   (PTEXTMETRICA, 4)
6284     TEST_TYPE_ALIGN  (PTEXTMETRICA, 4)
6285     TEST_TARGET_SIZE (PTEXTMETRICA, 56)
6286     TEST_TARGET_ALIGN(PTEXTMETRICA, 4)
6287 }
6288
6289 static void test_pack_PTEXTMETRICW(void)
6290 {
6291     /* PTEXTMETRICW */
6292     TEST_TYPE_SIZE   (PTEXTMETRICW, 4)
6293     TEST_TYPE_ALIGN  (PTEXTMETRICW, 4)
6294     TEST_TARGET_SIZE (PTEXTMETRICW, 60)
6295     TEST_TARGET_ALIGN(PTEXTMETRICW, 4)
6296 }
6297
6298 static void test_pack_PTRIVERTEX(void)
6299 {
6300     /* PTRIVERTEX */
6301     TEST_TYPE_SIZE   (PTRIVERTEX, 4)
6302     TEST_TYPE_ALIGN  (PTRIVERTEX, 4)
6303     TEST_TARGET_SIZE (PTRIVERTEX, 16)
6304     TEST_TARGET_ALIGN(PTRIVERTEX, 4)
6305 }
6306
6307 static void test_pack_PXFORM(void)
6308 {
6309     /* PXFORM */
6310     TEST_TYPE_SIZE   (PXFORM, 4)
6311     TEST_TYPE_ALIGN  (PXFORM, 4)
6312     TEST_TARGET_SIZE (PXFORM, 24)
6313     TEST_TARGET_ALIGN(PXFORM, 4)
6314 }
6315
6316 static void test_pack_RASTERIZER_STATUS(void)
6317 {
6318     /* RASTERIZER_STATUS (pack 4) */
6319     TEST_TYPE_SIZE   (RASTERIZER_STATUS, 6)
6320     TEST_TYPE_ALIGN  (RASTERIZER_STATUS, 2)
6321     TEST_FIELD_SIZE  (RASTERIZER_STATUS, nSize, 2)
6322     TEST_FIELD_ALIGN (RASTERIZER_STATUS, nSize, 2)
6323     TEST_FIELD_OFFSET(RASTERIZER_STATUS, nSize, 0)
6324     TEST_FIELD_SIZE  (RASTERIZER_STATUS, wFlags, 2)
6325     TEST_FIELD_ALIGN (RASTERIZER_STATUS, wFlags, 2)
6326     TEST_FIELD_OFFSET(RASTERIZER_STATUS, wFlags, 2)
6327     TEST_FIELD_SIZE  (RASTERIZER_STATUS, nLanguageID, 2)
6328     TEST_FIELD_ALIGN (RASTERIZER_STATUS, nLanguageID, 2)
6329     TEST_FIELD_OFFSET(RASTERIZER_STATUS, nLanguageID, 4)
6330 }
6331
6332 static void test_pack_RGBQUAD(void)
6333 {
6334     /* RGBQUAD (pack 4) */
6335     TEST_TYPE_SIZE   (RGBQUAD, 4)
6336     TEST_TYPE_ALIGN  (RGBQUAD, 1)
6337     TEST_FIELD_SIZE  (RGBQUAD, rgbBlue, 1)
6338     TEST_FIELD_ALIGN (RGBQUAD, rgbBlue, 1)
6339     TEST_FIELD_OFFSET(RGBQUAD, rgbBlue, 0)
6340     TEST_FIELD_SIZE  (RGBQUAD, rgbGreen, 1)
6341     TEST_FIELD_ALIGN (RGBQUAD, rgbGreen, 1)
6342     TEST_FIELD_OFFSET(RGBQUAD, rgbGreen, 1)
6343     TEST_FIELD_SIZE  (RGBQUAD, rgbRed, 1)
6344     TEST_FIELD_ALIGN (RGBQUAD, rgbRed, 1)
6345     TEST_FIELD_OFFSET(RGBQUAD, rgbRed, 2)
6346     TEST_FIELD_SIZE  (RGBQUAD, rgbReserved, 1)
6347     TEST_FIELD_ALIGN (RGBQUAD, rgbReserved, 1)
6348     TEST_FIELD_OFFSET(RGBQUAD, rgbReserved, 3)
6349 }
6350
6351 static void test_pack_RGBTRIPLE(void)
6352 {
6353     /* RGBTRIPLE (pack 4) */
6354     TEST_TYPE_SIZE   (RGBTRIPLE, 3)
6355     TEST_TYPE_ALIGN  (RGBTRIPLE, 1)
6356     TEST_FIELD_SIZE  (RGBTRIPLE, rgbtBlue, 1)
6357     TEST_FIELD_ALIGN (RGBTRIPLE, rgbtBlue, 1)
6358     TEST_FIELD_OFFSET(RGBTRIPLE, rgbtBlue, 0)
6359     TEST_FIELD_SIZE  (RGBTRIPLE, rgbtGreen, 1)
6360     TEST_FIELD_ALIGN (RGBTRIPLE, rgbtGreen, 1)
6361     TEST_FIELD_OFFSET(RGBTRIPLE, rgbtGreen, 1)
6362     TEST_FIELD_SIZE  (RGBTRIPLE, rgbtRed, 1)
6363     TEST_FIELD_ALIGN (RGBTRIPLE, rgbtRed, 1)
6364     TEST_FIELD_OFFSET(RGBTRIPLE, rgbtRed, 2)
6365 }
6366
6367 static void test_pack_RGNDATA(void)
6368 {
6369     /* RGNDATA (pack 4) */
6370     TEST_TYPE_SIZE   (RGNDATA, 36)
6371     TEST_TYPE_ALIGN  (RGNDATA, 4)
6372     TEST_FIELD_SIZE  (RGNDATA, rdh, 32)
6373     TEST_FIELD_ALIGN (RGNDATA, rdh, 4)
6374     TEST_FIELD_OFFSET(RGNDATA, rdh, 0)
6375     TEST_FIELD_SIZE  (RGNDATA, Buffer, 1)
6376     TEST_FIELD_ALIGN (RGNDATA, Buffer, 1)
6377     TEST_FIELD_OFFSET(RGNDATA, Buffer, 32)
6378 }
6379
6380 static void test_pack_RGNDATAHEADER(void)
6381 {
6382     /* RGNDATAHEADER (pack 4) */
6383     TEST_TYPE_SIZE   (RGNDATAHEADER, 32)
6384     TEST_TYPE_ALIGN  (RGNDATAHEADER, 4)
6385     TEST_FIELD_SIZE  (RGNDATAHEADER, dwSize, 4)
6386     TEST_FIELD_ALIGN (RGNDATAHEADER, dwSize, 4)
6387     TEST_FIELD_OFFSET(RGNDATAHEADER, dwSize, 0)
6388     TEST_FIELD_SIZE  (RGNDATAHEADER, iType, 4)
6389     TEST_FIELD_ALIGN (RGNDATAHEADER, iType, 4)
6390     TEST_FIELD_OFFSET(RGNDATAHEADER, iType, 4)
6391     TEST_FIELD_SIZE  (RGNDATAHEADER, nCount, 4)
6392     TEST_FIELD_ALIGN (RGNDATAHEADER, nCount, 4)
6393     TEST_FIELD_OFFSET(RGNDATAHEADER, nCount, 8)
6394     TEST_FIELD_SIZE  (RGNDATAHEADER, nRgnSize, 4)
6395     TEST_FIELD_ALIGN (RGNDATAHEADER, nRgnSize, 4)
6396     TEST_FIELD_OFFSET(RGNDATAHEADER, nRgnSize, 12)
6397     TEST_FIELD_SIZE  (RGNDATAHEADER, rcBound, 16)
6398     TEST_FIELD_ALIGN (RGNDATAHEADER, rcBound, 4)
6399     TEST_FIELD_OFFSET(RGNDATAHEADER, rcBound, 16)
6400 }
6401
6402 static void test_pack_TEXTMETRICA(void)
6403 {
6404     /* TEXTMETRICA (pack 4) */
6405     TEST_TYPE_SIZE   (TEXTMETRICA, 56)
6406     TEST_TYPE_ALIGN  (TEXTMETRICA, 4)
6407     TEST_FIELD_SIZE  (TEXTMETRICA, tmHeight, 4)
6408     TEST_FIELD_ALIGN (TEXTMETRICA, tmHeight, 4)
6409     TEST_FIELD_OFFSET(TEXTMETRICA, tmHeight, 0)
6410     TEST_FIELD_SIZE  (TEXTMETRICA, tmAscent, 4)
6411     TEST_FIELD_ALIGN (TEXTMETRICA, tmAscent, 4)
6412     TEST_FIELD_OFFSET(TEXTMETRICA, tmAscent, 4)
6413     TEST_FIELD_SIZE  (TEXTMETRICA, tmDescent, 4)
6414     TEST_FIELD_ALIGN (TEXTMETRICA, tmDescent, 4)
6415     TEST_FIELD_OFFSET(TEXTMETRICA, tmDescent, 8)
6416     TEST_FIELD_SIZE  (TEXTMETRICA, tmInternalLeading, 4)
6417     TEST_FIELD_ALIGN (TEXTMETRICA, tmInternalLeading, 4)
6418     TEST_FIELD_OFFSET(TEXTMETRICA, tmInternalLeading, 12)
6419     TEST_FIELD_SIZE  (TEXTMETRICA, tmExternalLeading, 4)
6420     TEST_FIELD_ALIGN (TEXTMETRICA, tmExternalLeading, 4)
6421     TEST_FIELD_OFFSET(TEXTMETRICA, tmExternalLeading, 16)
6422     TEST_FIELD_SIZE  (TEXTMETRICA, tmAveCharWidth, 4)
6423     TEST_FIELD_ALIGN (TEXTMETRICA, tmAveCharWidth, 4)
6424     TEST_FIELD_OFFSET(TEXTMETRICA, tmAveCharWidth, 20)
6425     TEST_FIELD_SIZE  (TEXTMETRICA, tmMaxCharWidth, 4)
6426     TEST_FIELD_ALIGN (TEXTMETRICA, tmMaxCharWidth, 4)
6427     TEST_FIELD_OFFSET(TEXTMETRICA, tmMaxCharWidth, 24)
6428     TEST_FIELD_SIZE  (TEXTMETRICA, tmWeight, 4)
6429     TEST_FIELD_ALIGN (TEXTMETRICA, tmWeight, 4)
6430     TEST_FIELD_OFFSET(TEXTMETRICA, tmWeight, 28)
6431     TEST_FIELD_SIZE  (TEXTMETRICA, tmOverhang, 4)
6432     TEST_FIELD_ALIGN (TEXTMETRICA, tmOverhang, 4)
6433     TEST_FIELD_OFFSET(TEXTMETRICA, tmOverhang, 32)
6434     TEST_FIELD_SIZE  (TEXTMETRICA, tmDigitizedAspectX, 4)
6435     TEST_FIELD_ALIGN (TEXTMETRICA, tmDigitizedAspectX, 4)
6436     TEST_FIELD_OFFSET(TEXTMETRICA, tmDigitizedAspectX, 36)
6437     TEST_FIELD_SIZE  (TEXTMETRICA, tmDigitizedAspectY, 4)
6438     TEST_FIELD_ALIGN (TEXTMETRICA, tmDigitizedAspectY, 4)
6439     TEST_FIELD_OFFSET(TEXTMETRICA, tmDigitizedAspectY, 40)
6440     TEST_FIELD_SIZE  (TEXTMETRICA, tmFirstChar, 1)
6441     TEST_FIELD_ALIGN (TEXTMETRICA, tmFirstChar, 1)
6442     TEST_FIELD_OFFSET(TEXTMETRICA, tmFirstChar, 44)
6443     TEST_FIELD_SIZE  (TEXTMETRICA, tmLastChar, 1)
6444     TEST_FIELD_ALIGN (TEXTMETRICA, tmLastChar, 1)
6445     TEST_FIELD_OFFSET(TEXTMETRICA, tmLastChar, 45)
6446     TEST_FIELD_SIZE  (TEXTMETRICA, tmDefaultChar, 1)
6447     TEST_FIELD_ALIGN (TEXTMETRICA, tmDefaultChar, 1)
6448     TEST_FIELD_OFFSET(TEXTMETRICA, tmDefaultChar, 46)
6449     TEST_FIELD_SIZE  (TEXTMETRICA, tmBreakChar, 1)
6450     TEST_FIELD_ALIGN (TEXTMETRICA, tmBreakChar, 1)
6451     TEST_FIELD_OFFSET(TEXTMETRICA, tmBreakChar, 47)
6452     TEST_FIELD_SIZE  (TEXTMETRICA, tmItalic, 1)
6453     TEST_FIELD_ALIGN (TEXTMETRICA, tmItalic, 1)
6454     TEST_FIELD_OFFSET(TEXTMETRICA, tmItalic, 48)
6455     TEST_FIELD_SIZE  (TEXTMETRICA, tmUnderlined, 1)
6456     TEST_FIELD_ALIGN (TEXTMETRICA, tmUnderlined, 1)
6457     TEST_FIELD_OFFSET(TEXTMETRICA, tmUnderlined, 49)
6458     TEST_FIELD_SIZE  (TEXTMETRICA, tmStruckOut, 1)
6459     TEST_FIELD_ALIGN (TEXTMETRICA, tmStruckOut, 1)
6460     TEST_FIELD_OFFSET(TEXTMETRICA, tmStruckOut, 50)
6461     TEST_FIELD_SIZE  (TEXTMETRICA, tmPitchAndFamily, 1)
6462     TEST_FIELD_ALIGN (TEXTMETRICA, tmPitchAndFamily, 1)
6463     TEST_FIELD_OFFSET(TEXTMETRICA, tmPitchAndFamily, 51)
6464     TEST_FIELD_SIZE  (TEXTMETRICA, tmCharSet, 1)
6465     TEST_FIELD_ALIGN (TEXTMETRICA, tmCharSet, 1)
6466     TEST_FIELD_OFFSET(TEXTMETRICA, tmCharSet, 52)
6467 }
6468
6469 static void test_pack_TEXTMETRICW(void)
6470 {
6471     /* TEXTMETRICW (pack 4) */
6472     TEST_TYPE_SIZE   (TEXTMETRICW, 60)
6473     TEST_TYPE_ALIGN  (TEXTMETRICW, 4)
6474     TEST_FIELD_SIZE  (TEXTMETRICW, tmHeight, 4)
6475     TEST_FIELD_ALIGN (TEXTMETRICW, tmHeight, 4)
6476     TEST_FIELD_OFFSET(TEXTMETRICW, tmHeight, 0)
6477     TEST_FIELD_SIZE  (TEXTMETRICW, tmAscent, 4)
6478     TEST_FIELD_ALIGN (TEXTMETRICW, tmAscent, 4)
6479     TEST_FIELD_OFFSET(TEXTMETRICW, tmAscent, 4)
6480     TEST_FIELD_SIZE  (TEXTMETRICW, tmDescent, 4)
6481     TEST_FIELD_ALIGN (TEXTMETRICW, tmDescent, 4)
6482     TEST_FIELD_OFFSET(TEXTMETRICW, tmDescent, 8)
6483     TEST_FIELD_SIZE  (TEXTMETRICW, tmInternalLeading, 4)
6484     TEST_FIELD_ALIGN (TEXTMETRICW, tmInternalLeading, 4)
6485     TEST_FIELD_OFFSET(TEXTMETRICW, tmInternalLeading, 12)
6486     TEST_FIELD_SIZE  (TEXTMETRICW, tmExternalLeading, 4)
6487     TEST_FIELD_ALIGN (TEXTMETRICW, tmExternalLeading, 4)
6488     TEST_FIELD_OFFSET(TEXTMETRICW, tmExternalLeading, 16)
6489     TEST_FIELD_SIZE  (TEXTMETRICW, tmAveCharWidth, 4)
6490     TEST_FIELD_ALIGN (TEXTMETRICW, tmAveCharWidth, 4)
6491     TEST_FIELD_OFFSET(TEXTMETRICW, tmAveCharWidth, 20)
6492     TEST_FIELD_SIZE  (TEXTMETRICW, tmMaxCharWidth, 4)
6493     TEST_FIELD_ALIGN (TEXTMETRICW, tmMaxCharWidth, 4)
6494     TEST_FIELD_OFFSET(TEXTMETRICW, tmMaxCharWidth, 24)
6495     TEST_FIELD_SIZE  (TEXTMETRICW, tmWeight, 4)
6496     TEST_FIELD_ALIGN (TEXTMETRICW, tmWeight, 4)
6497     TEST_FIELD_OFFSET(TEXTMETRICW, tmWeight, 28)
6498     TEST_FIELD_SIZE  (TEXTMETRICW, tmOverhang, 4)
6499     TEST_FIELD_ALIGN (TEXTMETRICW, tmOverhang, 4)
6500     TEST_FIELD_OFFSET(TEXTMETRICW, tmOverhang, 32)
6501     TEST_FIELD_SIZE  (TEXTMETRICW, tmDigitizedAspectX, 4)
6502     TEST_FIELD_ALIGN (TEXTMETRICW, tmDigitizedAspectX, 4)
6503     TEST_FIELD_OFFSET(TEXTMETRICW, tmDigitizedAspectX, 36)
6504     TEST_FIELD_SIZE  (TEXTMETRICW, tmDigitizedAspectY, 4)
6505     TEST_FIELD_ALIGN (TEXTMETRICW, tmDigitizedAspectY, 4)
6506     TEST_FIELD_OFFSET(TEXTMETRICW, tmDigitizedAspectY, 40)
6507     TEST_FIELD_SIZE  (TEXTMETRICW, tmFirstChar, 2)
6508     TEST_FIELD_ALIGN (TEXTMETRICW, tmFirstChar, 2)
6509     TEST_FIELD_OFFSET(TEXTMETRICW, tmFirstChar, 44)
6510     TEST_FIELD_SIZE  (TEXTMETRICW, tmLastChar, 2)
6511     TEST_FIELD_ALIGN (TEXTMETRICW, tmLastChar, 2)
6512     TEST_FIELD_OFFSET(TEXTMETRICW, tmLastChar, 46)
6513     TEST_FIELD_SIZE  (TEXTMETRICW, tmDefaultChar, 2)
6514     TEST_FIELD_ALIGN (TEXTMETRICW, tmDefaultChar, 2)
6515     TEST_FIELD_OFFSET(TEXTMETRICW, tmDefaultChar, 48)
6516     TEST_FIELD_SIZE  (TEXTMETRICW, tmBreakChar, 2)
6517     TEST_FIELD_ALIGN (TEXTMETRICW, tmBreakChar, 2)
6518     TEST_FIELD_OFFSET(TEXTMETRICW, tmBreakChar, 50)
6519     TEST_FIELD_SIZE  (TEXTMETRICW, tmItalic, 1)
6520     TEST_FIELD_ALIGN (TEXTMETRICW, tmItalic, 1)
6521     TEST_FIELD_OFFSET(TEXTMETRICW, tmItalic, 52)
6522     TEST_FIELD_SIZE  (TEXTMETRICW, tmUnderlined, 1)
6523     TEST_FIELD_ALIGN (TEXTMETRICW, tmUnderlined, 1)
6524     TEST_FIELD_OFFSET(TEXTMETRICW, tmUnderlined, 53)
6525     TEST_FIELD_SIZE  (TEXTMETRICW, tmStruckOut, 1)
6526     TEST_FIELD_ALIGN (TEXTMETRICW, tmStruckOut, 1)
6527     TEST_FIELD_OFFSET(TEXTMETRICW, tmStruckOut, 54)
6528     TEST_FIELD_SIZE  (TEXTMETRICW, tmPitchAndFamily, 1)
6529     TEST_FIELD_ALIGN (TEXTMETRICW, tmPitchAndFamily, 1)
6530     TEST_FIELD_OFFSET(TEXTMETRICW, tmPitchAndFamily, 55)
6531     TEST_FIELD_SIZE  (TEXTMETRICW, tmCharSet, 1)
6532     TEST_FIELD_ALIGN (TEXTMETRICW, tmCharSet, 1)
6533     TEST_FIELD_OFFSET(TEXTMETRICW, tmCharSet, 56)
6534 }
6535
6536 static void test_pack_TRIVERTEX(void)
6537 {
6538     /* TRIVERTEX (pack 4) */
6539     TEST_TYPE_SIZE   (TRIVERTEX, 16)
6540     TEST_TYPE_ALIGN  (TRIVERTEX, 4)
6541     TEST_FIELD_SIZE  (TRIVERTEX, x, 4)
6542     TEST_FIELD_ALIGN (TRIVERTEX, x, 4)
6543     TEST_FIELD_OFFSET(TRIVERTEX, x, 0)
6544     TEST_FIELD_SIZE  (TRIVERTEX, y, 4)
6545     TEST_FIELD_ALIGN (TRIVERTEX, y, 4)
6546     TEST_FIELD_OFFSET(TRIVERTEX, y, 4)
6547     TEST_FIELD_SIZE  (TRIVERTEX, Red, 2)
6548     TEST_FIELD_ALIGN (TRIVERTEX, Red, 2)
6549     TEST_FIELD_OFFSET(TRIVERTEX, Red, 8)
6550     TEST_FIELD_SIZE  (TRIVERTEX, Green, 2)
6551     TEST_FIELD_ALIGN (TRIVERTEX, Green, 2)
6552     TEST_FIELD_OFFSET(TRIVERTEX, Green, 10)
6553     TEST_FIELD_SIZE  (TRIVERTEX, Blue, 2)
6554     TEST_FIELD_ALIGN (TRIVERTEX, Blue, 2)
6555     TEST_FIELD_OFFSET(TRIVERTEX, Blue, 12)
6556     TEST_FIELD_SIZE  (TRIVERTEX, Alpha, 2)
6557     TEST_FIELD_ALIGN (TRIVERTEX, Alpha, 2)
6558     TEST_FIELD_OFFSET(TRIVERTEX, Alpha, 14)
6559 }
6560
6561 static void test_pack_TTPOLYCURVE(void)
6562 {
6563     /* TTPOLYCURVE (pack 4) */
6564     TEST_TYPE_SIZE   (TTPOLYCURVE, 12)
6565     TEST_TYPE_ALIGN  (TTPOLYCURVE, 2)
6566     TEST_FIELD_SIZE  (TTPOLYCURVE, wType, 2)
6567     TEST_FIELD_ALIGN (TTPOLYCURVE, wType, 2)
6568     TEST_FIELD_OFFSET(TTPOLYCURVE, wType, 0)
6569     TEST_FIELD_SIZE  (TTPOLYCURVE, cpfx, 2)
6570     TEST_FIELD_ALIGN (TTPOLYCURVE, cpfx, 2)
6571     TEST_FIELD_OFFSET(TTPOLYCURVE, cpfx, 2)
6572     TEST_FIELD_SIZE  (TTPOLYCURVE, apfx, 8)
6573     TEST_FIELD_ALIGN (TTPOLYCURVE, apfx, 2)
6574     TEST_FIELD_OFFSET(TTPOLYCURVE, apfx, 4)
6575 }
6576
6577 static void test_pack_TTPOLYGONHEADER(void)
6578 {
6579     /* TTPOLYGONHEADER (pack 4) */
6580     TEST_TYPE_SIZE   (TTPOLYGONHEADER, 16)
6581     TEST_TYPE_ALIGN  (TTPOLYGONHEADER, 4)
6582     TEST_FIELD_SIZE  (TTPOLYGONHEADER, cb, 4)
6583     TEST_FIELD_ALIGN (TTPOLYGONHEADER, cb, 4)
6584     TEST_FIELD_OFFSET(TTPOLYGONHEADER, cb, 0)
6585     TEST_FIELD_SIZE  (TTPOLYGONHEADER, dwType, 4)
6586     TEST_FIELD_ALIGN (TTPOLYGONHEADER, dwType, 4)
6587     TEST_FIELD_OFFSET(TTPOLYGONHEADER, dwType, 4)
6588     TEST_FIELD_SIZE  (TTPOLYGONHEADER, pfxStart, 8)
6589     TEST_FIELD_ALIGN (TTPOLYGONHEADER, pfxStart, 2)
6590     TEST_FIELD_OFFSET(TTPOLYGONHEADER, pfxStart, 8)
6591 }
6592
6593 static void test_pack_XFORM(void)
6594 {
6595     /* XFORM (pack 4) */
6596     TEST_TYPE_SIZE   (XFORM, 24)
6597     TEST_TYPE_ALIGN  (XFORM, 4)
6598     TEST_FIELD_SIZE  (XFORM, eM11, 4)
6599     TEST_FIELD_ALIGN (XFORM, eM11, 4)
6600     TEST_FIELD_OFFSET(XFORM, eM11, 0)
6601     TEST_FIELD_SIZE  (XFORM, eM12, 4)
6602     TEST_FIELD_ALIGN (XFORM, eM12, 4)
6603     TEST_FIELD_OFFSET(XFORM, eM12, 4)
6604     TEST_FIELD_SIZE  (XFORM, eM21, 4)
6605     TEST_FIELD_ALIGN (XFORM, eM21, 4)
6606     TEST_FIELD_OFFSET(XFORM, eM21, 8)
6607     TEST_FIELD_SIZE  (XFORM, eM22, 4)
6608     TEST_FIELD_ALIGN (XFORM, eM22, 4)
6609     TEST_FIELD_OFFSET(XFORM, eM22, 12)
6610     TEST_FIELD_SIZE  (XFORM, eDx, 4)
6611     TEST_FIELD_ALIGN (XFORM, eDx, 4)
6612     TEST_FIELD_OFFSET(XFORM, eDx, 16)
6613     TEST_FIELD_SIZE  (XFORM, eDy, 4)
6614     TEST_FIELD_ALIGN (XFORM, eDy, 4)
6615     TEST_FIELD_OFFSET(XFORM, eDy, 20)
6616 }
6617
6618 static void test_pack(void)
6619 {
6620     test_pack_ABC();
6621     test_pack_ABCFLOAT();
6622     test_pack_ABORTPROC();
6623     test_pack_BITMAP();
6624     test_pack_BITMAPCOREHEADER();
6625     test_pack_BITMAPCOREINFO();
6626     test_pack_BITMAPFILEHEADER();
6627     test_pack_BITMAPINFO();
6628     test_pack_BITMAPINFOHEADER();
6629     test_pack_BITMAPV4HEADER();
6630     test_pack_BITMAPV5HEADER();
6631     test_pack_BLENDFUNCTION();
6632     test_pack_CHARSETINFO();
6633     test_pack_CIEXYZ();
6634     test_pack_CIEXYZTRIPLE();
6635     test_pack_COLOR16();
6636     test_pack_COLORADJUSTMENT();
6637     test_pack_DEVMODEA();
6638     test_pack_DEVMODEW();
6639     test_pack_DIBSECTION();
6640     test_pack_DISPLAY_DEVICEA();
6641     test_pack_DISPLAY_DEVICEW();
6642     test_pack_DOCINFOA();
6643     test_pack_DOCINFOW();
6644     test_pack_EMR();
6645     test_pack_EMRABORTPATH();
6646     test_pack_EMRANGLEARC();
6647     test_pack_EMRARC();
6648     test_pack_EMRARCTO();
6649     test_pack_EMRBEGINPATH();
6650     test_pack_EMRBITBLT();
6651     test_pack_EMRCHORD();
6652     test_pack_EMRCLOSEFIGURE();
6653     test_pack_EMRCREATEBRUSHINDIRECT();
6654     test_pack_EMRCREATECOLORSPACE();
6655     test_pack_EMRCREATECOLORSPACEW();
6656     test_pack_EMRCREATEDIBPATTERNBRUSHPT();
6657     test_pack_EMRCREATEMONOBRUSH();
6658     test_pack_EMRCREATEPEN();
6659     test_pack_EMRDELETECOLORSPACE();
6660     test_pack_EMRDELETEOBJECT();
6661     test_pack_EMRELLIPSE();
6662     test_pack_EMRENDPATH();
6663     test_pack_EMREOF();
6664     test_pack_EMREXCLUDECLIPRECT();
6665     test_pack_EMREXTCREATEFONTINDIRECTW();
6666     test_pack_EMREXTCREATEPEN();
6667     test_pack_EMREXTFLOODFILL();
6668     test_pack_EMREXTSELECTCLIPRGN();
6669     test_pack_EMREXTTEXTOUTA();
6670     test_pack_EMREXTTEXTOUTW();
6671     test_pack_EMRFILLPATH();
6672     test_pack_EMRFILLRGN();
6673     test_pack_EMRFLATTENPATH();
6674     test_pack_EMRFORMAT();
6675     test_pack_EMRFRAMERGN();
6676     test_pack_EMRGDICOMMENT();
6677     test_pack_EMRGLSBOUNDEDRECORD();
6678     test_pack_EMRGLSRECORD();
6679     test_pack_EMRINTERSECTCLIPRECT();
6680     test_pack_EMRINVERTRGN();
6681     test_pack_EMRLINETO();
6682     test_pack_EMRMASKBLT();
6683     test_pack_EMRMODIFYWORLDTRANSFORM();
6684     test_pack_EMRMOVETOEX();
6685     test_pack_EMROFFSETCLIPRGN();
6686     test_pack_EMRPAINTRGN();
6687     test_pack_EMRPIE();
6688     test_pack_EMRPIXELFORMAT();
6689     test_pack_EMRPLGBLT();
6690     test_pack_EMRPOLYBEZIER();
6691     test_pack_EMRPOLYBEZIER16();
6692     test_pack_EMRPOLYBEZIERTO();
6693     test_pack_EMRPOLYBEZIERTO16();
6694     test_pack_EMRPOLYDRAW();
6695     test_pack_EMRPOLYDRAW16();
6696     test_pack_EMRPOLYGON();
6697     test_pack_EMRPOLYGON16();
6698     test_pack_EMRPOLYLINE();
6699     test_pack_EMRPOLYLINE16();
6700     test_pack_EMRPOLYLINETO();
6701     test_pack_EMRPOLYLINETO16();
6702     test_pack_EMRPOLYPOLYGON();
6703     test_pack_EMRPOLYPOLYGON16();
6704     test_pack_EMRPOLYPOLYLINE();
6705     test_pack_EMRPOLYPOLYLINE16();
6706     test_pack_EMRPOLYTEXTOUTA();
6707     test_pack_EMRPOLYTEXTOUTW();
6708     test_pack_EMRREALIZEPALETTE();
6709     test_pack_EMRRECTANGLE();
6710     test_pack_EMRRESIZEPALETTE();
6711     test_pack_EMRRESTOREDC();
6712     test_pack_EMRROUNDRECT();
6713     test_pack_EMRSAVEDC();
6714     test_pack_EMRSCALEVIEWPORTEXTEX();
6715     test_pack_EMRSCALEWINDOWEXTEX();
6716     test_pack_EMRSELECTCLIPPATH();
6717     test_pack_EMRSELECTCOLORSPACE();
6718     test_pack_EMRSELECTOBJECT();
6719     test_pack_EMRSELECTPALETTE();
6720     test_pack_EMRSETARCDIRECTION();
6721     test_pack_EMRSETBKCOLOR();
6722     test_pack_EMRSETBKMODE();
6723     test_pack_EMRSETBRUSHORGEX();
6724     test_pack_EMRSETCOLORADJUSTMENT();
6725     test_pack_EMRSETCOLORSPACE();
6726     test_pack_EMRSETDIBITSTODEVICE();
6727     test_pack_EMRSETICMMODE();
6728     test_pack_EMRSETLAYOUT();
6729     test_pack_EMRSETMAPMODE();
6730     test_pack_EMRSETMAPPERFLAGS();
6731     test_pack_EMRSETMETARGN();
6732     test_pack_EMRSETMITERLIMIT();
6733     test_pack_EMRSETPIXELV();
6734     test_pack_EMRSETPOLYFILLMODE();
6735     test_pack_EMRSETROP2();
6736     test_pack_EMRSETSTRETCHBLTMODE();
6737     test_pack_EMRSETTEXTALIGN();
6738     test_pack_EMRSETTEXTCOLOR();
6739     test_pack_EMRSETVIEWPORTEXTEX();
6740     test_pack_EMRSETVIEWPORTORGEX();
6741     test_pack_EMRSETWINDOWEXTEX();
6742     test_pack_EMRSETWINDOWORGEX();
6743     test_pack_EMRSETWORLDTRANSFORM();
6744     test_pack_EMRSTRETCHBLT();
6745     test_pack_EMRSTRETCHDIBITS();
6746     test_pack_EMRSTROKEANDFILLPATH();
6747     test_pack_EMRSTROKEPATH();
6748     test_pack_EMRTEXT();
6749     test_pack_EMRWIDENPATH();
6750     test_pack_ENHMETAHEADER();
6751     test_pack_ENHMETARECORD();
6752     test_pack_ENHMFENUMPROC();
6753     test_pack_ENUMLOGFONTA();
6754     test_pack_ENUMLOGFONTEXA();
6755     test_pack_ENUMLOGFONTEXW();
6756     test_pack_ENUMLOGFONTW();
6757     test_pack_EXTLOGFONTA();
6758     test_pack_EXTLOGFONTW();
6759     test_pack_EXTLOGPEN();
6760     test_pack_FIXED();
6761     test_pack_FONTENUMPROCA();
6762     test_pack_FONTENUMPROCW();
6763     test_pack_FONTSIGNATURE();
6764     test_pack_FXPT16DOT16();
6765     test_pack_FXPT2DOT30();
6766     test_pack_GCP_RESULTSA();
6767     test_pack_GCP_RESULTSW();
6768     test_pack_GLYPHMETRICS();
6769     test_pack_GLYPHMETRICSFLOAT();
6770     test_pack_GOBJENUMPROC();
6771     test_pack_GRADIENT_RECT();
6772     test_pack_GRADIENT_TRIANGLE();
6773     test_pack_HANDLETABLE();
6774     test_pack_ICMENUMPROCA();
6775     test_pack_ICMENUMPROCW();
6776     test_pack_KERNINGPAIR();
6777     test_pack_LAYERPLANEDESCRIPTOR();
6778     test_pack_LCSCSTYPE();
6779     test_pack_LCSGAMUTMATCH();
6780     test_pack_LINEDDAPROC();
6781     test_pack_LOCALESIGNATURE();
6782     test_pack_LOGBRUSH();
6783     test_pack_LOGCOLORSPACEA();
6784     test_pack_LOGCOLORSPACEW();
6785     test_pack_LOGFONTA();
6786     test_pack_LOGFONTW();
6787     test_pack_LOGPEN();
6788     test_pack_LPABC();
6789     test_pack_LPABCFLOAT();
6790     test_pack_LPBITMAP();
6791     test_pack_LPBITMAPCOREHEADER();
6792     test_pack_LPBITMAPCOREINFO();
6793     test_pack_LPBITMAPFILEHEADER();
6794     test_pack_LPBITMAPINFO();
6795     test_pack_LPBITMAPINFOHEADER();
6796     test_pack_LPBITMAPV5HEADER();
6797     test_pack_LPCHARSETINFO();
6798     test_pack_LPCIEXYZ();
6799     test_pack_LPCIEXYZTRIPLE();
6800     test_pack_LPCOLORADJUSTMENT();
6801     test_pack_LPDEVMODEA();
6802     test_pack_LPDEVMODEW();
6803     test_pack_LPDIBSECTION();
6804     test_pack_LPDISPLAY_DEVICEA();
6805     test_pack_LPDISPLAY_DEVICEW();
6806     test_pack_LPDOCINFOA();
6807     test_pack_LPDOCINFOW();
6808     test_pack_LPENHMETAHEADER();
6809     test_pack_LPENHMETARECORD();
6810     test_pack_LPENUMLOGFONTA();
6811     test_pack_LPENUMLOGFONTEXA();
6812     test_pack_LPENUMLOGFONTEXW();
6813     test_pack_LPENUMLOGFONTW();
6814     test_pack_LPEXTLOGFONTA();
6815     test_pack_LPEXTLOGFONTW();
6816     test_pack_LPEXTLOGPEN();
6817     test_pack_LPFONTSIGNATURE();
6818     test_pack_LPGCP_RESULTSA();
6819     test_pack_LPGCP_RESULTSW();
6820     test_pack_LPGLYPHMETRICS();
6821     test_pack_LPGLYPHMETRICSFLOAT();
6822     test_pack_LPGRADIENT_RECT();
6823     test_pack_LPGRADIENT_TRIANGLE();
6824     test_pack_LPHANDLETABLE();
6825     test_pack_LPKERNINGPAIR();
6826     test_pack_LPLAYERPLANEDESCRIPTOR();
6827     test_pack_LPLOCALESIGNATURE();
6828     test_pack_LPLOGBRUSH();
6829     test_pack_LPLOGCOLORSPACEA();
6830     test_pack_LPLOGCOLORSPACEW();
6831     test_pack_LPLOGFONTA();
6832     test_pack_LPLOGFONTW();
6833     test_pack_LPLOGPEN();
6834     test_pack_LPMAT2();
6835     test_pack_LPMETAFILEPICT();
6836     test_pack_LPMETAHEADER();
6837     test_pack_LPMETARECORD();
6838     test_pack_LPNEWTEXTMETRICA();
6839     test_pack_LPNEWTEXTMETRICW();
6840     test_pack_LPOUTLINETEXTMETRICA();
6841     test_pack_LPOUTLINETEXTMETRICW();
6842     test_pack_LPPANOSE();
6843     test_pack_LPPELARRAY();
6844     test_pack_LPPIXELFORMATDESCRIPTOR();
6845     test_pack_LPPOINTFX();
6846     test_pack_LPPOLYTEXTA();
6847     test_pack_LPPOLYTEXTW();
6848     test_pack_LPRASTERIZER_STATUS();
6849     test_pack_LPRGBQUAD();
6850     test_pack_LPRGNDATA();
6851     test_pack_LPTEXTMETRICA();
6852     test_pack_LPTEXTMETRICW();
6853     test_pack_LPTRIVERTEX();
6854     test_pack_LPTTPOLYCURVE();
6855     test_pack_LPTTPOLYGONHEADER();
6856     test_pack_LPXFORM();
6857     test_pack_MAT2();
6858     test_pack_METAFILEPICT();
6859     test_pack_METAHEADER();
6860     test_pack_METARECORD();
6861     test_pack_MFENUMPROC();
6862     test_pack_NEWTEXTMETRICA();
6863     test_pack_NEWTEXTMETRICEXA();
6864     test_pack_NEWTEXTMETRICEXW();
6865     test_pack_NEWTEXTMETRICW();
6866     test_pack_NPEXTLOGPEN();
6867     test_pack_OLDFONTENUMPROC();
6868     test_pack_OLDFONTENUMPROCA();
6869     test_pack_OLDFONTENUMPROCW();
6870     test_pack_OUTLINETEXTMETRICA();
6871     test_pack_OUTLINETEXTMETRICW();
6872     test_pack_PABC();
6873     test_pack_PABCFLOAT();
6874     test_pack_PANOSE();
6875     test_pack_PATTERN();
6876     test_pack_PBITMAP();
6877     test_pack_PBITMAPCOREHEADER();
6878     test_pack_PBITMAPCOREINFO();
6879     test_pack_PBITMAPFILEHEADER();
6880     test_pack_PBITMAPINFO();
6881     test_pack_PBITMAPINFOHEADER();
6882     test_pack_PBITMAPV4HEADER();
6883     test_pack_PBITMAPV5HEADER();
6884     test_pack_PBLENDFUNCTION();
6885     test_pack_PCHARSETINFO();
6886     test_pack_PCOLORADJUSTMENT();
6887     test_pack_PDEVMODEA();
6888     test_pack_PDEVMODEW();
6889     test_pack_PDIBSECTION();
6890     test_pack_PDISPLAY_DEVICEA();
6891     test_pack_PDISPLAY_DEVICEW();
6892     test_pack_PELARRAY();
6893     test_pack_PEMR();
6894     test_pack_PEMRABORTPATH();
6895     test_pack_PEMRANGLEARC();
6896     test_pack_PEMRARC();
6897     test_pack_PEMRARCTO();
6898     test_pack_PEMRBEGINPATH();
6899     test_pack_PEMRBITBLT();
6900     test_pack_PEMRCHORD();
6901     test_pack_PEMRCLOSEFIGURE();
6902     test_pack_PEMRCREATEBRUSHINDIRECT();
6903     test_pack_PEMRCREATECOLORSPACE();
6904     test_pack_PEMRCREATECOLORSPACEW();
6905     test_pack_PEMRCREATEDIBPATTERNBRUSHPT();
6906     test_pack_PEMRCREATEMONOBRUSH();
6907     test_pack_PEMRCREATEPALETTE();
6908     test_pack_PEMRCREATEPEN();
6909     test_pack_PEMRDELETECOLORSPACE();
6910     test_pack_PEMRDELETEOBJECT();
6911     test_pack_PEMRELLIPSE();
6912     test_pack_PEMRENDPATH();
6913     test_pack_PEMREOF();
6914     test_pack_PEMREXCLUDECLIPRECT();
6915     test_pack_PEMREXTCREATEFONTINDIRECTW();
6916     test_pack_PEMREXTCREATEPEN();
6917     test_pack_PEMREXTFLOODFILL();
6918     test_pack_PEMREXTSELECTCLIPRGN();
6919     test_pack_PEMREXTTEXTOUTA();
6920     test_pack_PEMREXTTEXTOUTW();
6921     test_pack_PEMRFILLPATH();
6922     test_pack_PEMRFILLRGN();
6923     test_pack_PEMRFLATTENPATH();
6924     test_pack_PEMRFORMAT();
6925     test_pack_PEMRFRAMERGN();
6926     test_pack_PEMRGDICOMMENT();
6927     test_pack_PEMRGLSBOUNDEDRECORD();
6928     test_pack_PEMRGLSRECORD();
6929     test_pack_PEMRINTERSECTCLIPRECT();
6930     test_pack_PEMRINVERTRGN();
6931     test_pack_PEMRLINETO();
6932     test_pack_PEMRMASKBLT();
6933     test_pack_PEMRMODIFYWORLDTRANSFORM();
6934     test_pack_PEMRMOVETOEX();
6935     test_pack_PEMROFFSETCLIPRGN();
6936     test_pack_PEMRPAINTRGN();
6937     test_pack_PEMRPIE();
6938     test_pack_PEMRPIXELFORMAT();
6939     test_pack_PEMRPLGBLT();
6940     test_pack_PEMRPOLYBEZIER();
6941     test_pack_PEMRPOLYBEZIER16();
6942     test_pack_PEMRPOLYBEZIERTO();
6943     test_pack_PEMRPOLYBEZIERTO16();
6944     test_pack_PEMRPOLYDRAW();
6945     test_pack_PEMRPOLYDRAW16();
6946     test_pack_PEMRPOLYGON();
6947     test_pack_PEMRPOLYGON16();
6948     test_pack_PEMRPOLYLINE();
6949     test_pack_PEMRPOLYLINE16();
6950     test_pack_PEMRPOLYLINETO();
6951     test_pack_PEMRPOLYLINETO16();
6952     test_pack_PEMRPOLYPOLYGON();
6953     test_pack_PEMRPOLYPOLYGON16();
6954     test_pack_PEMRPOLYPOLYLINE();
6955     test_pack_PEMRPOLYPOLYLINE16();
6956     test_pack_PEMRPOLYTEXTOUTA();
6957     test_pack_PEMRPOLYTEXTOUTW();
6958     test_pack_PEMRREALIZEPALETTE();
6959     test_pack_PEMRRECTANGLE();
6960     test_pack_PEMRRESIZEPALETTE();
6961     test_pack_PEMRRESTOREDC();
6962     test_pack_PEMRROUNDRECT();
6963     test_pack_PEMRSAVEDC();
6964     test_pack_PEMRSCALEVIEWPORTEXTEX();
6965     test_pack_PEMRSCALEWINDOWEXTEX();
6966     test_pack_PEMRSELECTCLIPPATH();
6967     test_pack_PEMRSELECTCOLORSPACE();
6968     test_pack_PEMRSELECTOBJECT();
6969     test_pack_PEMRSELECTPALETTE();
6970     test_pack_PEMRSETARCDIRECTION();
6971     test_pack_PEMRSETBKCOLOR();
6972     test_pack_PEMRSETBKMODE();
6973     test_pack_PEMRSETBRUSHORGEX();
6974     test_pack_PEMRSETCOLORADJUSTMENT();
6975     test_pack_PEMRSETCOLORSPACE();
6976     test_pack_PEMRSETDIBITSTODEVICE();
6977     test_pack_PEMRSETICMMODE();
6978     test_pack_PEMRSETLAYOUT();
6979     test_pack_PEMRSETMAPMODE();
6980     test_pack_PEMRSETMAPPERFLAGS();
6981     test_pack_PEMRSETMETARGN();
6982     test_pack_PEMRSETMITERLIMIT();
6983     test_pack_PEMRSETPALETTEENTRIES();
6984     test_pack_PEMRSETPIXELV();
6985     test_pack_PEMRSETPOLYFILLMODE();
6986     test_pack_PEMRSETROP2();
6987     test_pack_PEMRSETSTRETCHBLTMODE();
6988     test_pack_PEMRSETTEXTALIGN();
6989     test_pack_PEMRSETTEXTCOLOR();
6990     test_pack_PEMRSETVIEWPORTEXTEX();
6991     test_pack_PEMRSETVIEWPORTORGEX();
6992     test_pack_PEMRSETWINDOWEXTEX();
6993     test_pack_PEMRSETWINDOWORGEX();
6994     test_pack_PEMRSETWORLDTRANSFORM();
6995     test_pack_PEMRSTRETCHBLT();
6996     test_pack_PEMRSTRETCHDIBITS();
6997     test_pack_PEMRSTROKEANDFILLPATH();
6998     test_pack_PEMRSTROKEPATH();
6999     test_pack_PEMRTEXT();
7000     test_pack_PEMRWIDENPATH();
7001     test_pack_PENHMETAHEADER();
7002     test_pack_PEXTLOGFONTA();
7003     test_pack_PEXTLOGFONTW();
7004     test_pack_PEXTLOGPEN();
7005     test_pack_PFONTSIGNATURE();
7006     test_pack_PGLYPHMETRICSFLOAT();
7007     test_pack_PGRADIENT_RECT();
7008     test_pack_PGRADIENT_TRIANGLE();
7009     test_pack_PHANDLETABLE();
7010     test_pack_PIXELFORMATDESCRIPTOR();
7011     test_pack_PLAYERPLANEDESCRIPTOR();
7012     test_pack_PLOCALESIGNATURE();
7013     test_pack_PLOGBRUSH();
7014     test_pack_PLOGFONTA();
7015     test_pack_PLOGFONTW();
7016     test_pack_PMETAHEADER();
7017     test_pack_PMETARECORD();
7018     test_pack_PNEWTEXTMETRICA();
7019     test_pack_PNEWTEXTMETRICW();
7020     test_pack_POINTFLOAT();
7021     test_pack_POINTFX();
7022     test_pack_POLYTEXTA();
7023     test_pack_POLYTEXTW();
7024     test_pack_POUTLINETEXTMETRICA();
7025     test_pack_POUTLINETEXTMETRICW();
7026     test_pack_PPELARRAY();
7027     test_pack_PPIXELFORMATDESCRIPTOR();
7028     test_pack_PPOINTFLOAT();
7029     test_pack_PPOLYTEXTA();
7030     test_pack_PPOLYTEXTW();
7031     test_pack_PRGNDATA();
7032     test_pack_PRGNDATAHEADER();
7033     test_pack_PTEXTMETRICA();
7034     test_pack_PTEXTMETRICW();
7035     test_pack_PTRIVERTEX();
7036     test_pack_PXFORM();
7037     test_pack_RASTERIZER_STATUS();
7038     test_pack_RGBQUAD();
7039     test_pack_RGBTRIPLE();
7040     test_pack_RGNDATA();
7041     test_pack_RGNDATAHEADER();
7042     test_pack_TEXTMETRICA();
7043     test_pack_TEXTMETRICW();
7044     test_pack_TRIVERTEX();
7045     test_pack_TTPOLYCURVE();
7046     test_pack_TTPOLYGONHEADER();
7047     test_pack_XFORM();
7048 }
7049
7050 START_TEST(generated)
7051 {
7052 #ifdef _WIN64
7053     ok(0, "The type size / alignment tests don't support Win64 yet\n");
7054 #else
7055     test_pack();
7056 #endif
7057 }