VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/rpcndr.h

Last change on this file was 53206, checked in by vboxsync, 10 years ago

Devices/vmsvga: header fixes

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 26.3 KB
Line 
1/*
2 * Copyright (C) 2000 Francois Gouget
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19/*
20 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27
28#ifndef __RPCNDR_H_VERSION__
29#define __RPCNDR_H_VERSION__ ( 500 )
30#endif
31
32#ifndef __WINE_RPCNDR_H
33#define __WINE_RPCNDR_H
34
35#include <basetsd.h>
36#include <rpcsal.h>
37
38#ifdef __cplusplus
39extern "C" {
40#endif
41
42#undef CONST_VTBL
43#ifdef CONST_VTABLE
44# define CONST_VTBL const
45#else
46# define CONST_VTBL
47#endif
48
49#ifdef __cplusplus
50#define EXTERN_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
51 EXTERN_C const GUID DECLSPEC_SELECTANY name DECLSPEC_HIDDEN; \
52 EXTERN_C const GUID DECLSPEC_SELECTANY name = \
53 { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
54#else
55#define EXTERN_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
56 const GUID DECLSPEC_SELECTANY name DECLSPEC_HIDDEN; \
57 const GUID DECLSPEC_SELECTANY name = \
58 { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
59#endif
60
61/* stupid #if can't handle casts... this __stupidity
62 is just a workaround for that limitation */
63
64#define __NDR_CHAR_REP_MASK 0x000f
65#define __NDR_INT_REP_MASK 0x00f0
66#define __NDR_FLOAT_REP_MASK 0xff00
67
68#define __NDR_IEEE_FLOAT 0x0000
69#define __NDR_VAX_FLOAT 0x0100
70#define __NDR_IBM_FLOAT 0x0300
71
72#define __NDR_ASCII_CHAR 0x0000
73#define __NDR_EBCDIC_CHAR 0x0001
74
75#define __NDR_LITTLE_ENDIAN 0x0010
76#define __NDR_BIG_ENDIAN 0x0000
77
78/* Mac's are special */
79#if defined(__RPC_MAC__)
80# define __NDR_LOCAL_DATA_REPRESENTATION \
81 (__NDR_IEEE_FLOAT | __NDR_ASCII_CHAR | __NDR_BIG_ENDIAN)
82#else
83# define __NDR_LOCAL_DATA_REPRESENTATION \
84 (__NDR_IEEE_FLOAT | __NDR_ASCII_CHAR | __NDR_LITTLE_ENDIAN)
85#endif
86
87#define __NDR_LOCAL_ENDIAN \
88 (__NDR_LOCAL_DATA_REPRESENTATION & __NDR_INT_REP_MASK)
89
90/* for convenience, define NDR_LOCAL_IS_BIG_ENDIAN iff it is */
91#if __NDR_LOCAL_ENDIAN == __NDR_BIG_ENDIAN
92# define NDR_LOCAL_IS_BIG_ENDIAN
93#elif __NDR_LOCAL_ENDIAN == __NDR_LITTLE_ENDIAN
94# undef NDR_LOCAL_IS_BIG_ENDIAN
95#else
96# error alien NDR_LOCAL_ENDIAN - Greg botched the defines again, please report
97#endif
98
99/* finally, do the casts like Microsoft */
100
101#define NDR_CHAR_REP_MASK ((ULONG) __NDR_CHAR_REP_MASK)
102#define NDR_INT_REP_MASK ((ULONG) __NDR_INT_REP_MASK)
103#define NDR_FLOAT_REP_MASK ((ULONG) __NDR_FLOAT_REP_MASK)
104#define NDR_IEEE_FLOAT ((ULONG) __NDR_IEEE_FLOAT)
105#define NDR_VAX_FLOAT ((ULONG) __NDR_VAX_FLOAT)
106#define NDR_IBM_FLOAT ((ULONG) __NDR_IBM_FLOAT)
107#define NDR_ASCII_CHAR ((ULONG) __NDR_ASCII_CHAR)
108#define NDR_EBCDIC_CHAR ((ULONG) __NDR_EBCDIC_CHAR)
109#define NDR_LITTLE_ENDIAN ((ULONG) __NDR_LITTLE_ENDIAN)
110#define NDR_BIG_ENDIAN ((ULONG) __NDR_BIG_ENDIAN)
111#define NDR_LOCAL_DATA_REPRESENTATION ((ULONG) __NDR_LOCAL_DATA_REPRESENTATION)
112#define NDR_LOCAL_ENDIAN ((ULONG) __NDR_LOCAL_ENDIAN)
113
114
115#define TARGET_IS_NT50_OR_LATER 1
116#define TARGET_IS_NT40_OR_LATER 1
117#define TARGET_IS_NT351_OR_WIN95_OR_LATER 1
118
119#define small char
120typedef unsigned char byte;
121typedef INT64 hyper;
122typedef UINT64 MIDL_uhyper;
123typedef unsigned char boolean;
124
125#define __RPC_CALLEE WINAPI
126#define RPC_VAR_ENTRY __cdecl
127#define NDR_SHAREABLE static
128
129#define MIDL_ascii_strlen(s) strlen(s)
130#define MIDL_ascii_strcpy(d,s) strcpy(d,s)
131#define MIDL_memset(d,v,n) memset(d,v,n)
132#define midl_user_free MIDL_user_free
133#define midl_user_allocate MIDL_user_allocate
134
135void * __RPC_USER MIDL_user_allocate(SIZE_T);
136void __RPC_USER MIDL_user_free(void *);
137
138#define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8)
139#define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0000ff00) >> 8), \
140 (unsigned char)((s & 0x00ff0000) >> 16), (unsigned char)(s >> 24)
141
142#define RPC_BAD_STUB_DATA_EXCEPTION_FILTER \
143 ((RpcExceptionCode() == STATUS_ACCESS_VIOLATION) || \
144 (RpcExceptionCode() == STATUS_DATATYPE_MISALIGNMENT) || \
145 (RpcExceptionCode() == RPC_X_BAD_STUB_DATA) || \
146 (RpcExceptionCode() == RPC_S_INVALID_BOUND))
147
148typedef struct
149{
150 void *pad[2];
151 void *userContext;
152} *NDR_SCONTEXT;
153
154#define NDRSContextValue(hContext) (&(hContext)->userContext)
155#define cbNDRContext 20
156
157typedef void (__RPC_USER *NDR_RUNDOWN)(void *context);
158typedef void (__RPC_USER *NDR_NOTIFY_ROUTINE)(void);
159typedef void (__RPC_USER *NDR_NOTIFY2_ROUTINE)(boolean flag);
160
161#define DECLSPEC_UUID(x)
162#define MIDL_INTERFACE(x) struct
163
164struct _MIDL_STUB_MESSAGE;
165struct _MIDL_STUB_DESC;
166struct _FULL_PTR_XLAT_TABLES;
167struct NDR_ALLOC_ALL_NODES_CONTEXT;
168struct NDR_POINTER_QUEUE_STATE;
169
170typedef unsigned char *RPC_BUFPTR;
171typedef ULONG RPC_LENGTH;
172typedef void (__RPC_USER *EXPR_EVAL)(struct _MIDL_STUB_MESSAGE *);
173typedef const unsigned char *PFORMAT_STRING;
174
175typedef struct
176{
177 LONG Dimension;
178 ULONG *BufferConformanceMark;
179 ULONG *BufferVarianceMark;
180 ULONG *MaxCountArray;
181 ULONG *OffsetArray;
182 ULONG *ActualCountArray;
183} ARRAY_INFO, *PARRAY_INFO;
184
185typedef struct
186{
187 ULONG WireCodeset;
188 ULONG DesiredReceivingCodeset;
189 void *CSArrayInfo;
190} CS_STUB_INFO;
191
192typedef struct _NDR_PIPE_DESC *PNDR_PIPE_DESC;
193typedef struct _NDR_PIPE_MESSAGE *PNDR_PIPE_MESSAGE;
194typedef struct _NDR_ASYNC_MESSAGE *PNDR_ASYNC_MESSAGE;
195typedef struct _NDR_CORRELATION_INFO *PNDR_CORRELATION_INFO;
196
197typedef struct _MIDL_STUB_MESSAGE
198{
199 PRPC_MESSAGE RpcMsg;
200 unsigned char *Buffer;
201 unsigned char *BufferStart;
202 unsigned char *BufferEnd;
203 unsigned char *BufferMark;
204 ULONG BufferLength;
205 ULONG MemorySize;
206 unsigned char *Memory;
207 unsigned char IsClient;
208 unsigned char Pad;
209 unsigned short uFlags2;
210 int ReuseBuffer;
211 struct NDR_ALLOC_ALL_NODES_CONTEXT *pAllocAllNodesContext;
212 struct NDR_POINTER_QUEUE_STATE *pPointerQueueState;
213 int IgnoreEmbeddedPointers;
214 unsigned char *PointerBufferMark;
215 unsigned char CorrDespIncrement;
216 unsigned char uFlags;
217 unsigned short UniquePtrCount;
218 ULONG_PTR MaxCount;
219 ULONG Offset;
220 ULONG ActualCount;
221 void * (__WINE_ALLOC_SIZE(1) __RPC_API *pfnAllocate)(SIZE_T);
222 void (__RPC_API *pfnFree)(void *);
223 unsigned char *StackTop;
224 unsigned char *pPresentedType;
225 unsigned char *pTransmitType;
226 handle_t SavedHandle;
227 const struct _MIDL_STUB_DESC *StubDesc;
228 struct _FULL_PTR_XLAT_TABLES *FullPtrXlatTables;
229 ULONG FullPtrRefId;
230 ULONG PointerLength;
231 unsigned int fInDontFree:1;
232 unsigned int fDontCallFreeInst:1;
233 unsigned int fInOnlyParam:1;
234 unsigned int fHasReturn:1;
235 unsigned int fHasExtensions:1;
236 unsigned int fHasNewCorrDesc:1;
237 unsigned int fIsIn:1;
238 unsigned int fIsOut:1;
239 unsigned int fIsOicf:1;
240 unsigned int fBufferValid:1;
241 unsigned int fHasMemoryValidateCallback:1;
242 unsigned int fInFree:1;
243 unsigned int fNeedMCCP:1;
244 int fUnused:3;
245 int fUnused2:16;
246 DWORD dwDestContext;
247 void *pvDestContext;
248 NDR_SCONTEXT *SavedContextHandles;
249 LONG ParamNumber;
250 struct IRpcChannelBuffer *pRpcChannelBuffer;
251 PARRAY_INFO pArrayInfo;
252 ULONG *SizePtrCountArray;
253 ULONG *SizePtrOffsetArray;
254 ULONG *SizePtrLengthArray;
255 void *pArgQueue;
256 DWORD dwStubPhase;
257 void *LowStackMark;
258 PNDR_ASYNC_MESSAGE pAsyncMsg;
259 PNDR_CORRELATION_INFO pCorrInfo;
260 unsigned char *pCorrMemory;
261 void *pMemoryList;
262 CS_STUB_INFO *pCSInfo;
263 unsigned char *ConformanceMark;
264 unsigned char *VarianceMark;
265 INT_PTR Unused; /* BackingStoreLowMark on IA64 */
266 struct _NDR_PROC_CONTEXT *pContext;
267 void* ContextHandleHash;
268 void* pUserMarshalList;
269 INT_PTR Reserved51_3;
270 INT_PTR Reserved51_4;
271 INT_PTR Reserved51_5;
272} MIDL_STUB_MESSAGE, *PMIDL_STUB_MESSAGE;
273
274typedef void * (__RPC_API * GENERIC_BINDING_ROUTINE)(void *);
275typedef void (__RPC_API * GENERIC_UNBIND_ROUTINE)(void *, unsigned char *);
276
277typedef struct _GENERIC_BINDING_ROUTINE_PAIR
278{
279 GENERIC_BINDING_ROUTINE pfnBind;
280 GENERIC_UNBIND_ROUTINE pfnUnbind;
281} GENERIC_BINDING_ROUTINE_PAIR, *PGENERIC_BINDING_ROUTINE_PAIR;
282
283typedef struct __GENERIC_BINDING_INFO
284{
285 void *pObj;
286 unsigned int Size;
287 GENERIC_BINDING_ROUTINE pfnBind;
288 GENERIC_UNBIND_ROUTINE pfnUnbind;
289} GENERIC_BINDING_INFO, *PGENERIC_BINDING_INFO;
290
291typedef void (__RPC_USER *XMIT_HELPER_ROUTINE)(PMIDL_STUB_MESSAGE);
292
293typedef struct _XMIT_ROUTINE_QUINTUPLE
294{
295 XMIT_HELPER_ROUTINE pfnTranslateToXmit;
296 XMIT_HELPER_ROUTINE pfnTranslateFromXmit;
297 XMIT_HELPER_ROUTINE pfnFreeXmit;
298 XMIT_HELPER_ROUTINE pfnFreeInst;
299} XMIT_ROUTINE_QUINTUPLE, *PXMIT_ROUTINE_QUINTUPLE;
300
301typedef ULONG (__RPC_USER *USER_MARSHAL_SIZING_ROUTINE)(ULONG *, ULONG, void *);
302typedef unsigned char * (__RPC_USER *USER_MARSHAL_MARSHALLING_ROUTINE)(ULONG *, unsigned char *, void *);
303typedef unsigned char * (__RPC_USER *USER_MARSHAL_UNMARSHALLING_ROUTINE)(ULONG *, unsigned char *, void *);
304typedef void (__RPC_USER *USER_MARSHAL_FREEING_ROUTINE)(ULONG *, void *);
305
306typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE
307{
308 USER_MARSHAL_SIZING_ROUTINE pfnBufferSize;
309 USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall;
310 USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall;
311 USER_MARSHAL_FREEING_ROUTINE pfnFree;
312} USER_MARSHAL_ROUTINE_QUADRUPLE;
313
314/* 'USRC' */
315#define USER_MARSHAL_CB_SIGNATURE \
316 ( ( (DWORD)'U' << 24 ) | ( (DWORD)'S' << 16 ) | \
317 ( (DWORD)'R' << 8 ) | ( (DWORD)'C' ) )
318
319typedef enum
320{
321 USER_MARSHAL_CB_BUFFER_SIZE,
322 USER_MARSHAL_CB_MARSHALL,
323 USER_MARSHAL_CB_UNMARSHALL,
324 USER_MARSHAL_CB_FREE
325} USER_MARSHAL_CB_TYPE;
326
327typedef struct _USER_MARSHAL_CB
328{
329 ULONG Flags;
330 PMIDL_STUB_MESSAGE pStubMsg;
331 PFORMAT_STRING pReserve;
332 ULONG Signature;
333 USER_MARSHAL_CB_TYPE CBType;
334 PFORMAT_STRING pFormat;
335 PFORMAT_STRING pTypeFormat;
336} USER_MARSHAL_CB;
337
338#define USER_CALL_CTXT_MASK(f) ((f) & 0x00ff)
339#define USER_CALL_AUX_MASK(f) ((f) & 0xff00)
340#define GET_USER_DATA_REP(f) HIWORD(f)
341
342#define USER_CALL_IS_ASYNC 0x0100
343#define USER_CALL_NEW_CORRELATION_DESC 0x0200
344
345typedef struct _MALLOC_FREE_STRUCT
346{
347 void * (__WINE_ALLOC_SIZE(1) __RPC_USER *pfnAllocate)(SIZE_T);
348 void (__RPC_USER *pfnFree)(void *);
349} MALLOC_FREE_STRUCT;
350
351typedef struct _COMM_FAULT_OFFSETS
352{
353 short CommOffset;
354 short FaultOffset;
355} COMM_FAULT_OFFSETS;
356
357typedef struct _MIDL_STUB_DESC
358{
359 void *RpcInterfaceInformation;
360 void * (__WINE_ALLOC_SIZE(1) __RPC_API *pfnAllocate)(SIZE_T);
361 void (__RPC_API *pfnFree)(void *);
362 union {
363 handle_t *pAutoHandle;
364 handle_t *pPrimitiveHandle;
365 PGENERIC_BINDING_INFO pGenericBindingInfo;
366 } IMPLICIT_HANDLE_INFO;
367 const NDR_RUNDOWN *apfnNdrRundownRoutines;
368 const GENERIC_BINDING_ROUTINE_PAIR *aGenericBindingRoutinePairs;
369 const EXPR_EVAL *apfnExprEval;
370 const XMIT_ROUTINE_QUINTUPLE *aXmitQuintuple;
371 const unsigned char *pFormatTypes;
372 int fCheckBounds;
373 ULONG Version;
374 MALLOC_FREE_STRUCT *pMallocFreeStruct;
375 LONG MIDLVersion;
376 const COMM_FAULT_OFFSETS *CommFaultOffsets;
377 const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple;
378 const NDR_NOTIFY_ROUTINE *NotifyRoutineTable;
379 ULONG_PTR mFlags;
380 ULONG_PTR Reserved3;
381 ULONG_PTR Reserved4;
382 ULONG_PTR Reserved5;
383} MIDL_STUB_DESC;
384typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC;
385
386typedef struct _MIDL_FORMAT_STRING
387{
388 short Pad;
389#if defined(__GNUC__)
390 unsigned char Format[0];
391#else
392 unsigned char Format[1];
393#endif
394} MIDL_FORMAT_STRING;
395
396typedef struct _MIDL_SYNTAX_INFO
397{
398 RPC_SYNTAX_IDENTIFIER TransferSyntax;
399 RPC_DISPATCH_TABLE* DispatchTable;
400 PFORMAT_STRING ProcString;
401 const unsigned short* FmtStringOffset;
402 PFORMAT_STRING TypeString;
403 const void* aUserMarshalQuadruple;
404 ULONG_PTR pReserved1;
405 ULONG_PTR pReserved2;
406} MIDL_SYNTAX_INFO, *PMIDL_SYNTAX_INFO;
407
408typedef void (__RPC_API *STUB_THUNK)( PMIDL_STUB_MESSAGE );
409
410#ifdef WINE_STRICT_PROTOTYPES
411typedef LONG (__RPC_API *SERVER_ROUTINE)(void);
412#else
413typedef LONG (__RPC_API *SERVER_ROUTINE)();
414#endif
415
416typedef struct _MIDL_SERVER_INFO_
417{
418 PMIDL_STUB_DESC pStubDesc;
419 const SERVER_ROUTINE *DispatchTable;
420 PFORMAT_STRING ProcString;
421 const unsigned short *FmtStringOffset;
422 const STUB_THUNK *ThunkTable;
423 PRPC_SYNTAX_IDENTIFIER pTransferSyntax;
424 ULONG_PTR nCount;
425 PMIDL_SYNTAX_INFO pSyntaxInfo;
426} MIDL_SERVER_INFO, *PMIDL_SERVER_INFO;
427
428typedef struct _MIDL_STUBLESS_PROXY_INFO
429{
430 PMIDL_STUB_DESC pStubDesc;
431 PFORMAT_STRING ProcFormatString;
432 const unsigned short *FormatStringOffset;
433 PRPC_SYNTAX_IDENTIFIER pTransferSyntax;
434 ULONG_PTR nCount;
435 PMIDL_SYNTAX_INFO pSyntaxInfo;
436} MIDL_STUBLESS_PROXY_INFO, *PMIDL_STUBLESS_PROXY_INFO;
437
438
439#if defined(__i386__) && !defined(__MSC_VER) && !defined(__MINGW32__) && !defined(__CYGWIN__)
440/* Calling convention for returning structures/unions is different between Windows and gcc on i386 */
441typedef LONG_PTR CLIENT_CALL_RETURN;
442#else
443typedef union _CLIENT_CALL_RETURN
444{
445 void *Pointer;
446 LONG_PTR Simple;
447} CLIENT_CALL_RETURN;
448#endif
449
450typedef enum {
451 STUB_UNMARSHAL,
452 STUB_CALL_SERVER,
453 STUB_MARSHAL,
454 STUB_CALL_SERVER_NO_HRESULT
455} STUB_PHASE;
456
457typedef enum {
458 PROXY_CALCSIZE,
459 PROXY_GETBUFFER,
460 PROXY_MARSHAL,
461 PROXY_SENDRECEIVE,
462 PROXY_UNMARSHAL
463} PROXY_PHASE;
464
465typedef enum {
466 XLAT_SERVER = 1,
467 XLAT_CLIENT
468} XLAT_SIDE;
469
470typedef struct _FULL_PTR_TO_REFID_ELEMENT {
471 struct _FULL_PTR_TO_REFID_ELEMENT *Next;
472 void *Pointer;
473 ULONG RefId;
474 unsigned char State;
475} FULL_PTR_TO_REFID_ELEMENT, *PFULL_PTR_TO_REFID_ELEMENT;
476
477/* Full pointer translation tables */
478typedef struct _FULL_PTR_XLAT_TABLES {
479 struct {
480 void **XlatTable;
481 unsigned char *StateTable;
482 ULONG NumberOfEntries;
483 } RefIdToPointer;
484
485 struct {
486 PFULL_PTR_TO_REFID_ELEMENT *XlatTable;
487 ULONG NumberOfBuckets;
488 ULONG HashMask;
489 } PointerToRefId;
490
491 ULONG NextRefId;
492 XLAT_SIDE XlatSide;
493} FULL_PTR_XLAT_TABLES, *PFULL_PTR_XLAT_TABLES;
494
495struct IRpcStubBuffer;
496
497typedef ULONG error_status_t;
498typedef void * NDR_CCONTEXT;
499
500typedef struct _SCONTEXT_QUEUE {
501 ULONG NumberOfObjects;
502 NDR_SCONTEXT *ArrayOfObjects;
503} SCONTEXT_QUEUE, *PSCONTEXT_QUEUE;
504
505typedef struct _NDR_USER_MARSHAL_INFO_LEVEL1
506{
507 void *Buffer;
508 ULONG BufferSize;
509 void * (__WINE_ALLOC_SIZE(1) __RPC_API *pfnAllocate)(SIZE_T);
510 void (__RPC_API *pfnFree)(void *);
511 struct IRpcChannelBuffer *pRpcChannelBuffer;
512 ULONG_PTR Reserved[5];
513} NDR_USER_MARSHAL_INFO_LEVEL1;
514
515typedef struct _NDR_USER_MARSHAL_INFO
516{
517 ULONG InformationLevel;
518 union
519 {
520 NDR_USER_MARSHAL_INFO_LEVEL1 Level1;
521 } DUMMYUNIONNAME1;
522} NDR_USER_MARSHAL_INFO;
523
524/* Context Handles */
525
526RPCRTAPI RPC_BINDING_HANDLE RPC_ENTRY
527 NDRCContextBinding( NDR_CCONTEXT CContext );
528
529RPCRTAPI void RPC_ENTRY
530 NDRCContextMarshall( NDR_CCONTEXT CContext, void *pBuff );
531
532RPCRTAPI void RPC_ENTRY
533 NDRCContextUnmarshall( NDR_CCONTEXT *pCContext, RPC_BINDING_HANDLE hBinding,
534 void *pBuff, ULONG DataRepresentation );
535
536RPCRTAPI void RPC_ENTRY
537 NDRSContextMarshall( NDR_SCONTEXT CContext, void *pBuff, NDR_RUNDOWN userRunDownIn );
538
539RPCRTAPI NDR_SCONTEXT RPC_ENTRY
540 NDRSContextUnmarshall( void *pBuff, ULONG DataRepresentation );
541
542RPCRTAPI void RPC_ENTRY
543 NDRSContextMarshallEx( RPC_BINDING_HANDLE BindingHandle, NDR_SCONTEXT CContext,
544 void *pBuff, NDR_RUNDOWN userRunDownIn );
545
546RPCRTAPI void RPC_ENTRY
547 NDRSContextMarshall2( RPC_BINDING_HANDLE BindingHandle, NDR_SCONTEXT CContext,
548 void *pBuff, NDR_RUNDOWN userRunDownIn, void * CtxGuard,
549 ULONG Flags );
550
551RPCRTAPI NDR_SCONTEXT RPC_ENTRY
552 NDRSContextUnmarshallEx( RPC_BINDING_HANDLE BindingHandle, void *pBuff,
553 ULONG DataRepresentation );
554
555RPCRTAPI NDR_SCONTEXT RPC_ENTRY
556 NDRSContextUnmarshall2( RPC_BINDING_HANDLE BindingHandle, void *pBuff,
557 ULONG DataRepresentation, void *CtxGuard,
558 ULONG Flags );
559
560RPCRTAPI void RPC_ENTRY
561 NdrClientContextMarshall ( PMIDL_STUB_MESSAGE pStubMsg, NDR_CCONTEXT ContextHandle, int fCheck );
562
563RPCRTAPI void RPC_ENTRY
564 NdrClientContextUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, NDR_CCONTEXT* pContextHandle,
565 RPC_BINDING_HANDLE BindHandle );
566
567RPCRTAPI void RPC_ENTRY
568 NdrServerContextMarshall ( PMIDL_STUB_MESSAGE pStubMsg, NDR_SCONTEXT ContextHandle, NDR_RUNDOWN RundownRoutine );
569
570RPCRTAPI NDR_SCONTEXT RPC_ENTRY
571 NdrServerContextUnmarshall( PMIDL_STUB_MESSAGE pStubMsg );
572
573RPCRTAPI void RPC_ENTRY
574 NdrContextHandleSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat );
575
576RPCRTAPI NDR_SCONTEXT RPC_ENTRY
577 NdrContextHandleInitialize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat );
578
579RPCRTAPI void RPC_ENTRY
580 NdrServerContextNewMarshall( PMIDL_STUB_MESSAGE pStubMsg, NDR_SCONTEXT ContextHandle,
581 NDR_RUNDOWN RundownRoutine, PFORMAT_STRING pFormat );
582
583RPCRTAPI NDR_SCONTEXT RPC_ENTRY
584 NdrServerContextNewUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat );
585
586RPCRTAPI RPC_STATUS RPC_ENTRY
587 RpcSmDestroyClientContext( void **ContextHandle );
588
589RPCRTAPI void RPC_ENTRY
590 RpcSsDestroyClientContext( void **ContextHandle );
591
592RPCRTAPI void RPC_ENTRY
593 NdrSimpleTypeMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, unsigned char FormatChar );
594RPCRTAPI void RPC_ENTRY
595 NdrSimpleTypeUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, unsigned char FormatChar );
596
597RPCRTAPI unsigned char* RPC_ENTRY
598 NdrByteCountPointerMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat );
599RPCRTAPI unsigned char* RPC_ENTRY
600 NdrByteCountPointerUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char** ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc );
601RPCRTAPI void RPC_ENTRY
602 NdrByteCountPointerBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat );
603RPCRTAPI void RPC_ENTRY
604 NdrByteCountPointerFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat );
605
606RPCRTAPI unsigned char* RPC_ENTRY
607 NdrRangeUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char** ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc );
608
609/* while MS declares each prototype separately, I prefer to use macros for this kind of thing instead */
610#define SIMPLE_TYPE_MARSHAL(type) \
611RPCRTAPI unsigned char* RPC_ENTRY \
612 Ndr##type##Marshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat ); \
613RPCRTAPI unsigned char* RPC_ENTRY \
614 Ndr##type##Unmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char** ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); \
615RPCRTAPI void RPC_ENTRY \
616 Ndr##type##BufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat ); \
617RPCRTAPI ULONG RPC_ENTRY \
618 Ndr##type##MemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat );
619
620#define TYPE_MARSHAL(type) \
621 SIMPLE_TYPE_MARSHAL(type) \
622RPCRTAPI void RPC_ENTRY \
623 Ndr##type##Free( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat );
624
625TYPE_MARSHAL(Pointer)
626TYPE_MARSHAL(SimpleStruct)
627TYPE_MARSHAL(ConformantStruct)
628TYPE_MARSHAL(ConformantVaryingStruct)
629TYPE_MARSHAL(ComplexStruct)
630TYPE_MARSHAL(FixedArray)
631TYPE_MARSHAL(ConformantArray)
632TYPE_MARSHAL(ConformantVaryingArray)
633TYPE_MARSHAL(VaryingArray)
634TYPE_MARSHAL(ComplexArray)
635TYPE_MARSHAL(EncapsulatedUnion)
636TYPE_MARSHAL(NonEncapsulatedUnion)
637TYPE_MARSHAL(XmitOrRepAs)
638TYPE_MARSHAL(UserMarshal)
639TYPE_MARSHAL(InterfacePointer)
640
641SIMPLE_TYPE_MARSHAL(ConformantString)
642SIMPLE_TYPE_MARSHAL(NonConformantString)
643
644#undef TYPE_MARSHAL
645#undef SIMPLE_TYPE_MARSHAL
646
647RPCRTAPI void RPC_ENTRY
648 NdrCorrelationInitialize( PMIDL_STUB_MESSAGE pStubMsg, void *pMemory, ULONG CacheSize, ULONG flags );
649RPCRTAPI void RPC_ENTRY
650 NdrCorrelationPass( PMIDL_STUB_MESSAGE pStubMsg );
651RPCRTAPI void RPC_ENTRY
652 NdrCorrelationFree( PMIDL_STUB_MESSAGE pStubMsg );
653
654RPCRTAPI void RPC_ENTRY
655 NdrConvert2( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat, LONG NumberParams );
656RPCRTAPI void RPC_ENTRY
657 NdrConvert( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat );
658
659#define USER_MARSHAL_FC_BYTE 1
660#define USER_MARSHAL_FC_CHAR 2
661#define USER_MARSHAL_FC_SMALL 3
662#define USER_MARSHAL_FC_USMALL 4
663#define USER_MARSHAL_FC_WCHAR 5
664#define USER_MARSHAL_FC_SHORT 6
665#define USER_MARSHAL_FC_USHORT 7
666#define USER_MARSHAL_FC_LONG 8
667#define USER_MARSHAL_FC_ULONG 9
668#define USER_MARSHAL_FC_FLOAT 10
669#define USER_MARSHAL_FC_HYPER 11
670#define USER_MARSHAL_FC_DOUBLE 12
671
672RPCRTAPI unsigned char* RPC_ENTRY
673 NdrUserMarshalSimpleTypeConvert( ULONG *pFlags, unsigned char *pBuffer, unsigned char FormatChar );
674
675CLIENT_CALL_RETURN RPC_VAR_ENTRY
676 NdrClientCall2( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... );
677CLIENT_CALL_RETURN RPC_VAR_ENTRY
678 NdrClientCall( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... );
679CLIENT_CALL_RETURN RPC_VAR_ENTRY
680 NdrAsyncClientCall( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... );
681CLIENT_CALL_RETURN RPC_VAR_ENTRY
682 NdrDcomAsyncClientCall( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... );
683
684RPCRTAPI void RPC_ENTRY
685 NdrServerCall2( PRPC_MESSAGE pRpcMsg );
686RPCRTAPI void RPC_ENTRY
687 NdrServerCall( PRPC_MESSAGE pRpcMsg );
688RPCRTAPI void RPC_ENTRY
689 NdrAsyncServerCall( PRPC_MESSAGE pRpcMsg );
690
691RPCRTAPI LONG RPC_ENTRY
692 NdrStubCall2( struct IRpcStubBuffer* pThis, struct IRpcChannelBuffer* pChannel, PRPC_MESSAGE pRpcMsg, DWORD * pdwStubPhase );
693RPCRTAPI LONG RPC_ENTRY
694 NdrStubCall( struct IRpcStubBuffer* pThis, struct IRpcChannelBuffer* pChannel, PRPC_MESSAGE pRpcMsg, DWORD * pdwStubPhase );
695RPCRTAPI LONG RPC_ENTRY
696 NdrAsyncStubCall( struct IRpcStubBuffer* pThis, struct IRpcChannelBuffer* pChannel, PRPC_MESSAGE pRpcMsg, DWORD * pdwStubPhase );
697RPCRTAPI LONG RPC_ENTRY
698 NdrDcomAsyncStubCall( struct IRpcStubBuffer* pThis, struct IRpcChannelBuffer* pChannel, PRPC_MESSAGE pRpcMsg, DWORD * pdwStubPhase );
699
700RPCRTAPI void* RPC_ENTRY
701 NdrAllocate( PMIDL_STUB_MESSAGE pStubMsg, SIZE_T Len ) __WINE_ALLOC_SIZE(2);
702
703RPCRTAPI void RPC_ENTRY
704 NdrClearOutParameters( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat, void *ArgAddr );
705
706RPCRTAPI RPC_STATUS RPC_ENTRY
707 NdrMapCommAndFaultStatus( PMIDL_STUB_MESSAGE pStubMsg, ULONG *pCommStatus,
708 ULONG *pFaultStatus, RPC_STATUS Status_ );
709
710RPCRTAPI void* RPC_ENTRY
711 NdrOleAllocate( SIZE_T Size ) __WINE_ALLOC_SIZE(1);
712RPCRTAPI void RPC_ENTRY
713 NdrOleFree( void* NodeToFree );
714
715RPCRTAPI void RPC_ENTRY
716 NdrClientInitialize( PRPC_MESSAGE pRpcMessage, PMIDL_STUB_MESSAGE pStubMsg,
717 PMIDL_STUB_DESC pStubDesc, unsigned int ProcNum );
718RPCRTAPI void RPC_ENTRY
719 NdrClientInitializeNew( PRPC_MESSAGE pRpcMessage, PMIDL_STUB_MESSAGE pStubMsg,
720 PMIDL_STUB_DESC pStubDesc, unsigned int ProcNum );
721RPCRTAPI unsigned char* RPC_ENTRY
722 NdrServerInitialize( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDesc );
723RPCRTAPI unsigned char* RPC_ENTRY
724 NdrServerInitializeNew( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDesc );
725RPCRTAPI unsigned char* RPC_ENTRY
726 NdrServerInitializeUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDesc, PRPC_MESSAGE pRpcMsg );
727RPCRTAPI void RPC_ENTRY
728 NdrServerInitializeMarshall( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg );
729RPCRTAPI void RPC_ENTRY
730 NdrServerMarshall( struct IRpcStubBuffer *pThis, struct IRpcChannelBuffer *pChannel, PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat );
731RPCRTAPI void RPC_ENTRY
732 NdrServerUnmarshall( struct IRpcChannelBuffer *pChannel, PRPC_MESSAGE pRpcMsg,
733 PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDesc,
734 PFORMAT_STRING pFormat, void *pParamList );
735RPCRTAPI unsigned char* RPC_ENTRY
736 NdrGetBuffer( PMIDL_STUB_MESSAGE stubmsg, ULONG buflen, RPC_BINDING_HANDLE handle );
737RPCRTAPI void RPC_ENTRY
738 NdrFreeBuffer( PMIDL_STUB_MESSAGE pStubMsg );
739RPCRTAPI unsigned char* RPC_ENTRY
740 NdrSendReceive( PMIDL_STUB_MESSAGE stubmsg, unsigned char *buffer );
741
742RPCRTAPI unsigned char * RPC_ENTRY
743 NdrNsGetBuffer( PMIDL_STUB_MESSAGE pStubMsg, ULONG BufferLength, RPC_BINDING_HANDLE Handle );
744RPCRTAPI unsigned char * RPC_ENTRY
745 NdrNsSendReceive( PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pBufferEnd, RPC_BINDING_HANDLE *pAutoHandle );
746
747RPCRTAPI RPC_STATUS RPC_ENTRY
748 NdrGetDcomProtocolVersion( PMIDL_STUB_MESSAGE pStubMsg, RPC_VERSION *pVersion );
749
750RPCRTAPI PFULL_PTR_XLAT_TABLES RPC_ENTRY
751 NdrFullPointerXlatInit( ULONG NumberOfPointers, XLAT_SIDE XlatSide );
752RPCRTAPI void RPC_ENTRY
753 NdrFullPointerXlatFree( PFULL_PTR_XLAT_TABLES pXlatTables );
754RPCRTAPI int RPC_ENTRY
755 NdrFullPointerQueryPointer( PFULL_PTR_XLAT_TABLES pXlatTables, void *pPointer,
756 unsigned char QueryType, ULONG *pRefId );
757RPCRTAPI int RPC_ENTRY
758 NdrFullPointerQueryRefId( PFULL_PTR_XLAT_TABLES pXlatTables, ULONG RefId,
759 unsigned char QueryType, void **ppPointer );
760RPCRTAPI void RPC_ENTRY
761 NdrFullPointerInsertRefId( PFULL_PTR_XLAT_TABLES pXlatTables, ULONG RefId, void *pPointer );
762RPCRTAPI int RPC_ENTRY
763 NdrFullPointerFree( PFULL_PTR_XLAT_TABLES pXlatTables, void *Pointer );
764
765RPCRTAPI void RPC_ENTRY
766 NdrRpcSsEnableAllocate( PMIDL_STUB_MESSAGE pMessage );
767RPCRTAPI void RPC_ENTRY
768 NdrRpcSsDisableAllocate( PMIDL_STUB_MESSAGE pMessage );
769RPCRTAPI void RPC_ENTRY
770 NdrRpcSmSetClientToOsf( PMIDL_STUB_MESSAGE pMessage );
771RPCRTAPI void * RPC_ENTRY
772 NdrRpcSmClientAllocate( SIZE_T Size ) __WINE_ALLOC_SIZE(1);
773RPCRTAPI void RPC_ENTRY
774 NdrRpcSmClientFree( void *NodeToFree );
775RPCRTAPI void * RPC_ENTRY
776 NdrRpcSsDefaultAllocate( SIZE_T Size ) __WINE_ALLOC_SIZE(1);
777RPCRTAPI void RPC_ENTRY
778 NdrRpcSsDefaultFree( void *NodeToFree );
779
780RPCRTAPI RPC_STATUS RPC_ENTRY
781 NdrGetUserMarshalInfo( ULONG *pFlags, ULONG InformationLevel, NDR_USER_MARSHAL_INFO *pMarshalInfo );
782
783#ifdef __cplusplus
784}
785#endif
786#endif /*__WINE_RPCNDR_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette