diff options
Diffstat (limited to 'winsup/w32api/include/rpcndr.h')
-rw-r--r-- | winsup/w32api/include/rpcndr.h | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/winsup/w32api/include/rpcndr.h b/winsup/w32api/include/rpcndr.h index 8b728bbb5..d1c4eec72 100644 --- a/winsup/w32api/include/rpcndr.h +++ b/winsup/w32api/include/rpcndr.h @@ -196,7 +196,7 @@ typedef struct _MIDL_STUB_MESSAGE { unsigned long *SizePtrLengthArray; void*pArgQueue; unsigned long dwStubPhase; - unsigned long Reserved[5]; + unsigned long w2kReserved[5]; } MIDL_STUB_MESSAGE,*PMIDL_STUB_MESSAGE; #pragma pack(pop) typedef void*(__RPC_API *GENERIC_BINDING_ROUTINE)(void*); @@ -226,6 +226,37 @@ typedef struct _COMM_FAULT_OFFSETS { short CommOffset; short FaultOffset; } COMM_FAULT_OFFSETS; +typedef unsigned long (__RPC_USER *USER_MARSHAL_SIZING_ROUTINE)(unsigned long *,unsigned long,void *); +typedef unsigned char *(__RPC_USER *USER_MARSHAL_MARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *); +typedef unsigned char *(__RPC_USER *USER_MARSHAL_UNMARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *); +typedef void (__RPC_USER *USER_MARSHAL_FREEING_ROUTINE)(unsigned long *,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; +typedef void (__RPC_USER *NDR_NOTIFY_ROUTINE)(void); +typedef enum _IDL_CS_CONVERT { + IDL_CS_NO_CONVERT, + IDL_CS_IN_PLACE_CONVERT, + IDL_CS_NEW_BUFFER_CONVERT +} IDL_CS_CONVERT; +typedef void (__RPC_USER *CS_TYPE_NET_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*); +typedef void (__RPC_USER *CS_TYPE_LOCAL_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*); +typedef void (__RPC_USER *CS_TYPE_TO_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,void*,unsigned long,byte*,unsigned long*,error_status_t*); +typedef void (__RPC_USER *CS_TYPE_FROM_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,byte*,unsigned long,unsigned long,void*,unsigned long*,error_status_t*); +typedef void (__RPC_USER *CS_TAG_GETTING_ROUTINE)(RPC_BINDING_HANDLE,int,unsigned long*,unsigned long*,unsigned long*,error_status_t*); +typedef struct _NDR_CS_SIZE_CONVERT_ROUTINES { + CS_TYPE_NET_SIZE_ROUTINE pfnNetSize; + CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs; + CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize; + CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs; +} NDR_CS_SIZE_CONVERT_ROUTINES; +typedef struct _NDR_CS_ROUTINES { + NDR_CS_SIZE_CONVERT_ROUTINES *pSizeConvertRoutines; + CS_TAG_GETTING_ROUTINE *pTagGettingRoutines; +} NDR_CS_ROUTINES; typedef struct _MIDL_STUB_DESC { void*RpcInterfaceInformation; void*(__RPC_API *pfnAllocate)(unsigned int); @@ -245,6 +276,12 @@ typedef struct _MIDL_STUB_DESC { 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; + const NDR_CS_ROUTINES *CsRoutineTables; + void *Reserved4; + ULONG_PTR Reserved5; } MIDL_STUB_DESC; typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC; typedef void*PMIDL_XMIT_TYPE; @@ -467,6 +504,11 @@ void*RPC_ENTRY NdrAllocate(PMIDL_STUB_MESSAGE,unsigned int); void RPC_ENTRY NdrClearOutParameters(PMIDL_STUB_MESSAGE,PFORMAT_STRING,void*); void*RPC_ENTRY NdrOleAllocate(unsigned int); void RPC_ENTRY NdrOleFree(void*); +unsigned char*RPC_ENTRY NdrUserMarshalMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned char*RPC_ENTRY NdrUserMarshalUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char); +void RPC_ENTRY NdrUserMarshalBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); +unsigned long RPC_ENTRY NdrUserMarshalMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); +void RPC_ENTRY NdrUserMarshalFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING); #ifdef __cplusplus } #endif |