ReactOS 0.4.17-dev-1321-g5c122a9
generated.c
Go to the documentation of this file.
1/* File generated automatically from tools/winapi/tests.dat; do not edit! */
2/* This file can be copied, modified and distributed without restriction. */
3
4/*
5 * Unit tests for data structure packing
6 */
7
8#define WINE_NOWINSOCK
9
10#include <stdarg.h>
11#include "windef.h"
12#include "winbase.h"
13#include "ole2.h"
14#include "rpc.h"
15#include "rpcndr.h"
16#include "rpcproxy.h"
17
18#include "wine/test.h"
19
20/***********************************************************************
21 * Compatibility macros
22 */
23
24#define DWORD_PTR UINT_PTR
25#define LONG_PTR INT_PTR
26#define ULONG_PTR UINT_PTR
27
28/***********************************************************************
29 * Windows API extension
30 */
31
32#if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
33# define _TYPE_ALIGNMENT(type) __alignof(type)
34#elif defined(__GNUC__) || defined(__clang__)
35# define _TYPE_ALIGNMENT(type) __alignof__(type)
36#else
37/*
38 * FIXME: May not be possible without a compiler extension
39 * (if type is not just a name that is, otherwise the normal
40 * TYPE_ALIGNMENT can be used)
41 */
42#endif
43
44#if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
45#pragma warning(disable:4116)
46#endif
47
48#if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
49# define TYPE_ALIGNMENT _TYPE_ALIGNMENT
50#endif
51
52/***********************************************************************
53 * Test helper macros
54 */
55
56#define TEST_TYPE_SIZE(type, size) C_ASSERT(sizeof(type) == size);
57
58#ifdef TYPE_ALIGNMENT
59# define TEST_TYPE_ALIGN(type, align) C_ASSERT(TYPE_ALIGNMENT(type) == align);
60#else
61# define TEST_TYPE_ALIGN(type, align)
62#endif
63
64#ifdef _TYPE_ALIGNMENT
65# define TEST_TARGET_ALIGN(type, align) C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align);
66# define TEST_FIELD_ALIGN(type, field, align) C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align);
67#else
68# define TEST_TARGET_ALIGN(type, align)
69# define TEST_FIELD_ALIGN(type, field, align)
70#endif
71
72#define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset);
73
74#define TEST_TARGET_SIZE(type, size) TEST_TYPE_SIZE(*(type)0, size)
75#define TEST_FIELD_SIZE(type, field, size) TEST_TYPE_SIZE((((type*)0)->field), size)
76#define TEST_TYPE_SIGNED(type) C_ASSERT((type) -1 < 0);
77#define TEST_TYPE_UNSIGNED(type) C_ASSERT((type) -1 > 0);
78
79
80#ifdef _WIN64
81
82static void test_pack_I_RPC_HANDLE(void)
83{
84 /* I_RPC_HANDLE */
87}
88
89static void test_pack_RPC_STATUS(void)
90{
91 /* RPC_STATUS */
95}
96
97static void test_pack_PRPC_POLICY(void)
98{
99 /* PRPC_POLICY */
104}
105
107{
108 /* RPC_AUTH_IDENTITY_HANDLE */
111}
112
114{
115 /* RPC_AUTH_KEY_RETRIEVAL_FN */
116}
117
118static void test_pack_RPC_AUTHZ_HANDLE(void)
119{
120 /* RPC_AUTHZ_HANDLE */
123}
124
125static void test_pack_RPC_BINDING_HANDLE(void)
126{
127 /* RPC_BINDING_HANDLE */
130}
131
132static void test_pack_RPC_BINDING_VECTOR(void)
133{
134 /* RPC_BINDING_VECTOR */
143}
144
145static void test_pack_RPC_IF_HANDLE(void)
146{
147 /* RPC_IF_HANDLE */
150}
151
152static void test_pack_RPC_IF_ID(void)
153{
154 /* RPC_IF_ID */
160 TEST_FIELD_SIZE (RPC_IF_ID, VersMajor, 2)
161 TEST_FIELD_ALIGN (RPC_IF_ID, VersMajor, 2)
162 TEST_FIELD_OFFSET(RPC_IF_ID, VersMajor, 16)
163 TEST_FIELD_SIZE (RPC_IF_ID, VersMinor, 2)
164 TEST_FIELD_ALIGN (RPC_IF_ID, VersMinor, 2)
165 TEST_FIELD_OFFSET(RPC_IF_ID, VersMinor, 18)
166}
167
168static void test_pack_RPC_POLICY(void)
169{
170 /* RPC_POLICY */
176 TEST_FIELD_SIZE (RPC_POLICY, EndpointFlags, 4)
177 TEST_FIELD_ALIGN (RPC_POLICY, EndpointFlags, 4)
178 TEST_FIELD_OFFSET(RPC_POLICY, EndpointFlags, 4)
179 TEST_FIELD_SIZE (RPC_POLICY, NICFlags, 4)
180 TEST_FIELD_ALIGN (RPC_POLICY, NICFlags, 4)
181 TEST_FIELD_OFFSET(RPC_POLICY, NICFlags, 8)
182}
183
184static void test_pack_UUID_VECTOR(void)
185{
186 /* UUID_VECTOR */
195}
196
197static void test_pack_PRPC_CLIENT_INTERFACE(void)
198{
199 /* PRPC_CLIENT_INTERFACE */
204}
205
206static void test_pack_PRPC_DISPATCH_TABLE(void)
207{
208 /* PRPC_DISPATCH_TABLE */
213}
214
215static void test_pack_PRPC_MESSAGE(void)
216{
217 /* PRPC_MESSAGE */
222}
223
224static void test_pack_PRPC_PROTSEQ_ENDPOINT(void)
225{
226 /* PRPC_PROTSEQ_ENDPOINT */
231}
232
233static void test_pack_PRPC_SERVER_INTERFACE(void)
234{
235 /* PRPC_SERVER_INTERFACE */
240}
241
242static void test_pack_PRPC_SYNTAX_IDENTIFIER(void)
243{
244 /* PRPC_SYNTAX_IDENTIFIER */
249}
250
251static void test_pack_RPC_CLIENT_INTERFACE(void)
252{
253 /* RPC_CLIENT_INTERFACE */
259 TEST_FIELD_SIZE (RPC_CLIENT_INTERFACE, InterfaceId, 20)
260 TEST_FIELD_ALIGN (RPC_CLIENT_INTERFACE, InterfaceId, 4)
262 TEST_FIELD_SIZE (RPC_CLIENT_INTERFACE, TransferSyntax, 20)
263 TEST_FIELD_ALIGN (RPC_CLIENT_INTERFACE, TransferSyntax, 4)
264 TEST_FIELD_OFFSET(RPC_CLIENT_INTERFACE, TransferSyntax, 24)
268 TEST_FIELD_SIZE (RPC_CLIENT_INTERFACE, RpcProtseqEndpointCount, 4)
269 TEST_FIELD_ALIGN (RPC_CLIENT_INTERFACE, RpcProtseqEndpointCount, 4)
270 TEST_FIELD_OFFSET(RPC_CLIENT_INTERFACE, RpcProtseqEndpointCount, 56)
271 TEST_FIELD_SIZE (RPC_CLIENT_INTERFACE, RpcProtseqEndpoint, 8)
272 TEST_FIELD_ALIGN (RPC_CLIENT_INTERFACE, RpcProtseqEndpoint, 8)
273 TEST_FIELD_OFFSET(RPC_CLIENT_INTERFACE, RpcProtseqEndpoint, 64)
277 TEST_FIELD_SIZE (RPC_CLIENT_INTERFACE, InterpreterInfo, 8)
278 TEST_FIELD_ALIGN (RPC_CLIENT_INTERFACE, InterpreterInfo, 8)
279 TEST_FIELD_OFFSET(RPC_CLIENT_INTERFACE, InterpreterInfo, 80)
283}
284
285static void test_pack_RPC_DISPATCH_FUNCTION(void)
286{
287 /* RPC_DISPATCH_FUNCTION */
288}
289
290static void test_pack_RPC_DISPATCH_TABLE(void)
291{
292 /* RPC_DISPATCH_TABLE */
295 TEST_FIELD_SIZE (RPC_DISPATCH_TABLE, DispatchTableCount, 4)
296 TEST_FIELD_ALIGN (RPC_DISPATCH_TABLE, DispatchTableCount, 4)
297 TEST_FIELD_OFFSET(RPC_DISPATCH_TABLE, DispatchTableCount, 0)
304}
305
306static void test_pack_RPC_MESSAGE(void)
307{
308 /* RPC_MESSAGE */
314 TEST_FIELD_SIZE (RPC_MESSAGE, DataRepresentation, 4)
315 TEST_FIELD_ALIGN (RPC_MESSAGE, DataRepresentation, 4)
316 TEST_FIELD_OFFSET(RPC_MESSAGE, DataRepresentation, 8)
323 TEST_FIELD_SIZE (RPC_MESSAGE, ProcNum, 4)
324 TEST_FIELD_ALIGN (RPC_MESSAGE, ProcNum, 4)
325 TEST_FIELD_OFFSET(RPC_MESSAGE, ProcNum, 28)
326 TEST_FIELD_SIZE (RPC_MESSAGE, TransferSyntax, 8)
327 TEST_FIELD_ALIGN (RPC_MESSAGE, TransferSyntax, 8)
328 TEST_FIELD_OFFSET(RPC_MESSAGE, TransferSyntax, 32)
329 TEST_FIELD_SIZE (RPC_MESSAGE, RpcInterfaceInformation, 8)
330 TEST_FIELD_ALIGN (RPC_MESSAGE, RpcInterfaceInformation, 8)
331 TEST_FIELD_OFFSET(RPC_MESSAGE, RpcInterfaceInformation, 40)
332 TEST_FIELD_SIZE (RPC_MESSAGE, ReservedForRuntime, 8)
333 TEST_FIELD_ALIGN (RPC_MESSAGE, ReservedForRuntime, 8)
334 TEST_FIELD_OFFSET(RPC_MESSAGE, ReservedForRuntime, 48)
335 TEST_FIELD_SIZE (RPC_MESSAGE, ManagerEpv, 8)
336 TEST_FIELD_ALIGN (RPC_MESSAGE, ManagerEpv, 8)
337 TEST_FIELD_OFFSET(RPC_MESSAGE, ManagerEpv, 56)
338 TEST_FIELD_SIZE (RPC_MESSAGE, ImportContext, 8)
339 TEST_FIELD_ALIGN (RPC_MESSAGE, ImportContext, 8)
340 TEST_FIELD_OFFSET(RPC_MESSAGE, ImportContext, 64)
341 TEST_FIELD_SIZE (RPC_MESSAGE, RpcFlags, 4)
342 TEST_FIELD_ALIGN (RPC_MESSAGE, RpcFlags, 4)
343 TEST_FIELD_OFFSET(RPC_MESSAGE, RpcFlags, 72)
344}
345
346static void test_pack_RPC_PROTSEQ_ENDPOINT(void)
347{
348 /* RPC_PROTSEQ_ENDPOINT */
351 TEST_FIELD_SIZE (RPC_PROTSEQ_ENDPOINT, RpcProtocolSequence, 8)
352 TEST_FIELD_ALIGN (RPC_PROTSEQ_ENDPOINT, RpcProtocolSequence, 8)
353 TEST_FIELD_OFFSET(RPC_PROTSEQ_ENDPOINT, RpcProtocolSequence, 0)
357}
358
359static void test_pack_RPC_SERVER_INTERFACE(void)
360{
361 /* RPC_SERVER_INTERFACE */
367 TEST_FIELD_SIZE (RPC_SERVER_INTERFACE, InterfaceId, 20)
368 TEST_FIELD_ALIGN (RPC_SERVER_INTERFACE, InterfaceId, 4)
370 TEST_FIELD_SIZE (RPC_SERVER_INTERFACE, TransferSyntax, 20)
371 TEST_FIELD_ALIGN (RPC_SERVER_INTERFACE, TransferSyntax, 4)
372 TEST_FIELD_OFFSET(RPC_SERVER_INTERFACE, TransferSyntax, 24)
376 TEST_FIELD_SIZE (RPC_SERVER_INTERFACE, RpcProtseqEndpointCount, 4)
377 TEST_FIELD_ALIGN (RPC_SERVER_INTERFACE, RpcProtseqEndpointCount, 4)
378 TEST_FIELD_OFFSET(RPC_SERVER_INTERFACE, RpcProtseqEndpointCount, 56)
379 TEST_FIELD_SIZE (RPC_SERVER_INTERFACE, RpcProtseqEndpoint, 8)
380 TEST_FIELD_ALIGN (RPC_SERVER_INTERFACE, RpcProtseqEndpoint, 8)
381 TEST_FIELD_OFFSET(RPC_SERVER_INTERFACE, RpcProtseqEndpoint, 64)
382 TEST_FIELD_SIZE (RPC_SERVER_INTERFACE, DefaultManagerEpv, 8)
383 TEST_FIELD_ALIGN (RPC_SERVER_INTERFACE, DefaultManagerEpv, 8)
384 TEST_FIELD_OFFSET(RPC_SERVER_INTERFACE, DefaultManagerEpv, 72)
385 TEST_FIELD_SIZE (RPC_SERVER_INTERFACE, InterpreterInfo, 8)
386 TEST_FIELD_ALIGN (RPC_SERVER_INTERFACE, InterpreterInfo, 8)
387 TEST_FIELD_OFFSET(RPC_SERVER_INTERFACE, InterpreterInfo, 80)
391}
392
393static void test_pack_RPC_SYNTAX_IDENTIFIER(void)
394{
395 /* RPC_SYNTAX_IDENTIFIER */
398 TEST_FIELD_SIZE (RPC_SYNTAX_IDENTIFIER, SyntaxGUID, 16)
401 TEST_FIELD_SIZE (RPC_SYNTAX_IDENTIFIER, SyntaxVersion, 4)
402 TEST_FIELD_ALIGN (RPC_SYNTAX_IDENTIFIER, SyntaxVersion, 2)
403 TEST_FIELD_OFFSET(RPC_SYNTAX_IDENTIFIER, SyntaxVersion, 16)
404}
405
406static void test_pack_RPC_VERSION(void)
407{
408 /* RPC_VERSION */
417}
418
419static void test_pack_ARRAY_INFO(void)
420{
421 /* ARRAY_INFO */
424 TEST_FIELD_SIZE (ARRAY_INFO, Dimension, 4)
425 TEST_FIELD_ALIGN (ARRAY_INFO, Dimension, 4)
426 TEST_FIELD_OFFSET(ARRAY_INFO, Dimension, 0)
427 TEST_FIELD_SIZE (ARRAY_INFO, BufferConformanceMark, 8)
428 TEST_FIELD_ALIGN (ARRAY_INFO, BufferConformanceMark, 8)
429 TEST_FIELD_OFFSET(ARRAY_INFO, BufferConformanceMark, 8)
430 TEST_FIELD_SIZE (ARRAY_INFO, BufferVarianceMark, 8)
431 TEST_FIELD_ALIGN (ARRAY_INFO, BufferVarianceMark, 8)
432 TEST_FIELD_OFFSET(ARRAY_INFO, BufferVarianceMark, 16)
433 TEST_FIELD_SIZE (ARRAY_INFO, MaxCountArray, 8)
434 TEST_FIELD_ALIGN (ARRAY_INFO, MaxCountArray, 8)
435 TEST_FIELD_OFFSET(ARRAY_INFO, MaxCountArray, 24)
436 TEST_FIELD_SIZE (ARRAY_INFO, OffsetArray, 8)
437 TEST_FIELD_ALIGN (ARRAY_INFO, OffsetArray, 8)
438 TEST_FIELD_OFFSET(ARRAY_INFO, OffsetArray, 32)
439 TEST_FIELD_SIZE (ARRAY_INFO, ActualCountArray, 8)
440 TEST_FIELD_ALIGN (ARRAY_INFO, ActualCountArray, 8)
441 TEST_FIELD_OFFSET(ARRAY_INFO, ActualCountArray, 40)
442}
443
444static void test_pack_COMM_FAULT_OFFSETS(void)
445{
446 /* COMM_FAULT_OFFSETS */
449 TEST_FIELD_SIZE (COMM_FAULT_OFFSETS, CommOffset, 2)
450 TEST_FIELD_ALIGN (COMM_FAULT_OFFSETS, CommOffset, 2)
452 TEST_FIELD_SIZE (COMM_FAULT_OFFSETS, FaultOffset, 2)
453 TEST_FIELD_ALIGN (COMM_FAULT_OFFSETS, FaultOffset, 2)
455}
456
457static void test_pack_CS_STUB_INFO(void)
458{
459 /* CS_STUB_INFO */
462 TEST_FIELD_SIZE (CS_STUB_INFO, WireCodeset, 4)
463 TEST_FIELD_ALIGN (CS_STUB_INFO, WireCodeset, 4)
464 TEST_FIELD_OFFSET(CS_STUB_INFO, WireCodeset, 0)
465 TEST_FIELD_SIZE (CS_STUB_INFO, DesiredReceivingCodeset, 4)
466 TEST_FIELD_ALIGN (CS_STUB_INFO, DesiredReceivingCodeset, 4)
467 TEST_FIELD_OFFSET(CS_STUB_INFO, DesiredReceivingCodeset, 4)
468 TEST_FIELD_SIZE (CS_STUB_INFO, CSArrayInfo, 8)
469 TEST_FIELD_ALIGN (CS_STUB_INFO, CSArrayInfo, 8)
470 TEST_FIELD_OFFSET(CS_STUB_INFO, CSArrayInfo, 8)
471}
472
473static void test_pack_EXPR_EVAL(void)
474{
475 /* EXPR_EVAL */
476}
477
479{
480 /* FULL_PTR_TO_REFID_ELEMENT */
495}
496
497static void test_pack_FULL_PTR_XLAT_TABLES(void)
498{
499 /* FULL_PTR_XLAT_TABLES */
500}
501
502static void test_pack_GENERIC_BINDING_INFO(void)
503{
504 /* GENERIC_BINDING_INFO */
511}
512
514{
515 /* GENERIC_BINDING_ROUTINE_PAIR */
516}
517
518static void test_pack_MALLOC_FREE_STRUCT(void)
519{
520 /* MALLOC_FREE_STRUCT */
521}
522
523static void test_pack_MIDL_FORMAT_STRING(void)
524{
525 /* MIDL_FORMAT_STRING */
529}
530
531static void test_pack_MIDL_SERVER_INFO(void)
532{
533 /* MIDL_SERVER_INFO */
536 TEST_FIELD_SIZE (MIDL_SERVER_INFO, pStubDesc, 8)
537 TEST_FIELD_ALIGN (MIDL_SERVER_INFO, pStubDesc, 8)
542 TEST_FIELD_SIZE (MIDL_SERVER_INFO, ProcString, 8)
543 TEST_FIELD_ALIGN (MIDL_SERVER_INFO, ProcString, 8)
544 TEST_FIELD_OFFSET(MIDL_SERVER_INFO, ProcString, 16)
545 TEST_FIELD_SIZE (MIDL_SERVER_INFO, FmtStringOffset, 8)
546 TEST_FIELD_ALIGN (MIDL_SERVER_INFO, FmtStringOffset, 8)
547 TEST_FIELD_OFFSET(MIDL_SERVER_INFO, FmtStringOffset, 24)
548 TEST_FIELD_SIZE (MIDL_SERVER_INFO, ThunkTable, 8)
549 TEST_FIELD_ALIGN (MIDL_SERVER_INFO, ThunkTable, 8)
550 TEST_FIELD_OFFSET(MIDL_SERVER_INFO, ThunkTable, 32)
551 TEST_FIELD_SIZE (MIDL_SERVER_INFO, pTransferSyntax, 8)
552 TEST_FIELD_ALIGN (MIDL_SERVER_INFO, pTransferSyntax, 8)
553 TEST_FIELD_OFFSET(MIDL_SERVER_INFO, pTransferSyntax, 40)
557 TEST_FIELD_SIZE (MIDL_SERVER_INFO, pSyntaxInfo, 8)
558 TEST_FIELD_ALIGN (MIDL_SERVER_INFO, pSyntaxInfo, 8)
559 TEST_FIELD_OFFSET(MIDL_SERVER_INFO, pSyntaxInfo, 56)
560}
561
562static void test_pack_MIDL_STUB_DESC(void)
563{
564 /* MIDL_STUB_DESC */
565 TEST_FIELD_SIZE (MIDL_STUB_DESC, RpcInterfaceInformation, 8)
566 TEST_FIELD_ALIGN (MIDL_STUB_DESC, RpcInterfaceInformation, 8)
567 TEST_FIELD_OFFSET(MIDL_STUB_DESC, RpcInterfaceInformation, 0)
568}
569
570static void test_pack_MIDL_STUB_MESSAGE(void)
571{
572 /* MIDL_STUB_MESSAGE */
579 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, BufferStart, 8)
580 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, BufferStart, 8)
581 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, BufferStart, 16)
585 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, BufferMark, 8)
586 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, BufferMark, 8)
587 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, BufferMark, 32)
606 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, ReuseBuffer, 4)
607 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, ReuseBuffer, 4)
608 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, ReuseBuffer, 60)
609 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, pAllocAllNodesContext, 8)
610 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, pAllocAllNodesContext, 8)
611 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, pAllocAllNodesContext, 64)
612 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, pPointerQueueState, 8)
613 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, pPointerQueueState, 8)
614 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, pPointerQueueState, 72)
615 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, IgnoreEmbeddedPointers, 4)
616 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, IgnoreEmbeddedPointers, 4)
617 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, IgnoreEmbeddedPointers, 80)
618 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, PointerBufferMark, 8)
619 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, PointerBufferMark, 8)
620 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, PointerBufferMark, 88)
621 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, CorrDespIncrement, 1)
622 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, CorrDespIncrement, 1)
623 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, CorrDespIncrement, 96)
627 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, UniquePtrCount, 2)
628 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, UniquePtrCount, 2)
629 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, UniquePtrCount, 98)
636 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, ActualCount, 4)
637 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, ActualCount, 4)
638 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, ActualCount, 116)
639}
640
642{
643 /* MIDL_STUBLESS_PROXY_INFO */
649 TEST_FIELD_SIZE (MIDL_STUBLESS_PROXY_INFO, ProcFormatString, 8)
650 TEST_FIELD_ALIGN (MIDL_STUBLESS_PROXY_INFO, ProcFormatString, 8)
651 TEST_FIELD_OFFSET(MIDL_STUBLESS_PROXY_INFO, ProcFormatString, 8)
652 TEST_FIELD_SIZE (MIDL_STUBLESS_PROXY_INFO, FormatStringOffset, 8)
653 TEST_FIELD_ALIGN (MIDL_STUBLESS_PROXY_INFO, FormatStringOffset, 8)
654 TEST_FIELD_OFFSET(MIDL_STUBLESS_PROXY_INFO, FormatStringOffset, 16)
655 TEST_FIELD_SIZE (MIDL_STUBLESS_PROXY_INFO, pTransferSyntax, 8)
656 TEST_FIELD_ALIGN (MIDL_STUBLESS_PROXY_INFO, pTransferSyntax, 8)
657 TEST_FIELD_OFFSET(MIDL_STUBLESS_PROXY_INFO, pTransferSyntax, 24)
664}
665
666static void test_pack_MIDL_SYNTAX_INFO(void)
667{
668 /* MIDL_SYNTAX_INFO */
671 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, TransferSyntax, 20)
672 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, TransferSyntax, 4)
673 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, TransferSyntax, 0)
677 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, ProcString, 8)
678 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, ProcString, 8)
679 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, ProcString, 32)
680 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, FmtStringOffset, 8)
681 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, FmtStringOffset, 8)
682 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, FmtStringOffset, 40)
683 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, TypeString, 8)
684 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, TypeString, 8)
685 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, TypeString, 48)
686 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 8)
687 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 8)
688 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 56)
689 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, pMethodProperties, 8)
690 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, pMethodProperties, 8)
691 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, pMethodProperties, 64)
692 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, pReserved2, 8)
693 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, pReserved2, 8)
694 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, pReserved2, 72)
695}
696
697static void test_pack_NDR_CCONTEXT(void)
698{
699 /* NDR_CCONTEXT */
702}
703
704static void test_pack_NDR_NOTIFY_ROUTINE(void)
705{
706 /* NDR_NOTIFY_ROUTINE */
707}
708
709static void test_pack_NDR_NOTIFY2_ROUTINE(void)
710{
711 /* NDR_NOTIFY2_ROUTINE */
712}
713
714static void test_pack_NDR_RUNDOWN(void)
715{
716 /* NDR_RUNDOWN */
717}
718
719static void test_pack_NDR_SCONTEXT(void)
720{
721 /* NDR_SCONTEXT */
724}
725
726static void test_pack_NDR_USER_MARSHAL_INFO(void)
727{
728 /* NDR_USER_MARSHAL_INFO */
729 TEST_FIELD_SIZE (NDR_USER_MARSHAL_INFO, InformationLevel, 4)
730 TEST_FIELD_ALIGN (NDR_USER_MARSHAL_INFO, InformationLevel, 4)
731 TEST_FIELD_OFFSET(NDR_USER_MARSHAL_INFO, InformationLevel, 0)
732}
733
735{
736 /* NDR_USER_MARSHAL_INFO_LEVEL1 */
743}
744
745static void test_pack_PARRAY_INFO(void)
746{
747 /* PARRAY_INFO */
752}
753
754static void test_pack_PFORMAT_STRING(void)
755{
756 /* PFORMAT_STRING */
759}
760
762{
763 /* PFULL_PTR_TO_REFID_ELEMENT */
768}
769
770static void test_pack_PFULL_PTR_XLAT_TABLES(void)
771{
772 /* PFULL_PTR_XLAT_TABLES */
775}
776
777static void test_pack_PGENERIC_BINDING_INFO(void)
778{
779 /* PGENERIC_BINDING_INFO */
782}
783
785{
786 /* PGENERIC_BINDING_ROUTINE_PAIR */
789}
790
791static void test_pack_PMIDL_SERVER_INFO(void)
792{
793 /* PMIDL_SERVER_INFO */
798}
799
800static void test_pack_PMIDL_STUB_DESC(void)
801{
802 /* PMIDL_STUB_DESC */
805}
806
807static void test_pack_PMIDL_STUB_MESSAGE(void)
808{
809 /* PMIDL_STUB_MESSAGE */
812}
813
815{
816 /* PMIDL_STUBLESS_PROXY_INFO */
821}
822
823static void test_pack_PMIDL_SYNTAX_INFO(void)
824{
825 /* PMIDL_SYNTAX_INFO */
830}
831
832static void test_pack_PNDR_ASYNC_MESSAGE(void)
833{
834 /* PNDR_ASYNC_MESSAGE */
837}
838
839static void test_pack_PNDR_CORRELATION_INFO(void)
840{
841 /* PNDR_CORRELATION_INFO */
844}
845
846static void test_pack_PSCONTEXT_QUEUE(void)
847{
848 /* PSCONTEXT_QUEUE */
853}
854
855static void test_pack_PXMIT_ROUTINE_QUINTUPLE(void)
856{
857 /* PXMIT_ROUTINE_QUINTUPLE */
860}
861
862static void test_pack_SCONTEXT_QUEUE(void)
863{
864 /* SCONTEXT_QUEUE */
867 TEST_FIELD_SIZE (SCONTEXT_QUEUE, NumberOfObjects, 4)
868 TEST_FIELD_ALIGN (SCONTEXT_QUEUE, NumberOfObjects, 4)
869 TEST_FIELD_OFFSET(SCONTEXT_QUEUE, NumberOfObjects, 0)
870 TEST_FIELD_SIZE (SCONTEXT_QUEUE, ArrayOfObjects, 8)
871 TEST_FIELD_ALIGN (SCONTEXT_QUEUE, ArrayOfObjects, 8)
872 TEST_FIELD_OFFSET(SCONTEXT_QUEUE, ArrayOfObjects, 8)
873}
874
875static void test_pack_SERVER_ROUTINE(void)
876{
877 /* SERVER_ROUTINE */
878}
879
880static void test_pack_STUB_THUNK(void)
881{
882 /* STUB_THUNK */
883}
884
885static void test_pack_USER_MARSHAL_CB(void)
886{
887 /* USER_MARSHAL_CB */
891 TEST_FIELD_SIZE (USER_MARSHAL_CB, pStubMsg, 8)
892 TEST_FIELD_ALIGN (USER_MARSHAL_CB, pStubMsg, 8)
894 TEST_FIELD_SIZE (USER_MARSHAL_CB, pReserve, 8)
895 TEST_FIELD_ALIGN (USER_MARSHAL_CB, pReserve, 8)
900}
901
903{
904 /* USER_MARSHAL_FREEING_ROUTINE */
905}
906
908{
909 /* USER_MARSHAL_MARSHALLING_ROUTINE */
910}
911
913{
914 /* USER_MARSHAL_ROUTINE_QUADRUPLE */
915}
916
918{
919 /* USER_MARSHAL_SIZING_ROUTINE */
920}
921
923{
924 /* USER_MARSHAL_UNMARSHALLING_ROUTINE */
925}
926
927static void test_pack_XMIT_HELPER_ROUTINE(void)
928{
929 /* XMIT_HELPER_ROUTINE */
930}
931
932static void test_pack_XMIT_ROUTINE_QUINTUPLE(void)
933{
934 /* XMIT_ROUTINE_QUINTUPLE */
935}
936
937static void test_pack_PRPC_STUB_FUNCTION(void)
938{
939 /* PRPC_STUB_FUNCTION */
940}
941
942#else /* _WIN64 */
943
944static void test_pack_I_RPC_HANDLE(void)
945{
946 /* I_RPC_HANDLE */
949}
950
951static void test_pack_RPC_STATUS(void)
952{
953 /* RPC_STATUS */
957}
958
959static void test_pack_PRPC_POLICY(void)
960{
961 /* PRPC_POLICY */
966}
967
969{
970 /* RPC_AUTH_IDENTITY_HANDLE */
973}
974
976{
977 /* RPC_AUTH_KEY_RETRIEVAL_FN */
978}
979
981{
982 /* RPC_AUTHZ_HANDLE */
985}
986
988{
989 /* RPC_BINDING_HANDLE */
992}
993
995{
996 /* RPC_BINDING_VECTOR */
1002 TEST_FIELD_SIZE (RPC_BINDING_VECTOR, BindingH, 4)
1005}
1006
1008{
1009 /* RPC_IF_HANDLE */
1012}
1013
1014static void test_pack_RPC_IF_ID(void)
1015{
1016 /* RPC_IF_ID */
1022 TEST_FIELD_SIZE (RPC_IF_ID, VersMajor, 2)
1023 TEST_FIELD_ALIGN (RPC_IF_ID, VersMajor, 2)
1024 TEST_FIELD_OFFSET(RPC_IF_ID, VersMajor, 16)
1025 TEST_FIELD_SIZE (RPC_IF_ID, VersMinor, 2)
1026 TEST_FIELD_ALIGN (RPC_IF_ID, VersMinor, 2)
1027 TEST_FIELD_OFFSET(RPC_IF_ID, VersMinor, 18)
1028}
1029
1030static void test_pack_RPC_POLICY(void)
1031{
1032 /* RPC_POLICY */
1038 TEST_FIELD_SIZE (RPC_POLICY, EndpointFlags, 4)
1039 TEST_FIELD_ALIGN (RPC_POLICY, EndpointFlags, 4)
1040 TEST_FIELD_OFFSET(RPC_POLICY, EndpointFlags, 4)
1041 TEST_FIELD_SIZE (RPC_POLICY, NICFlags, 4)
1042 TEST_FIELD_ALIGN (RPC_POLICY, NICFlags, 4)
1043 TEST_FIELD_OFFSET(RPC_POLICY, NICFlags, 8)
1044}
1045
1046static void test_pack_UUID_VECTOR(void)
1047{
1048 /* UUID_VECTOR */
1057}
1058
1060{
1061 /* PRPC_CLIENT_INTERFACE */
1066}
1067
1069{
1070 /* PRPC_DISPATCH_TABLE */
1075}
1076
1077static void test_pack_PRPC_MESSAGE(void)
1078{
1079 /* PRPC_MESSAGE */
1084}
1085
1087{
1088 /* PRPC_PROTSEQ_ENDPOINT */
1093}
1094
1096{
1097 /* PRPC_SERVER_INTERFACE */
1102}
1103
1105{
1106 /* PRPC_SYNTAX_IDENTIFIER */
1111}
1112
1114{
1115 /* RPC_CLIENT_INTERFACE */
1121 TEST_FIELD_SIZE (RPC_CLIENT_INTERFACE, InterfaceId, 20)
1122 TEST_FIELD_ALIGN (RPC_CLIENT_INTERFACE, InterfaceId, 4)
1124 TEST_FIELD_SIZE (RPC_CLIENT_INTERFACE, TransferSyntax, 20)
1125 TEST_FIELD_ALIGN (RPC_CLIENT_INTERFACE, TransferSyntax, 4)
1126 TEST_FIELD_OFFSET(RPC_CLIENT_INTERFACE, TransferSyntax, 24)
1130 TEST_FIELD_SIZE (RPC_CLIENT_INTERFACE, RpcProtseqEndpointCount, 4)
1131 TEST_FIELD_ALIGN (RPC_CLIENT_INTERFACE, RpcProtseqEndpointCount, 4)
1132 TEST_FIELD_OFFSET(RPC_CLIENT_INTERFACE, RpcProtseqEndpointCount, 48)
1133 TEST_FIELD_SIZE (RPC_CLIENT_INTERFACE, RpcProtseqEndpoint, 4)
1134 TEST_FIELD_ALIGN (RPC_CLIENT_INTERFACE, RpcProtseqEndpoint, 4)
1135 TEST_FIELD_OFFSET(RPC_CLIENT_INTERFACE, RpcProtseqEndpoint, 52)
1139 TEST_FIELD_SIZE (RPC_CLIENT_INTERFACE, InterpreterInfo, 4)
1140 TEST_FIELD_ALIGN (RPC_CLIENT_INTERFACE, InterpreterInfo, 4)
1141 TEST_FIELD_OFFSET(RPC_CLIENT_INTERFACE, InterpreterInfo, 60)
1145}
1146
1148{
1149 /* RPC_DISPATCH_FUNCTION */
1150}
1151
1153{
1154 /* RPC_DISPATCH_TABLE */
1157 TEST_FIELD_SIZE (RPC_DISPATCH_TABLE, DispatchTableCount, 4)
1158 TEST_FIELD_ALIGN (RPC_DISPATCH_TABLE, DispatchTableCount, 4)
1159 TEST_FIELD_OFFSET(RPC_DISPATCH_TABLE, DispatchTableCount, 0)
1166}
1167
1168static void test_pack_RPC_MESSAGE(void)
1169{
1170 /* RPC_MESSAGE */
1176 TEST_FIELD_SIZE (RPC_MESSAGE, DataRepresentation, 4)
1177 TEST_FIELD_ALIGN (RPC_MESSAGE, DataRepresentation, 4)
1178 TEST_FIELD_OFFSET(RPC_MESSAGE, DataRepresentation, 4)
1185 TEST_FIELD_SIZE (RPC_MESSAGE, ProcNum, 4)
1186 TEST_FIELD_ALIGN (RPC_MESSAGE, ProcNum, 4)
1187 TEST_FIELD_OFFSET(RPC_MESSAGE, ProcNum, 16)
1188 TEST_FIELD_SIZE (RPC_MESSAGE, TransferSyntax, 4)
1189 TEST_FIELD_ALIGN (RPC_MESSAGE, TransferSyntax, 4)
1190 TEST_FIELD_OFFSET(RPC_MESSAGE, TransferSyntax, 20)
1191 TEST_FIELD_SIZE (RPC_MESSAGE, RpcInterfaceInformation, 4)
1192 TEST_FIELD_ALIGN (RPC_MESSAGE, RpcInterfaceInformation, 4)
1193 TEST_FIELD_OFFSET(RPC_MESSAGE, RpcInterfaceInformation, 24)
1194 TEST_FIELD_SIZE (RPC_MESSAGE, ReservedForRuntime, 4)
1195 TEST_FIELD_ALIGN (RPC_MESSAGE, ReservedForRuntime, 4)
1196 TEST_FIELD_OFFSET(RPC_MESSAGE, ReservedForRuntime, 28)
1197 TEST_FIELD_SIZE (RPC_MESSAGE, ManagerEpv, 4)
1198 TEST_FIELD_ALIGN (RPC_MESSAGE, ManagerEpv, 4)
1199 TEST_FIELD_OFFSET(RPC_MESSAGE, ManagerEpv, 32)
1200 TEST_FIELD_SIZE (RPC_MESSAGE, ImportContext, 4)
1201 TEST_FIELD_ALIGN (RPC_MESSAGE, ImportContext, 4)
1202 TEST_FIELD_OFFSET(RPC_MESSAGE, ImportContext, 36)
1203 TEST_FIELD_SIZE (RPC_MESSAGE, RpcFlags, 4)
1204 TEST_FIELD_ALIGN (RPC_MESSAGE, RpcFlags, 4)
1205 TEST_FIELD_OFFSET(RPC_MESSAGE, RpcFlags, 40)
1206}
1207
1209{
1210 /* RPC_PROTSEQ_ENDPOINT */
1213 TEST_FIELD_SIZE (RPC_PROTSEQ_ENDPOINT, RpcProtocolSequence, 4)
1214 TEST_FIELD_ALIGN (RPC_PROTSEQ_ENDPOINT, RpcProtocolSequence, 4)
1215 TEST_FIELD_OFFSET(RPC_PROTSEQ_ENDPOINT, RpcProtocolSequence, 0)
1219}
1220
1222{
1223 /* RPC_SERVER_INTERFACE */
1229 TEST_FIELD_SIZE (RPC_SERVER_INTERFACE, InterfaceId, 20)
1230 TEST_FIELD_ALIGN (RPC_SERVER_INTERFACE, InterfaceId, 4)
1232 TEST_FIELD_SIZE (RPC_SERVER_INTERFACE, TransferSyntax, 20)
1233 TEST_FIELD_ALIGN (RPC_SERVER_INTERFACE, TransferSyntax, 4)
1234 TEST_FIELD_OFFSET(RPC_SERVER_INTERFACE, TransferSyntax, 24)
1238 TEST_FIELD_SIZE (RPC_SERVER_INTERFACE, RpcProtseqEndpointCount, 4)
1239 TEST_FIELD_ALIGN (RPC_SERVER_INTERFACE, RpcProtseqEndpointCount, 4)
1240 TEST_FIELD_OFFSET(RPC_SERVER_INTERFACE, RpcProtseqEndpointCount, 48)
1241 TEST_FIELD_SIZE (RPC_SERVER_INTERFACE, RpcProtseqEndpoint, 4)
1242 TEST_FIELD_ALIGN (RPC_SERVER_INTERFACE, RpcProtseqEndpoint, 4)
1243 TEST_FIELD_OFFSET(RPC_SERVER_INTERFACE, RpcProtseqEndpoint, 52)
1244 TEST_FIELD_SIZE (RPC_SERVER_INTERFACE, DefaultManagerEpv, 4)
1245 TEST_FIELD_ALIGN (RPC_SERVER_INTERFACE, DefaultManagerEpv, 4)
1246 TEST_FIELD_OFFSET(RPC_SERVER_INTERFACE, DefaultManagerEpv, 56)
1247 TEST_FIELD_SIZE (RPC_SERVER_INTERFACE, InterpreterInfo, 4)
1248 TEST_FIELD_ALIGN (RPC_SERVER_INTERFACE, InterpreterInfo, 4)
1249 TEST_FIELD_OFFSET(RPC_SERVER_INTERFACE, InterpreterInfo, 60)
1253}
1254
1256{
1257 /* RPC_SYNTAX_IDENTIFIER */
1260 TEST_FIELD_SIZE (RPC_SYNTAX_IDENTIFIER, SyntaxGUID, 16)
1263 TEST_FIELD_SIZE (RPC_SYNTAX_IDENTIFIER, SyntaxVersion, 4)
1264 TEST_FIELD_ALIGN (RPC_SYNTAX_IDENTIFIER, SyntaxVersion, 2)
1265 TEST_FIELD_OFFSET(RPC_SYNTAX_IDENTIFIER, SyntaxVersion, 16)
1266}
1267
1268static void test_pack_RPC_VERSION(void)
1269{
1270 /* RPC_VERSION */
1279}
1280
1281static void test_pack_ARRAY_INFO(void)
1282{
1283 /* ARRAY_INFO */
1286 TEST_FIELD_SIZE (ARRAY_INFO, Dimension, 4)
1287 TEST_FIELD_ALIGN (ARRAY_INFO, Dimension, 4)
1288 TEST_FIELD_OFFSET(ARRAY_INFO, Dimension, 0)
1289 TEST_FIELD_SIZE (ARRAY_INFO, BufferConformanceMark, 4)
1290 TEST_FIELD_ALIGN (ARRAY_INFO, BufferConformanceMark, 4)
1291 TEST_FIELD_OFFSET(ARRAY_INFO, BufferConformanceMark, 4)
1292 TEST_FIELD_SIZE (ARRAY_INFO, BufferVarianceMark, 4)
1293 TEST_FIELD_ALIGN (ARRAY_INFO, BufferVarianceMark, 4)
1294 TEST_FIELD_OFFSET(ARRAY_INFO, BufferVarianceMark, 8)
1295 TEST_FIELD_SIZE (ARRAY_INFO, MaxCountArray, 4)
1296 TEST_FIELD_ALIGN (ARRAY_INFO, MaxCountArray, 4)
1297 TEST_FIELD_OFFSET(ARRAY_INFO, MaxCountArray, 12)
1298 TEST_FIELD_SIZE (ARRAY_INFO, OffsetArray, 4)
1299 TEST_FIELD_ALIGN (ARRAY_INFO, OffsetArray, 4)
1300 TEST_FIELD_OFFSET(ARRAY_INFO, OffsetArray, 16)
1301 TEST_FIELD_SIZE (ARRAY_INFO, ActualCountArray, 4)
1302 TEST_FIELD_ALIGN (ARRAY_INFO, ActualCountArray, 4)
1303 TEST_FIELD_OFFSET(ARRAY_INFO, ActualCountArray, 20)
1304}
1305
1307{
1308 /* COMM_FAULT_OFFSETS */
1311 TEST_FIELD_SIZE (COMM_FAULT_OFFSETS, CommOffset, 2)
1312 TEST_FIELD_ALIGN (COMM_FAULT_OFFSETS, CommOffset, 2)
1314 TEST_FIELD_SIZE (COMM_FAULT_OFFSETS, FaultOffset, 2)
1315 TEST_FIELD_ALIGN (COMM_FAULT_OFFSETS, FaultOffset, 2)
1316 TEST_FIELD_OFFSET(COMM_FAULT_OFFSETS, FaultOffset, 2)
1317}
1318
1319static void test_pack_CS_STUB_INFO(void)
1320{
1321 /* CS_STUB_INFO */
1324 TEST_FIELD_SIZE (CS_STUB_INFO, WireCodeset, 4)
1325 TEST_FIELD_ALIGN (CS_STUB_INFO, WireCodeset, 4)
1326 TEST_FIELD_OFFSET(CS_STUB_INFO, WireCodeset, 0)
1327 TEST_FIELD_SIZE (CS_STUB_INFO, DesiredReceivingCodeset, 4)
1328 TEST_FIELD_ALIGN (CS_STUB_INFO, DesiredReceivingCodeset, 4)
1329 TEST_FIELD_OFFSET(CS_STUB_INFO, DesiredReceivingCodeset, 4)
1330 TEST_FIELD_SIZE (CS_STUB_INFO, CSArrayInfo, 4)
1331 TEST_FIELD_ALIGN (CS_STUB_INFO, CSArrayInfo, 4)
1332 TEST_FIELD_OFFSET(CS_STUB_INFO, CSArrayInfo, 8)
1333}
1334
1335static void test_pack_EXPR_EVAL(void)
1336{
1337 /* EXPR_EVAL */
1338}
1339
1341{
1342 /* FULL_PTR_TO_REFID_ELEMENT */
1357}
1358
1360{
1361 /* FULL_PTR_XLAT_TABLES */
1362}
1363
1365{
1366 /* GENERIC_BINDING_INFO */
1373}
1374
1376{
1377 /* GENERIC_BINDING_ROUTINE_PAIR */
1378}
1379
1381{
1382 /* MALLOC_FREE_STRUCT */
1383}
1384
1386{
1387 /* MIDL_FORMAT_STRING */
1391}
1392
1394{
1395 /* MIDL_SERVER_INFO */
1398 TEST_FIELD_SIZE (MIDL_SERVER_INFO, pStubDesc, 4)
1399 TEST_FIELD_ALIGN (MIDL_SERVER_INFO, pStubDesc, 4)
1400 TEST_FIELD_OFFSET(MIDL_SERVER_INFO, pStubDesc, 0)
1404 TEST_FIELD_SIZE (MIDL_SERVER_INFO, ProcString, 4)
1405 TEST_FIELD_ALIGN (MIDL_SERVER_INFO, ProcString, 4)
1406 TEST_FIELD_OFFSET(MIDL_SERVER_INFO, ProcString, 8)
1407 TEST_FIELD_SIZE (MIDL_SERVER_INFO, FmtStringOffset, 4)
1408 TEST_FIELD_ALIGN (MIDL_SERVER_INFO, FmtStringOffset, 4)
1409 TEST_FIELD_OFFSET(MIDL_SERVER_INFO, FmtStringOffset, 12)
1410 TEST_FIELD_SIZE (MIDL_SERVER_INFO, ThunkTable, 4)
1411 TEST_FIELD_ALIGN (MIDL_SERVER_INFO, ThunkTable, 4)
1412 TEST_FIELD_OFFSET(MIDL_SERVER_INFO, ThunkTable, 16)
1413 TEST_FIELD_SIZE (MIDL_SERVER_INFO, pTransferSyntax, 4)
1414 TEST_FIELD_ALIGN (MIDL_SERVER_INFO, pTransferSyntax, 4)
1415 TEST_FIELD_OFFSET(MIDL_SERVER_INFO, pTransferSyntax, 20)
1419 TEST_FIELD_SIZE (MIDL_SERVER_INFO, pSyntaxInfo, 4)
1420 TEST_FIELD_ALIGN (MIDL_SERVER_INFO, pSyntaxInfo, 4)
1421 TEST_FIELD_OFFSET(MIDL_SERVER_INFO, pSyntaxInfo, 28)
1422}
1423
1425{
1426 /* MIDL_STUB_DESC */
1427 TEST_FIELD_SIZE (MIDL_STUB_DESC, RpcInterfaceInformation, 4)
1428 TEST_FIELD_ALIGN (MIDL_STUB_DESC, RpcInterfaceInformation, 4)
1429 TEST_FIELD_OFFSET(MIDL_STUB_DESC, RpcInterfaceInformation, 0)
1430}
1431
1433{
1434 /* MIDL_STUB_MESSAGE */
1441 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, BufferStart, 4)
1442 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, BufferStart, 4)
1443 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, BufferStart, 8)
1447 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, BufferMark, 4)
1448 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, BufferMark, 4)
1449 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, BufferMark, 16)
1459 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, IsClient, 1)
1460 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, IsClient, 1)
1468 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, ReuseBuffer, 4)
1469 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, ReuseBuffer, 4)
1470 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, ReuseBuffer, 36)
1471 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, pAllocAllNodesContext, 4)
1472 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, pAllocAllNodesContext, 4)
1473 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, pAllocAllNodesContext, 40)
1474 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, pPointerQueueState, 4)
1475 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, pPointerQueueState, 4)
1476 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, pPointerQueueState, 44)
1477 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, IgnoreEmbeddedPointers, 4)
1478 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, IgnoreEmbeddedPointers, 4)
1479 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, IgnoreEmbeddedPointers, 48)
1480 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, PointerBufferMark, 4)
1481 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, PointerBufferMark, 4)
1482 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, PointerBufferMark, 52)
1483 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, CorrDespIncrement, 1)
1484 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, CorrDespIncrement, 1)
1485 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, CorrDespIncrement, 56)
1489 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, UniquePtrCount, 2)
1490 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, UniquePtrCount, 2)
1491 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, UniquePtrCount, 58)
1492 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, MaxCount, 4)
1493 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, MaxCount, 4)
1498 TEST_FIELD_SIZE (MIDL_STUB_MESSAGE, ActualCount, 4)
1499 TEST_FIELD_ALIGN (MIDL_STUB_MESSAGE, ActualCount, 4)
1500 TEST_FIELD_OFFSET(MIDL_STUB_MESSAGE, ActualCount, 68)
1501}
1502
1504{
1505 /* MIDL_STUBLESS_PROXY_INFO */
1511 TEST_FIELD_SIZE (MIDL_STUBLESS_PROXY_INFO, ProcFormatString, 4)
1512 TEST_FIELD_ALIGN (MIDL_STUBLESS_PROXY_INFO, ProcFormatString, 4)
1513 TEST_FIELD_OFFSET(MIDL_STUBLESS_PROXY_INFO, ProcFormatString, 4)
1514 TEST_FIELD_SIZE (MIDL_STUBLESS_PROXY_INFO, FormatStringOffset, 4)
1515 TEST_FIELD_ALIGN (MIDL_STUBLESS_PROXY_INFO, FormatStringOffset, 4)
1516 TEST_FIELD_OFFSET(MIDL_STUBLESS_PROXY_INFO, FormatStringOffset, 8)
1517 TEST_FIELD_SIZE (MIDL_STUBLESS_PROXY_INFO, pTransferSyntax, 4)
1518 TEST_FIELD_ALIGN (MIDL_STUBLESS_PROXY_INFO, pTransferSyntax, 4)
1519 TEST_FIELD_OFFSET(MIDL_STUBLESS_PROXY_INFO, pTransferSyntax, 12)
1526}
1527
1529{
1530 /* MIDL_SYNTAX_INFO */
1533 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, TransferSyntax, 20)
1534 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, TransferSyntax, 4)
1535 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, TransferSyntax, 0)
1539 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, ProcString, 4)
1540 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, ProcString, 4)
1541 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, ProcString, 24)
1542 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, FmtStringOffset, 4)
1543 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, FmtStringOffset, 4)
1544 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, FmtStringOffset, 28)
1545 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, TypeString, 4)
1546 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, TypeString, 4)
1547 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, TypeString, 32)
1548 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 4)
1549 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 4)
1550 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, aUserMarshalQuadruple, 36)
1551 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, pMethodProperties, 4)
1552 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, pMethodProperties, 4)
1553 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, pMethodProperties, 40)
1554 TEST_FIELD_SIZE (MIDL_SYNTAX_INFO, pReserved2, 4)
1555 TEST_FIELD_ALIGN (MIDL_SYNTAX_INFO, pReserved2, 4)
1556 TEST_FIELD_OFFSET(MIDL_SYNTAX_INFO, pReserved2, 44)
1557}
1558
1559static void test_pack_NDR_CCONTEXT(void)
1560{
1561 /* NDR_CCONTEXT */
1564}
1565
1567{
1568 /* NDR_NOTIFY_ROUTINE */
1569}
1570
1572{
1573 /* NDR_NOTIFY2_ROUTINE */
1574}
1575
1576static void test_pack_NDR_RUNDOWN(void)
1577{
1578 /* NDR_RUNDOWN */
1579}
1580
1581static void test_pack_NDR_SCONTEXT(void)
1582{
1583 /* NDR_SCONTEXT */
1586}
1587
1589{
1590 /* NDR_USER_MARSHAL_INFO */
1591 TEST_FIELD_SIZE (NDR_USER_MARSHAL_INFO, InformationLevel, 4)
1592 TEST_FIELD_ALIGN (NDR_USER_MARSHAL_INFO, InformationLevel, 4)
1593 TEST_FIELD_OFFSET(NDR_USER_MARSHAL_INFO, InformationLevel, 0)
1594}
1595
1597{
1598 /* NDR_USER_MARSHAL_INFO_LEVEL1 */
1605}
1606
1607static void test_pack_PARRAY_INFO(void)
1608{
1609 /* PARRAY_INFO */
1614}
1615
1617{
1618 /* PFORMAT_STRING */
1621}
1622
1624{
1625 /* PFULL_PTR_TO_REFID_ELEMENT */
1630}
1631
1633{
1634 /* PFULL_PTR_XLAT_TABLES */
1637}
1638
1640{
1641 /* PGENERIC_BINDING_INFO */
1644}
1645
1647{
1648 /* PGENERIC_BINDING_ROUTINE_PAIR */
1651}
1652
1654{
1655 /* PMIDL_SERVER_INFO */
1660}
1661
1663{
1664 /* PMIDL_STUB_DESC */
1667}
1668
1670{
1671 /* PMIDL_STUB_MESSAGE */
1674}
1675
1677{
1678 /* PMIDL_STUBLESS_PROXY_INFO */
1683}
1684
1686{
1687 /* PMIDL_SYNTAX_INFO */
1692}
1693
1695{
1696 /* PNDR_ASYNC_MESSAGE */
1699}
1700
1702{
1703 /* PNDR_CORRELATION_INFO */
1706}
1707
1709{
1710 /* PSCONTEXT_QUEUE */
1715}
1716
1718{
1719 /* PXMIT_ROUTINE_QUINTUPLE */
1722}
1723
1725{
1726 /* SCONTEXT_QUEUE */
1729 TEST_FIELD_SIZE (SCONTEXT_QUEUE, NumberOfObjects, 4)
1730 TEST_FIELD_ALIGN (SCONTEXT_QUEUE, NumberOfObjects, 4)
1731 TEST_FIELD_OFFSET(SCONTEXT_QUEUE, NumberOfObjects, 0)
1732 TEST_FIELD_SIZE (SCONTEXT_QUEUE, ArrayOfObjects, 4)
1733 TEST_FIELD_ALIGN (SCONTEXT_QUEUE, ArrayOfObjects, 4)
1734 TEST_FIELD_OFFSET(SCONTEXT_QUEUE, ArrayOfObjects, 4)
1735}
1736
1738{
1739 /* SERVER_ROUTINE */
1740}
1741
1742static void test_pack_STUB_THUNK(void)
1743{
1744 /* STUB_THUNK */
1745}
1746
1748{
1749 /* USER_MARSHAL_CB */
1753 TEST_FIELD_SIZE (USER_MARSHAL_CB, pStubMsg, 4)
1754 TEST_FIELD_ALIGN (USER_MARSHAL_CB, pStubMsg, 4)
1756 TEST_FIELD_SIZE (USER_MARSHAL_CB, pReserve, 4)
1757 TEST_FIELD_ALIGN (USER_MARSHAL_CB, pReserve, 4)
1762}
1763
1765{
1766 /* USER_MARSHAL_FREEING_ROUTINE */
1767}
1768
1770{
1771 /* USER_MARSHAL_MARSHALLING_ROUTINE */
1772}
1773
1775{
1776 /* USER_MARSHAL_ROUTINE_QUADRUPLE */
1777}
1778
1780{
1781 /* USER_MARSHAL_SIZING_ROUTINE */
1782}
1783
1785{
1786 /* USER_MARSHAL_UNMARSHALLING_ROUTINE */
1787}
1788
1790{
1791 /* XMIT_HELPER_ROUTINE */
1792}
1793
1795{
1796 /* XMIT_ROUTINE_QUINTUPLE */
1797}
1798
1800{
1801 /* PRPC_STUB_FUNCTION */
1802}
1803
1804#endif /* _WIN64 */
1805
1806static void test_pack(void)
1807{
1883}
1884
1885START_TEST(generated)
1886{
1887 test_pack();
1888}
#define START_TEST(x)
Definition: atltest.h:75
Definition: bufpool.h:45
_In_ ULONG BufferSize
Definition: dispmprt.h:490
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
Definition: dispmprt.h:245
UINT uFlags
Definition: api.c:59
static const WCHAR Signature[]
Definition: parser.c:141
ULONG MajorVersion
Definition: ros_glue.cpp:4
ULONG MinorVersion
Definition: ros_glue.cpp:5
ULONG Handle
Definition: gdb_input.c:15
#define TEST_TARGET_SIZE(type, size)
Definition: generated.c:68
#define TEST_FIELD_OFFSET(type, field, offset)
Definition: generated.c:66
#define TEST_TYPE_SIGNED(type)
Definition: generated.c:70
#define TEST_TARGET_ALIGN(type, align)
Definition: generated.c:62
static void test_pack(void)
Definition: generated.c:13132
#define TEST_TYPE_SIZE(type, size)
Definition: generated.c:50
#define TEST_FIELD_SIZE(type, field, size)
Definition: generated.c:69
#define TEST_TYPE_ALIGN(type, align)
Definition: generated.c:55
#define TEST_FIELD_ALIGN(type, field, align)
Definition: generated.c:63
_In_ UCXHUB_DEVICE_CONTEXT _In_ UCXENDPOINT Endpoint
Definition: hubucx.h:238
macro TEXTAREA section xr p2align endm macro DATAAREA section dw endm macro RODATAAREA section dr endm macro EXPORT Attribute global Name endm macro IMPORT Target ifc WEAK weak Name set Target endif endm set macro SET_COMDAT_ALIGNMENT Alignment set Alignment endm macro NESTED_ENTRY Name global Name p2align xr p2align __ComdatAlignment NESTED_ENTRY Name endm macro ALTERNATE_ENTRY Name global Name Params endm macro ALIGN Pad
Definition: kxarm64.h:158
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
struct _NDR_CORRELATION_INFO * PNDR_CORRELATION_INFO
Definition: rpcndr.h:181
const unsigned char * PFORMAT_STRING
Definition: rpcndr.h:159
struct _NDR_ASYNC_MESSAGE * PNDR_ASYNC_MESSAGE
Definition: rpcndr.h:180
static void test_pack_XMIT_ROUTINE_QUINTUPLE(void)
Definition: generated.c:1794
static void test_pack_MIDL_SYNTAX_INFO(void)
Definition: generated.c:1528
static void test_pack_NDR_RUNDOWN(void)
Definition: generated.c:1576
static void test_pack_UUID_VECTOR(void)
Definition: generated.c:1046
static void test_pack_MIDL_SERVER_INFO(void)
Definition: generated.c:1393
static void test_pack_ARRAY_INFO(void)
Definition: generated.c:1281
static void test_pack_RPC_SERVER_INTERFACE(void)
Definition: generated.c:1221
static void test_pack_FULL_PTR_TO_REFID_ELEMENT(void)
Definition: generated.c:1340
static void test_pack_USER_MARSHAL_ROUTINE_QUADRUPLE(void)
Definition: generated.c:1774
static void test_pack_PXMIT_ROUTINE_QUINTUPLE(void)
Definition: generated.c:1717
static void test_pack_COMM_FAULT_OFFSETS(void)
Definition: generated.c:1306
static void test_pack_MIDL_STUB_MESSAGE(void)
Definition: generated.c:1432
static void test_pack_PARRAY_INFO(void)
Definition: generated.c:1607
static void test_pack_PRPC_DISPATCH_TABLE(void)
Definition: generated.c:1068
static void test_pack_RPC_AUTHZ_HANDLE(void)
Definition: generated.c:980
static void test_pack_USER_MARSHAL_CB(void)
Definition: generated.c:1747
static void test_pack_RPC_DISPATCH_FUNCTION(void)
Definition: generated.c:1147
static void test_pack_EXPR_EVAL(void)
Definition: generated.c:1335
static void test_pack_PFULL_PTR_TO_REFID_ELEMENT(void)
Definition: generated.c:1623
static void test_pack_PNDR_CORRELATION_INFO(void)
Definition: generated.c:1701
static void test_pack_I_RPC_HANDLE(void)
Definition: generated.c:944
static void test_pack_SERVER_ROUTINE(void)
Definition: generated.c:1737
static void test_pack_RPC_DISPATCH_TABLE(void)
Definition: generated.c:1152
static void test_pack_PNDR_ASYNC_MESSAGE(void)
Definition: generated.c:1694
static void test_pack_XMIT_HELPER_ROUTINE(void)
Definition: generated.c:1789
static void test_pack_RPC_SYNTAX_IDENTIFIER(void)
Definition: generated.c:1255
static void test_pack_RPC_CLIENT_INTERFACE(void)
Definition: generated.c:1113
static void test_pack_NDR_CCONTEXT(void)
Definition: generated.c:1559
static void test_pack_RPC_BINDING_HANDLE(void)
Definition: generated.c:987
static void test_pack_RPC_IF_HANDLE(void)
Definition: generated.c:1007
static void test_pack_NDR_SCONTEXT(void)
Definition: generated.c:1581
static void test_pack_PSCONTEXT_QUEUE(void)
Definition: generated.c:1708
static void test_pack_PMIDL_STUBLESS_PROXY_INFO(void)
Definition: generated.c:1676
static void test_pack_NDR_USER_MARSHAL_INFO_LEVEL1(void)
Definition: generated.c:1596
static void test_pack_RPC_BINDING_VECTOR(void)
Definition: generated.c:994
static void test_pack_PRPC_MESSAGE(void)
Definition: generated.c:1077
static void test_pack_CS_STUB_INFO(void)
Definition: generated.c:1319
static void test_pack_FULL_PTR_XLAT_TABLES(void)
Definition: generated.c:1359
static void test_pack_NDR_USER_MARSHAL_INFO(void)
Definition: generated.c:1588
static void test_pack_USER_MARSHAL_MARSHALLING_ROUTINE(void)
Definition: generated.c:1769
static void test_pack_GENERIC_BINDING_ROUTINE_PAIR(void)
Definition: generated.c:1375
static void test_pack_MIDL_STUBLESS_PROXY_INFO(void)
Definition: generated.c:1503
static void test_pack_USER_MARSHAL_UNMARSHALLING_ROUTINE(void)
Definition: generated.c:1784
static void test_pack_RPC_PROTSEQ_ENDPOINT(void)
Definition: generated.c:1208
static void test_pack_PGENERIC_BINDING_INFO(void)
Definition: generated.c:1639
static void test_pack_PRPC_PROTSEQ_ENDPOINT(void)
Definition: generated.c:1086
static void test_pack_PRPC_STUB_FUNCTION(void)
Definition: generated.c:1799
static void test_pack_PGENERIC_BINDING_ROUTINE_PAIR(void)
Definition: generated.c:1646
static void test_pack_USER_MARSHAL_SIZING_ROUTINE(void)
Definition: generated.c:1779
static void test_pack_RPC_VERSION(void)
Definition: generated.c:1268
static void test_pack_STUB_THUNK(void)
Definition: generated.c:1742
static void test_pack_PMIDL_STUB_MESSAGE(void)
Definition: generated.c:1669
static void test_pack_PFORMAT_STRING(void)
Definition: generated.c:1616
static void test_pack_RPC_POLICY(void)
Definition: generated.c:1030
static void test_pack_PRPC_POLICY(void)
Definition: generated.c:959
static void test_pack_USER_MARSHAL_FREEING_ROUTINE(void)
Definition: generated.c:1764
static void test_pack_PMIDL_STUB_DESC(void)
Definition: generated.c:1662
static void test_pack_PRPC_CLIENT_INTERFACE(void)
Definition: generated.c:1059
static void test_pack_RPC_AUTH_IDENTITY_HANDLE(void)
Definition: generated.c:968
static void test_pack_PMIDL_SYNTAX_INFO(void)
Definition: generated.c:1685
static void test_pack_GENERIC_BINDING_INFO(void)
Definition: generated.c:1364
static void test_pack_RPC_IF_ID(void)
Definition: generated.c:1014
static void test_pack_SCONTEXT_QUEUE(void)
Definition: generated.c:1724
static void test_pack_PRPC_SERVER_INTERFACE(void)
Definition: generated.c:1095
static void test_pack_MALLOC_FREE_STRUCT(void)
Definition: generated.c:1380
static void test_pack_PMIDL_SERVER_INFO(void)
Definition: generated.c:1653
static void test_pack_RPC_MESSAGE(void)
Definition: generated.c:1168
static void test_pack_NDR_NOTIFY2_ROUTINE(void)
Definition: generated.c:1571
static void test_pack_NDR_NOTIFY_ROUTINE(void)
Definition: generated.c:1566
static void test_pack_PRPC_SYNTAX_IDENTIFIER(void)
Definition: generated.c:1104
static void test_pack_PFULL_PTR_XLAT_TABLES(void)
Definition: generated.c:1632
static void test_pack_MIDL_STUB_DESC(void)
Definition: generated.c:1424
static void test_pack_RPC_STATUS(void)
Definition: generated.c:951
static void test_pack_RPC_AUTH_KEY_RETRIEVAL_FN(void)
Definition: generated.c:975
static void test_pack_MIDL_FORMAT_STRING(void)
Definition: generated.c:1385
long RPC_STATUS
Definition: rpc.h:48
PACPI_METHOD_ARGUMENT Next
Definition: slotdev.cpp:96
_In_ const GUID * Uuid
Definition: slotdev.cpp:84
static CONST DWORD MemorySize[]
Definition: svga.c:32
_In_ PUCHAR BufferEnd
Definition: usbdlib.h:216
USHORT Count
Definition: userreq.cpp:200
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4539
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
Definition: wdfdevice.h:3777
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _Out_ WDFMEMORY * Memory
Definition: wdfmemory.h:169
_In_ PWDFDEVICE_INIT _In_ PWDF_PDO_EVENT_CALLBACKS DispatchTable
Definition: wdfpdo.h:248
_Reserved_ PVOID Reserved
Definition: winddi.h:3974