|  | /* | 
|  | * 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__ */ |