Home | History | Annotate | Download | only in include
      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