Keep track of per-column information inside the listview.
[wine] / dlls / gdi / tests / generated.c
1 /* File generated automatically from tools/winapi/test.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
3
4 /*
5  * Unit tests for data structure packing
6  */
7
8 #include <stdio.h>
9
10 #include "wine/test.h"
11 #include "basetsd.h"
12 #include "winnt.h"
13 #include "windef.h"
14 #include "wingdi.h"
15
16 /***********************************************************************
17  * Windows API extension
18  */
19
20 #if (_MSC_VER >= 1300) && defined(__cplusplus)
21 # define FIELD_ALIGNMENT(type, field) __alignof(((type*)0)->field)
22 #elif defined(__GNUC__)
23 # define FIELD_ALIGNMENT(type, field) __alignof__(((type*)0)->field)
24 #else
25 /* FIXME: Not sure if is possible to do without compiler extension */
26 #endif
27
28 /***********************************************************************
29  * Test helper macros
30  */
31
32 #ifdef FIELD_ALIGNMENT
33 # define TEST_FIELD_ALIGNMENT(type, field, align) \
34    ok(FIELD_ALIGNMENT(type, field) == align, \
35        "FIELD_ALIGNMENT(" #type ", " #field ") == %d (expected " #align ")", \
36            FIELD_ALIGNMENT(type, field))
37 #else
38 # define TEST_FIELD_ALIGNMENT(type, field, align) do { } while (0)
39 #endif
40
41 #define TEST_FIELD_OFFSET(type, field, offset) \
42     ok(FIELD_OFFSET(type, field) == offset, \
43         "FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")", \
44              FIELD_OFFSET(type, field))
45
46 #define TEST_TYPE_ALIGNMENT(type, align) \
47     ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")", TYPE_ALIGNMENT(type))
48
49 #define TEST_TYPE_SIZE(type, size) \
50     ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")", sizeof(type))
51
52 /***********************************************************************
53  * Test macros
54  */
55
56 #define TEST_FIELD(type, field_type, field_name, field_offset, field_size, field_align) \
57   TEST_TYPE_SIZE(field_type, field_size); \
58   TEST_FIELD_ALIGNMENT(type, field_name, field_align); \
59   TEST_FIELD_OFFSET(type, field_name, field_offset); \
60
61 #define TEST_TYPE(type, size, align) \
62   TEST_TYPE_ALIGNMENT(type, align); \
63   TEST_TYPE_SIZE(type, size)
64
65 void test_pack(void)
66 {
67     /* ABC (pack 4) */
68     TEST_TYPE(ABC, 12, 4);
69     TEST_FIELD(ABC, INT, abcA, 0, 4, 4);
70     TEST_FIELD(ABC, UINT, abcB, 4, 4, 4);
71     TEST_FIELD(ABC, INT, abcC, 8, 4, 4);
72
73     /* ABCFLOAT (pack 4) */
74     TEST_TYPE(ABCFLOAT, 12, 4);
75     TEST_FIELD(ABCFLOAT, FLOAT, abcfA, 0, 4, 4);
76     TEST_FIELD(ABCFLOAT, FLOAT, abcfB, 4, 4, 4);
77     TEST_FIELD(ABCFLOAT, FLOAT, abcfC, 8, 4, 4);
78
79     /* BITMAP (pack 4) */
80     TEST_TYPE(BITMAP, 24, 4);
81     TEST_FIELD(BITMAP, INT, bmType, 0, 4, 4);
82     TEST_FIELD(BITMAP, INT, bmWidth, 4, 4, 4);
83     TEST_FIELD(BITMAP, INT, bmHeight, 8, 4, 4);
84     TEST_FIELD(BITMAP, INT, bmWidthBytes, 12, 4, 4);
85     TEST_FIELD(BITMAP, WORD, bmPlanes, 16, 2, 2);
86     TEST_FIELD(BITMAP, WORD, bmBitsPixel, 18, 2, 2);
87     TEST_FIELD(BITMAP, LPVOID, bmBits, 20, 4, 4);
88
89     /* BITMAPCOREHEADER (pack 4) */
90     TEST_TYPE(BITMAPCOREHEADER, 12, 4);
91     TEST_FIELD(BITMAPCOREHEADER, DWORD, bcSize, 0, 4, 4);
92     TEST_FIELD(BITMAPCOREHEADER, WORD, bcWidth, 4, 2, 2);
93     TEST_FIELD(BITMAPCOREHEADER, WORD, bcHeight, 6, 2, 2);
94     TEST_FIELD(BITMAPCOREHEADER, WORD, bcPlanes, 8, 2, 2);
95     TEST_FIELD(BITMAPCOREHEADER, WORD, bcBitCount, 10, 2, 2);
96
97     /* BITMAPCOREINFO (pack 4) */
98     TEST_TYPE(BITMAPCOREINFO, 16, 4);
99     TEST_FIELD(BITMAPCOREINFO, BITMAPCOREHEADER, bmciHeader, 0, 12, 4);
100     TEST_FIELD(BITMAPCOREINFO, RGBTRIPLE[1], bmciColors, 12, 3, 1);
101
102     /* BITMAPFILEHEADER (pack 2) */
103     TEST_TYPE(BITMAPFILEHEADER, 14, 2);
104     TEST_FIELD(BITMAPFILEHEADER, WORD, bfType, 0, 2, 2);
105     TEST_FIELD(BITMAPFILEHEADER, DWORD, bfSize, 2, 4, 2);
106     TEST_FIELD(BITMAPFILEHEADER, WORD, bfReserved1, 6, 2, 2);
107     TEST_FIELD(BITMAPFILEHEADER, WORD, bfReserved2, 8, 2, 2);
108     TEST_FIELD(BITMAPFILEHEADER, DWORD, bfOffBits, 10, 4, 2);
109
110     /* BITMAPINFO (pack 4) */
111     TEST_TYPE(BITMAPINFO, 44, 4);
112     TEST_FIELD(BITMAPINFO, BITMAPINFOHEADER, bmiHeader, 0, 40, 4);
113     TEST_FIELD(BITMAPINFO, RGBQUAD[1], bmiColors, 40, 4, 1);
114
115     /* BITMAPINFOHEADER (pack 4) */
116     TEST_TYPE(BITMAPINFOHEADER, 40, 4);
117     TEST_FIELD(BITMAPINFOHEADER, DWORD, biSize, 0, 4, 4);
118     TEST_FIELD(BITMAPINFOHEADER, LONG, biWidth, 4, 4, 4);
119     TEST_FIELD(BITMAPINFOHEADER, LONG, biHeight, 8, 4, 4);
120     TEST_FIELD(BITMAPINFOHEADER, WORD, biPlanes, 12, 2, 2);
121     TEST_FIELD(BITMAPINFOHEADER, WORD, biBitCount, 14, 2, 2);
122     TEST_FIELD(BITMAPINFOHEADER, DWORD, biCompression, 16, 4, 4);
123     TEST_FIELD(BITMAPINFOHEADER, DWORD, biSizeImage, 20, 4, 4);
124     TEST_FIELD(BITMAPINFOHEADER, LONG, biXPelsPerMeter, 24, 4, 4);
125     TEST_FIELD(BITMAPINFOHEADER, LONG, biYPelsPerMeter, 28, 4, 4);
126     TEST_FIELD(BITMAPINFOHEADER, DWORD, biClrUsed, 32, 4, 4);
127     TEST_FIELD(BITMAPINFOHEADER, DWORD, biClrImportant, 36, 4, 4);
128
129     /* BITMAPV4HEADER (pack 4) */
130     TEST_TYPE(BITMAPV4HEADER, 108, 4);
131     TEST_FIELD(BITMAPV4HEADER, DWORD, bV4Size, 0, 4, 4);
132     TEST_FIELD(BITMAPV4HEADER, LONG, bV4Width, 4, 4, 4);
133     TEST_FIELD(BITMAPV4HEADER, LONG, bV4Height, 8, 4, 4);
134     TEST_FIELD(BITMAPV4HEADER, WORD, bV4Planes, 12, 2, 2);
135     TEST_FIELD(BITMAPV4HEADER, WORD, bV4BitCount, 14, 2, 2);
136     TEST_FIELD(BITMAPV4HEADER, DWORD, bV4Compression, 16, 4, 4);
137     TEST_FIELD(BITMAPV4HEADER, DWORD, bV4SizeImage, 20, 4, 4);
138     TEST_FIELD(BITMAPV4HEADER, LONG, bV4XPelsPerMeter, 24, 4, 4);
139     TEST_FIELD(BITMAPV4HEADER, LONG, bV4YPelsPerMeter, 28, 4, 4);
140     TEST_FIELD(BITMAPV4HEADER, DWORD, bV4ClrUsed, 32, 4, 4);
141     TEST_FIELD(BITMAPV4HEADER, DWORD, bV4ClrImportant, 36, 4, 4);
142     TEST_FIELD(BITMAPV4HEADER, DWORD, bV4RedMask, 40, 4, 4);
143     TEST_FIELD(BITMAPV4HEADER, DWORD, bV4GreenMask, 44, 4, 4);
144     TEST_FIELD(BITMAPV4HEADER, DWORD, bV4BlueMask, 48, 4, 4);
145     TEST_FIELD(BITMAPV4HEADER, DWORD, bV4AlphaMask, 52, 4, 4);
146     TEST_FIELD(BITMAPV4HEADER, DWORD, bV4CSType, 56, 4, 4);
147     TEST_FIELD(BITMAPV4HEADER, CIEXYZTRIPLE, bV4Endpoints, 60, 36, 4);
148     TEST_FIELD(BITMAPV4HEADER, DWORD, bV4GammaRed, 96, 4, 4);
149     TEST_FIELD(BITMAPV4HEADER, DWORD, bV4GammaGreen, 100, 4, 4);
150     TEST_FIELD(BITMAPV4HEADER, DWORD, bV4GammaBlue, 104, 4, 4);
151
152     /* BITMAPV5HEADER (pack 4) */
153     TEST_TYPE(BITMAPV5HEADER, 124, 4);
154     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5Size, 0, 4, 4);
155     TEST_FIELD(BITMAPV5HEADER, LONG, bV5Width, 4, 4, 4);
156     TEST_FIELD(BITMAPV5HEADER, LONG, bV5Height, 8, 4, 4);
157     TEST_FIELD(BITMAPV5HEADER, WORD, bV5Planes, 12, 2, 2);
158     TEST_FIELD(BITMAPV5HEADER, WORD, bV5BitCount, 14, 2, 2);
159     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5Compression, 16, 4, 4);
160     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5SizeImage, 20, 4, 4);
161     TEST_FIELD(BITMAPV5HEADER, LONG, bV5XPelsPerMeter, 24, 4, 4);
162     TEST_FIELD(BITMAPV5HEADER, LONG, bV5YPelsPerMeter, 28, 4, 4);
163     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5ClrUsed, 32, 4, 4);
164     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5ClrImportant, 36, 4, 4);
165     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5RedMask, 40, 4, 4);
166     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5GreenMask, 44, 4, 4);
167     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5BlueMask, 48, 4, 4);
168     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5AlphaMask, 52, 4, 4);
169     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5CSType, 56, 4, 4);
170     TEST_FIELD(BITMAPV5HEADER, CIEXYZTRIPLE, bV5Endpoints, 60, 36, 4);
171     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5GammaRed, 96, 4, 4);
172     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5GammaGreen, 100, 4, 4);
173     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5GammaBlue, 104, 4, 4);
174     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5Intent, 108, 4, 4);
175     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5ProfileData, 112, 4, 4);
176     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5ProfileSize, 116, 4, 4);
177     TEST_FIELD(BITMAPV5HEADER, DWORD, bV5Reserved, 120, 4, 4);
178
179     /* BLENDFUNCTION (pack 4) */
180     TEST_TYPE(BLENDFUNCTION, 4, 1);
181     TEST_FIELD(BLENDFUNCTION, BYTE, BlendOp, 0, 1, 1);
182     TEST_FIELD(BLENDFUNCTION, BYTE, BlendFlags, 1, 1, 1);
183     TEST_FIELD(BLENDFUNCTION, BYTE, SourceConstantAlpha, 2, 1, 1);
184     TEST_FIELD(BLENDFUNCTION, BYTE, AlphaFormat, 3, 1, 1);
185
186     /* CHARSETINFO (pack 4) */
187     TEST_TYPE(CHARSETINFO, 32, 4);
188     TEST_FIELD(CHARSETINFO, UINT, ciCharset, 0, 4, 4);
189     TEST_FIELD(CHARSETINFO, UINT, ciACP, 4, 4, 4);
190     TEST_FIELD(CHARSETINFO, FONTSIGNATURE, fs, 8, 24, 4);
191
192     /* CIEXYZ (pack 4) */
193     TEST_TYPE(CIEXYZ, 12, 4);
194     TEST_FIELD(CIEXYZ, FXPT2DOT30, ciexyzX, 0, 4, 4);
195     TEST_FIELD(CIEXYZ, FXPT2DOT30, ciexyzY, 4, 4, 4);
196     TEST_FIELD(CIEXYZ, FXPT2DOT30, ciexyzZ, 8, 4, 4);
197
198     /* CIEXYZTRIPLE (pack 4) */
199     TEST_TYPE(CIEXYZTRIPLE, 36, 4);
200     TEST_FIELD(CIEXYZTRIPLE, CIEXYZ, ciexyzRed, 0, 12, 4);
201     TEST_FIELD(CIEXYZTRIPLE, CIEXYZ, ciexyzGreen, 12, 12, 4);
202     TEST_FIELD(CIEXYZTRIPLE, CIEXYZ, ciexyzBlue, 24, 12, 4);
203
204     /* COLORADJUSTMENT (pack 4) */
205     TEST_TYPE(COLORADJUSTMENT, 24, 2);
206     TEST_FIELD(COLORADJUSTMENT, WORD, caSize, 0, 2, 2);
207     TEST_FIELD(COLORADJUSTMENT, WORD, caFlags, 2, 2, 2);
208     TEST_FIELD(COLORADJUSTMENT, WORD, caIlluminantIndex, 4, 2, 2);
209     TEST_FIELD(COLORADJUSTMENT, WORD, caRedGamma, 6, 2, 2);
210     TEST_FIELD(COLORADJUSTMENT, WORD, caGreenGamma, 8, 2, 2);
211     TEST_FIELD(COLORADJUSTMENT, WORD, caBlueGamma, 10, 2, 2);
212     TEST_FIELD(COLORADJUSTMENT, WORD, caReferenceBlack, 12, 2, 2);
213     TEST_FIELD(COLORADJUSTMENT, WORD, caReferenceWhite, 14, 2, 2);
214     TEST_FIELD(COLORADJUSTMENT, SHORT, caContrast, 16, 2, 2);
215     TEST_FIELD(COLORADJUSTMENT, SHORT, caBrightness, 18, 2, 2);
216     TEST_FIELD(COLORADJUSTMENT, SHORT, caColorfulness, 20, 2, 2);
217     TEST_FIELD(COLORADJUSTMENT, SHORT, caRedGreenTint, 22, 2, 2);
218
219     /* DIBSECTION (pack 4) */
220     TEST_TYPE(DIBSECTION, 84, 4);
221     TEST_FIELD(DIBSECTION, BITMAP, dsBm, 0, 24, 4);
222     TEST_FIELD(DIBSECTION, BITMAPINFOHEADER, dsBmih, 24, 40, 4);
223     TEST_FIELD(DIBSECTION, DWORD[3], dsBitfields, 64, 12, 4);
224     TEST_FIELD(DIBSECTION, HANDLE, dshSection, 76, 4, 4);
225     TEST_FIELD(DIBSECTION, DWORD, dsOffset, 80, 4, 4);
226
227     /* DISPLAY_DEVICEA (pack 4) */
228     TEST_TYPE(DISPLAY_DEVICEA, 424, 4);
229     TEST_FIELD(DISPLAY_DEVICEA, DWORD, cb, 0, 4, 4);
230     TEST_FIELD(DISPLAY_DEVICEA, CHAR[32], DeviceName, 4, 32, 1);
231     TEST_FIELD(DISPLAY_DEVICEA, CHAR[128], DeviceString, 36, 128, 1);
232     TEST_FIELD(DISPLAY_DEVICEA, DWORD, StateFlags, 164, 4, 4);
233     TEST_FIELD(DISPLAY_DEVICEA, CHAR[128], DeviceID, 168, 128, 1);
234     TEST_FIELD(DISPLAY_DEVICEA, CHAR[128], DeviceKey, 296, 128, 1);
235
236     /* DISPLAY_DEVICEW (pack 4) */
237     TEST_TYPE(DISPLAY_DEVICEW, 840, 4);
238     TEST_FIELD(DISPLAY_DEVICEW, DWORD, cb, 0, 4, 4);
239     TEST_FIELD(DISPLAY_DEVICEW, WCHAR[32], DeviceName, 4, 64, 2);
240     TEST_FIELD(DISPLAY_DEVICEW, WCHAR[128], DeviceString, 68, 256, 2);
241     TEST_FIELD(DISPLAY_DEVICEW, DWORD, StateFlags, 324, 4, 4);
242     TEST_FIELD(DISPLAY_DEVICEW, WCHAR[128], DeviceID, 328, 256, 2);
243     TEST_FIELD(DISPLAY_DEVICEW, WCHAR[128], DeviceKey, 584, 256, 2);
244
245     /* DOCINFOA (pack 4) */
246     TEST_TYPE(DOCINFOA, 20, 4);
247     TEST_FIELD(DOCINFOA, INT, cbSize, 0, 4, 4);
248     TEST_FIELD(DOCINFOA, LPCSTR, lpszDocName, 4, 4, 4);
249     TEST_FIELD(DOCINFOA, LPCSTR, lpszOutput, 8, 4, 4);
250     TEST_FIELD(DOCINFOA, LPCSTR, lpszDatatype, 12, 4, 4);
251     TEST_FIELD(DOCINFOA, DWORD, fwType, 16, 4, 4);
252
253     /* DOCINFOW (pack 4) */
254     TEST_TYPE(DOCINFOW, 20, 4);
255     TEST_FIELD(DOCINFOW, INT, cbSize, 0, 4, 4);
256     TEST_FIELD(DOCINFOW, LPCWSTR, lpszDocName, 4, 4, 4);
257     TEST_FIELD(DOCINFOW, LPCWSTR, lpszOutput, 8, 4, 4);
258     TEST_FIELD(DOCINFOW, LPCWSTR, lpszDatatype, 12, 4, 4);
259     TEST_FIELD(DOCINFOW, DWORD, fwType, 16, 4, 4);
260
261     /* EMR (pack 4) */
262     TEST_TYPE(EMR, 8, 4);
263     TEST_FIELD(EMR, DWORD, iType, 0, 4, 4);
264     TEST_FIELD(EMR, DWORD, nSize, 4, 4, 4);
265
266     /* EMRABORTPATH (pack 4) */
267     TEST_TYPE(EMRABORTPATH, 8, 4);
268     TEST_FIELD(EMRABORTPATH, EMR, emr, 0, 8, 4);
269
270     /* EMRANGLEARC (pack 4) */
271     TEST_TYPE(EMRANGLEARC, 28, 4);
272     TEST_FIELD(EMRANGLEARC, EMR, emr, 0, 8, 4);
273     TEST_FIELD(EMRANGLEARC, POINTL, ptlCenter, 8, 8, 4);
274     TEST_FIELD(EMRANGLEARC, DWORD, nRadius, 16, 4, 4);
275     TEST_FIELD(EMRANGLEARC, FLOAT, eStartAngle, 20, 4, 4);
276     TEST_FIELD(EMRANGLEARC, FLOAT, eSweepAngle, 24, 4, 4);
277
278     /* EMRARC (pack 4) */
279     TEST_TYPE(EMRARC, 40, 4);
280     TEST_FIELD(EMRARC, EMR, emr, 0, 8, 4);
281     TEST_FIELD(EMRARC, RECTL, rclBox, 8, 16, 4);
282     TEST_FIELD(EMRARC, POINTL, ptlStart, 24, 8, 4);
283     TEST_FIELD(EMRARC, POINTL, ptlEnd, 32, 8, 4);
284
285     /* EMRBITBLT (pack 4) */
286     TEST_TYPE(EMRBITBLT, 100, 4);
287     TEST_FIELD(EMRBITBLT, EMR, emr, 0, 8, 4);
288     TEST_FIELD(EMRBITBLT, RECTL, rclBounds, 8, 16, 4);
289     TEST_FIELD(EMRBITBLT, LONG, xDest, 24, 4, 4);
290     TEST_FIELD(EMRBITBLT, LONG, yDest, 28, 4, 4);
291     TEST_FIELD(EMRBITBLT, LONG, cxDest, 32, 4, 4);
292     TEST_FIELD(EMRBITBLT, LONG, cyDest, 36, 4, 4);
293     TEST_FIELD(EMRBITBLT, DWORD, dwRop, 40, 4, 4);
294     TEST_FIELD(EMRBITBLT, LONG, xSrc, 44, 4, 4);
295     TEST_FIELD(EMRBITBLT, LONG, ySrc, 48, 4, 4);
296     TEST_FIELD(EMRBITBLT, XFORM, xformSrc, 52, 24, 4);
297     TEST_FIELD(EMRBITBLT, COLORREF, crBkColorSrc, 76, 4, 4);
298     TEST_FIELD(EMRBITBLT, DWORD, iUsageSrc, 80, 4, 4);
299     TEST_FIELD(EMRBITBLT, DWORD, offBmiSrc, 84, 4, 4);
300     TEST_FIELD(EMRBITBLT, DWORD, cbBmiSrc, 88, 4, 4);
301     TEST_FIELD(EMRBITBLT, DWORD, offBitsSrc, 92, 4, 4);
302     TEST_FIELD(EMRBITBLT, DWORD, cbBitsSrc, 96, 4, 4);
303
304     /* EMRCREATEBRUSHINDIRECT (pack 4) */
305     TEST_TYPE(EMRCREATEBRUSHINDIRECT, 24, 4);
306     TEST_FIELD(EMRCREATEBRUSHINDIRECT, EMR, emr, 0, 8, 4);
307     TEST_FIELD(EMRCREATEBRUSHINDIRECT, DWORD, ihBrush, 8, 4, 4);
308     TEST_FIELD(EMRCREATEBRUSHINDIRECT, LOGBRUSH, lb, 12, 12, 4);
309
310     /* EMRCREATECOLORSPACE (pack 4) */
311     TEST_TYPE(EMRCREATECOLORSPACE, 340, 4);
312     TEST_FIELD(EMRCREATECOLORSPACE, EMR, emr, 0, 8, 4);
313     TEST_FIELD(EMRCREATECOLORSPACE, DWORD, ihCS, 8, 4, 4);
314     TEST_FIELD(EMRCREATECOLORSPACE, LOGCOLORSPACEA, lcs, 12, 328, 4);
315
316     /* EMRCREATECOLORSPACEW (pack 4) */
317     TEST_TYPE(EMRCREATECOLORSPACEW, 612, 4);
318     TEST_FIELD(EMRCREATECOLORSPACEW, EMR, emr, 0, 8, 4);
319     TEST_FIELD(EMRCREATECOLORSPACEW, DWORD, ihCS, 8, 4, 4);
320     TEST_FIELD(EMRCREATECOLORSPACEW, LOGCOLORSPACEW, lcs, 12, 588, 4);
321     TEST_FIELD(EMRCREATECOLORSPACEW, DWORD, dwFlags, 600, 4, 4);
322     TEST_FIELD(EMRCREATECOLORSPACEW, DWORD, cbData, 604, 4, 4);
323     TEST_FIELD(EMRCREATECOLORSPACEW, BYTE[1], Data, 608, 1, 1);
324
325     /* EMRCREATEDIBPATTERNBRUSHPT (pack 4) */
326     TEST_TYPE(EMRCREATEDIBPATTERNBRUSHPT, 32, 4);
327     TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, EMR, emr, 0, 8, 4);
328     TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, DWORD, ihBrush, 8, 4, 4);
329     TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, DWORD, iUsage, 12, 4, 4);
330     TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, DWORD, offBmi, 16, 4, 4);
331     TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, DWORD, cbBmi, 20, 4, 4);
332     TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, DWORD, offBits, 24, 4, 4);
333     TEST_FIELD(EMRCREATEDIBPATTERNBRUSHPT, DWORD, cbBits, 28, 4, 4);
334
335     /* EMRCREATEMONOBRUSH (pack 4) */
336     TEST_TYPE(EMRCREATEMONOBRUSH, 32, 4);
337     TEST_FIELD(EMRCREATEMONOBRUSH, EMR, emr, 0, 8, 4);
338     TEST_FIELD(EMRCREATEMONOBRUSH, DWORD, ihBrush, 8, 4, 4);
339     TEST_FIELD(EMRCREATEMONOBRUSH, DWORD, iUsage, 12, 4, 4);
340     TEST_FIELD(EMRCREATEMONOBRUSH, DWORD, offBmi, 16, 4, 4);
341     TEST_FIELD(EMRCREATEMONOBRUSH, DWORD, cbBmi, 20, 4, 4);
342     TEST_FIELD(EMRCREATEMONOBRUSH, DWORD, offBits, 24, 4, 4);
343     TEST_FIELD(EMRCREATEMONOBRUSH, DWORD, cbBits, 28, 4, 4);
344
345     /* EMRCREATEPEN (pack 4) */
346     TEST_TYPE(EMRCREATEPEN, 28, 4);
347     TEST_FIELD(EMRCREATEPEN, EMR, emr, 0, 8, 4);
348     TEST_FIELD(EMRCREATEPEN, DWORD, ihPen, 8, 4, 4);
349     TEST_FIELD(EMRCREATEPEN, LOGPEN, lopn, 12, 16, 4);
350
351     /* EMRDELETECOLORSPACE (pack 4) */
352     TEST_TYPE(EMRDELETECOLORSPACE, 12, 4);
353     TEST_FIELD(EMRDELETECOLORSPACE, EMR, emr, 0, 8, 4);
354     TEST_FIELD(EMRDELETECOLORSPACE, DWORD, ihCS, 8, 4, 4);
355
356     /* EMRDELETEOBJECT (pack 4) */
357     TEST_TYPE(EMRDELETEOBJECT, 12, 4);
358     TEST_FIELD(EMRDELETEOBJECT, EMR, emr, 0, 8, 4);
359     TEST_FIELD(EMRDELETEOBJECT, DWORD, ihObject, 8, 4, 4);
360
361     /* EMRELLIPSE (pack 4) */
362     TEST_TYPE(EMRELLIPSE, 24, 4);
363     TEST_FIELD(EMRELLIPSE, EMR, emr, 0, 8, 4);
364     TEST_FIELD(EMRELLIPSE, RECTL, rclBox, 8, 16, 4);
365
366     /* EMREOF (pack 4) */
367     TEST_TYPE(EMREOF, 20, 4);
368     TEST_FIELD(EMREOF, EMR, emr, 0, 8, 4);
369     TEST_FIELD(EMREOF, DWORD, nPalEntries, 8, 4, 4);
370     TEST_FIELD(EMREOF, DWORD, offPalEntries, 12, 4, 4);
371     TEST_FIELD(EMREOF, DWORD, nSizeLast, 16, 4, 4);
372
373     /* EMREXCLUDECLIPRECT (pack 4) */
374     TEST_TYPE(EMREXCLUDECLIPRECT, 24, 4);
375     TEST_FIELD(EMREXCLUDECLIPRECT, EMR, emr, 0, 8, 4);
376     TEST_FIELD(EMREXCLUDECLIPRECT, RECTL, rclClip, 8, 16, 4);
377
378     /* EMREXTCREATEFONTINDIRECTW (pack 4) */
379     TEST_TYPE(EMREXTCREATEFONTINDIRECTW, 332, 4);
380     TEST_FIELD(EMREXTCREATEFONTINDIRECTW, EMR, emr, 0, 8, 4);
381     TEST_FIELD(EMREXTCREATEFONTINDIRECTW, DWORD, ihFont, 8, 4, 4);
382     TEST_FIELD(EMREXTCREATEFONTINDIRECTW, EXTLOGFONTW, elfw, 12, 320, 4);
383
384     /* EMREXTCREATEPEN (pack 4) */
385     TEST_TYPE(EMREXTCREATEPEN, 56, 4);
386     TEST_FIELD(EMREXTCREATEPEN, EMR, emr, 0, 8, 4);
387     TEST_FIELD(EMREXTCREATEPEN, DWORD, ihPen, 8, 4, 4);
388     TEST_FIELD(EMREXTCREATEPEN, DWORD, offBmi, 12, 4, 4);
389     TEST_FIELD(EMREXTCREATEPEN, DWORD, cbBmi, 16, 4, 4);
390     TEST_FIELD(EMREXTCREATEPEN, DWORD, offBits, 20, 4, 4);
391     TEST_FIELD(EMREXTCREATEPEN, DWORD, cbBits, 24, 4, 4);
392     TEST_FIELD(EMREXTCREATEPEN, EXTLOGPEN, elp, 28, 28, 4);
393
394     /* EMREXTFLOODFILL (pack 4) */
395     TEST_TYPE(EMREXTFLOODFILL, 24, 4);
396     TEST_FIELD(EMREXTFLOODFILL, EMR, emr, 0, 8, 4);
397     TEST_FIELD(EMREXTFLOODFILL, POINTL, ptlStart, 8, 8, 4);
398     TEST_FIELD(EMREXTFLOODFILL, COLORREF, crColor, 16, 4, 4);
399     TEST_FIELD(EMREXTFLOODFILL, DWORD, iMode, 20, 4, 4);
400
401     /* EMREXTSELECTCLIPRGN (pack 4) */
402     TEST_TYPE(EMREXTSELECTCLIPRGN, 20, 4);
403     TEST_FIELD(EMREXTSELECTCLIPRGN, EMR, emr, 0, 8, 4);
404     TEST_FIELD(EMREXTSELECTCLIPRGN, DWORD, cbRgnData, 8, 4, 4);
405     TEST_FIELD(EMREXTSELECTCLIPRGN, DWORD, iMode, 12, 4, 4);
406     TEST_FIELD(EMREXTSELECTCLIPRGN, BYTE[1], RgnData, 16, 1, 1);
407
408     /* EMREXTTEXTOUTA (pack 4) */
409     TEST_TYPE(EMREXTTEXTOUTA, 76, 4);
410     TEST_FIELD(EMREXTTEXTOUTA, EMR, emr, 0, 8, 4);
411     TEST_FIELD(EMREXTTEXTOUTA, RECTL, rclBounds, 8, 16, 4);
412     TEST_FIELD(EMREXTTEXTOUTA, DWORD, iGraphicsMode, 24, 4, 4);
413     TEST_FIELD(EMREXTTEXTOUTA, FLOAT, exScale, 28, 4, 4);
414     TEST_FIELD(EMREXTTEXTOUTA, FLOAT, eyScale, 32, 4, 4);
415     TEST_FIELD(EMREXTTEXTOUTA, EMRTEXT, emrtext, 36, 40, 4);
416
417     /* EMRFILLPATH (pack 4) */
418     TEST_TYPE(EMRFILLPATH, 24, 4);
419     TEST_FIELD(EMRFILLPATH, EMR, emr, 0, 8, 4);
420     TEST_FIELD(EMRFILLPATH, RECTL, rclBounds, 8, 16, 4);
421
422     /* EMRFILLRGN (pack 4) */
423     TEST_TYPE(EMRFILLRGN, 36, 4);
424     TEST_FIELD(EMRFILLRGN, EMR, emr, 0, 8, 4);
425     TEST_FIELD(EMRFILLRGN, RECTL, rclBounds, 8, 16, 4);
426     TEST_FIELD(EMRFILLRGN, DWORD, cbRgnData, 24, 4, 4);
427     TEST_FIELD(EMRFILLRGN, DWORD, ihBrush, 28, 4, 4);
428     TEST_FIELD(EMRFILLRGN, BYTE[1], RgnData, 32, 1, 1);
429
430     /* EMRFORMAT (pack 4) */
431     TEST_TYPE(EMRFORMAT, 16, 4);
432     TEST_FIELD(EMRFORMAT, DWORD, signature, 0, 4, 4);
433     TEST_FIELD(EMRFORMAT, DWORD, nVersion, 4, 4, 4);
434     TEST_FIELD(EMRFORMAT, DWORD, cbData, 8, 4, 4);
435     TEST_FIELD(EMRFORMAT, DWORD, offData, 12, 4, 4);
436
437     /* EMRFRAMERGN (pack 4) */
438     TEST_TYPE(EMRFRAMERGN, 44, 4);
439     TEST_FIELD(EMRFRAMERGN, EMR, emr, 0, 8, 4);
440     TEST_FIELD(EMRFRAMERGN, RECTL, rclBounds, 8, 16, 4);
441     TEST_FIELD(EMRFRAMERGN, DWORD, cbRgnData, 24, 4, 4);
442     TEST_FIELD(EMRFRAMERGN, DWORD, ihBrush, 28, 4, 4);
443     TEST_FIELD(EMRFRAMERGN, SIZEL, szlStroke, 32, 8, 4);
444     TEST_FIELD(EMRFRAMERGN, BYTE[1], RgnData, 40, 1, 1);
445
446     /* EMRGDICOMMENT (pack 4) */
447     TEST_TYPE(EMRGDICOMMENT, 16, 4);
448     TEST_FIELD(EMRGDICOMMENT, EMR, emr, 0, 8, 4);
449     TEST_FIELD(EMRGDICOMMENT, DWORD, cbData, 8, 4, 4);
450     TEST_FIELD(EMRGDICOMMENT, BYTE[1], Data, 12, 1, 1);
451
452     /* EMRGLSBOUNDEDRECORD (pack 4) */
453     TEST_TYPE(EMRGLSBOUNDEDRECORD, 32, 4);
454     TEST_FIELD(EMRGLSBOUNDEDRECORD, EMR, emr, 0, 8, 4);
455     TEST_FIELD(EMRGLSBOUNDEDRECORD, RECTL, rclBounds, 8, 16, 4);
456     TEST_FIELD(EMRGLSBOUNDEDRECORD, DWORD, cbData, 24, 4, 4);
457     TEST_FIELD(EMRGLSBOUNDEDRECORD, BYTE[1], Data, 28, 1, 1);
458
459     /* EMRGLSRECORD (pack 4) */
460     TEST_TYPE(EMRGLSRECORD, 16, 4);
461     TEST_FIELD(EMRGLSRECORD, EMR, emr, 0, 8, 4);
462     TEST_FIELD(EMRGLSRECORD, DWORD, cbData, 8, 4, 4);
463     TEST_FIELD(EMRGLSRECORD, BYTE[1], Data, 12, 1, 1);
464
465     /* EMRINVERTRGN (pack 4) */
466     TEST_TYPE(EMRINVERTRGN, 32, 4);
467     TEST_FIELD(EMRINVERTRGN, EMR, emr, 0, 8, 4);
468     TEST_FIELD(EMRINVERTRGN, RECTL, rclBounds, 8, 16, 4);
469     TEST_FIELD(EMRINVERTRGN, DWORD, cbRgnData, 24, 4, 4);
470     TEST_FIELD(EMRINVERTRGN, BYTE[1], RgnData, 28, 1, 1);
471
472     /* EMRLINETO (pack 4) */
473     TEST_TYPE(EMRLINETO, 16, 4);
474     TEST_FIELD(EMRLINETO, EMR, emr, 0, 8, 4);
475     TEST_FIELD(EMRLINETO, POINTL, ptl, 8, 8, 4);
476
477     /* EMRMASKBLT (pack 4) */
478     TEST_TYPE(EMRMASKBLT, 128, 4);
479     TEST_FIELD(EMRMASKBLT, EMR, emr, 0, 8, 4);
480     TEST_FIELD(EMRMASKBLT, RECTL, rclBounds, 8, 16, 4);
481     TEST_FIELD(EMRMASKBLT, LONG, xDest, 24, 4, 4);
482     TEST_FIELD(EMRMASKBLT, LONG, yDest, 28, 4, 4);
483     TEST_FIELD(EMRMASKBLT, LONG, cxDest, 32, 4, 4);
484     TEST_FIELD(EMRMASKBLT, LONG, cyDest, 36, 4, 4);
485     TEST_FIELD(EMRMASKBLT, DWORD, dwRop, 40, 4, 4);
486     TEST_FIELD(EMRMASKBLT, LONG, xSrc, 44, 4, 4);
487     TEST_FIELD(EMRMASKBLT, LONG, ySrc, 48, 4, 4);
488     TEST_FIELD(EMRMASKBLT, XFORM, xformSrc, 52, 24, 4);
489     TEST_FIELD(EMRMASKBLT, COLORREF, crBkColorSrc, 76, 4, 4);
490     TEST_FIELD(EMRMASKBLT, DWORD, iUsageSrc, 80, 4, 4);
491     TEST_FIELD(EMRMASKBLT, DWORD, offBmiSrc, 84, 4, 4);
492     TEST_FIELD(EMRMASKBLT, DWORD, cbBmiSrc, 88, 4, 4);
493     TEST_FIELD(EMRMASKBLT, DWORD, offBitsSrc, 92, 4, 4);
494     TEST_FIELD(EMRMASKBLT, DWORD, cbBitsSrc, 96, 4, 4);
495     TEST_FIELD(EMRMASKBLT, LONG, xMask, 100, 4, 4);
496     TEST_FIELD(EMRMASKBLT, LONG, yMask, 104, 4, 4);
497     TEST_FIELD(EMRMASKBLT, DWORD, iUsageMask, 108, 4, 4);
498     TEST_FIELD(EMRMASKBLT, DWORD, offBmiMask, 112, 4, 4);
499     TEST_FIELD(EMRMASKBLT, DWORD, cbBmiMask, 116, 4, 4);
500     TEST_FIELD(EMRMASKBLT, DWORD, offBitsMask, 120, 4, 4);
501     TEST_FIELD(EMRMASKBLT, DWORD, cbBitsMask, 124, 4, 4);
502
503     /* EMRMODIFYWORLDTRANSFORM (pack 4) */
504     TEST_TYPE(EMRMODIFYWORLDTRANSFORM, 36, 4);
505     TEST_FIELD(EMRMODIFYWORLDTRANSFORM, EMR, emr, 0, 8, 4);
506     TEST_FIELD(EMRMODIFYWORLDTRANSFORM, XFORM, xform, 8, 24, 4);
507     TEST_FIELD(EMRMODIFYWORLDTRANSFORM, DWORD, iMode, 32, 4, 4);
508
509     /* EMROFFSETCLIPRGN (pack 4) */
510     TEST_TYPE(EMROFFSETCLIPRGN, 16, 4);
511     TEST_FIELD(EMROFFSETCLIPRGN, EMR, emr, 0, 8, 4);
512     TEST_FIELD(EMROFFSETCLIPRGN, POINTL, ptlOffset, 8, 8, 4);
513
514     /* EMRPIXELFORMAT (pack 4) */
515     TEST_TYPE(EMRPIXELFORMAT, 48, 4);
516     TEST_FIELD(EMRPIXELFORMAT, EMR, emr, 0, 8, 4);
517     TEST_FIELD(EMRPIXELFORMAT, PIXELFORMATDESCRIPTOR, pfd, 8, 40, 4);
518
519     /* EMRPLGBLT (pack 4) */
520     TEST_TYPE(EMRPLGBLT, 140, 4);
521     TEST_FIELD(EMRPLGBLT, EMR, emr, 0, 8, 4);
522     TEST_FIELD(EMRPLGBLT, RECTL, rclBounds, 8, 16, 4);
523     TEST_FIELD(EMRPLGBLT, POINTL[3], aptlDst, 24, 24, 4);
524     TEST_FIELD(EMRPLGBLT, LONG, xSrc, 48, 4, 4);
525     TEST_FIELD(EMRPLGBLT, LONG, ySrc, 52, 4, 4);
526     TEST_FIELD(EMRPLGBLT, LONG, cxSrc, 56, 4, 4);
527     TEST_FIELD(EMRPLGBLT, LONG, cySrc, 60, 4, 4);
528     TEST_FIELD(EMRPLGBLT, XFORM, xformSrc, 64, 24, 4);
529     TEST_FIELD(EMRPLGBLT, COLORREF, crBkColorSrc, 88, 4, 4);
530     TEST_FIELD(EMRPLGBLT, DWORD, iUsageSrc, 92, 4, 4);
531     TEST_FIELD(EMRPLGBLT, DWORD, offBmiSrc, 96, 4, 4);
532     TEST_FIELD(EMRPLGBLT, DWORD, cbBmiSrc, 100, 4, 4);
533     TEST_FIELD(EMRPLGBLT, DWORD, offBitsSrc, 104, 4, 4);
534     TEST_FIELD(EMRPLGBLT, DWORD, cbBitsSrc, 108, 4, 4);
535     TEST_FIELD(EMRPLGBLT, LONG, xMask, 112, 4, 4);
536     TEST_FIELD(EMRPLGBLT, LONG, yMask, 116, 4, 4);
537     TEST_FIELD(EMRPLGBLT, DWORD, iUsageMask, 120, 4, 4);
538     TEST_FIELD(EMRPLGBLT, DWORD, offBmiMask, 124, 4, 4);
539     TEST_FIELD(EMRPLGBLT, DWORD, cbBmiMask, 128, 4, 4);
540     TEST_FIELD(EMRPLGBLT, DWORD, offBitsMask, 132, 4, 4);
541     TEST_FIELD(EMRPLGBLT, DWORD, cbBitsMask, 136, 4, 4);
542
543     /* EMRPOLYDRAW (pack 4) */
544     TEST_TYPE(EMRPOLYDRAW, 40, 4);
545     TEST_FIELD(EMRPOLYDRAW, EMR, emr, 0, 8, 4);
546     TEST_FIELD(EMRPOLYDRAW, RECTL, rclBounds, 8, 16, 4);
547     TEST_FIELD(EMRPOLYDRAW, DWORD, cptl, 24, 4, 4);
548     TEST_FIELD(EMRPOLYDRAW, POINTL[1], aptl, 28, 8, 4);
549     TEST_FIELD(EMRPOLYDRAW, BYTE[1], abTypes, 36, 1, 1);
550
551     /* EMRPOLYLINE (pack 4) */
552     TEST_TYPE(EMRPOLYLINE, 36, 4);
553     TEST_FIELD(EMRPOLYLINE, EMR, emr, 0, 8, 4);
554     TEST_FIELD(EMRPOLYLINE, RECTL, rclBounds, 8, 16, 4);
555     TEST_FIELD(EMRPOLYLINE, DWORD, cptl, 24, 4, 4);
556     TEST_FIELD(EMRPOLYLINE, POINTL[1], aptl, 28, 8, 4);
557
558     /* EMRPOLYPOLYLINE (pack 4) */
559     TEST_TYPE(EMRPOLYPOLYLINE, 44, 4);
560     TEST_FIELD(EMRPOLYPOLYLINE, EMR, emr, 0, 8, 4);
561     TEST_FIELD(EMRPOLYPOLYLINE, RECTL, rclBounds, 8, 16, 4);
562     TEST_FIELD(EMRPOLYPOLYLINE, DWORD, nPolys, 24, 4, 4);
563     TEST_FIELD(EMRPOLYPOLYLINE, DWORD, cptl, 28, 4, 4);
564     TEST_FIELD(EMRPOLYPOLYLINE, DWORD[1], aPolyCounts, 32, 4, 4);
565     TEST_FIELD(EMRPOLYPOLYLINE, POINTL[1], aptl, 36, 8, 4);
566
567     /* EMRPOLYTEXTOUTA (pack 4) */
568     TEST_TYPE(EMRPOLYTEXTOUTA, 80, 4);
569     TEST_FIELD(EMRPOLYTEXTOUTA, EMR, emr, 0, 8, 4);
570     TEST_FIELD(EMRPOLYTEXTOUTA, RECTL, rclBounds, 8, 16, 4);
571     TEST_FIELD(EMRPOLYTEXTOUTA, DWORD, iGraphicsMode, 24, 4, 4);
572     TEST_FIELD(EMRPOLYTEXTOUTA, FLOAT, exScale, 28, 4, 4);
573     TEST_FIELD(EMRPOLYTEXTOUTA, FLOAT, eyScale, 32, 4, 4);
574     TEST_FIELD(EMRPOLYTEXTOUTA, LONG, cStrings, 36, 4, 4);
575     TEST_FIELD(EMRPOLYTEXTOUTA, EMRTEXT[1], aemrtext, 40, 40, 4);
576
577     /* EMRRESIZEPALETTE (pack 4) */
578     TEST_TYPE(EMRRESIZEPALETTE, 16, 4);
579     TEST_FIELD(EMRRESIZEPALETTE, EMR, emr, 0, 8, 4);
580     TEST_FIELD(EMRRESIZEPALETTE, DWORD, ihPal, 8, 4, 4);
581     TEST_FIELD(EMRRESIZEPALETTE, DWORD, cEntries, 12, 4, 4);
582
583     /* EMRRESTOREDC (pack 4) */
584     TEST_TYPE(EMRRESTOREDC, 12, 4);
585     TEST_FIELD(EMRRESTOREDC, EMR, emr, 0, 8, 4);
586     TEST_FIELD(EMRRESTOREDC, LONG, iRelative, 8, 4, 4);
587
588     /* EMRROUNDRECT (pack 4) */
589     TEST_TYPE(EMRROUNDRECT, 32, 4);
590     TEST_FIELD(EMRROUNDRECT, EMR, emr, 0, 8, 4);
591     TEST_FIELD(EMRROUNDRECT, RECTL, rclBox, 8, 16, 4);
592     TEST_FIELD(EMRROUNDRECT, SIZEL, szlCorner, 24, 8, 4);
593
594     /* EMRSCALEVIEWPORTEXTEX (pack 4) */
595     TEST_TYPE(EMRSCALEVIEWPORTEXTEX, 24, 4);
596     TEST_FIELD(EMRSCALEVIEWPORTEXTEX, EMR, emr, 0, 8, 4);
597     TEST_FIELD(EMRSCALEVIEWPORTEXTEX, LONG, xNum, 8, 4, 4);
598     TEST_FIELD(EMRSCALEVIEWPORTEXTEX, LONG, xDenom, 12, 4, 4);
599     TEST_FIELD(EMRSCALEVIEWPORTEXTEX, LONG, yNum, 16, 4, 4);
600     TEST_FIELD(EMRSCALEVIEWPORTEXTEX, LONG, yDenom, 20, 4, 4);
601
602     /* EMRSELECTCLIPPATH (pack 4) */
603     TEST_TYPE(EMRSELECTCLIPPATH, 12, 4);
604     TEST_FIELD(EMRSELECTCLIPPATH, EMR, emr, 0, 8, 4);
605     TEST_FIELD(EMRSELECTCLIPPATH, DWORD, iMode, 8, 4, 4);
606
607     /* EMRSELECTPALETTE (pack 4) */
608     TEST_TYPE(EMRSELECTPALETTE, 12, 4);
609     TEST_FIELD(EMRSELECTPALETTE, EMR, emr, 0, 8, 4);
610     TEST_FIELD(EMRSELECTPALETTE, DWORD, ihPal, 8, 4, 4);
611
612     /* EMRSETARCDIRECTION (pack 4) */
613     TEST_TYPE(EMRSETARCDIRECTION, 12, 4);
614     TEST_FIELD(EMRSETARCDIRECTION, EMR, emr, 0, 8, 4);
615     TEST_FIELD(EMRSETARCDIRECTION, DWORD, iArcDirection, 8, 4, 4);
616
617     /* EMRSETBKCOLOR (pack 4) */
618     TEST_TYPE(EMRSETBKCOLOR, 12, 4);
619     TEST_FIELD(EMRSETBKCOLOR, EMR, emr, 0, 8, 4);
620     TEST_FIELD(EMRSETBKCOLOR, COLORREF, crColor, 8, 4, 4);
621
622     /* EMRSETBRUSHORGEX (pack 4) */
623     TEST_TYPE(EMRSETBRUSHORGEX, 16, 4);
624     TEST_FIELD(EMRSETBRUSHORGEX, EMR, emr, 0, 8, 4);
625     TEST_FIELD(EMRSETBRUSHORGEX, POINTL, ptlOrigin, 8, 8, 4);
626
627     /* EMRSETCOLORADJUSTMENT (pack 4) */
628     TEST_TYPE(EMRSETCOLORADJUSTMENT, 32, 4);
629     TEST_FIELD(EMRSETCOLORADJUSTMENT, EMR, emr, 0, 8, 4);
630     TEST_FIELD(EMRSETCOLORADJUSTMENT, COLORADJUSTMENT, ColorAdjustment, 8, 24, 2);
631
632     /* EMRSETDIBITSTODEIVCE (pack 4) */
633     TEST_TYPE(EMRSETDIBITSTODEIVCE, 76, 4);
634     TEST_FIELD(EMRSETDIBITSTODEIVCE, EMR, emr, 0, 8, 4);
635     TEST_FIELD(EMRSETDIBITSTODEIVCE, RECTL, rclBounds, 8, 16, 4);
636     TEST_FIELD(EMRSETDIBITSTODEIVCE, LONG, xDest, 24, 4, 4);
637     TEST_FIELD(EMRSETDIBITSTODEIVCE, LONG, yDest, 28, 4, 4);
638     TEST_FIELD(EMRSETDIBITSTODEIVCE, LONG, xSrc, 32, 4, 4);
639     TEST_FIELD(EMRSETDIBITSTODEIVCE, LONG, ySrc, 36, 4, 4);
640     TEST_FIELD(EMRSETDIBITSTODEIVCE, LONG, cxSrc, 40, 4, 4);
641     TEST_FIELD(EMRSETDIBITSTODEIVCE, LONG, cySrc, 44, 4, 4);
642     TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, offBmiSrc, 48, 4, 4);
643     TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, cbBmiSrc, 52, 4, 4);
644     TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, offBitsSrc, 56, 4, 4);
645     TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, cbBitsSrc, 60, 4, 4);
646     TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, iUsageSrc, 64, 4, 4);
647     TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, iStartScan, 68, 4, 4);
648     TEST_FIELD(EMRSETDIBITSTODEIVCE, DWORD, cScans, 72, 4, 4);
649
650     /* EMRSETMAPPERFLAGS (pack 4) */
651     TEST_TYPE(EMRSETMAPPERFLAGS, 12, 4);
652     TEST_FIELD(EMRSETMAPPERFLAGS, EMR, emr, 0, 8, 4);
653     TEST_FIELD(EMRSETMAPPERFLAGS, DWORD, dwFlags, 8, 4, 4);
654
655     /* EMRSETMITERLIMIT (pack 4) */
656     TEST_TYPE(EMRSETMITERLIMIT, 12, 4);
657     TEST_FIELD(EMRSETMITERLIMIT, EMR, emr, 0, 8, 4);
658     TEST_FIELD(EMRSETMITERLIMIT, FLOAT, eMiterLimit, 8, 4, 4);
659
660     /* EMRSETPIXELV (pack 4) */
661     TEST_TYPE(EMRSETPIXELV, 20, 4);
662     TEST_FIELD(EMRSETPIXELV, EMR, emr, 0, 8, 4);
663     TEST_FIELD(EMRSETPIXELV, POINTL, ptlPixel, 8, 8, 4);
664     TEST_FIELD(EMRSETPIXELV, COLORREF, crColor, 16, 4, 4);
665
666     /* EMRSETTEXTJUSTIFICATION (pack 4) */
667     TEST_TYPE(EMRSETTEXTJUSTIFICATION, 16, 4);
668     TEST_FIELD(EMRSETTEXTJUSTIFICATION, EMR, emr, 0, 8, 4);
669     TEST_FIELD(EMRSETTEXTJUSTIFICATION, INT, nBreakExtra, 8, 4, 4);
670     TEST_FIELD(EMRSETTEXTJUSTIFICATION, INT, nBreakCount, 12, 4, 4);
671
672     /* EMRSETVIEWPORTEXTEX (pack 4) */
673     TEST_TYPE(EMRSETVIEWPORTEXTEX, 16, 4);
674     TEST_FIELD(EMRSETVIEWPORTEXTEX, EMR, emr, 0, 8, 4);
675     TEST_FIELD(EMRSETVIEWPORTEXTEX, SIZEL, szlExtent, 8, 8, 4);
676
677     /* EMRSETWORLDTRANSFORM (pack 4) */
678     TEST_TYPE(EMRSETWORLDTRANSFORM, 32, 4);
679     TEST_FIELD(EMRSETWORLDTRANSFORM, EMR, emr, 0, 8, 4);
680     TEST_FIELD(EMRSETWORLDTRANSFORM, XFORM, xform, 8, 24, 4);
681
682     /* EMRSTRETCHBLT (pack 4) */
683     TEST_TYPE(EMRSTRETCHBLT, 108, 4);
684     TEST_FIELD(EMRSTRETCHBLT, EMR, emr, 0, 8, 4);
685     TEST_FIELD(EMRSTRETCHBLT, RECTL, rclBounds, 8, 16, 4);
686     TEST_FIELD(EMRSTRETCHBLT, LONG, xDest, 24, 4, 4);
687     TEST_FIELD(EMRSTRETCHBLT, LONG, yDest, 28, 4, 4);
688     TEST_FIELD(EMRSTRETCHBLT, LONG, cxDest, 32, 4, 4);
689     TEST_FIELD(EMRSTRETCHBLT, LONG, cyDest, 36, 4, 4);
690     TEST_FIELD(EMRSTRETCHBLT, DWORD, dwRop, 40, 4, 4);
691     TEST_FIELD(EMRSTRETCHBLT, LONG, xSrc, 44, 4, 4);
692     TEST_FIELD(EMRSTRETCHBLT, LONG, ySrc, 48, 4, 4);
693     TEST_FIELD(EMRSTRETCHBLT, XFORM, xformSrc, 52, 24, 4);
694     TEST_FIELD(EMRSTRETCHBLT, COLORREF, crBkColorSrc, 76, 4, 4);
695     TEST_FIELD(EMRSTRETCHBLT, DWORD, iUsageSrc, 80, 4, 4);
696     TEST_FIELD(EMRSTRETCHBLT, DWORD, offBmiSrc, 84, 4, 4);
697     TEST_FIELD(EMRSTRETCHBLT, DWORD, cbBmiSrc, 88, 4, 4);
698     TEST_FIELD(EMRSTRETCHBLT, DWORD, offBitsSrc, 92, 4, 4);
699     TEST_FIELD(EMRSTRETCHBLT, DWORD, cbBitsSrc, 96, 4, 4);
700     TEST_FIELD(EMRSTRETCHBLT, LONG, cxSrc, 100, 4, 4);
701     TEST_FIELD(EMRSTRETCHBLT, LONG, cySrc, 104, 4, 4);
702
703     /* EMRSTRETCHDIBITS (pack 4) */
704     TEST_TYPE(EMRSTRETCHDIBITS, 80, 4);
705     TEST_FIELD(EMRSTRETCHDIBITS, EMR, emr, 0, 8, 4);
706     TEST_FIELD(EMRSTRETCHDIBITS, RECTL, rclBounds, 8, 16, 4);
707     TEST_FIELD(EMRSTRETCHDIBITS, LONG, xDest, 24, 4, 4);
708     TEST_FIELD(EMRSTRETCHDIBITS, LONG, yDest, 28, 4, 4);
709     TEST_FIELD(EMRSTRETCHDIBITS, LONG, xSrc, 32, 4, 4);
710     TEST_FIELD(EMRSTRETCHDIBITS, LONG, ySrc, 36, 4, 4);
711     TEST_FIELD(EMRSTRETCHDIBITS, LONG, cxSrc, 40, 4, 4);
712     TEST_FIELD(EMRSTRETCHDIBITS, LONG, cySrc, 44, 4, 4);
713     TEST_FIELD(EMRSTRETCHDIBITS, DWORD, offBmiSrc, 48, 4, 4);
714     TEST_FIELD(EMRSTRETCHDIBITS, DWORD, cbBmiSrc, 52, 4, 4);
715     TEST_FIELD(EMRSTRETCHDIBITS, DWORD, offBitsSrc, 56, 4, 4);
716     TEST_FIELD(EMRSTRETCHDIBITS, DWORD, cbBitsSrc, 60, 4, 4);
717     TEST_FIELD(EMRSTRETCHDIBITS, DWORD, iUsageSrc, 64, 4, 4);
718     TEST_FIELD(EMRSTRETCHDIBITS, DWORD, dwRop, 68, 4, 4);
719     TEST_FIELD(EMRSTRETCHDIBITS, LONG, cxDest, 72, 4, 4);
720     TEST_FIELD(EMRSTRETCHDIBITS, LONG, cyDest, 76, 4, 4);
721
722     /* EMRTEXT (pack 4) */
723     TEST_TYPE(EMRTEXT, 40, 4);
724     TEST_FIELD(EMRTEXT, POINTL, ptlReference, 0, 8, 4);
725     TEST_FIELD(EMRTEXT, DWORD, nChars, 8, 4, 4);
726     TEST_FIELD(EMRTEXT, DWORD, offString, 12, 4, 4);
727     TEST_FIELD(EMRTEXT, DWORD, fOptions, 16, 4, 4);
728     TEST_FIELD(EMRTEXT, RECTL, rcl, 20, 16, 4);
729     TEST_FIELD(EMRTEXT, DWORD, offDx, 36, 4, 4);
730
731     /* ENHMETAHEADER (pack 4) */
732     TEST_TYPE(ENHMETAHEADER, 108, 4);
733     TEST_FIELD(ENHMETAHEADER, DWORD, iType, 0, 4, 4);
734     TEST_FIELD(ENHMETAHEADER, DWORD, nSize, 4, 4, 4);
735     TEST_FIELD(ENHMETAHEADER, RECTL, rclBounds, 8, 16, 4);
736     TEST_FIELD(ENHMETAHEADER, RECTL, rclFrame, 24, 16, 4);
737     TEST_FIELD(ENHMETAHEADER, DWORD, dSignature, 40, 4, 4);
738     TEST_FIELD(ENHMETAHEADER, DWORD, nVersion, 44, 4, 4);
739     TEST_FIELD(ENHMETAHEADER, DWORD, nBytes, 48, 4, 4);
740     TEST_FIELD(ENHMETAHEADER, DWORD, nRecords, 52, 4, 4);
741     TEST_FIELD(ENHMETAHEADER, WORD, nHandles, 56, 2, 2);
742     TEST_FIELD(ENHMETAHEADER, WORD, sReserved, 58, 2, 2);
743     TEST_FIELD(ENHMETAHEADER, DWORD, nDescription, 60, 4, 4);
744     TEST_FIELD(ENHMETAHEADER, DWORD, offDescription, 64, 4, 4);
745     TEST_FIELD(ENHMETAHEADER, DWORD, nPalEntries, 68, 4, 4);
746     TEST_FIELD(ENHMETAHEADER, SIZEL, szlDevice, 72, 8, 4);
747     TEST_FIELD(ENHMETAHEADER, SIZEL, szlMillimeters, 80, 8, 4);
748     TEST_FIELD(ENHMETAHEADER, DWORD, cbPixelFormat, 88, 4, 4);
749     TEST_FIELD(ENHMETAHEADER, DWORD, offPixelFormat, 92, 4, 4);
750     TEST_FIELD(ENHMETAHEADER, DWORD, bOpenGL, 96, 4, 4);
751     TEST_FIELD(ENHMETAHEADER, SIZEL, szlMicrometers, 100, 8, 4);
752
753     /* ENHMETARECORD (pack 4) */
754     TEST_TYPE(ENHMETARECORD, 12, 4);
755     TEST_FIELD(ENHMETARECORD, DWORD, iType, 0, 4, 4);
756     TEST_FIELD(ENHMETARECORD, DWORD, nSize, 4, 4, 4);
757     TEST_FIELD(ENHMETARECORD, DWORD[1], dParm, 8, 4, 4);
758
759     /* ENUMLOGFONTA (pack 4) */
760     TEST_TYPE(ENUMLOGFONTA, 156, 4);
761     TEST_FIELD(ENUMLOGFONTA, LOGFONTA, elfLogFont, 0, 60, 4);
762     TEST_FIELD(ENUMLOGFONTA, BYTE[LF_FULLFACESIZE], elfFullName, 60, 64, 1);
763     TEST_FIELD(ENUMLOGFONTA, BYTE[LF_FACESIZE], elfStyle, 124, 32, 1);
764
765     /* ENUMLOGFONTEXA (pack 4) */
766     TEST_TYPE(ENUMLOGFONTEXA, 188, 4);
767     TEST_FIELD(ENUMLOGFONTEXA, LOGFONTA, elfLogFont, 0, 60, 4);
768     TEST_FIELD(ENUMLOGFONTEXA, BYTE[LF_FULLFACESIZE], elfFullName, 60, 64, 1);
769     TEST_FIELD(ENUMLOGFONTEXA, BYTE[LF_FACESIZE], elfStyle, 124, 32, 1);
770     TEST_FIELD(ENUMLOGFONTEXA, BYTE[LF_FACESIZE], elfScript, 156, 32, 1);
771
772     /* ENUMLOGFONTEXW (pack 4) */
773     TEST_TYPE(ENUMLOGFONTEXW, 348, 4);
774     TEST_FIELD(ENUMLOGFONTEXW, LOGFONTW, elfLogFont, 0, 92, 4);
775     TEST_FIELD(ENUMLOGFONTEXW, WCHAR[LF_FULLFACESIZE], elfFullName, 92, 128, 2);
776     TEST_FIELD(ENUMLOGFONTEXW, WCHAR[LF_FACESIZE], elfStyle, 220, 64, 2);
777     TEST_FIELD(ENUMLOGFONTEXW, WCHAR[LF_FACESIZE], elfScript, 284, 64, 2);
778
779     /* ENUMLOGFONTW (pack 4) */
780     TEST_TYPE(ENUMLOGFONTW, 284, 4);
781     TEST_FIELD(ENUMLOGFONTW, LOGFONTW, elfLogFont, 0, 92, 4);
782     TEST_FIELD(ENUMLOGFONTW, WCHAR[LF_FULLFACESIZE], elfFullName, 92, 128, 2);
783     TEST_FIELD(ENUMLOGFONTW, WCHAR[LF_FACESIZE], elfStyle, 220, 64, 2);
784
785     /* EXTLOGFONTA (pack 4) */
786     TEST_TYPE(EXTLOGFONTA, 192, 4);
787     TEST_FIELD(EXTLOGFONTA, LOGFONTA, elfLogFont, 0, 60, 4);
788     TEST_FIELD(EXTLOGFONTA, BYTE[LF_FULLFACESIZE], elfFullName, 60, 64, 1);
789     TEST_FIELD(EXTLOGFONTA, BYTE[LF_FACESIZE], elfStyle, 124, 32, 1);
790     TEST_FIELD(EXTLOGFONTA, DWORD, elfVersion, 156, 4, 4);
791     TEST_FIELD(EXTLOGFONTA, DWORD, elfStyleSize, 160, 4, 4);
792     TEST_FIELD(EXTLOGFONTA, DWORD, elfMatch, 164, 4, 4);
793     TEST_FIELD(EXTLOGFONTA, DWORD, elfReserved, 168, 4, 4);
794     TEST_FIELD(EXTLOGFONTA, BYTE[ELF_VENDOR_SIZE], elfVendorId, 172, 4, 1);
795     TEST_FIELD(EXTLOGFONTA, DWORD, elfCulture, 176, 4, 4);
796     TEST_FIELD(EXTLOGFONTA, PANOSE, elfPanose, 180, 10, 1);
797
798     /* EXTLOGFONTW (pack 4) */
799     TEST_TYPE(EXTLOGFONTW, 320, 4);
800     TEST_FIELD(EXTLOGFONTW, LOGFONTW, elfLogFont, 0, 92, 4);
801     TEST_FIELD(EXTLOGFONTW, WCHAR[LF_FULLFACESIZE], elfFullName, 92, 128, 2);
802     TEST_FIELD(EXTLOGFONTW, WCHAR[LF_FACESIZE], elfStyle, 220, 64, 2);
803     TEST_FIELD(EXTLOGFONTW, DWORD, elfVersion, 284, 4, 4);
804     TEST_FIELD(EXTLOGFONTW, DWORD, elfStyleSize, 288, 4, 4);
805     TEST_FIELD(EXTLOGFONTW, DWORD, elfMatch, 292, 4, 4);
806     TEST_FIELD(EXTLOGFONTW, DWORD, elfReserved, 296, 4, 4);
807     TEST_FIELD(EXTLOGFONTW, BYTE[ELF_VENDOR_SIZE], elfVendorId, 300, 4, 1);
808     TEST_FIELD(EXTLOGFONTW, DWORD, elfCulture, 304, 4, 4);
809     TEST_FIELD(EXTLOGFONTW, PANOSE, elfPanose, 308, 10, 1);
810
811     /* EXTLOGPEN (pack 4) */
812     TEST_TYPE(EXTLOGPEN, 28, 4);
813     TEST_FIELD(EXTLOGPEN, DWORD, elpPenStyle, 0, 4, 4);
814     TEST_FIELD(EXTLOGPEN, DWORD, elpWidth, 4, 4, 4);
815     TEST_FIELD(EXTLOGPEN, UINT, elpBrushStyle, 8, 4, 4);
816     TEST_FIELD(EXTLOGPEN, COLORREF, elpColor, 12, 4, 4);
817     TEST_FIELD(EXTLOGPEN, LONG, elpHatch, 16, 4, 4);
818     TEST_FIELD(EXTLOGPEN, DWORD, elpNumEntries, 20, 4, 4);
819     TEST_FIELD(EXTLOGPEN, DWORD[1], elpStyleEntry, 24, 4, 4);
820
821     /* FIXED (pack 4) */
822     TEST_TYPE(FIXED, 4, 2);
823     TEST_FIELD(FIXED, WORD, fract, 0, 2, 2);
824     TEST_FIELD(FIXED, SHORT, value, 2, 2, 2);
825
826     /* FONTSIGNATURE (pack 4) */
827     TEST_TYPE(FONTSIGNATURE, 24, 4);
828     TEST_FIELD(FONTSIGNATURE, DWORD[4], fsUsb, 0, 16, 4);
829     TEST_FIELD(FONTSIGNATURE, DWORD[2], fsCsb, 16, 8, 4);
830
831     /* GCP_RESULTSA (pack 4) */
832     TEST_TYPE(GCP_RESULTSA, 36, 4);
833     TEST_FIELD(GCP_RESULTSA, DWORD, lStructSize, 0, 4, 4);
834     TEST_FIELD(GCP_RESULTSA, LPSTR, lpOutString, 4, 4, 4);
835     TEST_FIELD(GCP_RESULTSA, UINT *, lpOrder, 8, 4, 4);
836     TEST_FIELD(GCP_RESULTSA, INT *, lpDx, 12, 4, 4);
837     TEST_FIELD(GCP_RESULTSA, INT *, lpCaretPos, 16, 4, 4);
838     TEST_FIELD(GCP_RESULTSA, LPSTR, lpClass, 20, 4, 4);
839     TEST_FIELD(GCP_RESULTSA, LPWSTR, lpGlyphs, 24, 4, 4);
840     TEST_FIELD(GCP_RESULTSA, UINT, nGlyphs, 28, 4, 4);
841     TEST_FIELD(GCP_RESULTSA, UINT, nMaxFit, 32, 4, 4);
842
843     /* GCP_RESULTSW (pack 4) */
844     TEST_TYPE(GCP_RESULTSW, 36, 4);
845     TEST_FIELD(GCP_RESULTSW, DWORD, lStructSize, 0, 4, 4);
846     TEST_FIELD(GCP_RESULTSW, LPWSTR, lpOutString, 4, 4, 4);
847     TEST_FIELD(GCP_RESULTSW, UINT *, lpOrder, 8, 4, 4);
848     TEST_FIELD(GCP_RESULTSW, INT *, lpDx, 12, 4, 4);
849     TEST_FIELD(GCP_RESULTSW, INT *, lpCaretPos, 16, 4, 4);
850     TEST_FIELD(GCP_RESULTSW, LPSTR, lpClass, 20, 4, 4);
851     TEST_FIELD(GCP_RESULTSW, LPWSTR, lpGlyphs, 24, 4, 4);
852     TEST_FIELD(GCP_RESULTSW, UINT, nGlyphs, 28, 4, 4);
853     TEST_FIELD(GCP_RESULTSW, UINT, nMaxFit, 32, 4, 4);
854
855     /* GLYPHMETRICS (pack 4) */
856     TEST_TYPE(GLYPHMETRICS, 20, 4);
857     TEST_FIELD(GLYPHMETRICS, UINT, gmBlackBoxX, 0, 4, 4);
858     TEST_FIELD(GLYPHMETRICS, UINT, gmBlackBoxY, 4, 4, 4);
859     TEST_FIELD(GLYPHMETRICS, POINT, gmptGlyphOrigin, 8, 8, 4);
860     TEST_FIELD(GLYPHMETRICS, SHORT, gmCellIncX, 16, 2, 2);
861     TEST_FIELD(GLYPHMETRICS, SHORT, gmCellIncY, 18, 2, 2);
862
863     /* GRADIENT_RECT (pack 4) */
864     TEST_TYPE(GRADIENT_RECT, 8, 4);
865     TEST_FIELD(GRADIENT_RECT, ULONG, UpperLeft, 0, 4, 4);
866     TEST_FIELD(GRADIENT_RECT, ULONG, LowerRight, 4, 4, 4);
867
868     /* GRADIENT_TRIANGLE (pack 4) */
869     TEST_TYPE(GRADIENT_TRIANGLE, 12, 4);
870     TEST_FIELD(GRADIENT_TRIANGLE, ULONG, Vertex1, 0, 4, 4);
871     TEST_FIELD(GRADIENT_TRIANGLE, ULONG, Vertex2, 4, 4, 4);
872     TEST_FIELD(GRADIENT_TRIANGLE, ULONG, Vertex3, 8, 4, 4);
873
874     /* HANDLETABLE (pack 4) */
875     TEST_TYPE(HANDLETABLE, 4, 4);
876     TEST_FIELD(HANDLETABLE, HGDIOBJ[1], objectHandle, 0, 4, 4);
877
878     /* KERNINGPAIR (pack 4) */
879     TEST_TYPE(KERNINGPAIR, 8, 4);
880     TEST_FIELD(KERNINGPAIR, WORD, wFirst, 0, 2, 2);
881     TEST_FIELD(KERNINGPAIR, WORD, wSecond, 2, 2, 2);
882     TEST_FIELD(KERNINGPAIR, INT, iKernAmount, 4, 4, 4);
883
884     /* LOCALESIGNATURE (pack 4) */
885     TEST_TYPE(LOCALESIGNATURE, 32, 4);
886     TEST_FIELD(LOCALESIGNATURE, DWORD[4], lsUsb, 0, 16, 4);
887     TEST_FIELD(LOCALESIGNATURE, DWORD[2], lsCsbDefault, 16, 8, 4);
888     TEST_FIELD(LOCALESIGNATURE, DWORD[2], lsCsbSupported, 24, 8, 4);
889
890     /* LOGBRUSH (pack 4) */
891     TEST_TYPE(LOGBRUSH, 12, 4);
892     TEST_FIELD(LOGBRUSH, UINT, lbStyle, 0, 4, 4);
893     TEST_FIELD(LOGBRUSH, COLORREF, lbColor, 4, 4, 4);
894     TEST_FIELD(LOGBRUSH, INT, lbHatch, 8, 4, 4);
895
896     /* LOGCOLORSPACEA (pack 4) */
897     TEST_TYPE(LOGCOLORSPACEA, 328, 4);
898     TEST_FIELD(LOGCOLORSPACEA, DWORD, lcsSignature, 0, 4, 4);
899     TEST_FIELD(LOGCOLORSPACEA, DWORD, lcsVersion, 4, 4, 4);
900     TEST_FIELD(LOGCOLORSPACEA, DWORD, lcsSize, 8, 4, 4);
901     TEST_FIELD(LOGCOLORSPACEA, LCSCSTYPE, lcsCSType, 12, 4, 4);
902     TEST_FIELD(LOGCOLORSPACEA, LCSGAMUTMATCH, lcsIntent, 16, 4, 4);
903     TEST_FIELD(LOGCOLORSPACEA, CIEXYZTRIPLE, lcsEndpoints, 20, 36, 4);
904     TEST_FIELD(LOGCOLORSPACEA, DWORD, lcsGammaRed, 56, 4, 4);
905     TEST_FIELD(LOGCOLORSPACEA, DWORD, lcsGammaGreen, 60, 4, 4);
906     TEST_FIELD(LOGCOLORSPACEA, DWORD, lcsGammaBlue, 64, 4, 4);
907     TEST_FIELD(LOGCOLORSPACEA, CHAR[MAX_PATH], lcsFilename, 68, 260, 1);
908
909     /* LOGCOLORSPACEW (pack 4) */
910     TEST_TYPE(LOGCOLORSPACEW, 588, 4);
911     TEST_FIELD(LOGCOLORSPACEW, DWORD, lcsSignature, 0, 4, 4);
912     TEST_FIELD(LOGCOLORSPACEW, DWORD, lcsVersion, 4, 4, 4);
913     TEST_FIELD(LOGCOLORSPACEW, DWORD, lcsSize, 8, 4, 4);
914     TEST_FIELD(LOGCOLORSPACEW, LCSCSTYPE, lcsCSType, 12, 4, 4);
915     TEST_FIELD(LOGCOLORSPACEW, LCSGAMUTMATCH, lcsIntent, 16, 4, 4);
916     TEST_FIELD(LOGCOLORSPACEW, CIEXYZTRIPLE, lcsEndpoints, 20, 36, 4);
917     TEST_FIELD(LOGCOLORSPACEW, DWORD, lcsGammaRed, 56, 4, 4);
918     TEST_FIELD(LOGCOLORSPACEW, DWORD, lcsGammaGreen, 60, 4, 4);
919     TEST_FIELD(LOGCOLORSPACEW, DWORD, lcsGammaBlue, 64, 4, 4);
920     TEST_FIELD(LOGCOLORSPACEW, WCHAR[MAX_PATH], lcsFilename, 68, 520, 2);
921
922     /* LOGFONTA (pack 4) */
923     TEST_TYPE(LOGFONTA, 60, 4);
924     TEST_FIELD(LOGFONTA, LONG, lfHeight, 0, 4, 4);
925     TEST_FIELD(LOGFONTA, LONG, lfWidth, 4, 4, 4);
926     TEST_FIELD(LOGFONTA, LONG, lfEscapement, 8, 4, 4);
927     TEST_FIELD(LOGFONTA, LONG, lfOrientation, 12, 4, 4);
928     TEST_FIELD(LOGFONTA, LONG, lfWeight, 16, 4, 4);
929     TEST_FIELD(LOGFONTA, BYTE, lfItalic, 20, 1, 1);
930     TEST_FIELD(LOGFONTA, BYTE, lfUnderline, 21, 1, 1);
931     TEST_FIELD(LOGFONTA, BYTE, lfStrikeOut, 22, 1, 1);
932     TEST_FIELD(LOGFONTA, BYTE, lfCharSet, 23, 1, 1);
933     TEST_FIELD(LOGFONTA, BYTE, lfOutPrecision, 24, 1, 1);
934     TEST_FIELD(LOGFONTA, BYTE, lfClipPrecision, 25, 1, 1);
935     TEST_FIELD(LOGFONTA, BYTE, lfQuality, 26, 1, 1);
936     TEST_FIELD(LOGFONTA, BYTE, lfPitchAndFamily, 27, 1, 1);
937     TEST_FIELD(LOGFONTA, CHAR[LF_FACESIZE], lfFaceName, 28, 32, 1);
938
939     /* LOGFONTW (pack 4) */
940     TEST_TYPE(LOGFONTW, 92, 4);
941     TEST_FIELD(LOGFONTW, LONG, lfHeight, 0, 4, 4);
942     TEST_FIELD(LOGFONTW, LONG, lfWidth, 4, 4, 4);
943     TEST_FIELD(LOGFONTW, LONG, lfEscapement, 8, 4, 4);
944     TEST_FIELD(LOGFONTW, LONG, lfOrientation, 12, 4, 4);
945     TEST_FIELD(LOGFONTW, LONG, lfWeight, 16, 4, 4);
946     TEST_FIELD(LOGFONTW, BYTE, lfItalic, 20, 1, 1);
947     TEST_FIELD(LOGFONTW, BYTE, lfUnderline, 21, 1, 1);
948     TEST_FIELD(LOGFONTW, BYTE, lfStrikeOut, 22, 1, 1);
949     TEST_FIELD(LOGFONTW, BYTE, lfCharSet, 23, 1, 1);
950     TEST_FIELD(LOGFONTW, BYTE, lfOutPrecision, 24, 1, 1);
951     TEST_FIELD(LOGFONTW, BYTE, lfClipPrecision, 25, 1, 1);
952     TEST_FIELD(LOGFONTW, BYTE, lfQuality, 26, 1, 1);
953     TEST_FIELD(LOGFONTW, BYTE, lfPitchAndFamily, 27, 1, 1);
954     TEST_FIELD(LOGFONTW, WCHAR[LF_FACESIZE], lfFaceName, 28, 64, 2);
955
956     /* LOGPEN (pack 4) */
957     TEST_TYPE(LOGPEN, 16, 4);
958     TEST_FIELD(LOGPEN, UINT, lopnStyle, 0, 4, 4);
959     TEST_FIELD(LOGPEN, POINT, lopnWidth, 4, 8, 4);
960     TEST_FIELD(LOGPEN, COLORREF, lopnColor, 12, 4, 4);
961
962     /* MAT2 (pack 4) */
963     TEST_TYPE(MAT2, 16, 2);
964     TEST_FIELD(MAT2, FIXED, eM11, 0, 4, 2);
965     TEST_FIELD(MAT2, FIXED, eM12, 4, 4, 2);
966     TEST_FIELD(MAT2, FIXED, eM21, 8, 4, 2);
967     TEST_FIELD(MAT2, FIXED, eM22, 12, 4, 2);
968
969     /* METAFILEPICT (pack 4) */
970     TEST_TYPE(METAFILEPICT, 16, 4);
971     TEST_FIELD(METAFILEPICT, LONG, mm, 0, 4, 4);
972     TEST_FIELD(METAFILEPICT, LONG, xExt, 4, 4, 4);
973     TEST_FIELD(METAFILEPICT, LONG, yExt, 8, 4, 4);
974     TEST_FIELD(METAFILEPICT, HMETAFILE, hMF, 12, 4, 4);
975
976     /* METAHEADER (pack 2) */
977     TEST_TYPE(METAHEADER, 18, 2);
978     TEST_FIELD(METAHEADER, WORD, mtType, 0, 2, 2);
979     TEST_FIELD(METAHEADER, WORD, mtHeaderSize, 2, 2, 2);
980     TEST_FIELD(METAHEADER, WORD, mtVersion, 4, 2, 2);
981     TEST_FIELD(METAHEADER, DWORD, mtSize, 6, 4, 2);
982     TEST_FIELD(METAHEADER, WORD, mtNoObjects, 10, 2, 2);
983     TEST_FIELD(METAHEADER, DWORD, mtMaxRecord, 12, 4, 2);
984     TEST_FIELD(METAHEADER, WORD, mtNoParameters, 16, 2, 2);
985
986     /* METARECORD (pack 4) */
987     TEST_TYPE(METARECORD, 8, 4);
988     TEST_FIELD(METARECORD, DWORD, rdSize, 0, 4, 4);
989     TEST_FIELD(METARECORD, WORD, rdFunction, 4, 2, 2);
990     TEST_FIELD(METARECORD, WORD[1], rdParm, 6, 2, 2);
991
992     /* NEWTEXTMETRICA (pack 4) */
993     TEST_TYPE(NEWTEXTMETRICA, 72, 4);
994     TEST_FIELD(NEWTEXTMETRICA, LONG, tmHeight, 0, 4, 4);
995     TEST_FIELD(NEWTEXTMETRICA, LONG, tmAscent, 4, 4, 4);
996     TEST_FIELD(NEWTEXTMETRICA, LONG, tmDescent, 8, 4, 4);
997     TEST_FIELD(NEWTEXTMETRICA, LONG, tmInternalLeading, 12, 4, 4);
998     TEST_FIELD(NEWTEXTMETRICA, LONG, tmExternalLeading, 16, 4, 4);
999     TEST_FIELD(NEWTEXTMETRICA, LONG, tmAveCharWidth, 20, 4, 4);
1000     TEST_FIELD(NEWTEXTMETRICA, LONG, tmMaxCharWidth, 24, 4, 4);
1001     TEST_FIELD(NEWTEXTMETRICA, LONG, tmWeight, 28, 4, 4);
1002     TEST_FIELD(NEWTEXTMETRICA, LONG, tmOverhang, 32, 4, 4);
1003     TEST_FIELD(NEWTEXTMETRICA, LONG, tmDigitizedAspectX, 36, 4, 4);
1004     TEST_FIELD(NEWTEXTMETRICA, LONG, tmDigitizedAspectY, 40, 4, 4);
1005     TEST_FIELD(NEWTEXTMETRICA, BYTE, tmFirstChar, 44, 1, 1);
1006     TEST_FIELD(NEWTEXTMETRICA, BYTE, tmLastChar, 45, 1, 1);
1007     TEST_FIELD(NEWTEXTMETRICA, BYTE, tmDefaultChar, 46, 1, 1);
1008     TEST_FIELD(NEWTEXTMETRICA, BYTE, tmBreakChar, 47, 1, 1);
1009     TEST_FIELD(NEWTEXTMETRICA, BYTE, tmItalic, 48, 1, 1);
1010     TEST_FIELD(NEWTEXTMETRICA, BYTE, tmUnderlined, 49, 1, 1);
1011     TEST_FIELD(NEWTEXTMETRICA, BYTE, tmStruckOut, 50, 1, 1);
1012     TEST_FIELD(NEWTEXTMETRICA, BYTE, tmPitchAndFamily, 51, 1, 1);
1013     TEST_FIELD(NEWTEXTMETRICA, BYTE, tmCharSet, 52, 1, 1);
1014     TEST_FIELD(NEWTEXTMETRICA, DWORD, ntmFlags, 56, 4, 4);
1015     TEST_FIELD(NEWTEXTMETRICA, UINT, ntmSizeEM, 60, 4, 4);
1016     TEST_FIELD(NEWTEXTMETRICA, UINT, ntmCellHeight, 64, 4, 4);
1017     TEST_FIELD(NEWTEXTMETRICA, UINT, ntmAvgWidth, 68, 4, 4);
1018
1019     /* NEWTEXTMETRICEXA (pack 4) */
1020     TEST_TYPE(NEWTEXTMETRICEXA, 96, 4);
1021     TEST_FIELD(NEWTEXTMETRICEXA, NEWTEXTMETRICA, ntmTm, 0, 72, 4);
1022     TEST_FIELD(NEWTEXTMETRICEXA, FONTSIGNATURE, ntmFontSig, 72, 24, 4);
1023
1024     /* NEWTEXTMETRICEXW (pack 4) */
1025     TEST_TYPE(NEWTEXTMETRICEXW, 100, 4);
1026     TEST_FIELD(NEWTEXTMETRICEXW, NEWTEXTMETRICW, ntmTm, 0, 76, 4);
1027     TEST_FIELD(NEWTEXTMETRICEXW, FONTSIGNATURE, ntmFontSig, 76, 24, 4);
1028
1029     /* NEWTEXTMETRICW (pack 4) */
1030     TEST_TYPE(NEWTEXTMETRICW, 76, 4);
1031     TEST_FIELD(NEWTEXTMETRICW, LONG, tmHeight, 0, 4, 4);
1032     TEST_FIELD(NEWTEXTMETRICW, LONG, tmAscent, 4, 4, 4);
1033     TEST_FIELD(NEWTEXTMETRICW, LONG, tmDescent, 8, 4, 4);
1034     TEST_FIELD(NEWTEXTMETRICW, LONG, tmInternalLeading, 12, 4, 4);
1035     TEST_FIELD(NEWTEXTMETRICW, LONG, tmExternalLeading, 16, 4, 4);
1036     TEST_FIELD(NEWTEXTMETRICW, LONG, tmAveCharWidth, 20, 4, 4);
1037     TEST_FIELD(NEWTEXTMETRICW, LONG, tmMaxCharWidth, 24, 4, 4);
1038     TEST_FIELD(NEWTEXTMETRICW, LONG, tmWeight, 28, 4, 4);
1039     TEST_FIELD(NEWTEXTMETRICW, LONG, tmOverhang, 32, 4, 4);
1040     TEST_FIELD(NEWTEXTMETRICW, LONG, tmDigitizedAspectX, 36, 4, 4);
1041     TEST_FIELD(NEWTEXTMETRICW, LONG, tmDigitizedAspectY, 40, 4, 4);
1042     TEST_FIELD(NEWTEXTMETRICW, WCHAR, tmFirstChar, 44, 2, 2);
1043     TEST_FIELD(NEWTEXTMETRICW, WCHAR, tmLastChar, 46, 2, 2);
1044     TEST_FIELD(NEWTEXTMETRICW, WCHAR, tmDefaultChar, 48, 2, 2);
1045     TEST_FIELD(NEWTEXTMETRICW, WCHAR, tmBreakChar, 50, 2, 2);
1046     TEST_FIELD(NEWTEXTMETRICW, BYTE, tmItalic, 52, 1, 1);
1047     TEST_FIELD(NEWTEXTMETRICW, BYTE, tmUnderlined, 53, 1, 1);
1048     TEST_FIELD(NEWTEXTMETRICW, BYTE, tmStruckOut, 54, 1, 1);
1049     TEST_FIELD(NEWTEXTMETRICW, BYTE, tmPitchAndFamily, 55, 1, 1);
1050     TEST_FIELD(NEWTEXTMETRICW, BYTE, tmCharSet, 56, 1, 1);
1051     TEST_FIELD(NEWTEXTMETRICW, DWORD, ntmFlags, 60, 4, 4);
1052     TEST_FIELD(NEWTEXTMETRICW, UINT, ntmSizeEM, 64, 4, 4);
1053     TEST_FIELD(NEWTEXTMETRICW, UINT, ntmCellHeight, 68, 4, 4);
1054     TEST_FIELD(NEWTEXTMETRICW, UINT, ntmAvgWidth, 72, 4, 4);
1055
1056     /* OUTLINETEXTMETRICA (pack 4) */
1057     TEST_TYPE(OUTLINETEXTMETRICA, 212, 4);
1058     TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmSize, 0, 4, 4);
1059     TEST_FIELD(OUTLINETEXTMETRICA, TEXTMETRICA, otmTextMetrics, 4, 56, 4);
1060     TEST_FIELD(OUTLINETEXTMETRICA, BYTE, otmFiller, 60, 1, 1);
1061     TEST_FIELD(OUTLINETEXTMETRICA, PANOSE, otmPanoseNumber, 61, 10, 1);
1062     TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmfsSelection, 72, 4, 4);
1063     TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmfsType, 76, 4, 4);
1064     TEST_FIELD(OUTLINETEXTMETRICA, INT, otmsCharSlopeRise, 80, 4, 4);
1065     TEST_FIELD(OUTLINETEXTMETRICA, INT, otmsCharSlopeRun, 84, 4, 4);
1066     TEST_FIELD(OUTLINETEXTMETRICA, INT, otmItalicAngle, 88, 4, 4);
1067     TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmEMSquare, 92, 4, 4);
1068     TEST_FIELD(OUTLINETEXTMETRICA, INT, otmAscent, 96, 4, 4);
1069     TEST_FIELD(OUTLINETEXTMETRICA, INT, otmDescent, 100, 4, 4);
1070     TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmLineGap, 104, 4, 4);
1071     TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmsCapEmHeight, 108, 4, 4);
1072     TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmsXHeight, 112, 4, 4);
1073     TEST_FIELD(OUTLINETEXTMETRICA, RECT, otmrcFontBox, 116, 16, 4);
1074     TEST_FIELD(OUTLINETEXTMETRICA, INT, otmMacAscent, 132, 4, 4);
1075     TEST_FIELD(OUTLINETEXTMETRICA, INT, otmMacDescent, 136, 4, 4);
1076     TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmMacLineGap, 140, 4, 4);
1077     TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmusMinimumPPEM, 144, 4, 4);
1078     TEST_FIELD(OUTLINETEXTMETRICA, POINT, otmptSubscriptSize, 148, 8, 4);
1079     TEST_FIELD(OUTLINETEXTMETRICA, POINT, otmptSubscriptOffset, 156, 8, 4);
1080     TEST_FIELD(OUTLINETEXTMETRICA, POINT, otmptSuperscriptSize, 164, 8, 4);
1081     TEST_FIELD(OUTLINETEXTMETRICA, POINT, otmptSuperscriptOffset, 172, 8, 4);
1082     TEST_FIELD(OUTLINETEXTMETRICA, UINT, otmsStrikeoutSize, 180, 4, 4);
1083     TEST_FIELD(OUTLINETEXTMETRICA, INT, otmsStrikeoutPosition, 184, 4, 4);
1084     TEST_FIELD(OUTLINETEXTMETRICA, INT, otmsUnderscoreSize, 188, 4, 4);
1085     TEST_FIELD(OUTLINETEXTMETRICA, INT, otmsUnderscorePosition, 192, 4, 4);
1086     TEST_FIELD(OUTLINETEXTMETRICA, LPSTR, otmpFamilyName, 196, 4, 4);
1087     TEST_FIELD(OUTLINETEXTMETRICA, LPSTR, otmpFaceName, 200, 4, 4);
1088     TEST_FIELD(OUTLINETEXTMETRICA, LPSTR, otmpStyleName, 204, 4, 4);
1089     TEST_FIELD(OUTLINETEXTMETRICA, LPSTR, otmpFullName, 208, 4, 4);
1090
1091     /* OUTLINETEXTMETRICW (pack 4) */
1092     TEST_TYPE(OUTLINETEXTMETRICW, 216, 4);
1093     TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmSize, 0, 4, 4);
1094     TEST_FIELD(OUTLINETEXTMETRICW, TEXTMETRICW, otmTextMetrics, 4, 60, 4);
1095     TEST_FIELD(OUTLINETEXTMETRICW, BYTE, otmFiller, 64, 1, 1);
1096     TEST_FIELD(OUTLINETEXTMETRICW, PANOSE, otmPanoseNumber, 65, 10, 1);
1097     TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmfsSelection, 76, 4, 4);
1098     TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmfsType, 80, 4, 4);
1099     TEST_FIELD(OUTLINETEXTMETRICW, INT, otmsCharSlopeRise, 84, 4, 4);
1100     TEST_FIELD(OUTLINETEXTMETRICW, INT, otmsCharSlopeRun, 88, 4, 4);
1101     TEST_FIELD(OUTLINETEXTMETRICW, INT, otmItalicAngle, 92, 4, 4);
1102     TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmEMSquare, 96, 4, 4);
1103     TEST_FIELD(OUTLINETEXTMETRICW, INT, otmAscent, 100, 4, 4);
1104     TEST_FIELD(OUTLINETEXTMETRICW, INT, otmDescent, 104, 4, 4);
1105     TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmLineGap, 108, 4, 4);
1106     TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmsCapEmHeight, 112, 4, 4);
1107     TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmsXHeight, 116, 4, 4);
1108     TEST_FIELD(OUTLINETEXTMETRICW, RECT, otmrcFontBox, 120, 16, 4);
1109     TEST_FIELD(OUTLINETEXTMETRICW, INT, otmMacAscent, 136, 4, 4);
1110     TEST_FIELD(OUTLINETEXTMETRICW, INT, otmMacDescent, 140, 4, 4);
1111     TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmMacLineGap, 144, 4, 4);
1112     TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmusMinimumPPEM, 148, 4, 4);
1113     TEST_FIELD(OUTLINETEXTMETRICW, POINT, otmptSubscriptSize, 152, 8, 4);
1114     TEST_FIELD(OUTLINETEXTMETRICW, POINT, otmptSubscriptOffset, 160, 8, 4);
1115     TEST_FIELD(OUTLINETEXTMETRICW, POINT, otmptSuperscriptSize, 168, 8, 4);
1116     TEST_FIELD(OUTLINETEXTMETRICW, POINT, otmptSuperscriptOffset, 176, 8, 4);
1117     TEST_FIELD(OUTLINETEXTMETRICW, UINT, otmsStrikeoutSize, 184, 4, 4);
1118     TEST_FIELD(OUTLINETEXTMETRICW, INT, otmsStrikeoutPosition, 188, 4, 4);
1119     TEST_FIELD(OUTLINETEXTMETRICW, INT, otmsUnderscoreSize, 192, 4, 4);
1120     TEST_FIELD(OUTLINETEXTMETRICW, INT, otmsUnderscorePosition, 196, 4, 4);
1121     TEST_FIELD(OUTLINETEXTMETRICW, LPSTR, otmpFamilyName, 200, 4, 4);
1122     TEST_FIELD(OUTLINETEXTMETRICW, LPSTR, otmpFaceName, 204, 4, 4);
1123     TEST_FIELD(OUTLINETEXTMETRICW, LPSTR, otmpStyleName, 208, 4, 4);
1124     TEST_FIELD(OUTLINETEXTMETRICW, LPSTR, otmpFullName, 212, 4, 4);
1125
1126     /* PANOSE (pack 4) */
1127     TEST_TYPE(PANOSE, 10, 1);
1128     TEST_FIELD(PANOSE, BYTE, bFamilyType, 0, 1, 1);
1129     TEST_FIELD(PANOSE, BYTE, bSerifStyle, 1, 1, 1);
1130     TEST_FIELD(PANOSE, BYTE, bWeight, 2, 1, 1);
1131     TEST_FIELD(PANOSE, BYTE, bProportion, 3, 1, 1);
1132     TEST_FIELD(PANOSE, BYTE, bContrast, 4, 1, 1);
1133     TEST_FIELD(PANOSE, BYTE, bStrokeVariation, 5, 1, 1);
1134     TEST_FIELD(PANOSE, BYTE, bArmStyle, 6, 1, 1);
1135     TEST_FIELD(PANOSE, BYTE, bLetterform, 7, 1, 1);
1136     TEST_FIELD(PANOSE, BYTE, bMidline, 8, 1, 1);
1137     TEST_FIELD(PANOSE, BYTE, bXHeight, 9, 1, 1);
1138
1139     /* PELARRAY (pack 4) */
1140     TEST_TYPE(PELARRAY, 20, 4);
1141     TEST_FIELD(PELARRAY, LONG, paXCount, 0, 4, 4);
1142     TEST_FIELD(PELARRAY, LONG, paYCount, 4, 4, 4);
1143     TEST_FIELD(PELARRAY, LONG, paXExt, 8, 4, 4);
1144     TEST_FIELD(PELARRAY, LONG, paYExt, 12, 4, 4);
1145     TEST_FIELD(PELARRAY, BYTE, paRGBs, 16, 1, 1);
1146
1147     /* PIXELFORMATDESCRIPTOR (pack 4) */
1148     TEST_TYPE(PIXELFORMATDESCRIPTOR, 40, 4);
1149     TEST_FIELD(PIXELFORMATDESCRIPTOR, WORD, nSize, 0, 2, 2);
1150     TEST_FIELD(PIXELFORMATDESCRIPTOR, WORD, nVersion, 2, 2, 2);
1151     TEST_FIELD(PIXELFORMATDESCRIPTOR, DWORD, dwFlags, 4, 4, 4);
1152     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, iPixelType, 8, 1, 1);
1153     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cColorBits, 9, 1, 1);
1154     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cRedBits, 10, 1, 1);
1155     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cRedShift, 11, 1, 1);
1156     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cGreenBits, 12, 1, 1);
1157     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cGreenShift, 13, 1, 1);
1158     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cBlueBits, 14, 1, 1);
1159     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cBlueShift, 15, 1, 1);
1160     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAlphaBits, 16, 1, 1);
1161     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAlphaShift, 17, 1, 1);
1162     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAccumBits, 18, 1, 1);
1163     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAccumRedBits, 19, 1, 1);
1164     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAccumGreenBits, 20, 1, 1);
1165     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAccumBlueBits, 21, 1, 1);
1166     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAccumAlphaBits, 22, 1, 1);
1167     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cDepthBits, 23, 1, 1);
1168     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cStencilBits, 24, 1, 1);
1169     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, cAuxBuffers, 25, 1, 1);
1170     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, iLayerType, 26, 1, 1);
1171     TEST_FIELD(PIXELFORMATDESCRIPTOR, BYTE, bReserved, 27, 1, 1);
1172     TEST_FIELD(PIXELFORMATDESCRIPTOR, DWORD, dwLayerMask, 28, 4, 4);
1173     TEST_FIELD(PIXELFORMATDESCRIPTOR, DWORD, dwVisibleMask, 32, 4, 4);
1174     TEST_FIELD(PIXELFORMATDESCRIPTOR, DWORD, dwDamageMask, 36, 4, 4);
1175
1176     /* POINTFX (pack 4) */
1177     TEST_TYPE(POINTFX, 8, 2);
1178     TEST_FIELD(POINTFX, FIXED, x, 0, 4, 2);
1179     TEST_FIELD(POINTFX, FIXED, y, 4, 4, 2);
1180
1181     /* POLYTEXTA (pack 4) */
1182     TEST_TYPE(POLYTEXTA, 40, 4);
1183     TEST_FIELD(POLYTEXTA, INT, x, 0, 4, 4);
1184     TEST_FIELD(POLYTEXTA, INT, y, 4, 4, 4);
1185     TEST_FIELD(POLYTEXTA, UINT, n, 8, 4, 4);
1186     TEST_FIELD(POLYTEXTA, LPCSTR, lpstr, 12, 4, 4);
1187     TEST_FIELD(POLYTEXTA, UINT, uiFlags, 16, 4, 4);
1188     TEST_FIELD(POLYTEXTA, RECT, rcl, 20, 16, 4);
1189     TEST_FIELD(POLYTEXTA, INT *, pdx, 36, 4, 4);
1190
1191     /* POLYTEXTW (pack 4) */
1192     TEST_TYPE(POLYTEXTW, 40, 4);
1193     TEST_FIELD(POLYTEXTW, INT, x, 0, 4, 4);
1194     TEST_FIELD(POLYTEXTW, INT, y, 4, 4, 4);
1195     TEST_FIELD(POLYTEXTW, UINT, n, 8, 4, 4);
1196     TEST_FIELD(POLYTEXTW, LPCWSTR, lpstr, 12, 4, 4);
1197     TEST_FIELD(POLYTEXTW, UINT, uiFlags, 16, 4, 4);
1198     TEST_FIELD(POLYTEXTW, RECT, rcl, 20, 16, 4);
1199     TEST_FIELD(POLYTEXTW, INT *, pdx, 36, 4, 4);
1200
1201     /* RASTERIZER_STATUS (pack 4) */
1202     TEST_TYPE(RASTERIZER_STATUS, 6, 2);
1203     TEST_FIELD(RASTERIZER_STATUS, SHORT, nSize, 0, 2, 2);
1204     TEST_FIELD(RASTERIZER_STATUS, SHORT, wFlags, 2, 2, 2);
1205     TEST_FIELD(RASTERIZER_STATUS, SHORT, nLanguageID, 4, 2, 2);
1206
1207     /* RGBQUAD (pack 4) */
1208     TEST_TYPE(RGBQUAD, 4, 1);
1209     TEST_FIELD(RGBQUAD, BYTE, rgbBlue, 0, 1, 1);
1210     TEST_FIELD(RGBQUAD, BYTE, rgbGreen, 1, 1, 1);
1211     TEST_FIELD(RGBQUAD, BYTE, rgbRed, 2, 1, 1);
1212     TEST_FIELD(RGBQUAD, BYTE, rgbReserved, 3, 1, 1);
1213
1214     /* RGBTRIPLE (pack 4) */
1215     TEST_TYPE(RGBTRIPLE, 3, 1);
1216     TEST_FIELD(RGBTRIPLE, BYTE, rgbtBlue, 0, 1, 1);
1217     TEST_FIELD(RGBTRIPLE, BYTE, rgbtGreen, 1, 1, 1);
1218     TEST_FIELD(RGBTRIPLE, BYTE, rgbtRed, 2, 1, 1);
1219
1220     /* RGNDATA (pack 4) */
1221     TEST_TYPE(RGNDATA, 36, 4);
1222     TEST_FIELD(RGNDATA, RGNDATAHEADER, rdh, 0, 32, 4);
1223     TEST_FIELD(RGNDATA, char[1], Buffer, 32, 1, 1);
1224
1225     /* RGNDATAHEADER (pack 4) */
1226     TEST_TYPE(RGNDATAHEADER, 32, 4);
1227     TEST_FIELD(RGNDATAHEADER, DWORD, dwSize, 0, 4, 4);
1228     TEST_FIELD(RGNDATAHEADER, DWORD, iType, 4, 4, 4);
1229     TEST_FIELD(RGNDATAHEADER, DWORD, nCount, 8, 4, 4);
1230     TEST_FIELD(RGNDATAHEADER, DWORD, nRgnSize, 12, 4, 4);
1231     TEST_FIELD(RGNDATAHEADER, RECT, rcBound, 16, 16, 4);
1232
1233     /* TEXTMETRICA (pack 4) */
1234     TEST_TYPE(TEXTMETRICA, 56, 4);
1235     TEST_FIELD(TEXTMETRICA, LONG, tmHeight, 0, 4, 4);
1236     TEST_FIELD(TEXTMETRICA, LONG, tmAscent, 4, 4, 4);
1237     TEST_FIELD(TEXTMETRICA, LONG, tmDescent, 8, 4, 4);
1238     TEST_FIELD(TEXTMETRICA, LONG, tmInternalLeading, 12, 4, 4);
1239     TEST_FIELD(TEXTMETRICA, LONG, tmExternalLeading, 16, 4, 4);
1240     TEST_FIELD(TEXTMETRICA, LONG, tmAveCharWidth, 20, 4, 4);
1241     TEST_FIELD(TEXTMETRICA, LONG, tmMaxCharWidth, 24, 4, 4);
1242     TEST_FIELD(TEXTMETRICA, LONG, tmWeight, 28, 4, 4);
1243     TEST_FIELD(TEXTMETRICA, LONG, tmOverhang, 32, 4, 4);
1244     TEST_FIELD(TEXTMETRICA, LONG, tmDigitizedAspectX, 36, 4, 4);
1245     TEST_FIELD(TEXTMETRICA, LONG, tmDigitizedAspectY, 40, 4, 4);
1246     TEST_FIELD(TEXTMETRICA, BYTE, tmFirstChar, 44, 1, 1);
1247     TEST_FIELD(TEXTMETRICA, BYTE, tmLastChar, 45, 1, 1);
1248     TEST_FIELD(TEXTMETRICA, BYTE, tmDefaultChar, 46, 1, 1);
1249     TEST_FIELD(TEXTMETRICA, BYTE, tmBreakChar, 47, 1, 1);
1250     TEST_FIELD(TEXTMETRICA, BYTE, tmItalic, 48, 1, 1);
1251     TEST_FIELD(TEXTMETRICA, BYTE, tmUnderlined, 49, 1, 1);
1252     TEST_FIELD(TEXTMETRICA, BYTE, tmStruckOut, 50, 1, 1);
1253     TEST_FIELD(TEXTMETRICA, BYTE, tmPitchAndFamily, 51, 1, 1);
1254     TEST_FIELD(TEXTMETRICA, BYTE, tmCharSet, 52, 1, 1);
1255
1256     /* TEXTMETRICW (pack 4) */
1257     TEST_TYPE(TEXTMETRICW, 60, 4);
1258     TEST_FIELD(TEXTMETRICW, LONG, tmHeight, 0, 4, 4);
1259     TEST_FIELD(TEXTMETRICW, LONG, tmAscent, 4, 4, 4);
1260     TEST_FIELD(TEXTMETRICW, LONG, tmDescent, 8, 4, 4);
1261     TEST_FIELD(TEXTMETRICW, LONG, tmInternalLeading, 12, 4, 4);
1262     TEST_FIELD(TEXTMETRICW, LONG, tmExternalLeading, 16, 4, 4);
1263     TEST_FIELD(TEXTMETRICW, LONG, tmAveCharWidth, 20, 4, 4);
1264     TEST_FIELD(TEXTMETRICW, LONG, tmMaxCharWidth, 24, 4, 4);
1265     TEST_FIELD(TEXTMETRICW, LONG, tmWeight, 28, 4, 4);
1266     TEST_FIELD(TEXTMETRICW, LONG, tmOverhang, 32, 4, 4);
1267     TEST_FIELD(TEXTMETRICW, LONG, tmDigitizedAspectX, 36, 4, 4);
1268     TEST_FIELD(TEXTMETRICW, LONG, tmDigitizedAspectY, 40, 4, 4);
1269     TEST_FIELD(TEXTMETRICW, WCHAR, tmFirstChar, 44, 2, 2);
1270     TEST_FIELD(TEXTMETRICW, WCHAR, tmLastChar, 46, 2, 2);
1271     TEST_FIELD(TEXTMETRICW, WCHAR, tmDefaultChar, 48, 2, 2);
1272     TEST_FIELD(TEXTMETRICW, WCHAR, tmBreakChar, 50, 2, 2);
1273     TEST_FIELD(TEXTMETRICW, BYTE, tmItalic, 52, 1, 1);
1274     TEST_FIELD(TEXTMETRICW, BYTE, tmUnderlined, 53, 1, 1);
1275     TEST_FIELD(TEXTMETRICW, BYTE, tmStruckOut, 54, 1, 1);
1276     TEST_FIELD(TEXTMETRICW, BYTE, tmPitchAndFamily, 55, 1, 1);
1277     TEST_FIELD(TEXTMETRICW, BYTE, tmCharSet, 56, 1, 1);
1278
1279     /* TRIVERTEX (pack 4) */
1280     TEST_TYPE(TRIVERTEX, 16, 4);
1281     TEST_FIELD(TRIVERTEX, LONG, x, 0, 4, 4);
1282     TEST_FIELD(TRIVERTEX, LONG, y, 4, 4, 4);
1283     TEST_FIELD(TRIVERTEX, COLOR16, Red, 8, 2, 2);
1284     TEST_FIELD(TRIVERTEX, COLOR16, Green, 10, 2, 2);
1285     TEST_FIELD(TRIVERTEX, COLOR16, Blue, 12, 2, 2);
1286     TEST_FIELD(TRIVERTEX, COLOR16, Alpha, 14, 2, 2);
1287
1288     /* TTPOLYCURVE (pack 4) */
1289     TEST_TYPE(TTPOLYCURVE, 12, 2);
1290     TEST_FIELD(TTPOLYCURVE, WORD, wType, 0, 2, 2);
1291     TEST_FIELD(TTPOLYCURVE, WORD, cpfx, 2, 2, 2);
1292     TEST_FIELD(TTPOLYCURVE, POINTFX[1], apfx, 4, 8, 2);
1293
1294     /* TTPOLYGONHEADER (pack 4) */
1295     TEST_TYPE(TTPOLYGONHEADER, 16, 4);
1296     TEST_FIELD(TTPOLYGONHEADER, DWORD, cb, 0, 4, 4);
1297     TEST_FIELD(TTPOLYGONHEADER, DWORD, dwType, 4, 4, 4);
1298     TEST_FIELD(TTPOLYGONHEADER, POINTFX, pfxStart, 8, 8, 2);
1299
1300     /* XFORM (pack 4) */
1301     TEST_TYPE(XFORM, 24, 4);
1302     TEST_FIELD(XFORM, FLOAT, eM11, 0, 4, 4);
1303     TEST_FIELD(XFORM, FLOAT, eM12, 4, 4, 4);
1304     TEST_FIELD(XFORM, FLOAT, eM21, 8, 4, 4);
1305     TEST_FIELD(XFORM, FLOAT, eM22, 12, 4, 4);
1306     TEST_FIELD(XFORM, FLOAT, eDx, 16, 4, 4);
1307     TEST_FIELD(XFORM, FLOAT, eDy, 20, 4, 4);
1308
1309 }
1310
1311 START_TEST(generated)
1312 {
1313     test_pack();
1314 }