1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef __MIDLES_H__ 7 #define __MIDLES_H__ 8 9 #include <rpcndr.h> 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 typedef enum { 16 MES_ENCODE,MES_DECODE,MES_ENCODE_NDR64 17 } MIDL_ES_CODE; 18 19 typedef enum { 20 MES_INCREMENTAL_HANDLE,MES_FIXED_BUFFER_HANDLE,MES_DYNAMIC_BUFFER_HANDLE 21 } MIDL_ES_HANDLE_STYLE; 22 23 typedef void (__RPC_API *MIDL_ES_ALLOC)(void *state,char **pbuffer,unsigned int *psize); 24 typedef void (__RPC_API *MIDL_ES_WRITE)(void *state,char *buffer,unsigned int size); 25 typedef void (__RPC_API *MIDL_ES_READ)(void *state,char **pbuffer,unsigned int *psize); 26 typedef handle_t MIDL_ES_HANDLE; 27 28 typedef struct _MIDL_TYPE_PICKLING_INFO { 29 unsigned __LONG32 Version; 30 unsigned __LONG32 Flags; 31 UINT_PTR Reserved[3]; 32 } MIDL_TYPE_PICKLING_INFO,*PMIDL_TYPE_PICKLING_INFO; 33 34 RPC_STATUS RPC_ENTRY MesEncodeIncrementalHandleCreate(void *UserState,MIDL_ES_ALLOC AllocFn,MIDL_ES_WRITE WriteFn,handle_t *pHandle); 35 RPC_STATUS RPC_ENTRY MesDecodeIncrementalHandleCreate(void *UserState,MIDL_ES_READ ReadFn,handle_t *pHandle); 36 RPC_STATUS RPC_ENTRY MesIncrementalHandleReset(handle_t Handle,void *UserState,MIDL_ES_ALLOC AllocFn,MIDL_ES_WRITE WriteFn,MIDL_ES_READ ReadFn,MIDL_ES_CODE Operation); 37 RPC_STATUS RPC_ENTRY MesEncodeFixedBufferHandleCreate(char *pBuffer,unsigned __LONG32 BufferSize,unsigned __LONG32 *pEncodedSize,handle_t *pHandle); 38 RPC_STATUS RPC_ENTRY MesEncodeDynBufferHandleCreate(char **pBuffer,unsigned __LONG32 *pEncodedSize,handle_t *pHandle); 39 RPC_STATUS RPC_ENTRY MesDecodeBufferHandleCreate(char *pBuffer,unsigned __LONG32 BufferSize,handle_t *pHandle); 40 RPC_STATUS RPC_ENTRY MesBufferHandleReset(handle_t Handle,unsigned __LONG32 HandleStyle,MIDL_ES_CODE Operation,char **pBuffer,unsigned __LONG32 BufferSize,unsigned __LONG32 *pEncodedSize); 41 RPC_STATUS RPC_ENTRY MesHandleFree(handle_t Handle); 42 RPC_STATUS RPC_ENTRY MesInqProcEncodingId(handle_t Handle,PRPC_SYNTAX_IDENTIFIER pInterfaceId,unsigned __LONG32 *pProcNum); 43 size_t RPC_ENTRY NdrMesSimpleTypeAlignSize (handle_t); 44 void RPC_ENTRY NdrMesSimpleTypeDecode(handle_t Handle,void *pObject,short Size); 45 void RPC_ENTRY NdrMesSimpleTypeEncode(handle_t Handle,const MIDL_STUB_DESC *pStubDesc,const void *pObject,short Size); 46 size_t RPC_ENTRY NdrMesTypeAlignSize(handle_t Handle,const MIDL_STUB_DESC *pStubDesc,PFORMAT_STRING pFormatString,const void *pObject); 47 void RPC_ENTRY NdrMesTypeEncode(handle_t Handle,const MIDL_STUB_DESC *pStubDesc,PFORMAT_STRING pFormatString,const void *pObject); 48 void RPC_ENTRY NdrMesTypeDecode(handle_t Handle,const MIDL_STUB_DESC *pStubDesc,PFORMAT_STRING pFormatString,void *pObject); 49 size_t RPC_ENTRY NdrMesTypeAlignSize2(handle_t Handle,const MIDL_TYPE_PICKLING_INFO *pPicklingInfo,const MIDL_STUB_DESC *pStubDesc,PFORMAT_STRING pFormatString,const void *pObject); 50 void RPC_ENTRY NdrMesTypeEncode2(handle_t Handle,const MIDL_TYPE_PICKLING_INFO *pPicklingInfo,const MIDL_STUB_DESC *pStubDesc,PFORMAT_STRING pFormatString,const void *pObject); 51 void RPC_ENTRY NdrMesTypeDecode2(handle_t Handle,const MIDL_TYPE_PICKLING_INFO *pPicklingInfo,const MIDL_STUB_DESC *pStubDesc,PFORMAT_STRING pFormatString,void *pObject); 52 void RPC_ENTRY NdrMesTypeFree2(handle_t Handle,const MIDL_TYPE_PICKLING_INFO *pPicklingInfo,const MIDL_STUB_DESC *pStubDesc,PFORMAT_STRING pFormatString,void *pObject); 53 void RPC_VAR_ENTRY NdrMesProcEncodeDecode(handle_t Handle,const MIDL_STUB_DESC *pStubDesc,PFORMAT_STRING pFormatString,...); 54 CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrMesProcEncodeDecode2(handle_t Handle,const MIDL_STUB_DESC *pStubDesc,PFORMAT_STRING pFormatString,...); 55 size_t RPC_ENTRY NdrMesTypeAlignSize3(handle_t Handle,const MIDL_TYPE_PICKLING_INFO *pPicklingInfo,const MIDL_STUBLESS_PROXY_INFO *pProxyInfo,const unsigned __LONG32 **ArrTypeOffset,unsigned __LONG32 nTypeIndex,const void *pObject); 56 void RPC_ENTRY NdrMesTypeEncode3(handle_t Handle,const MIDL_TYPE_PICKLING_INFO *pPicklingInfo,const MIDL_STUBLESS_PROXY_INFO *pProxyInfo,const unsigned __LONG32 **ArrTypeOffset,unsigned __LONG32 nTypeIndex,const void *pObject); 57 void RPC_ENTRY NdrMesTypeDecode3(handle_t Handle,const MIDL_TYPE_PICKLING_INFO *pPicklingInfo,const MIDL_STUBLESS_PROXY_INFO *pProxyInfo,const unsigned __LONG32 **ArrTypeOffset,unsigned __LONG32 nTypeIndex,void *pObject); 58 void RPC_ENTRY NdrMesTypeFree3(handle_t Handle,const MIDL_TYPE_PICKLING_INFO *pPicklingInfo,const MIDL_STUBLESS_PROXY_INFO *pProxyInfo,const unsigned __LONG32 **ArrTypeOffset,unsigned __LONG32 nTypeIndex,void *pObject); 59 CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrMesProcEncodeDecode3(handle_t Handle,const MIDL_STUBLESS_PROXY_INFO *pProxyInfo,unsigned __LONG32 nProcNum,void *pReturnValue,...); 60 void RPC_ENTRY NdrMesSimpleTypeDecodeAll(handle_t Handle,const MIDL_STUBLESS_PROXY_INFO *pProxyInfo,void *pObject,short Size); 61 void RPC_ENTRY NdrMesSimpleTypeEncodeAll(handle_t Handle,const MIDL_STUBLESS_PROXY_INFO *pProxyInfo,const void *pObject,short Size); 62 size_t RPC_ENTRY NdrMesSimpleTypeAlignSizeAll (handle_t Handle,const MIDL_STUBLESS_PROXY_INFO *pProxyInfo); 63 64 #ifdef __cplusplus 65 } 66 #endif 67 #endif 68