| /* | |
| * NDR Serialization Services | |
| * | |
| * Copyright (c) 2007 Robert Shearman for CodeWeavers | |
| * | |
| * 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 | |
| */ | |
| #ifndef __WINE_MIDLES_H__ | |
| #define __WINE_MIDLES_H__ | |
| #include <rpcndr.h> | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| typedef enum | |
| { | |
| MES_ENCODE, | |
| MES_DECODE | |
| } MIDL_ES_CODE; | |
| typedef enum | |
| { | |
| MES_INCREMENTAL_HANDLE, | |
| MES_FIXED_BUFFER_HANDLE, | |
| MES_DYNAMIC_BUFFER_HANDLE | |
| } MIDL_ES_HANDLE_STYLE; | |
| typedef void (__RPC_USER * MIDL_ES_ALLOC)(void *,char **,unsigned int *); | |
| typedef void (__RPC_USER * MIDL_ES_WRITE)(void *,char *,unsigned int); | |
| typedef void (__RPC_USER * MIDL_ES_READ)(void *,char **,unsigned int *); | |
| typedef struct _MIDL_ES_MESSAGE | |
| { | |
| MIDL_STUB_MESSAGE StubMsg; | |
| MIDL_ES_CODE Operation; | |
| void *UserState; | |
| ULONG MesVersion : 8; | |
| ULONG HandleStyle : 8; | |
| ULONG HandleFlags : 8; | |
| ULONG Reserve : 8; | |
| MIDL_ES_ALLOC Alloc; | |
| MIDL_ES_WRITE Write; | |
| MIDL_ES_READ Read; | |
| unsigned char *Buffer; | |
| ULONG BufferSize; | |
| unsigned char **pDynBuffer; | |
| ULONG *pEncodedSize; | |
| RPC_SYNTAX_IDENTIFIER InterfaceId; | |
| ULONG ProcNumber; | |
| ULONG AlienDataRep; | |
| ULONG IncrDataSize; | |
| ULONG ByteCount; | |
| } MIDL_ES_MESSAGE, *PMIDL_ES_MESSAGE; | |
| typedef PMIDL_ES_MESSAGE MIDL_ES_HANDLE; | |
| typedef struct _MIDL_TYPE_PICKLING_INFO | |
| { | |
| ULONG Version; | |
| ULONG Flags; | |
| UINT_PTR Reserved[3]; | |
| } MIDL_TYPE_PICKLING_INFO, *PMIDL_TYPE_PICKLING_INFO; | |
| RPC_STATUS RPC_ENTRY | |
| MesEncodeIncrementalHandleCreate(void *,MIDL_ES_ALLOC,MIDL_ES_WRITE,handle_t *); | |
| RPC_STATUS RPC_ENTRY | |
| MesDecodeIncrementalHandleCreate(void *,MIDL_ES_READ,handle_t *); | |
| RPC_STATUS RPC_ENTRY | |
| MesIncrementalHandleReset(handle_t,void *,MIDL_ES_ALLOC,MIDL_ES_WRITE,MIDL_ES_READ,MIDL_ES_CODE); | |
| RPC_STATUS RPC_ENTRY | |
| MesEncodeFixedBufferHandleCreate(char *,ULONG,ULONG *,handle_t *); | |
| RPC_STATUS RPC_ENTRY | |
| MesEncodeDynBufferHandleCreate(char **,ULONG *,handle_t *); | |
| RPC_STATUS RPC_ENTRY | |
| MesDecodeBufferHandleCreate(char *,ULONG,handle_t *); | |
| RPC_STATUS RPC_ENTRY | |
| MesBufferHandleReset(handle_t,ULONG,MIDL_ES_CODE,char **,ULONG,ULONG *); | |
| RPC_STATUS RPC_ENTRY | |
| MesHandleFree(handle_t); | |
| RPC_STATUS RPC_ENTRY | |
| MesInqProcEncodingId(handle_t,PRPC_SYNTAX_IDENTIFIER,ULONG *); | |
| SIZE_T RPC_ENTRY | |
| NdrMesSimpleTypeAlignSize(handle_t); | |
| void RPC_ENTRY | |
| NdrMesSimpleTypeDecode(handle_t,void *,short); | |
| void RPC_ENTRY | |
| NdrMesSimpleTypeEncode(handle_t,const MIDL_STUB_DESC *,const void *,short); | |
| SIZE_T RPC_ENTRY | |
| NdrMesTypeAlignSize(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,const void *); | |
| void RPC_ENTRY | |
| NdrMesTypeEncode(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,const void *); | |
| void RPC_ENTRY | |
| NdrMesTypeDecode(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,void *); | |
| SIZE_T RPC_ENTRY | |
| NdrMesTypeAlignSize2(handle_t,const MIDL_TYPE_PICKLING_INFO *,const MIDL_STUB_DESC *,PFORMAT_STRING,const void *); | |
| void RPC_ENTRY | |
| NdrMesTypeEncode2(handle_t,const MIDL_TYPE_PICKLING_INFO *,const MIDL_STUB_DESC *,PFORMAT_STRING,const void *); | |
| void RPC_ENTRY | |
| NdrMesTypeDecode2(handle_t,const MIDL_TYPE_PICKLING_INFO *,const MIDL_STUB_DESC *,PFORMAT_STRING,void *); | |
| void RPC_ENTRY | |
| NdrMesTypeFree2(handle_t,const MIDL_TYPE_PICKLING_INFO *,const MIDL_STUB_DESC *,PFORMAT_STRING,void *); | |
| void RPC_VAR_ENTRY | |
| NdrMesProcEncodeDecode(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,...); | |
| CLIENT_CALL_RETURN RPC_VAR_ENTRY | |
| NdrMesProcEncodeDeocde2(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,...); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* __WINE_MIDLES_H__ */ |