ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

midles.h
Go to the documentation of this file.
00001 /*
00002  * NDR Serialization Services
00003  *
00004  * Copyright (c) 2007 Robert Shearman for CodeWeavers
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 #ifndef __WINE_MIDLES_H__
00022 #define __WINE_MIDLES_H__
00023 
00024 #include <rpcndr.h>
00025 
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029 
00030 typedef enum
00031 {
00032     MES_ENCODE,
00033     MES_DECODE
00034 } MIDL_ES_CODE;
00035 
00036 typedef enum
00037 {
00038     MES_INCREMENTAL_HANDLE,
00039     MES_FIXED_BUFFER_HANDLE,
00040     MES_DYNAMIC_BUFFER_HANDLE
00041 } MIDL_ES_HANDLE_STYLE;
00042 
00043 typedef void (__RPC_USER * MIDL_ES_ALLOC)(void *,char **,unsigned int *);
00044 typedef void (__RPC_USER * MIDL_ES_WRITE)(void *,char *,unsigned int);
00045 typedef void (__RPC_USER * MIDL_ES_READ)(void *,char **,unsigned int *);
00046 
00047 typedef struct _MIDL_ES_MESSAGE
00048 {
00049     MIDL_STUB_MESSAGE       StubMsg;
00050     MIDL_ES_CODE            Operation;
00051     void                   *UserState;
00052     ULONG                   MesVersion : 8;
00053     ULONG                   HandleStyle : 8;
00054     ULONG                   HandleFlags : 8;
00055     ULONG                   Reserve : 8;
00056     MIDL_ES_ALLOC           Alloc;
00057     MIDL_ES_WRITE           Write;
00058     MIDL_ES_READ            Read;
00059     unsigned char          *Buffer;
00060     ULONG                   BufferSize;
00061     unsigned char         **pDynBuffer;
00062     ULONG                  *pEncodedSize;
00063     RPC_SYNTAX_IDENTIFIER   InterfaceId;
00064     ULONG                   ProcNumber;
00065     ULONG                   AlienDataRep;
00066     ULONG                   IncrDataSize;
00067     ULONG                   ByteCount;
00068 } MIDL_ES_MESSAGE, *PMIDL_ES_MESSAGE;
00069 
00070 typedef PMIDL_ES_MESSAGE MIDL_ES_HANDLE;
00071 
00072 typedef struct _MIDL_TYPE_PICKLING_INFO
00073 {
00074     ULONG       Version;
00075     ULONG       Flags;
00076     UINT_PTR    Reserved[3];
00077 } MIDL_TYPE_PICKLING_INFO, *PMIDL_TYPE_PICKLING_INFO;
00078 
00079 RPC_STATUS RPC_ENTRY
00080  MesEncodeIncrementalHandleCreate(void *,MIDL_ES_ALLOC,MIDL_ES_WRITE,handle_t *);
00081 RPC_STATUS RPC_ENTRY
00082  MesDecodeIncrementalHandleCreate(void *,MIDL_ES_READ,handle_t *);
00083 RPC_STATUS RPC_ENTRY
00084  MesIncrementalHandleReset(handle_t,void *,MIDL_ES_ALLOC,MIDL_ES_WRITE,MIDL_ES_READ,MIDL_ES_CODE);
00085 
00086 RPC_STATUS RPC_ENTRY
00087  MesEncodeFixedBufferHandleCreate(char *,ULONG,ULONG *,handle_t *);
00088 RPC_STATUS RPC_ENTRY
00089  MesEncodeDynBufferHandleCreate(char **,ULONG *,handle_t *);
00090 RPC_STATUS RPC_ENTRY
00091  MesDecodeBufferHandleCreate(char *,ULONG,handle_t *);
00092 RPC_STATUS RPC_ENTRY
00093  MesBufferHandleReset(handle_t,ULONG,MIDL_ES_CODE,char **,ULONG,ULONG *);
00094 
00095 RPC_STATUS RPC_ENTRY
00096  MesHandleFree(handle_t);
00097 
00098 RPC_STATUS RPC_ENTRY
00099  MesInqProcEncodingId(handle_t,PRPC_SYNTAX_IDENTIFIER,ULONG *);
00100 
00101 SIZE_T RPC_ENTRY
00102  NdrMesSimpleTypeAlignSize(handle_t);
00103 void RPC_ENTRY
00104  NdrMesSimpleTypeDecode(handle_t,void *,short);
00105 void RPC_ENTRY
00106  NdrMesSimpleTypeEncode(handle_t,const MIDL_STUB_DESC *,const void *,short);
00107 
00108 SIZE_T RPC_ENTRY
00109  NdrMesTypeAlignSize(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,const void *);
00110 void RPC_ENTRY
00111  NdrMesTypeEncode(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,const void *);
00112 void RPC_ENTRY
00113  NdrMesTypeDecode(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,void *);
00114 
00115 SIZE_T RPC_ENTRY
00116  NdrMesTypeAlignSize2(handle_t,const MIDL_TYPE_PICKLING_INFO *,const MIDL_STUB_DESC *,PFORMAT_STRING,const void *);
00117 void RPC_ENTRY
00118  NdrMesTypeEncode2(handle_t,const MIDL_TYPE_PICKLING_INFO *,const MIDL_STUB_DESC *,PFORMAT_STRING,const void *);
00119 void RPC_ENTRY
00120  NdrMesTypeDecode2(handle_t,const MIDL_TYPE_PICKLING_INFO *,const MIDL_STUB_DESC *,PFORMAT_STRING,void *);
00121 void RPC_ENTRY
00122  NdrMesTypeFree2(handle_t,const MIDL_TYPE_PICKLING_INFO *,const MIDL_STUB_DESC *,PFORMAT_STRING,void *);
00123 
00124 void RPC_VAR_ENTRY
00125  NdrMesProcEncodeDecode(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,...);
00126 CLIENT_CALL_RETURN RPC_VAR_ENTRY
00127  NdrMesProcEncodeDeocde2(handle_t,const MIDL_STUB_DESC *,PFORMAT_STRING,...);
00128 
00129 #ifdef __cplusplus
00130 }
00131 #endif
00132 
00133 #endif /* __WINE_MIDLES_H__ */

Generated on Sat May 26 2012 04:30:26 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.