summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/rpcndr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/rpcndr.h')
-rw-r--r--src/VBox/Devices/Graphics/shaderlib/wine/include/rpcndr.h786
1 files changed, 786 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/rpcndr.h b/src/VBox/Devices/Graphics/shaderlib/wine/include/rpcndr.h
new file mode 100644
index 00000000..e40b210c
--- /dev/null
+++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/rpcndr.h
@@ -0,0 +1,786 @@
+/*
+ * Copyright (C) 2000 Francois Gouget
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/*
+ * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
+ * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
+ * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
+ * a choice of LGPL license versions is made available with the language indicating
+ * that LGPLv2 or any later version may be used, or where a choice of which version
+ * of the LGPL is applied is otherwise unspecified.
+ */
+
+#ifndef __RPCNDR_H_VERSION__
+#define __RPCNDR_H_VERSION__ ( 500 )
+#endif
+
+#ifndef __WINE_RPCNDR_H
+#define __WINE_RPCNDR_H
+
+#include <basetsd.h>
+#include <rpcsal.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#undef CONST_VTBL
+#ifdef CONST_VTABLE
+# define CONST_VTBL const
+#else
+# define CONST_VTBL
+#endif
+
+#ifdef __cplusplus
+#define EXTERN_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
+ EXTERN_C const GUID DECLSPEC_SELECTANY name DECLSPEC_HIDDEN; \
+ EXTERN_C const GUID DECLSPEC_SELECTANY name = \
+ { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
+#else
+#define EXTERN_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
+ const GUID DECLSPEC_SELECTANY name DECLSPEC_HIDDEN; \
+ const GUID DECLSPEC_SELECTANY name = \
+ { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
+#endif
+
+/* stupid #if can't handle casts... this __stupidity
+ is just a workaround for that limitation */
+
+#define __NDR_CHAR_REP_MASK 0x000f
+#define __NDR_INT_REP_MASK 0x00f0
+#define __NDR_FLOAT_REP_MASK 0xff00
+
+#define __NDR_IEEE_FLOAT 0x0000
+#define __NDR_VAX_FLOAT 0x0100
+#define __NDR_IBM_FLOAT 0x0300
+
+#define __NDR_ASCII_CHAR 0x0000
+#define __NDR_EBCDIC_CHAR 0x0001
+
+#define __NDR_LITTLE_ENDIAN 0x0010
+#define __NDR_BIG_ENDIAN 0x0000
+
+/* Mac's are special */
+#if defined(__RPC_MAC__)
+# define __NDR_LOCAL_DATA_REPRESENTATION \
+ (__NDR_IEEE_FLOAT | __NDR_ASCII_CHAR | __NDR_BIG_ENDIAN)
+#else
+# define __NDR_LOCAL_DATA_REPRESENTATION \
+ (__NDR_IEEE_FLOAT | __NDR_ASCII_CHAR | __NDR_LITTLE_ENDIAN)
+#endif
+
+#define __NDR_LOCAL_ENDIAN \
+ (__NDR_LOCAL_DATA_REPRESENTATION & __NDR_INT_REP_MASK)
+
+/* for convenience, define NDR_LOCAL_IS_BIG_ENDIAN iff it is */
+#if __NDR_LOCAL_ENDIAN == __NDR_BIG_ENDIAN
+# define NDR_LOCAL_IS_BIG_ENDIAN
+#elif __NDR_LOCAL_ENDIAN == __NDR_LITTLE_ENDIAN
+# undef NDR_LOCAL_IS_BIG_ENDIAN
+#else
+# error alien NDR_LOCAL_ENDIAN - Greg botched the defines again, please report
+#endif
+
+/* finally, do the casts like Microsoft */
+
+#define NDR_CHAR_REP_MASK ((ULONG) __NDR_CHAR_REP_MASK)
+#define NDR_INT_REP_MASK ((ULONG) __NDR_INT_REP_MASK)
+#define NDR_FLOAT_REP_MASK ((ULONG) __NDR_FLOAT_REP_MASK)
+#define NDR_IEEE_FLOAT ((ULONG) __NDR_IEEE_FLOAT)
+#define NDR_VAX_FLOAT ((ULONG) __NDR_VAX_FLOAT)
+#define NDR_IBM_FLOAT ((ULONG) __NDR_IBM_FLOAT)
+#define NDR_ASCII_CHAR ((ULONG) __NDR_ASCII_CHAR)
+#define NDR_EBCDIC_CHAR ((ULONG) __NDR_EBCDIC_CHAR)
+#define NDR_LITTLE_ENDIAN ((ULONG) __NDR_LITTLE_ENDIAN)
+#define NDR_BIG_ENDIAN ((ULONG) __NDR_BIG_ENDIAN)
+#define NDR_LOCAL_DATA_REPRESENTATION ((ULONG) __NDR_LOCAL_DATA_REPRESENTATION)
+#define NDR_LOCAL_ENDIAN ((ULONG) __NDR_LOCAL_ENDIAN)
+
+
+#define TARGET_IS_NT50_OR_LATER 1
+#define TARGET_IS_NT40_OR_LATER 1
+#define TARGET_IS_NT351_OR_WIN95_OR_LATER 1
+
+#define small char
+typedef unsigned char byte;
+typedef INT64 hyper;
+typedef UINT64 MIDL_uhyper;
+typedef unsigned char boolean;
+
+#define __RPC_CALLEE WINAPI
+#define RPC_VAR_ENTRY __cdecl
+#define NDR_SHAREABLE static
+
+#define MIDL_ascii_strlen(s) strlen(s)
+#define MIDL_ascii_strcpy(d,s) strcpy(d,s)
+#define MIDL_memset(d,v,n) memset(d,v,n)
+#define midl_user_free MIDL_user_free
+#define midl_user_allocate MIDL_user_allocate
+
+void * __RPC_USER MIDL_user_allocate(SIZE_T);
+void __RPC_USER MIDL_user_free(void *);
+
+#define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8)
+#define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0000ff00) >> 8), \
+ (unsigned char)((s & 0x00ff0000) >> 16), (unsigned char)(s >> 24)
+
+#define RPC_BAD_STUB_DATA_EXCEPTION_FILTER \
+ ((RpcExceptionCode() == STATUS_ACCESS_VIOLATION) || \
+ (RpcExceptionCode() == STATUS_DATATYPE_MISALIGNMENT) || \
+ (RpcExceptionCode() == RPC_X_BAD_STUB_DATA) || \
+ (RpcExceptionCode() == RPC_S_INVALID_BOUND))
+
+typedef struct
+{
+ void *pad[2];
+ void *userContext;
+} *NDR_SCONTEXT;
+
+#define NDRSContextValue(hContext) (&(hContext)->userContext)
+#define cbNDRContext 20
+
+typedef void (__RPC_USER *NDR_RUNDOWN)(void *context);
+typedef void (__RPC_USER *NDR_NOTIFY_ROUTINE)(void);
+typedef void (__RPC_USER *NDR_NOTIFY2_ROUTINE)(boolean flag);
+
+#define DECLSPEC_UUID(x)
+#define MIDL_INTERFACE(x) struct
+
+struct _MIDL_STUB_MESSAGE;
+struct _MIDL_STUB_DESC;
+struct _FULL_PTR_XLAT_TABLES;
+struct NDR_ALLOC_ALL_NODES_CONTEXT;
+struct NDR_POINTER_QUEUE_STATE;
+
+typedef unsigned char *RPC_BUFPTR;
+typedef ULONG RPC_LENGTH;
+typedef void (__RPC_USER *EXPR_EVAL)(struct _MIDL_STUB_MESSAGE *);
+typedef const unsigned char *PFORMAT_STRING;
+
+typedef struct
+{
+ LONG Dimension;
+ ULONG *BufferConformanceMark;
+ ULONG *BufferVarianceMark;
+ ULONG *MaxCountArray;
+ ULONG *OffsetArray;
+ ULONG *ActualCountArray;
+} ARRAY_INFO, *PARRAY_INFO;
+
+typedef struct
+{
+ ULONG WireCodeset;
+ ULONG DesiredReceivingCodeset;
+ void *CSArrayInfo;
+} CS_STUB_INFO;
+
+typedef struct _NDR_PIPE_DESC *PNDR_PIPE_DESC;
+typedef struct _NDR_PIPE_MESSAGE *PNDR_PIPE_MESSAGE;
+typedef struct _NDR_ASYNC_MESSAGE *PNDR_ASYNC_MESSAGE;
+typedef struct _NDR_CORRELATION_INFO *PNDR_CORRELATION_INFO;
+
+typedef struct _MIDL_STUB_MESSAGE
+{
+ PRPC_MESSAGE RpcMsg;
+ unsigned char *Buffer;
+ unsigned char *BufferStart;
+ unsigned char *BufferEnd;
+ unsigned char *BufferMark;
+ ULONG BufferLength;
+ ULONG MemorySize;
+ unsigned char *Memory;
+ unsigned char IsClient;
+ unsigned char Pad;
+ unsigned short uFlags2;
+ int ReuseBuffer;
+ struct NDR_ALLOC_ALL_NODES_CONTEXT *pAllocAllNodesContext;
+ struct NDR_POINTER_QUEUE_STATE *pPointerQueueState;
+ int IgnoreEmbeddedPointers;
+ unsigned char *PointerBufferMark;
+ unsigned char CorrDespIncrement;
+ unsigned char uFlags;
+ unsigned short UniquePtrCount;
+ ULONG_PTR MaxCount;
+ ULONG Offset;
+ ULONG ActualCount;
+ void * (__WINE_ALLOC_SIZE(1) __RPC_API *pfnAllocate)(SIZE_T);
+ void (__RPC_API *pfnFree)(void *);
+ unsigned char *StackTop;
+ unsigned char *pPresentedType;
+ unsigned char *pTransmitType;
+ handle_t SavedHandle;
+ const struct _MIDL_STUB_DESC *StubDesc;
+ struct _FULL_PTR_XLAT_TABLES *FullPtrXlatTables;
+ ULONG FullPtrRefId;
+ ULONG PointerLength;
+ unsigned int fInDontFree:1;
+ unsigned int fDontCallFreeInst:1;
+ unsigned int fInOnlyParam:1;
+ unsigned int fHasReturn:1;
+ unsigned int fHasExtensions:1;
+ unsigned int fHasNewCorrDesc:1;
+ unsigned int fIsIn:1;
+ unsigned int fIsOut:1;
+ unsigned int fIsOicf:1;
+ unsigned int fBufferValid:1;
+ unsigned int fHasMemoryValidateCallback:1;
+ unsigned int fInFree:1;
+ unsigned int fNeedMCCP:1;
+ int fUnused:3;
+ int fUnused2:16;
+ DWORD dwDestContext;
+ void *pvDestContext;
+ NDR_SCONTEXT *SavedContextHandles;
+ LONG ParamNumber;
+ struct IRpcChannelBuffer *pRpcChannelBuffer;
+ PARRAY_INFO pArrayInfo;
+ ULONG *SizePtrCountArray;
+ ULONG *SizePtrOffsetArray;
+ ULONG *SizePtrLengthArray;
+ void *pArgQueue;
+ DWORD dwStubPhase;
+ void *LowStackMark;
+ PNDR_ASYNC_MESSAGE pAsyncMsg;
+ PNDR_CORRELATION_INFO pCorrInfo;
+ unsigned char *pCorrMemory;
+ void *pMemoryList;
+ CS_STUB_INFO *pCSInfo;
+ unsigned char *ConformanceMark;
+ unsigned char *VarianceMark;
+ INT_PTR Unused; /* BackingStoreLowMark on IA64 */
+ struct _NDR_PROC_CONTEXT *pContext;
+ void* ContextHandleHash;
+ void* pUserMarshalList;
+ INT_PTR Reserved51_3;
+ INT_PTR Reserved51_4;
+ INT_PTR Reserved51_5;
+} MIDL_STUB_MESSAGE, *PMIDL_STUB_MESSAGE;
+
+typedef void * (__RPC_API * GENERIC_BINDING_ROUTINE)(void *);
+typedef void (__RPC_API * GENERIC_UNBIND_ROUTINE)(void *, unsigned char *);
+
+typedef struct _GENERIC_BINDING_ROUTINE_PAIR
+{
+ GENERIC_BINDING_ROUTINE pfnBind;
+ GENERIC_UNBIND_ROUTINE pfnUnbind;
+} GENERIC_BINDING_ROUTINE_PAIR, *PGENERIC_BINDING_ROUTINE_PAIR;
+
+typedef struct __GENERIC_BINDING_INFO
+{
+ void *pObj;
+ unsigned int Size;
+ GENERIC_BINDING_ROUTINE pfnBind;
+ GENERIC_UNBIND_ROUTINE pfnUnbind;
+} GENERIC_BINDING_INFO, *PGENERIC_BINDING_INFO;
+
+typedef void (__RPC_USER *XMIT_HELPER_ROUTINE)(PMIDL_STUB_MESSAGE);
+
+typedef struct _XMIT_ROUTINE_QUINTUPLE
+{
+ XMIT_HELPER_ROUTINE pfnTranslateToXmit;
+ XMIT_HELPER_ROUTINE pfnTranslateFromXmit;
+ XMIT_HELPER_ROUTINE pfnFreeXmit;
+ XMIT_HELPER_ROUTINE pfnFreeInst;
+} XMIT_ROUTINE_QUINTUPLE, *PXMIT_ROUTINE_QUINTUPLE;
+
+typedef ULONG (__RPC_USER *USER_MARSHAL_SIZING_ROUTINE)(ULONG *, ULONG, void *);
+typedef unsigned char * (__RPC_USER *USER_MARSHAL_MARSHALLING_ROUTINE)(ULONG *, unsigned char *, void *);
+typedef unsigned char * (__RPC_USER *USER_MARSHAL_UNMARSHALLING_ROUTINE)(ULONG *, unsigned char *, void *);
+typedef void (__RPC_USER *USER_MARSHAL_FREEING_ROUTINE)(ULONG *, void *);
+
+typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE
+{
+ USER_MARSHAL_SIZING_ROUTINE pfnBufferSize;
+ USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall;
+ USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall;
+ USER_MARSHAL_FREEING_ROUTINE pfnFree;
+} USER_MARSHAL_ROUTINE_QUADRUPLE;
+
+/* 'USRC' */
+#define USER_MARSHAL_CB_SIGNATURE \
+ ( ( (DWORD)'U' << 24 ) | ( (DWORD)'S' << 16 ) | \
+ ( (DWORD)'R' << 8 ) | ( (DWORD)'C' ) )
+
+typedef enum
+{
+ USER_MARSHAL_CB_BUFFER_SIZE,
+ USER_MARSHAL_CB_MARSHALL,
+ USER_MARSHAL_CB_UNMARSHALL,
+ USER_MARSHAL_CB_FREE
+} USER_MARSHAL_CB_TYPE;
+
+typedef struct _USER_MARSHAL_CB
+{
+ ULONG Flags;
+ PMIDL_STUB_MESSAGE pStubMsg;
+ PFORMAT_STRING pReserve;
+ ULONG Signature;
+ USER_MARSHAL_CB_TYPE CBType;
+ PFORMAT_STRING pFormat;
+ PFORMAT_STRING pTypeFormat;
+} USER_MARSHAL_CB;
+
+#define USER_CALL_CTXT_MASK(f) ((f) & 0x00ff)
+#define USER_CALL_AUX_MASK(f) ((f) & 0xff00)
+#define GET_USER_DATA_REP(f) HIWORD(f)
+
+#define USER_CALL_IS_ASYNC 0x0100
+#define USER_CALL_NEW_CORRELATION_DESC 0x0200
+
+typedef struct _MALLOC_FREE_STRUCT
+{
+ void * (__WINE_ALLOC_SIZE(1) __RPC_USER *pfnAllocate)(SIZE_T);
+ void (__RPC_USER *pfnFree)(void *);
+} MALLOC_FREE_STRUCT;
+
+typedef struct _COMM_FAULT_OFFSETS
+{
+ short CommOffset;
+ short FaultOffset;
+} COMM_FAULT_OFFSETS;
+
+typedef struct _MIDL_STUB_DESC
+{
+ void *RpcInterfaceInformation;
+ void * (__WINE_ALLOC_SIZE(1) __RPC_API *pfnAllocate)(SIZE_T);
+ void (__RPC_API *pfnFree)(void *);
+ union {
+ handle_t *pAutoHandle;
+ handle_t *pPrimitiveHandle;
+ PGENERIC_BINDING_INFO pGenericBindingInfo;
+ } IMPLICIT_HANDLE_INFO;
+ const NDR_RUNDOWN *apfnNdrRundownRoutines;
+ const GENERIC_BINDING_ROUTINE_PAIR *aGenericBindingRoutinePairs;
+ const EXPR_EVAL *apfnExprEval;
+ const XMIT_ROUTINE_QUINTUPLE *aXmitQuintuple;
+ const unsigned char *pFormatTypes;
+ int fCheckBounds;
+ ULONG Version;
+ MALLOC_FREE_STRUCT *pMallocFreeStruct;
+ LONG MIDLVersion;
+ const COMM_FAULT_OFFSETS *CommFaultOffsets;
+ const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple;
+ const NDR_NOTIFY_ROUTINE *NotifyRoutineTable;
+ ULONG_PTR mFlags;
+ ULONG_PTR Reserved3;
+ ULONG_PTR Reserved4;
+ ULONG_PTR Reserved5;
+} MIDL_STUB_DESC;
+typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC;
+
+typedef struct _MIDL_FORMAT_STRING
+{
+ short Pad;
+#if defined(__GNUC__)
+ unsigned char Format[0];
+#else
+ unsigned char Format[1];
+#endif
+} MIDL_FORMAT_STRING;
+
+typedef struct _MIDL_SYNTAX_INFO
+{
+ RPC_SYNTAX_IDENTIFIER TransferSyntax;
+ RPC_DISPATCH_TABLE* DispatchTable;
+ PFORMAT_STRING ProcString;
+ const unsigned short* FmtStringOffset;
+ PFORMAT_STRING TypeString;
+ const void* aUserMarshalQuadruple;
+ ULONG_PTR pReserved1;
+ ULONG_PTR pReserved2;
+} MIDL_SYNTAX_INFO, *PMIDL_SYNTAX_INFO;
+
+typedef void (__RPC_API *STUB_THUNK)( PMIDL_STUB_MESSAGE );
+
+#ifdef WINE_STRICT_PROTOTYPES
+typedef LONG (__RPC_API *SERVER_ROUTINE)(void);
+#else
+typedef LONG (__RPC_API *SERVER_ROUTINE)();
+#endif
+
+typedef struct _MIDL_SERVER_INFO_
+{
+ PMIDL_STUB_DESC pStubDesc;
+ const SERVER_ROUTINE *DispatchTable;
+ PFORMAT_STRING ProcString;
+ const unsigned short *FmtStringOffset;
+ const STUB_THUNK *ThunkTable;
+ PRPC_SYNTAX_IDENTIFIER pTransferSyntax;
+ ULONG_PTR nCount;
+ PMIDL_SYNTAX_INFO pSyntaxInfo;
+} MIDL_SERVER_INFO, *PMIDL_SERVER_INFO;
+
+typedef struct _MIDL_STUBLESS_PROXY_INFO
+{
+ PMIDL_STUB_DESC pStubDesc;
+ PFORMAT_STRING ProcFormatString;
+ const unsigned short *FormatStringOffset;
+ PRPC_SYNTAX_IDENTIFIER pTransferSyntax;
+ ULONG_PTR nCount;
+ PMIDL_SYNTAX_INFO pSyntaxInfo;
+} MIDL_STUBLESS_PROXY_INFO, *PMIDL_STUBLESS_PROXY_INFO;
+
+
+#if defined(__i386__) && !defined(__MSC_VER) && !defined(__MINGW32__) && !defined(__CYGWIN__)
+/* Calling convention for returning structures/unions is different between Windows and gcc on i386 */
+typedef LONG_PTR CLIENT_CALL_RETURN;
+#else
+typedef union _CLIENT_CALL_RETURN
+{
+ void *Pointer;
+ LONG_PTR Simple;
+} CLIENT_CALL_RETURN;
+#endif
+
+typedef enum {
+ STUB_UNMARSHAL,
+ STUB_CALL_SERVER,
+ STUB_MARSHAL,
+ STUB_CALL_SERVER_NO_HRESULT
+} STUB_PHASE;
+
+typedef enum {
+ PROXY_CALCSIZE,
+ PROXY_GETBUFFER,
+ PROXY_MARSHAL,
+ PROXY_SENDRECEIVE,
+ PROXY_UNMARSHAL
+} PROXY_PHASE;
+
+typedef enum {
+ XLAT_SERVER = 1,
+ XLAT_CLIENT
+} XLAT_SIDE;
+
+typedef struct _FULL_PTR_TO_REFID_ELEMENT {
+ struct _FULL_PTR_TO_REFID_ELEMENT *Next;
+ void *Pointer;
+ ULONG RefId;
+ unsigned char State;
+} FULL_PTR_TO_REFID_ELEMENT, *PFULL_PTR_TO_REFID_ELEMENT;
+
+/* Full pointer translation tables */
+typedef struct _FULL_PTR_XLAT_TABLES {
+ struct {
+ void **XlatTable;
+ unsigned char *StateTable;
+ ULONG NumberOfEntries;
+ } RefIdToPointer;
+
+ struct {
+ PFULL_PTR_TO_REFID_ELEMENT *XlatTable;
+ ULONG NumberOfBuckets;
+ ULONG HashMask;
+ } PointerToRefId;
+
+ ULONG NextRefId;
+ XLAT_SIDE XlatSide;
+} FULL_PTR_XLAT_TABLES, *PFULL_PTR_XLAT_TABLES;
+
+struct IRpcStubBuffer;
+
+typedef ULONG error_status_t;
+typedef void * NDR_CCONTEXT;
+
+typedef struct _SCONTEXT_QUEUE {
+ ULONG NumberOfObjects;
+ NDR_SCONTEXT *ArrayOfObjects;
+} SCONTEXT_QUEUE, *PSCONTEXT_QUEUE;
+
+typedef struct _NDR_USER_MARSHAL_INFO_LEVEL1
+{
+ void *Buffer;
+ ULONG BufferSize;
+ void * (__WINE_ALLOC_SIZE(1) __RPC_API *pfnAllocate)(SIZE_T);
+ void (__RPC_API *pfnFree)(void *);
+ struct IRpcChannelBuffer *pRpcChannelBuffer;
+ ULONG_PTR Reserved[5];
+} NDR_USER_MARSHAL_INFO_LEVEL1;
+
+typedef struct _NDR_USER_MARSHAL_INFO
+{
+ ULONG InformationLevel;
+ union
+ {
+ NDR_USER_MARSHAL_INFO_LEVEL1 Level1;
+ } DUMMYUNIONNAME1;
+} NDR_USER_MARSHAL_INFO;
+
+/* Context Handles */
+
+RPCRTAPI RPC_BINDING_HANDLE RPC_ENTRY
+ NDRCContextBinding( NDR_CCONTEXT CContext );
+
+RPCRTAPI void RPC_ENTRY
+ NDRCContextMarshall( NDR_CCONTEXT CContext, void *pBuff );
+
+RPCRTAPI void RPC_ENTRY
+ NDRCContextUnmarshall( NDR_CCONTEXT *pCContext, RPC_BINDING_HANDLE hBinding,
+ void *pBuff, ULONG DataRepresentation );
+
+RPCRTAPI void RPC_ENTRY
+ NDRSContextMarshall( NDR_SCONTEXT CContext, void *pBuff, NDR_RUNDOWN userRunDownIn );
+
+RPCRTAPI NDR_SCONTEXT RPC_ENTRY
+ NDRSContextUnmarshall( void *pBuff, ULONG DataRepresentation );
+
+RPCRTAPI void RPC_ENTRY
+ NDRSContextMarshallEx( RPC_BINDING_HANDLE BindingHandle, NDR_SCONTEXT CContext,
+ void *pBuff, NDR_RUNDOWN userRunDownIn );
+
+RPCRTAPI void RPC_ENTRY
+ NDRSContextMarshall2( RPC_BINDING_HANDLE BindingHandle, NDR_SCONTEXT CContext,
+ void *pBuff, NDR_RUNDOWN userRunDownIn, void * CtxGuard,
+ ULONG Flags );
+
+RPCRTAPI NDR_SCONTEXT RPC_ENTRY
+ NDRSContextUnmarshallEx( RPC_BINDING_HANDLE BindingHandle, void *pBuff,
+ ULONG DataRepresentation );
+
+RPCRTAPI NDR_SCONTEXT RPC_ENTRY
+ NDRSContextUnmarshall2( RPC_BINDING_HANDLE BindingHandle, void *pBuff,
+ ULONG DataRepresentation, void *CtxGuard,
+ ULONG Flags );
+
+RPCRTAPI void RPC_ENTRY
+ NdrClientContextMarshall ( PMIDL_STUB_MESSAGE pStubMsg, NDR_CCONTEXT ContextHandle, int fCheck );
+
+RPCRTAPI void RPC_ENTRY
+ NdrClientContextUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, NDR_CCONTEXT* pContextHandle,
+ RPC_BINDING_HANDLE BindHandle );
+
+RPCRTAPI void RPC_ENTRY
+ NdrServerContextMarshall ( PMIDL_STUB_MESSAGE pStubMsg, NDR_SCONTEXT ContextHandle, NDR_RUNDOWN RundownRoutine );
+
+RPCRTAPI NDR_SCONTEXT RPC_ENTRY
+ NdrServerContextUnmarshall( PMIDL_STUB_MESSAGE pStubMsg );
+
+RPCRTAPI void RPC_ENTRY
+ NdrContextHandleSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat );
+
+RPCRTAPI NDR_SCONTEXT RPC_ENTRY
+ NdrContextHandleInitialize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat );
+
+RPCRTAPI void RPC_ENTRY
+ NdrServerContextNewMarshall( PMIDL_STUB_MESSAGE pStubMsg, NDR_SCONTEXT ContextHandle,
+ NDR_RUNDOWN RundownRoutine, PFORMAT_STRING pFormat );
+
+RPCRTAPI NDR_SCONTEXT RPC_ENTRY
+ NdrServerContextNewUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ RpcSmDestroyClientContext( void **ContextHandle );
+
+RPCRTAPI void RPC_ENTRY
+ RpcSsDestroyClientContext( void **ContextHandle );
+
+RPCRTAPI void RPC_ENTRY
+ NdrSimpleTypeMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, unsigned char FormatChar );
+RPCRTAPI void RPC_ENTRY
+ NdrSimpleTypeUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, unsigned char FormatChar );
+
+RPCRTAPI unsigned char* RPC_ENTRY
+ NdrByteCountPointerMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat );
+RPCRTAPI unsigned char* RPC_ENTRY
+ NdrByteCountPointerUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char** ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc );
+RPCRTAPI void RPC_ENTRY
+ NdrByteCountPointerBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat );
+RPCRTAPI void RPC_ENTRY
+ NdrByteCountPointerFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat );
+
+RPCRTAPI unsigned char* RPC_ENTRY
+ NdrRangeUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char** ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc );
+
+/* while MS declares each prototype separately, I prefer to use macros for this kind of thing instead */
+#define SIMPLE_TYPE_MARSHAL(type) \
+RPCRTAPI unsigned char* RPC_ENTRY \
+ Ndr##type##Marshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat ); \
+RPCRTAPI unsigned char* RPC_ENTRY \
+ Ndr##type##Unmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char** ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); \
+RPCRTAPI void RPC_ENTRY \
+ Ndr##type##BufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat ); \
+RPCRTAPI ULONG RPC_ENTRY \
+ Ndr##type##MemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat );
+
+#define TYPE_MARSHAL(type) \
+ SIMPLE_TYPE_MARSHAL(type) \
+RPCRTAPI void RPC_ENTRY \
+ Ndr##type##Free( PMIDL_STUB_MESSAGE pStubMsg, unsigned char* pMemory, PFORMAT_STRING pFormat );
+
+TYPE_MARSHAL(Pointer)
+TYPE_MARSHAL(SimpleStruct)
+TYPE_MARSHAL(ConformantStruct)
+TYPE_MARSHAL(ConformantVaryingStruct)
+TYPE_MARSHAL(ComplexStruct)
+TYPE_MARSHAL(FixedArray)
+TYPE_MARSHAL(ConformantArray)
+TYPE_MARSHAL(ConformantVaryingArray)
+TYPE_MARSHAL(VaryingArray)
+TYPE_MARSHAL(ComplexArray)
+TYPE_MARSHAL(EncapsulatedUnion)
+TYPE_MARSHAL(NonEncapsulatedUnion)
+TYPE_MARSHAL(XmitOrRepAs)
+TYPE_MARSHAL(UserMarshal)
+TYPE_MARSHAL(InterfacePointer)
+
+SIMPLE_TYPE_MARSHAL(ConformantString)
+SIMPLE_TYPE_MARSHAL(NonConformantString)
+
+#undef TYPE_MARSHAL
+#undef SIMPLE_TYPE_MARSHAL
+
+RPCRTAPI void RPC_ENTRY
+ NdrCorrelationInitialize( PMIDL_STUB_MESSAGE pStubMsg, void *pMemory, ULONG CacheSize, ULONG flags );
+RPCRTAPI void RPC_ENTRY
+ NdrCorrelationPass( PMIDL_STUB_MESSAGE pStubMsg );
+RPCRTAPI void RPC_ENTRY
+ NdrCorrelationFree( PMIDL_STUB_MESSAGE pStubMsg );
+
+RPCRTAPI void RPC_ENTRY
+ NdrConvert2( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat, LONG NumberParams );
+RPCRTAPI void RPC_ENTRY
+ NdrConvert( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat );
+
+#define USER_MARSHAL_FC_BYTE 1
+#define USER_MARSHAL_FC_CHAR 2
+#define USER_MARSHAL_FC_SMALL 3
+#define USER_MARSHAL_FC_USMALL 4
+#define USER_MARSHAL_FC_WCHAR 5
+#define USER_MARSHAL_FC_SHORT 6
+#define USER_MARSHAL_FC_USHORT 7
+#define USER_MARSHAL_FC_LONG 8
+#define USER_MARSHAL_FC_ULONG 9
+#define USER_MARSHAL_FC_FLOAT 10
+#define USER_MARSHAL_FC_HYPER 11
+#define USER_MARSHAL_FC_DOUBLE 12
+
+RPCRTAPI unsigned char* RPC_ENTRY
+ NdrUserMarshalSimpleTypeConvert( ULONG *pFlags, unsigned char *pBuffer, unsigned char FormatChar );
+
+CLIENT_CALL_RETURN RPC_VAR_ENTRY
+ NdrClientCall2( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... );
+CLIENT_CALL_RETURN RPC_VAR_ENTRY
+ NdrClientCall( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... );
+CLIENT_CALL_RETURN RPC_VAR_ENTRY
+ NdrAsyncClientCall( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... );
+CLIENT_CALL_RETURN RPC_VAR_ENTRY
+ NdrDcomAsyncClientCall( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... );
+
+RPCRTAPI void RPC_ENTRY
+ NdrServerCall2( PRPC_MESSAGE pRpcMsg );
+RPCRTAPI void RPC_ENTRY
+ NdrServerCall( PRPC_MESSAGE pRpcMsg );
+RPCRTAPI void RPC_ENTRY
+ NdrAsyncServerCall( PRPC_MESSAGE pRpcMsg );
+
+RPCRTAPI LONG RPC_ENTRY
+ NdrStubCall2( struct IRpcStubBuffer* pThis, struct IRpcChannelBuffer* pChannel, PRPC_MESSAGE pRpcMsg, DWORD * pdwStubPhase );
+RPCRTAPI LONG RPC_ENTRY
+ NdrStubCall( struct IRpcStubBuffer* pThis, struct IRpcChannelBuffer* pChannel, PRPC_MESSAGE pRpcMsg, DWORD * pdwStubPhase );
+RPCRTAPI LONG RPC_ENTRY
+ NdrAsyncStubCall( struct IRpcStubBuffer* pThis, struct IRpcChannelBuffer* pChannel, PRPC_MESSAGE pRpcMsg, DWORD * pdwStubPhase );
+RPCRTAPI LONG RPC_ENTRY
+ NdrDcomAsyncStubCall( struct IRpcStubBuffer* pThis, struct IRpcChannelBuffer* pChannel, PRPC_MESSAGE pRpcMsg, DWORD * pdwStubPhase );
+
+RPCRTAPI void* RPC_ENTRY
+ NdrAllocate( PMIDL_STUB_MESSAGE pStubMsg, SIZE_T Len ) __WINE_ALLOC_SIZE(2);
+
+RPCRTAPI void RPC_ENTRY
+ NdrClearOutParameters( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat, void *ArgAddr );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ NdrMapCommAndFaultStatus( PMIDL_STUB_MESSAGE pStubMsg, ULONG *pCommStatus,
+ ULONG *pFaultStatus, RPC_STATUS Status_ );
+
+RPCRTAPI void* RPC_ENTRY
+ NdrOleAllocate( SIZE_T Size ) __WINE_ALLOC_SIZE(1);
+RPCRTAPI void RPC_ENTRY
+ NdrOleFree( void* NodeToFree );
+
+RPCRTAPI void RPC_ENTRY
+ NdrClientInitialize( PRPC_MESSAGE pRpcMessage, PMIDL_STUB_MESSAGE pStubMsg,
+ PMIDL_STUB_DESC pStubDesc, unsigned int ProcNum );
+RPCRTAPI void RPC_ENTRY
+ NdrClientInitializeNew( PRPC_MESSAGE pRpcMessage, PMIDL_STUB_MESSAGE pStubMsg,
+ PMIDL_STUB_DESC pStubDesc, unsigned int ProcNum );
+RPCRTAPI unsigned char* RPC_ENTRY
+ NdrServerInitialize( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDesc );
+RPCRTAPI unsigned char* RPC_ENTRY
+ NdrServerInitializeNew( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDesc );
+RPCRTAPI unsigned char* RPC_ENTRY
+ NdrServerInitializeUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDesc, PRPC_MESSAGE pRpcMsg );
+RPCRTAPI void RPC_ENTRY
+ NdrServerInitializeMarshall( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg );
+RPCRTAPI void RPC_ENTRY
+ NdrServerMarshall( struct IRpcStubBuffer *pThis, struct IRpcChannelBuffer *pChannel, PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat );
+RPCRTAPI void RPC_ENTRY
+ NdrServerUnmarshall( struct IRpcChannelBuffer *pChannel, PRPC_MESSAGE pRpcMsg,
+ PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDesc,
+ PFORMAT_STRING pFormat, void *pParamList );
+RPCRTAPI unsigned char* RPC_ENTRY
+ NdrGetBuffer( PMIDL_STUB_MESSAGE stubmsg, ULONG buflen, RPC_BINDING_HANDLE handle );
+RPCRTAPI void RPC_ENTRY
+ NdrFreeBuffer( PMIDL_STUB_MESSAGE pStubMsg );
+RPCRTAPI unsigned char* RPC_ENTRY
+ NdrSendReceive( PMIDL_STUB_MESSAGE stubmsg, unsigned char *buffer );
+
+RPCRTAPI unsigned char * RPC_ENTRY
+ NdrNsGetBuffer( PMIDL_STUB_MESSAGE pStubMsg, ULONG BufferLength, RPC_BINDING_HANDLE Handle );
+RPCRTAPI unsigned char * RPC_ENTRY
+ NdrNsSendReceive( PMIDL_STUB_MESSAGE pStubMsg, unsigned char *pBufferEnd, RPC_BINDING_HANDLE *pAutoHandle );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ NdrGetDcomProtocolVersion( PMIDL_STUB_MESSAGE pStubMsg, RPC_VERSION *pVersion );
+
+RPCRTAPI PFULL_PTR_XLAT_TABLES RPC_ENTRY
+ NdrFullPointerXlatInit( ULONG NumberOfPointers, XLAT_SIDE XlatSide );
+RPCRTAPI void RPC_ENTRY
+ NdrFullPointerXlatFree( PFULL_PTR_XLAT_TABLES pXlatTables );
+RPCRTAPI int RPC_ENTRY
+ NdrFullPointerQueryPointer( PFULL_PTR_XLAT_TABLES pXlatTables, void *pPointer,
+ unsigned char QueryType, ULONG *pRefId );
+RPCRTAPI int RPC_ENTRY
+ NdrFullPointerQueryRefId( PFULL_PTR_XLAT_TABLES pXlatTables, ULONG RefId,
+ unsigned char QueryType, void **ppPointer );
+RPCRTAPI void RPC_ENTRY
+ NdrFullPointerInsertRefId( PFULL_PTR_XLAT_TABLES pXlatTables, ULONG RefId, void *pPointer );
+RPCRTAPI int RPC_ENTRY
+ NdrFullPointerFree( PFULL_PTR_XLAT_TABLES pXlatTables, void *Pointer );
+
+RPCRTAPI void RPC_ENTRY
+ NdrRpcSsEnableAllocate( PMIDL_STUB_MESSAGE pMessage );
+RPCRTAPI void RPC_ENTRY
+ NdrRpcSsDisableAllocate( PMIDL_STUB_MESSAGE pMessage );
+RPCRTAPI void RPC_ENTRY
+ NdrRpcSmSetClientToOsf( PMIDL_STUB_MESSAGE pMessage );
+RPCRTAPI void * RPC_ENTRY
+ NdrRpcSmClientAllocate( SIZE_T Size ) __WINE_ALLOC_SIZE(1);
+RPCRTAPI void RPC_ENTRY
+ NdrRpcSmClientFree( void *NodeToFree );
+RPCRTAPI void * RPC_ENTRY
+ NdrRpcSsDefaultAllocate( SIZE_T Size ) __WINE_ALLOC_SIZE(1);
+RPCRTAPI void RPC_ENTRY
+ NdrRpcSsDefaultFree( void *NodeToFree );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ NdrGetUserMarshalInfo( ULONG *pFlags, ULONG InformationLevel, NDR_USER_MARSHAL_INFO *pMarshalInfo );
+
+#ifdef __cplusplus
+}
+#endif
+#endif /*__WINE_RPCNDR_H */