mshtml: Add tests for get_scrollLeft.
[wine] / dlls / rpcrt4 / tests / generated.c
1 /* File generated automatically from tools/winapi/test.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
3
4 /*
5  * Unit tests for data structure packing
6  */
7
8 #define WINVER 0x0501
9 #define _WIN32_IE 0x0501
10 #define _WIN32_WINNT 0x0501
11
12 #define WINE_NOWINSOCK
13
14 #include <stdarg.h>
15 #include "windef.h"
16 #include "winbase.h"
17 #include "rpc.h"
18 #include "rpcndr.h"
19 #include "rpcproxy.h"
20
21 #include "wine/test.h"
22
23 /***********************************************************************
24  * Compatibility macros
25  */
26
27 #define DWORD_PTR UINT_PTR
28 #define LONG_PTR INT_PTR
29 #define ULONG_PTR UINT_PTR
30
31 /***********************************************************************
32  * Windows API extension
33  */
34
35 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
36 # define FIELD_ALIGNMENT(type, field) __alignof(((type*)0)->field)
37 #elif defined(__GNUC__)
38 # define FIELD_ALIGNMENT(type, field) __alignof__(((type*)0)->field)
39 #else
40 /* FIXME: Not sure if is possible to do without compiler extension */
41 #endif
42
43 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
44 # define _TYPE_ALIGNMENT(type) __alignof(type)
45 #elif defined(__GNUC__)
46 # define _TYPE_ALIGNMENT(type) __alignof__(type)
47 #else
48 /*
49  * FIXME: Not sure if is possible to do without compiler extension
50  *        (if type is not just a name that is, if so the normal)
51  *         TYPE_ALIGNMENT can be used)
52  */
53 #endif
54
55 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
56 #pragma warning(disable:4116)
57 #endif
58
59 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
60 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
61 #endif
62
63 /***********************************************************************
64  * Test helper macros
65  */
66
67 #ifdef FIELD_ALIGNMENT
68 # define TEST_FIELD_ALIGNMENT(type, field, align) \
69    ok(FIELD_ALIGNMENT(type, field) == align, \
70        "FIELD_ALIGNMENT(" #type ", " #field ") == %d (expected " #align ")\n", \
71            (int)FIELD_ALIGNMENT(type, field))
72 #else
73 # define TEST_FIELD_ALIGNMENT(type, field, align) do { } while (0)
74 #endif
75
76 #define TEST_FIELD_OFFSET(type, field, offset) \
77     ok(FIELD_OFFSET(type, field) == offset, \
78         "FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")\n", \
79              (long int)FIELD_OFFSET(type, field))
80
81 #ifdef _TYPE_ALIGNMENT
82 #define TEST__TYPE_ALIGNMENT(type, align) \
83     ok(_TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", (int)_TYPE_ALIGNMENT(type))
84 #else
85 # define TEST__TYPE_ALIGNMENT(type, align) do { } while (0)
86 #endif
87
88 #ifdef TYPE_ALIGNMENT
89 #define TEST_TYPE_ALIGNMENT(type, align) \
90     ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", (int)TYPE_ALIGNMENT(type))
91 #else
92 # define TEST_TYPE_ALIGNMENT(type, align) do { } while (0)
93 #endif
94
95 #define TEST_TYPE_SIZE(type, size) \
96     ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")\n", ((int) sizeof(type)))
97
98 /***********************************************************************
99  * Test macros
100  */
101
102 #define TEST_FIELD(type, field_type, field_name, field_offset, field_size, field_align) \
103   TEST_TYPE_SIZE(field_type, field_size); \
104   TEST_FIELD_ALIGNMENT(type, field_name, field_align); \
105   TEST_FIELD_OFFSET(type, field_name, field_offset); \
106
107 #define TEST_TYPE(type, size, align) \
108   TEST_TYPE_ALIGNMENT(type, align); \
109   TEST_TYPE_SIZE(type, size)
110
111 #define TEST_TYPE_POINTER(type, size, align) \
112     TEST__TYPE_ALIGNMENT(*(type)0, align); \
113     TEST_TYPE_SIZE(*(type)0, size)
114
115 #define TEST_TYPE_SIGNED(type) \
116     ok((type) -1 < 0, "(" #type ") -1 < 0\n");
117
118 #define TEST_TYPE_UNSIGNED(type) \
119      ok((type) -1 > 0, "(" #type ") -1 > 0\n");
120
121 static void test_pack_I_RPC_HANDLE(void)
122 {
123     /* I_RPC_HANDLE */
124     TEST_TYPE(I_RPC_HANDLE, 4, 4);
125 }
126
127 static void test_pack_RPC_STATUS(void)
128 {
129     /* RPC_STATUS */
130     TEST_TYPE(RPC_STATUS, 4, 4);
131     TEST_TYPE_SIGNED(RPC_STATUS);
132 }
133
134 static void test_pack_PRPC_POLICY(void)
135 {
136     /* PRPC_POLICY */
137     TEST_TYPE(PRPC_POLICY, 4, 4);
138     TEST_TYPE_POINTER(PRPC_POLICY, 12, 4);
139 }
140
141 static void test_pack_RPC_AUTH_IDENTITY_HANDLE(void)
142 {
143     /* RPC_AUTH_IDENTITY_HANDLE */
144     TEST_TYPE(RPC_AUTH_IDENTITY_HANDLE, 4, 4);
145 }
146
147 static void test_pack_RPC_AUTH_KEY_RETRIEVAL_FN(void)
148 {
149     /* RPC_AUTH_KEY_RETRIEVAL_FN */
150 }
151
152 static void test_pack_RPC_AUTHZ_HANDLE(void)
153 {
154     /* RPC_AUTHZ_HANDLE */
155     TEST_TYPE(RPC_AUTHZ_HANDLE, 4, 4);
156 }
157
158 static void test_pack_RPC_BINDING_HANDLE(void)
159 {
160     /* RPC_BINDING_HANDLE */
161     TEST_TYPE(RPC_BINDING_HANDLE, 4, 4);
162 }
163
164 static void test_pack_RPC_BINDING_VECTOR(void)
165 {
166     /* RPC_BINDING_VECTOR (pack 4) */
167     TEST_TYPE(RPC_BINDING_VECTOR, 8, 4);
168     TEST_FIELD(RPC_BINDING_VECTOR, unsigned long, Count, 0, 4, 4);
169     TEST_FIELD(RPC_BINDING_VECTOR, RPC_BINDING_HANDLE[1], BindingH, 4, 4, 4);
170 }
171
172 static void test_pack_RPC_IF_HANDLE(void)
173 {
174     /* RPC_IF_HANDLE */
175     TEST_TYPE(RPC_IF_HANDLE, 4, 4);
176 }
177
178 static void test_pack_RPC_IF_ID(void)
179 {
180     /* RPC_IF_ID (pack 4) */
181 }
182
183 static void test_pack_RPC_POLICY(void)
184 {
185     /* RPC_POLICY (pack 4) */
186     TEST_TYPE(RPC_POLICY, 12, 4);
187     TEST_FIELD(RPC_POLICY, unsigned int, Length, 0, 4, 4);
188     TEST_FIELD(RPC_POLICY, unsigned long, EndpointFlags, 4, 4, 4);
189     TEST_FIELD(RPC_POLICY, unsigned long, NICFlags, 8, 4, 4);
190 }
191
192 static void test_pack_UUID_VECTOR(void)
193 {
194     /* UUID_VECTOR (pack 4) */
195     TEST_TYPE(UUID_VECTOR, 8, 4);
196     TEST_FIELD(UUID_VECTOR, unsigned long, Count, 0, 4, 4);
197     TEST_FIELD(UUID_VECTOR, UUID *[1], Uuid, 4, 4, 4);
198 }
199
200 static void test_pack_PRPC_CLIENT_INTERFACE(void)
201 {
202     /* PRPC_CLIENT_INTERFACE */
203     TEST_TYPE(PRPC_CLIENT_INTERFACE, 4, 4);
204 }
205
206 static void test_pack_PRPC_DISPATCH_TABLE(void)
207 {
208     /* PRPC_DISPATCH_TABLE */
209     TEST_TYPE(PRPC_DISPATCH_TABLE, 4, 4);
210     TEST_TYPE_POINTER(PRPC_DISPATCH_TABLE, 12, 4);
211 }
212
213 static void test_pack_PRPC_MESSAGE(void)
214 {
215     /* PRPC_MESSAGE */
216     TEST_TYPE(PRPC_MESSAGE, 4, 4);
217     TEST_TYPE_POINTER(PRPC_MESSAGE, 44, 4);
218 }
219
220 static void test_pack_PRPC_PROTSEQ_ENDPOINT(void)
221 {
222     /* PRPC_PROTSEQ_ENDPOINT */
223     TEST_TYPE(PRPC_PROTSEQ_ENDPOINT, 4, 4);
224     TEST_TYPE_POINTER(PRPC_PROTSEQ_ENDPOINT, 8, 4);
225 }
226
227 static void test_pack_PRPC_SERVER_INTERFACE(void)
228 {
229     /* PRPC_SERVER_INTERFACE */
230     TEST_TYPE(PRPC_SERVER_INTERFACE, 4, 4);
231 }
232
233 static void test_pack_PRPC_SYNTAX_IDENTIFIER(void)
234 {
235     /* PRPC_SYNTAX_IDENTIFIER */
236     TEST_TYPE(PRPC_SYNTAX_IDENTIFIER, 4, 4);
237     TEST_TYPE_POINTER(PRPC_SYNTAX_IDENTIFIER, 20, 4);
238 }
239
240 static void test_pack_RPC_CLIENT_INTERFACE(void)
241 {
242     /* RPC_CLIENT_INTERFACE (pack 4) */
243     TEST_FIELD(RPC_CLIENT_INTERFACE, unsigned int, Length, 0, 4, 4);
244 }
245
246 static void test_pack_RPC_DISPATCH_FUNCTION(void)
247 {
248     /* RPC_DISPATCH_FUNCTION */
249 }
250
251 static void test_pack_RPC_DISPATCH_TABLE(void)
252 {
253     /* RPC_DISPATCH_TABLE (pack 4) */
254     TEST_TYPE(RPC_DISPATCH_TABLE, 12, 4);
255     TEST_FIELD(RPC_DISPATCH_TABLE, unsigned int, DispatchTableCount, 0, 4, 4);
256     TEST_FIELD(RPC_DISPATCH_TABLE, RPC_DISPATCH_FUNCTION*, DispatchTable, 4, 4, 4);
257     TEST_FIELD(RPC_DISPATCH_TABLE, LONG_PTR, Reserved, 8, 4, 4);
258 }
259
260 static void test_pack_RPC_MESSAGE(void)
261 {
262     /* RPC_MESSAGE (pack 4) */
263     TEST_TYPE(RPC_MESSAGE, 44, 4);
264     TEST_FIELD(RPC_MESSAGE, RPC_BINDING_HANDLE, Handle, 0, 4, 4);
265     TEST_FIELD(RPC_MESSAGE, unsigned long, DataRepresentation, 4, 4, 4);
266     TEST_FIELD(RPC_MESSAGE, void*, Buffer, 8, 4, 4);
267     TEST_FIELD(RPC_MESSAGE, unsigned int, BufferLength, 12, 4, 4);
268     TEST_FIELD(RPC_MESSAGE, unsigned int, ProcNum, 16, 4, 4);
269     TEST_FIELD(RPC_MESSAGE, PRPC_SYNTAX_IDENTIFIER, TransferSyntax, 20, 4, 4);
270     TEST_FIELD(RPC_MESSAGE, void*, RpcInterfaceInformation, 24, 4, 4);
271     TEST_FIELD(RPC_MESSAGE, void*, ReservedForRuntime, 28, 4, 4);
272     TEST_FIELD(RPC_MESSAGE, RPC_MGR_EPV*, ManagerEpv, 32, 4, 4);
273     TEST_FIELD(RPC_MESSAGE, void*, ImportContext, 36, 4, 4);
274     TEST_FIELD(RPC_MESSAGE, unsigned long, RpcFlags, 40, 4, 4);
275 }
276
277 static void test_pack_RPC_PROTSEQ_ENDPOINT(void)
278 {
279     /* RPC_PROTSEQ_ENDPOINT (pack 4) */
280     TEST_TYPE(RPC_PROTSEQ_ENDPOINT, 8, 4);
281     TEST_FIELD(RPC_PROTSEQ_ENDPOINT, unsigned char*, RpcProtocolSequence, 0, 4, 4);
282     TEST_FIELD(RPC_PROTSEQ_ENDPOINT, unsigned char*, Endpoint, 4, 4, 4);
283 }
284
285 static void test_pack_RPC_SERVER_INTERFACE(void)
286 {
287     /* RPC_SERVER_INTERFACE (pack 4) */
288     TEST_FIELD(RPC_SERVER_INTERFACE, unsigned int, Length, 0, 4, 4);
289 }
290
291 static void test_pack_RPC_SYNTAX_IDENTIFIER(void)
292 {
293     /* RPC_SYNTAX_IDENTIFIER (pack 4) */
294     TEST_TYPE(RPC_SYNTAX_IDENTIFIER, 20, 4);
295     TEST_FIELD(RPC_SYNTAX_IDENTIFIER, GUID, SyntaxGUID, 0, 16, 4);
296     TEST_FIELD(RPC_SYNTAX_IDENTIFIER, RPC_VERSION, SyntaxVersion, 16, 4, 2);
297 }
298
299 static void test_pack_RPC_VERSION(void)
300 {
301     /* RPC_VERSION (pack 4) */
302     TEST_TYPE(RPC_VERSION, 4, 2);
303     TEST_FIELD(RPC_VERSION, unsigned short, MajorVersion, 0, 2, 2);
304     TEST_FIELD(RPC_VERSION, unsigned short, MinorVersion, 2, 2, 2);
305 }
306
307 static void test_pack_ARRAY_INFO(void)
308 {
309     /* ARRAY_INFO (pack 4) */
310     TEST_TYPE(ARRAY_INFO, 24, 4);
311     TEST_FIELD(ARRAY_INFO, LONG, Dimension, 0, 4, 4);
312     TEST_FIELD(ARRAY_INFO, ULONG *, BufferConformanceMark, 4, 4, 4);
313     TEST_FIELD(ARRAY_INFO, ULONG *, BufferVarianceMark, 8, 4, 4);
314     TEST_FIELD(ARRAY_INFO, ULONG *, MaxCountArray, 12, 4, 4);
315     TEST_FIELD(ARRAY_INFO, ULONG *, OffsetArray, 16, 4, 4);
316     TEST_FIELD(ARRAY_INFO, ULONG *, ActualCountArray, 20, 4, 4);
317 }
318
319 static void test_pack_COMM_FAULT_OFFSETS(void)
320 {
321     /* COMM_FAULT_OFFSETS (pack 4) */
322     TEST_TYPE(COMM_FAULT_OFFSETS, 4, 2);
323     TEST_FIELD(COMM_FAULT_OFFSETS, short, CommOffset, 0, 2, 2);
324     TEST_FIELD(COMM_FAULT_OFFSETS, short, FaultOffset, 2, 2, 2);
325 }
326
327 static void test_pack_CS_STUB_INFO(void)
328 {
329     /* CS_STUB_INFO (pack 4) */
330     TEST_TYPE(CS_STUB_INFO, 12, 4);
331     TEST_FIELD(CS_STUB_INFO, ULONG, WireCodeset, 0, 4, 4);
332     TEST_FIELD(CS_STUB_INFO, ULONG, DesiredReceivingCodeset, 4, 4, 4);
333     TEST_FIELD(CS_STUB_INFO, void *, CSArrayInfo, 8, 4, 4);
334 }
335
336 static void test_pack_EXPR_EVAL(void)
337 {
338     /* EXPR_EVAL */
339 }
340
341 static void test_pack_FULL_PTR_TO_REFID_ELEMENT(void)
342 {
343     /* FULL_PTR_TO_REFID_ELEMENT (pack 4) */
344     TEST_TYPE(FULL_PTR_TO_REFID_ELEMENT, 16, 4);
345     TEST_FIELD(FULL_PTR_TO_REFID_ELEMENT, struct _FULL_PTR_TO_REFID_ELEMENT *, Next, 0, 4, 4);
346     TEST_FIELD(FULL_PTR_TO_REFID_ELEMENT, void *, Pointer, 4, 4, 4);
347     TEST_FIELD(FULL_PTR_TO_REFID_ELEMENT, ULONG, RefId, 8, 4, 4);
348     TEST_FIELD(FULL_PTR_TO_REFID_ELEMENT, unsigned char, State, 12, 1, 1);
349 }
350
351 static void test_pack_FULL_PTR_XLAT_TABLES(void)
352 {
353     /* FULL_PTR_XLAT_TABLES (pack 4) */
354 }
355
356 static void test_pack_GENERIC_BINDING_INFO(void)
357 {
358     /* GENERIC_BINDING_INFO (pack 4) */
359     TEST_FIELD(GENERIC_BINDING_INFO, void *, pObj, 0, 4, 4);
360     TEST_FIELD(GENERIC_BINDING_INFO, unsigned int, Size, 4, 4, 4);
361 }
362
363 static void test_pack_GENERIC_BINDING_ROUTINE_PAIR(void)
364 {
365     /* GENERIC_BINDING_ROUTINE_PAIR (pack 4) */
366 }
367
368 static void test_pack_MALLOC_FREE_STRUCT(void)
369 {
370     /* MALLOC_FREE_STRUCT (pack 4) */
371 }
372
373 static void test_pack_MIDL_FORMAT_STRING(void)
374 {
375     /* MIDL_FORMAT_STRING (pack 4) */
376     TEST_FIELD(MIDL_FORMAT_STRING, short, Pad, 0, 2, 2);
377 }
378
379 static void test_pack_MIDL_SERVER_INFO(void)
380 {
381     /* MIDL_SERVER_INFO (pack 4) */
382     TEST_TYPE(MIDL_SERVER_INFO, 32, 4);
383     TEST_FIELD(MIDL_SERVER_INFO, PMIDL_STUB_DESC, pStubDesc, 0, 4, 4);
384     TEST_FIELD(MIDL_SERVER_INFO, SERVER_ROUTINE *, DispatchTable, 4, 4, 4);
385     TEST_FIELD(MIDL_SERVER_INFO, PFORMAT_STRING, ProcString, 8, 4, 4);
386     TEST_FIELD(MIDL_SERVER_INFO, unsigned short *, FmtStringOffset, 12, 4, 4);
387     TEST_FIELD(MIDL_SERVER_INFO, STUB_THUNK *, ThunkTable, 16, 4, 4);
388     TEST_FIELD(MIDL_SERVER_INFO, PRPC_SYNTAX_IDENTIFIER, pTransferSyntax, 20, 4, 4);
389     TEST_FIELD(MIDL_SERVER_INFO, ULONG_PTR, nCount, 24, 4, 4);
390     TEST_FIELD(MIDL_SERVER_INFO, PMIDL_SYNTAX_INFO, pSyntaxInfo, 28, 4, 4);
391 }
392
393 static void test_pack_MIDL_STUB_DESC(void)
394 {
395     /* MIDL_STUB_DESC (pack 4) */
396     TEST_FIELD(MIDL_STUB_DESC, void *, RpcInterfaceInformation, 0, 4, 4);
397 }
398
399 static void test_pack_MIDL_STUB_MESSAGE(void)
400 {
401     /* MIDL_STUB_MESSAGE (pack 4) */
402     TEST_FIELD(MIDL_STUB_MESSAGE, PRPC_MESSAGE, RpcMsg, 0, 4, 4);
403     TEST_FIELD(MIDL_STUB_MESSAGE, unsigned char *, Buffer, 4, 4, 4);
404     TEST_FIELD(MIDL_STUB_MESSAGE, unsigned char *, BufferStart, 8, 4, 4);
405     TEST_FIELD(MIDL_STUB_MESSAGE, unsigned char *, BufferEnd, 12, 4, 4);
406     TEST_FIELD(MIDL_STUB_MESSAGE, unsigned char *, BufferMark, 16, 4, 4);
407     TEST_FIELD(MIDL_STUB_MESSAGE, ULONG, BufferLength, 20, 4, 4);
408     TEST_FIELD(MIDL_STUB_MESSAGE, ULONG, MemorySize, 24, 4, 4);
409     TEST_FIELD(MIDL_STUB_MESSAGE, unsigned char *, Memory, 28, 4, 4);
410     TEST_FIELD(MIDL_STUB_MESSAGE, int, ReuseBuffer, 36, 4, 4);
411     TEST_FIELD(MIDL_STUB_MESSAGE, struct NDR_ALLOC_ALL_NODES_CONTEXT *, pAllocAllNodesContext, 40, 4, 4);
412     TEST_FIELD(MIDL_STUB_MESSAGE, struct NDR_POINTER_QUEUE_STATE *, pPointerQueueState, 44, 4, 4);
413     TEST_FIELD(MIDL_STUB_MESSAGE, int, IgnoreEmbeddedPointers, 48, 4, 4);
414     TEST_FIELD(MIDL_STUB_MESSAGE, unsigned char *, PointerBufferMark, 52, 4, 4);
415     TEST_FIELD(MIDL_STUB_MESSAGE, unsigned char, CorrDespIncrement, 56, 1, 1);
416     TEST_FIELD(MIDL_STUB_MESSAGE, unsigned char, uFlags, 57, 1, 1);
417     TEST_FIELD(MIDL_STUB_MESSAGE, ULONG_PTR, MaxCount, 60, 4, 4);
418     TEST_FIELD(MIDL_STUB_MESSAGE, ULONG, Offset, 64, 4, 4);
419     TEST_FIELD(MIDL_STUB_MESSAGE, ULONG, ActualCount, 68, 4, 4);
420 }
421
422 static void test_pack_MIDL_STUBLESS_PROXY_INFO(void)
423 {
424     /* MIDL_STUBLESS_PROXY_INFO (pack 4) */
425     TEST_TYPE(MIDL_STUBLESS_PROXY_INFO, 24, 4);
426     TEST_FIELD(MIDL_STUBLESS_PROXY_INFO, PMIDL_STUB_DESC, pStubDesc, 0, 4, 4);
427     TEST_FIELD(MIDL_STUBLESS_PROXY_INFO, PFORMAT_STRING, ProcFormatString, 4, 4, 4);
428     TEST_FIELD(MIDL_STUBLESS_PROXY_INFO, unsigned short *, FormatStringOffset, 8, 4, 4);
429     TEST_FIELD(MIDL_STUBLESS_PROXY_INFO, PRPC_SYNTAX_IDENTIFIER, pTransferSyntax, 12, 4, 4);
430     TEST_FIELD(MIDL_STUBLESS_PROXY_INFO, ULONG_PTR, nCount, 16, 4, 4);
431     TEST_FIELD(MIDL_STUBLESS_PROXY_INFO, PMIDL_SYNTAX_INFO, pSyntaxInfo, 20, 4, 4);
432 }
433
434 static void test_pack_MIDL_SYNTAX_INFO(void)
435 {
436     /* MIDL_SYNTAX_INFO (pack 4) */
437 }
438
439 static void test_pack_NDR_CCONTEXT(void)
440 {
441     /* NDR_CCONTEXT */
442     TEST_TYPE(NDR_CCONTEXT, 4, 4);
443 }
444
445 static void test_pack_NDR_NOTIFY_ROUTINE(void)
446 {
447     /* NDR_NOTIFY_ROUTINE */
448 }
449
450 static void test_pack_NDR_NOTIFY2_ROUTINE(void)
451 {
452     /* NDR_NOTIFY2_ROUTINE */
453 }
454
455 static void test_pack_NDR_RUNDOWN(void)
456 {
457     /* NDR_RUNDOWN */
458 }
459
460 static void test_pack_NDR_SCONTEXT(void)
461 {
462     /* NDR_SCONTEXT */
463     TEST_TYPE(NDR_SCONTEXT, 4, 4);
464 }
465
466 static void test_pack_NDR_USER_MARSHAL_INFO(void)
467 {
468     /* NDR_USER_MARSHAL_INFO (pack 4) */
469     TEST_FIELD(NDR_USER_MARSHAL_INFO, ULONG, InformationLevel, 0, 4, 4);
470 }
471
472 static void test_pack_NDR_USER_MARSHAL_INFO_LEVEL1(void)
473 {
474     /* NDR_USER_MARSHAL_INFO_LEVEL1 (pack 4) */
475     TEST_FIELD(NDR_USER_MARSHAL_INFO_LEVEL1, void *, Buffer, 0, 4, 4);
476     TEST_FIELD(NDR_USER_MARSHAL_INFO_LEVEL1, ULONG, BufferSize, 4, 4, 4);
477 }
478
479 static void test_pack_PARRAY_INFO(void)
480 {
481     /* PARRAY_INFO */
482     TEST_TYPE(PARRAY_INFO, 4, 4);
483     TEST_TYPE_POINTER(PARRAY_INFO, 24, 4);
484 }
485
486 static void test_pack_PFORMAT_STRING(void)
487 {
488     /* PFORMAT_STRING */
489     TEST_TYPE(PFORMAT_STRING, 4, 4);
490 }
491
492 static void test_pack_PFULL_PTR_TO_REFID_ELEMENT(void)
493 {
494     /* PFULL_PTR_TO_REFID_ELEMENT */
495     TEST_TYPE(PFULL_PTR_TO_REFID_ELEMENT, 4, 4);
496     TEST_TYPE_POINTER(PFULL_PTR_TO_REFID_ELEMENT, 16, 4);
497 }
498
499 static void test_pack_PFULL_PTR_XLAT_TABLES(void)
500 {
501     /* PFULL_PTR_XLAT_TABLES */
502     TEST_TYPE(PFULL_PTR_XLAT_TABLES, 4, 4);
503 }
504
505 static void test_pack_PGENERIC_BINDING_INFO(void)
506 {
507     /* PGENERIC_BINDING_INFO */
508     TEST_TYPE(PGENERIC_BINDING_INFO, 4, 4);
509 }
510
511 static void test_pack_PGENERIC_BINDING_ROUTINE_PAIR(void)
512 {
513     /* PGENERIC_BINDING_ROUTINE_PAIR */
514     TEST_TYPE(PGENERIC_BINDING_ROUTINE_PAIR, 4, 4);
515 }
516
517 static void test_pack_PMIDL_SERVER_INFO(void)
518 {
519     /* PMIDL_SERVER_INFO */
520     TEST_TYPE(PMIDL_SERVER_INFO, 4, 4);
521     TEST_TYPE_POINTER(PMIDL_SERVER_INFO, 32, 4);
522 }
523
524 static void test_pack_PMIDL_STUB_DESC(void)
525 {
526     /* PMIDL_STUB_DESC */
527     TEST_TYPE(PMIDL_STUB_DESC, 4, 4);
528 }
529
530 static void test_pack_PMIDL_STUB_MESSAGE(void)
531 {
532     /* PMIDL_STUB_MESSAGE */
533     TEST_TYPE(PMIDL_STUB_MESSAGE, 4, 4);
534 }
535
536 static void test_pack_PMIDL_STUBLESS_PROXY_INFO(void)
537 {
538     /* PMIDL_STUBLESS_PROXY_INFO */
539     TEST_TYPE(PMIDL_STUBLESS_PROXY_INFO, 4, 4);
540     TEST_TYPE_POINTER(PMIDL_STUBLESS_PROXY_INFO, 24, 4);
541 }
542
543 static void test_pack_PMIDL_SYNTAX_INFO(void)
544 {
545     /* PMIDL_SYNTAX_INFO */
546     TEST_TYPE(PMIDL_SYNTAX_INFO, 4, 4);
547 }
548
549 static void test_pack_PNDR_ASYNC_MESSAGE(void)
550 {
551     /* PNDR_ASYNC_MESSAGE */
552     TEST_TYPE(PNDR_ASYNC_MESSAGE, 4, 4);
553 }
554
555 static void test_pack_PNDR_CORRELATION_INFO(void)
556 {
557     /* PNDR_CORRELATION_INFO */
558     TEST_TYPE(PNDR_CORRELATION_INFO, 4, 4);
559 }
560
561 static void test_pack_PSCONTEXT_QUEUE(void)
562 {
563     /* PSCONTEXT_QUEUE */
564     TEST_TYPE(PSCONTEXT_QUEUE, 4, 4);
565     TEST_TYPE_POINTER(PSCONTEXT_QUEUE, 8, 4);
566 }
567
568 static void test_pack_PXMIT_ROUTINE_QUINTUPLE(void)
569 {
570     /* PXMIT_ROUTINE_QUINTUPLE */
571     TEST_TYPE(PXMIT_ROUTINE_QUINTUPLE, 4, 4);
572 }
573
574 static void test_pack_SCONTEXT_QUEUE(void)
575 {
576     /* SCONTEXT_QUEUE (pack 4) */
577     TEST_TYPE(SCONTEXT_QUEUE, 8, 4);
578     TEST_FIELD(SCONTEXT_QUEUE, ULONG, NumberOfObjects, 0, 4, 4);
579     TEST_FIELD(SCONTEXT_QUEUE, NDR_SCONTEXT *, ArrayOfObjects, 4, 4, 4);
580 }
581
582 static void test_pack_SERVER_ROUTINE(void)
583 {
584     /* SERVER_ROUTINE */
585 }
586
587 static void test_pack_STUB_THUNK(void)
588 {
589     /* STUB_THUNK */
590 }
591
592 static void test_pack_USER_MARSHAL_CB(void)
593 {
594     /* USER_MARSHAL_CB (pack 4) */
595     TEST_FIELD(USER_MARSHAL_CB, ULONG, Flags, 0, 4, 4);
596     TEST_FIELD(USER_MARSHAL_CB, PMIDL_STUB_MESSAGE, pStubMsg, 4, 4, 4);
597     TEST_FIELD(USER_MARSHAL_CB, PFORMAT_STRING, pReserve, 8, 4, 4);
598     TEST_FIELD(USER_MARSHAL_CB, ULONG, Signature, 12, 4, 4);
599 }
600
601 static void test_pack_USER_MARSHAL_FREEING_ROUTINE(void)
602 {
603     /* USER_MARSHAL_FREEING_ROUTINE */
604 }
605
606 static void test_pack_USER_MARSHAL_MARSHALLING_ROUTINE(void)
607 {
608     /* USER_MARSHAL_MARSHALLING_ROUTINE */
609 }
610
611 static void test_pack_USER_MARSHAL_ROUTINE_QUADRUPLE(void)
612 {
613     /* USER_MARSHAL_ROUTINE_QUADRUPLE (pack 4) */
614 }
615
616 static void test_pack_USER_MARSHAL_SIZING_ROUTINE(void)
617 {
618     /* USER_MARSHAL_SIZING_ROUTINE */
619 }
620
621 static void test_pack_USER_MARSHAL_UNMARSHALLING_ROUTINE(void)
622 {
623     /* USER_MARSHAL_UNMARSHALLING_ROUTINE */
624 }
625
626 static void test_pack_XMIT_HELPER_ROUTINE(void)
627 {
628     /* XMIT_HELPER_ROUTINE */
629 }
630
631 static void test_pack_XMIT_ROUTINE_QUINTUPLE(void)
632 {
633     /* XMIT_ROUTINE_QUINTUPLE (pack 4) */
634 }
635
636 static void test_pack_PRPC_STUB_FUNCTION(void)
637 {
638     /* PRPC_STUB_FUNCTION */
639 }
640
641 static void test_pack(void)
642 {
643     test_pack_ARRAY_INFO();
644     test_pack_COMM_FAULT_OFFSETS();
645     test_pack_CS_STUB_INFO();
646     test_pack_EXPR_EVAL();
647     test_pack_FULL_PTR_TO_REFID_ELEMENT();
648     test_pack_FULL_PTR_XLAT_TABLES();
649     test_pack_GENERIC_BINDING_INFO();
650     test_pack_GENERIC_BINDING_ROUTINE_PAIR();
651     test_pack_I_RPC_HANDLE();
652     test_pack_MALLOC_FREE_STRUCT();
653     test_pack_MIDL_FORMAT_STRING();
654     test_pack_MIDL_SERVER_INFO();
655     test_pack_MIDL_STUBLESS_PROXY_INFO();
656     test_pack_MIDL_STUB_DESC();
657     test_pack_MIDL_STUB_MESSAGE();
658     test_pack_MIDL_SYNTAX_INFO();
659     test_pack_NDR_CCONTEXT();
660     test_pack_NDR_NOTIFY2_ROUTINE();
661     test_pack_NDR_NOTIFY_ROUTINE();
662     test_pack_NDR_RUNDOWN();
663     test_pack_NDR_SCONTEXT();
664     test_pack_NDR_USER_MARSHAL_INFO();
665     test_pack_NDR_USER_MARSHAL_INFO_LEVEL1();
666     test_pack_PARRAY_INFO();
667     test_pack_PFORMAT_STRING();
668     test_pack_PFULL_PTR_TO_REFID_ELEMENT();
669     test_pack_PFULL_PTR_XLAT_TABLES();
670     test_pack_PGENERIC_BINDING_INFO();
671     test_pack_PGENERIC_BINDING_ROUTINE_PAIR();
672     test_pack_PMIDL_SERVER_INFO();
673     test_pack_PMIDL_STUBLESS_PROXY_INFO();
674     test_pack_PMIDL_STUB_DESC();
675     test_pack_PMIDL_STUB_MESSAGE();
676     test_pack_PMIDL_SYNTAX_INFO();
677     test_pack_PNDR_ASYNC_MESSAGE();
678     test_pack_PNDR_CORRELATION_INFO();
679     test_pack_PRPC_CLIENT_INTERFACE();
680     test_pack_PRPC_DISPATCH_TABLE();
681     test_pack_PRPC_MESSAGE();
682     test_pack_PRPC_POLICY();
683     test_pack_PRPC_PROTSEQ_ENDPOINT();
684     test_pack_PRPC_SERVER_INTERFACE();
685     test_pack_PRPC_STUB_FUNCTION();
686     test_pack_PRPC_SYNTAX_IDENTIFIER();
687     test_pack_PSCONTEXT_QUEUE();
688     test_pack_PXMIT_ROUTINE_QUINTUPLE();
689     test_pack_RPC_AUTHZ_HANDLE();
690     test_pack_RPC_AUTH_IDENTITY_HANDLE();
691     test_pack_RPC_AUTH_KEY_RETRIEVAL_FN();
692     test_pack_RPC_BINDING_HANDLE();
693     test_pack_RPC_BINDING_VECTOR();
694     test_pack_RPC_CLIENT_INTERFACE();
695     test_pack_RPC_DISPATCH_FUNCTION();
696     test_pack_RPC_DISPATCH_TABLE();
697     test_pack_RPC_IF_HANDLE();
698     test_pack_RPC_IF_ID();
699     test_pack_RPC_MESSAGE();
700     test_pack_RPC_POLICY();
701     test_pack_RPC_PROTSEQ_ENDPOINT();
702     test_pack_RPC_SERVER_INTERFACE();
703     test_pack_RPC_STATUS();
704     test_pack_RPC_SYNTAX_IDENTIFIER();
705     test_pack_RPC_VERSION();
706     test_pack_SCONTEXT_QUEUE();
707     test_pack_SERVER_ROUTINE();
708     test_pack_STUB_THUNK();
709     test_pack_USER_MARSHAL_CB();
710     test_pack_USER_MARSHAL_FREEING_ROUTINE();
711     test_pack_USER_MARSHAL_MARSHALLING_ROUTINE();
712     test_pack_USER_MARSHAL_ROUTINE_QUADRUPLE();
713     test_pack_USER_MARSHAL_SIZING_ROUTINE();
714     test_pack_USER_MARSHAL_UNMARSHALLING_ROUTINE();
715     test_pack_UUID_VECTOR();
716     test_pack_XMIT_HELPER_ROUTINE();
717     test_pack_XMIT_ROUTINE_QUINTUPLE();
718 }
719
720 START_TEST(generated)
721 {
722     test_pack();
723 }