holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/rpcndr.h
branchbug235_bringup_0
changeset 20 d2d6724aef32
equal deleted inserted replaced
19:da7c1a80df0d 20:d2d6724aef32
       
     1 #ifndef _RPCNDR_H
       
     2 #define _RPCNDR_H
       
     3 #define __RPCNDR_H__
       
     4 #if __GNUC__ >=3
       
     5 #pragma GCC system_header
       
     6 #endif
       
     7 
       
     8 #ifndef __RPCNDR_H_VERSION__
       
     9 #define __RPCNDR_H_VERSION__        ( 450 )
       
    10 #endif /* __RPCNDR_H_VERSION__ */
       
    11 #include <rpcnsip.h>
       
    12 #ifdef __cplusplus
       
    13 extern "C" {
       
    14 #endif
       
    15 #include <objfwd.h>
       
    16 #define DECLSPEC_UUID(x)
       
    17 #define MIDL_INTERFACE(x) struct
       
    18 #define NDR_CHAR_REP_MASK (unsigned long)0xFL
       
    19 #define NDR_INT_REP_MASK (unsigned long)0xF0L
       
    20 #define NDR_FLOAT_REP_MASK (unsigned long)0xFF00L
       
    21 #define NDR_LITTLE_ENDIAN (unsigned long)0x10L
       
    22 #define NDR_BIG_ENDIAN (unsigned long)0
       
    23 #define NDR_IEEE_FLOAT (unsigned long)0
       
    24 #define NDR_VAX_FLOAT (unsigned long)0x100L
       
    25 #define NDR_ASCII_CHAR (unsigned long)0
       
    26 #define NDR_EBCDIC_CHAR (unsigned long)1
       
    27 #define NDR_LOCAL_DATA_REPRESENTATION (unsigned long)0x10L
       
    28 #define NDR_LOCAL_ENDIAN NDR_LITTLE_ENDIAN
       
    29 #define __RPC_CALLEE __stdcall
       
    30 #ifndef __MIDL_USER_DEFINED
       
    31 #define midl_user_allocate MIDL_user_allocate
       
    32 #define midl_user_free MIDL_user_free
       
    33 #define __MIDL_USER_DEFINED
       
    34 #endif
       
    35 #define RPC_VAR_ENTRY __cdecl
       
    36 #ifdef _M_IX86
       
    37 #define __MIDL_DECLSPEC_DLLIMPORT __declspec(dllimport)
       
    38 #define __MIDL_DECLSPEC_DLLEXPORT __declspec(dllexport)
       
    39 #else
       
    40 #define __MIDL_DECLSPEC_DLLIMPORT
       
    41 #define __MIDL_DECLSPEC_DLLEXPORT
       
    42 #endif
       
    43 #if defined(_HAVE_INT64) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64)
       
    44 #define hyper __int64
       
    45 #define MIDL_uhyper unsigned __int64
       
    46 #else
       
    47 #define hyper double
       
    48 #define MIDL_uhyper double
       
    49 #endif
       
    50 #define small char
       
    51 typedef unsigned char byte;
       
    52 typedef unsigned char boolean;
       
    53 #define NDRSContextValue(hContext) (&(hContext)->userContext)
       
    54 #define cbNDRContext 20
       
    55 #define byte_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
       
    56 #define byte_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
       
    57 #define boolean_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
       
    58 #define boolean_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
       
    59 #define small_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
       
    60 #define small_from_ndr_temp(source, target, format) { *(target) = *(*(char**)(source))++; }
       
    61 #define small_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
       
    62 #define MIDL_ascii_strlen(string) strlen(string)
       
    63 #define MIDL_ascii_strcpy(target,source) strcpy(target,source)
       
    64 #define MIDL_memset(s,c,n) memset(s,c,n)
       
    65 #define _midl_ma1( p, cast ) *(*( cast **)&p)++
       
    66 #define _midl_ma2( p, cast ) *(*( cast **)&p)++
       
    67 #define _midl_ma4( p, cast ) *(*( cast **)&p)++
       
    68 #define _midl_ma8( p, cast ) *(*( cast **)&p)++
       
    69 #define _midl_unma1( p, cast ) *(( cast *)p)++
       
    70 #define _midl_unma2( p, cast ) *(( cast *)p)++
       
    71 #define _midl_unma3( p, cast ) *(( cast *)p)++
       
    72 #define _midl_unma4( p, cast ) *(( cast *)p)++
       
    73 #define _midl_fa2( p ) (p = (RPC_BUFPTR )((unsigned long)(p+1) & 0xfffffffe))
       
    74 #define _midl_fa4( p ) (p = (RPC_BUFPTR )((unsigned long)(p+3) & 0xfffffffc))
       
    75 #define _midl_fa8( p ) (p = (RPC_BUFPTR )((unsigned long)(p+7) & 0xfffffff8))
       
    76 #define _midl_addp( p, n ) (p += n)
       
    77 #define _midl_marsh_lhs( p, cast ) *(*( cast **)&p)++
       
    78 #define _midl_marsh_up( mp, p ) *(*(unsigned long **)&mp)++ = (unsigned long)p
       
    79 #define _midl_advmp( mp ) *(*(unsigned long **)&mp)++
       
    80 #define _midl_unmarsh_up( p ) (*(*(unsigned long **)&p)++)
       
    81 #define NdrMarshConfStringHdr( p, s, l ) (_midl_ma4( p, unsigned long) = s, _midl_ma4( p, unsigned long) = 0, _midl_ma4( p, unsigned long) = l)
       
    82 #define NdrUnMarshConfStringHdr(p, s, l) ((s=_midl_unma4(p,unsigned long), (_midl_addp(p,4)), (l=_midl_unma4(p,unsigned long))
       
    83 #define NdrMarshCCtxtHdl(pc,p) (NDRCContextMarshall( (NDR_CCONTEXT)pc, p ),p+20)
       
    84 #define NdrUnMarshCCtxtHdl(pc,p,h,drep) (NDRCContextUnmarshall((NDR_CONTEXT)pc,h,p,drep), p+20)
       
    85 #define NdrUnMarshSCtxtHdl(pc, p,drep) (pc = NdrSContextUnMarshall(p,drep ))
       
    86 #define NdrMarshSCtxtHdl(pc,p,rd) (NdrSContextMarshall((NDR_SCONTEXT)pc,p, (NDR_RUNDOWN)rd)
       
    87 #define NdrFieldOffset(s,f) (long)(& (((s *)0)->f))
       
    88 #define NdrFieldPad(s,f,p,t) (NdrFieldOffset(s,f) - NdrFieldOffset(s,p) - sizeof(t))
       
    89 #define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8)
       
    90 #define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0000ff00) >> 8), (unsigned char)((s & 0x00ff0000) >> 16), (unsigned char)(s >> 24)
       
    91 #ifdef CONST_VTABLE
       
    92 #define CONST_VTBL const
       
    93 #else
       
    94 #define CONST_VTBL
       
    95 #endif
       
    96 typedef void *NDR_CCONTEXT;
       
    97 typedef struct {
       
    98 	void *pad[2];
       
    99 	void *userContext;
       
   100 } *NDR_SCONTEXT;
       
   101 typedef void (__RPC_USER *NDR_RUNDOWN)(void*);
       
   102 typedef struct _SCONTEXT_QUEUE {
       
   103 	unsigned long NumberOfObjects;
       
   104 	NDR_SCONTEXT *ArrayOfObjects;
       
   105 } SCONTEXT_QUEUE,*PSCONTEXT_QUEUE;
       
   106 struct _MIDL_STUB_MESSAGE;
       
   107 struct _MIDL_STUB_DESC;
       
   108 struct _FULL_PTR_XLAT_TABLES;
       
   109 typedef unsigned char *RPC_BUFPTR;
       
   110 typedef unsigned long RPC_LENGTH;
       
   111 typedef void(__RPC_USER *EXPR_EVAL)(struct _MIDL_STUB_MESSAGE*);
       
   112 typedef const unsigned char *PFORMAT_STRING;
       
   113 typedef struct {
       
   114 	long Dimension;
       
   115 	unsigned long *BufferConformanceMark;
       
   116 	unsigned long *BufferVarianceMark;
       
   117 	unsigned long *MaxCountArray;
       
   118 	unsigned long *OffsetArray;
       
   119 	unsigned long *ActualCountArray;
       
   120 } ARRAY_INFO,*PARRAY_INFO;
       
   121 
       
   122 RPC_BINDING_HANDLE RPC_ENTRY NDRCContextBinding(NDR_CCONTEXT);
       
   123 void RPC_ENTRY NDRCContextMarshall(NDR_CCONTEXT,void*);
       
   124 void RPC_ENTRY NDRCContextUnmarshall(NDR_CCONTEXT*,RPC_BINDING_HANDLE,void*,unsigned long);
       
   125 void RPC_ENTRY NDRSContextMarshall(NDR_SCONTEXT,void*,NDR_RUNDOWN);
       
   126 NDR_SCONTEXT RPC_ENTRY NDRSContextUnmarshall(void*pBuff,unsigned long);
       
   127 void RPC_ENTRY RpcSsDestroyClientContext(void**);
       
   128 void RPC_ENTRY NDRcopy(void*,void*,unsigned int);
       
   129 unsigned int RPC_ENTRY MIDL_wchar_strlen(wchar_t*);
       
   130 void RPC_ENTRY MIDL_wchar_strcpy(void*,wchar_t*);
       
   131 void RPC_ENTRY char_from_ndr(PRPC_MESSAGE,unsigned char*);
       
   132 void RPC_ENTRY char_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned char*);
       
   133 void RPC_ENTRY short_from_ndr(PRPC_MESSAGE,unsigned short*);
       
   134 void RPC_ENTRY short_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned short*);
       
   135 void RPC_ENTRY short_from_ndr_temp(unsigned char**,unsigned short*,unsigned long);
       
   136 void RPC_ENTRY long_from_ndr(PRPC_MESSAGE,unsigned long*);
       
   137 void RPC_ENTRY long_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned long*);
       
   138 void RPC_ENTRY long_from_ndr_temp(unsigned char**,unsigned long*,unsigned long);
       
   139 void RPC_ENTRY enum_from_ndr(PRPC_MESSAGE,unsigned int*);
       
   140 void RPC_ENTRY float_from_ndr(PRPC_MESSAGE,void*);
       
   141 void RPC_ENTRY float_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,void*);
       
   142 void RPC_ENTRY double_from_ndr(PRPC_MESSAGE,void*);
       
   143 void RPC_ENTRY double_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,void*);
       
   144 void RPC_ENTRY hyper_from_ndr(PRPC_MESSAGE,hyper*);
       
   145 void RPC_ENTRY hyper_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,hyper*);
       
   146 void RPC_ENTRY hyper_from_ndr_temp(unsigned char**,hyper*,unsigned long);
       
   147 void RPC_ENTRY data_from_ndr(PRPC_MESSAGE,void*,char*,unsigned char);
       
   148 void RPC_ENTRY data_into_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
       
   149 void RPC_ENTRY tree_into_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
       
   150 void RPC_ENTRY data_size_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
       
   151 void RPC_ENTRY tree_size_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
       
   152 void RPC_ENTRY tree_peek_ndr(PRPC_MESSAGE,unsigned char**,char*,unsigned char);
       
   153 void *RPC_ENTRY midl_allocate(int);
       
   154 
       
   155 #pragma pack(push,4)
       
   156 typedef struct _MIDL_STUB_MESSAGE {
       
   157 	PRPC_MESSAGE RpcMsg;
       
   158 	unsigned char *Buffer;
       
   159 	unsigned char *BufferStart;
       
   160 	unsigned char *BufferEnd;
       
   161 	unsigned char *BufferMark;
       
   162 	unsigned long BufferLength;
       
   163 	unsigned long MemorySize;
       
   164 	unsigned char *Memory;
       
   165 	int IsClient;
       
   166 	int ReuseBuffer;
       
   167 	unsigned char *AllocAllNodesMemory;
       
   168 	unsigned char *AllocAllNodesMemoryEnd;
       
   169 	int IgnoreEmbeddedPointers;
       
   170 	unsigned char *PointerBufferMark;
       
   171 	unsigned char fBufferValid;
       
   172 	unsigned char Unused;
       
   173 	unsigned long MaxCount;
       
   174 	unsigned long Offset;
       
   175 	unsigned long ActualCount;
       
   176 	void*(__RPC_API *pfnAllocate)(unsigned int);
       
   177 	void(__RPC_API *pfnFree)(void*);
       
   178 	unsigned char *StackTop;
       
   179 	unsigned char *pPresentedType;
       
   180 	unsigned char *pTransmitType;
       
   181 	handle_t SavedHandle;
       
   182 	const struct _MIDL_STUB_DESC *StubDesc;
       
   183 	struct _FULL_PTR_XLAT_TABLES *FullPtrXlatTables;
       
   184 	unsigned long FullPtrRefId;
       
   185 	int fCheckBounds;
       
   186 	int fInDontFree :1;
       
   187 	int fDontCallFreeInst :1;
       
   188 	int fInOnlyParam :1;
       
   189 	int fHasReturn :1;
       
   190 	unsigned long dwDestContext;
       
   191 	void*pvDestContext;
       
   192 	NDR_SCONTEXT *SavedContextHandles;
       
   193 	long ParamNumber;
       
   194 	struct IRpcChannelBuffer *pRpcChannelBuffer;
       
   195 	PARRAY_INFO pArrayInfo;
       
   196 	unsigned long *SizePtrCountArray;
       
   197 	unsigned long *SizePtrOffsetArray;
       
   198 	unsigned long *SizePtrLengthArray;
       
   199 	void*pArgQueue;
       
   200 	unsigned long dwStubPhase;
       
   201 	unsigned long w2kReserved[5];
       
   202 } MIDL_STUB_MESSAGE,*PMIDL_STUB_MESSAGE;
       
   203 #pragma pack(pop)
       
   204 typedef void*(__RPC_API *GENERIC_BINDING_ROUTINE)(void*);
       
   205 typedef void (__RPC_API *GENERIC_UNBIND_ROUTINE)(void*,unsigned char*);
       
   206 typedef struct _GENERIC_BINDING_ROUTINE_PAIR {
       
   207 	GENERIC_BINDING_ROUTINE pfnBind;
       
   208 	GENERIC_UNBIND_ROUTINE pfnUnbind;
       
   209 } GENERIC_BINDING_ROUTINE_PAIR,*PGENERIC_BINDING_ROUTINE_PAIR;
       
   210 typedef struct __GENERIC_BINDING_INFO {
       
   211 	void *pObj;
       
   212 	unsigned int Size;
       
   213 	GENERIC_BINDING_ROUTINE pfnBind;
       
   214 	GENERIC_UNBIND_ROUTINE pfnUnbind;
       
   215 } GENERIC_BINDING_INFO,*PGENERIC_BINDING_INFO;
       
   216 typedef void(__RPC_USER *XMIT_HELPER_ROUTINE)(PMIDL_STUB_MESSAGE);
       
   217 typedef struct _XMIT_ROUTINE_QUINTUPLE {
       
   218 	XMIT_HELPER_ROUTINE pfnTranslateToXmit;
       
   219 	XMIT_HELPER_ROUTINE pfnTranslateFromXmit;
       
   220 	XMIT_HELPER_ROUTINE pfnFreeXmit;
       
   221 	XMIT_HELPER_ROUTINE pfnFreeInst;
       
   222 } XMIT_ROUTINE_QUINTUPLE,*PXMIT_ROUTINE_QUINTUPLE;
       
   223 typedef struct _MALLOC_FREE_STRUCT {
       
   224 void*(__RPC_USER *pfnAllocate)(unsigned int);
       
   225 void(__RPC_USER *pfnFree)(void*);
       
   226 } MALLOC_FREE_STRUCT;
       
   227 typedef struct _COMM_FAULT_OFFSETS {
       
   228 	short CommOffset;
       
   229 	short FaultOffset;
       
   230 } COMM_FAULT_OFFSETS;
       
   231 typedef unsigned long (__RPC_USER *USER_MARSHAL_SIZING_ROUTINE)(unsigned long *,unsigned long,void *);
       
   232 typedef unsigned char *(__RPC_USER *USER_MARSHAL_MARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *);
       
   233 typedef unsigned char *(__RPC_USER *USER_MARSHAL_UNMARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *);
       
   234 typedef void (__RPC_USER *USER_MARSHAL_FREEING_ROUTINE)(unsigned long *,void *);
       
   235 typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE {
       
   236 	USER_MARSHAL_SIZING_ROUTINE pfnBufferSize;
       
   237 	USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall;
       
   238 	USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall;
       
   239 	USER_MARSHAL_FREEING_ROUTINE pfnFree;
       
   240 } USER_MARSHAL_ROUTINE_QUADRUPLE;
       
   241 typedef void (__RPC_USER *NDR_NOTIFY_ROUTINE)(void);
       
   242 typedef enum _IDL_CS_CONVERT {
       
   243 	IDL_CS_NO_CONVERT,
       
   244 	IDL_CS_IN_PLACE_CONVERT,
       
   245 	IDL_CS_NEW_BUFFER_CONVERT
       
   246 } IDL_CS_CONVERT;
       
   247 typedef void (__RPC_USER *CS_TYPE_NET_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*);
       
   248 typedef void (__RPC_USER *CS_TYPE_LOCAL_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*);
       
   249 typedef void (__RPC_USER *CS_TYPE_TO_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,void*,unsigned long,byte*,unsigned long*,error_status_t*);
       
   250 typedef void (__RPC_USER *CS_TYPE_FROM_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,byte*,unsigned long,unsigned long,void*,unsigned long*,error_status_t*);
       
   251 typedef void (__RPC_USER *CS_TAG_GETTING_ROUTINE)(RPC_BINDING_HANDLE,int,unsigned long*,unsigned long*,unsigned long*,error_status_t*);
       
   252 typedef struct _NDR_CS_SIZE_CONVERT_ROUTINES {
       
   253 	CS_TYPE_NET_SIZE_ROUTINE pfnNetSize;
       
   254 	CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs;
       
   255 	CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize;
       
   256 	CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs;
       
   257 } NDR_CS_SIZE_CONVERT_ROUTINES;
       
   258 typedef struct _NDR_CS_ROUTINES {
       
   259 	NDR_CS_SIZE_CONVERT_ROUTINES *pSizeConvertRoutines;
       
   260 	CS_TAG_GETTING_ROUTINE *pTagGettingRoutines;
       
   261 } NDR_CS_ROUTINES;
       
   262 typedef struct _MIDL_STUB_DESC {
       
   263 	void*RpcInterfaceInformation;
       
   264 	void*(__RPC_API *pfnAllocate)(unsigned int);
       
   265 	void(__RPC_API *pfnFree)(void*);
       
   266 	union {
       
   267 		handle_t *pAutoHandle;
       
   268 		handle_t *pPrimitiveHandle;
       
   269 		PGENERIC_BINDING_INFO pGenericBindingInfo;
       
   270 	} IMPLICIT_HANDLE_INFO;
       
   271 	const NDR_RUNDOWN *apfnNdrRundownRoutines;
       
   272 	const GENERIC_BINDING_ROUTINE_PAIR *aGenericBindingRoutinePairs;
       
   273 	const EXPR_EVAL *apfnExprEval;
       
   274 	const XMIT_ROUTINE_QUINTUPLE *aXmitQuintuple;
       
   275 	const unsigned char *pFormatTypes;
       
   276 	int fCheckBounds;
       
   277 	unsigned long Version;
       
   278 	MALLOC_FREE_STRUCT *pMallocFreeStruct;
       
   279 	long MIDLVersion;
       
   280 	const COMM_FAULT_OFFSETS *CommFaultOffsets;
       
   281 	const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple;
       
   282 	const NDR_NOTIFY_ROUTINE *NotifyRoutineTable;
       
   283 	ULONG_PTR mFlags;
       
   284 	const NDR_CS_ROUTINES *CsRoutineTables;
       
   285 	void *Reserved4;
       
   286 	ULONG_PTR Reserved5;
       
   287 } MIDL_STUB_DESC;
       
   288 typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC;
       
   289 typedef void*PMIDL_XMIT_TYPE;
       
   290 typedef struct _MIDL_FORMAT_STRING {
       
   291 	short Pad;
       
   292 	unsigned char Format[1];
       
   293 } MIDL_FORMAT_STRING;
       
   294 typedef void(__RPC_API *STUB_THUNK)(PMIDL_STUB_MESSAGE);
       
   295 typedef long(__RPC_API *SERVER_ROUTINE)(void);
       
   296 typedef struct _MIDL_SERVER_INFO_ {
       
   297 	PMIDL_STUB_DESC pStubDesc;
       
   298 	const SERVER_ROUTINE *DispatchTable;
       
   299 	PFORMAT_STRING ProcString;
       
   300 	const unsigned short *FmtStringOffset;
       
   301 	const STUB_THUNK *ThunkTable;
       
   302 } MIDL_SERVER_INFO,*PMIDL_SERVER_INFO;
       
   303 typedef struct _MIDL_STUBLESS_PROXY_INFO {
       
   304 	PMIDL_STUB_DESC pStubDesc;
       
   305 	PFORMAT_STRING ProcFormatString;
       
   306 	const unsigned short *FormatStringOffset;
       
   307 } MIDL_STUBLESS_PROXY_INFO;
       
   308 typedef MIDL_STUBLESS_PROXY_INFO *PMIDL_STUBLESS_PROXY_INFO;
       
   309 typedef union _CLIENT_CALL_RETURN {
       
   310 	void *Pointer;
       
   311 	long Simple;
       
   312 } CLIENT_CALL_RETURN;
       
   313 typedef enum { XLAT_SERVER = 1,XLAT_CLIENT } XLAT_SIDE;
       
   314 typedef struct _FULL_PTR_TO_REFID_ELEMENT {
       
   315 	struct _FULL_PTR_TO_REFID_ELEMENT *Next;
       
   316 	void*Pointer;
       
   317 	unsigned long RefId;
       
   318 	unsigned char State;
       
   319 } FULL_PTR_TO_REFID_ELEMENT,*PFULL_PTR_TO_REFID_ELEMENT;
       
   320 typedef struct _FULL_PTR_XLAT_TABLES {
       
   321 	struct {
       
   322 		void **XlatTable;
       
   323 		unsigned char *StateTable;
       
   324 		unsigned long NumberOfEntries;
       
   325 	} RefIdToPointer;
       
   326 	struct {
       
   327 		PFULL_PTR_TO_REFID_ELEMENT *XlatTable;
       
   328 		unsigned long NumberOfBuckets;
       
   329 		unsigned long HashMask;
       
   330 	} PointerToRefId;
       
   331 	unsigned long NextRefId;
       
   332 	XLAT_SIDE XlatSide;
       
   333 } FULL_PTR_XLAT_TABLES,*PFULL_PTR_XLAT_TABLES;
       
   334 void RPC_ENTRY NdrSimpleTypeMarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned char);
       
   335 unsigned char *RPC_ENTRY NdrPointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING pFormat);
       
   336 unsigned char *RPC_ENTRY NdrSimpleStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   337 unsigned char *RPC_ENTRY NdrConformantStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   338 unsigned char *RPC_ENTRY NdrConformantVaryingStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   339 unsigned char *RPC_ENTRY NdrHardStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   340 unsigned char *RPC_ENTRY NdrComplexStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   341 unsigned char *RPC_ENTRY NdrFixedArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   342 unsigned char *RPC_ENTRY NdrConformantArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   343 unsigned char *RPC_ENTRY NdrConformantVaryingArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   344 unsigned char *RPC_ENTRY NdrVaryingArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   345 unsigned char *RPC_ENTRY NdrComplexArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   346 unsigned char *RPC_ENTRY NdrNonConformantStringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   347 unsigned char *RPC_ENTRY NdrConformantStringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   348 unsigned char *RPC_ENTRY NdrEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   349 unsigned char *RPC_ENTRY NdrNonEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   350 unsigned char *RPC_ENTRY NdrByteCountPointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   351 unsigned char *RPC_ENTRY NdrXmitOrRepAsMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   352 unsigned char *RPC_ENTRY NdrInterfacePointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   353 void RPC_ENTRY NdrClientContextMarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT,int);
       
   354 void RPC_ENTRY NdrServerContextMarshall(PMIDL_STUB_MESSAGE,NDR_SCONTEXT,NDR_RUNDOWN);
       
   355 void RPC_ENTRY NdrSimpleTypeUnmarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned char);
       
   356 unsigned char *RPC_ENTRY NdrPointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   357 unsigned char *RPC_ENTRY NdrSimpleStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   358 unsigned char *RPC_ENTRY NdrConformantStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   359 unsigned char *RPC_ENTRY NdrConformantVaryingStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   360 unsigned char *RPC_ENTRY NdrHardStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   361 unsigned char *RPC_ENTRY NdrComplexStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   362 unsigned char *RPC_ENTRY NdrFixedArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   363 unsigned char *RPC_ENTRY NdrConformantArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   364 unsigned char *RPC_ENTRY NdrConformantVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   365 unsigned char *RPC_ENTRY NdrVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   366 unsigned char *RPC_ENTRY NdrComplexArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   367 unsigned char *RPC_ENTRY NdrNonConformantStringUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   368 unsigned char *RPC_ENTRY NdrConformantStringUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   369 unsigned char *RPC_ENTRY NdrEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   370 unsigned char *RPC_ENTRY NdrNonEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   371 unsigned char *RPC_ENTRY NdrByteCountPointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   372 unsigned char *RPC_ENTRY NdrXmitOrRepAsUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   373 unsigned char *RPC_ENTRY NdrInterfacePointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   374 void RPC_ENTRY NdrClientContextUnmarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT*,RPC_BINDING_HANDLE);
       
   375 NDR_SCONTEXT RPC_ENTRY NdrServerContextUnmarshall(PMIDL_STUB_MESSAGE);
       
   376 void RPC_ENTRY NdrPointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   377 void RPC_ENTRY NdrSimpleStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   378 void RPC_ENTRY NdrConformantStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   379 void RPC_ENTRY NdrConformantVaryingStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   380 void RPC_ENTRY NdrHardStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   381 void RPC_ENTRY NdrComplexStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   382 void RPC_ENTRY NdrFixedArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   383 void RPC_ENTRY NdrConformantArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   384 void RPC_ENTRY NdrConformantVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   385 void RPC_ENTRY NdrVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   386 void RPC_ENTRY NdrComplexArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   387 void RPC_ENTRY NdrConformantStringBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   388 void RPC_ENTRY NdrNonConformantStringBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   389 void RPC_ENTRY NdrEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   390 void RPC_ENTRY NdrNonEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   391 void RPC_ENTRY NdrByteCountPointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   392 void RPC_ENTRY NdrXmitOrRepAsBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   393 void RPC_ENTRY NdrInterfacePointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   394 void RPC_ENTRY NdrContextHandleSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   395 unsigned long RPC_ENTRY NdrPointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   396 unsigned long RPC_ENTRY NdrSimpleStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   397 unsigned long RPC_ENTRY NdrConformantStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   398 unsigned long RPC_ENTRY NdrConformantVaryingStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   399 unsigned long RPC_ENTRY NdrHardStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   400 unsigned long RPC_ENTRY NdrComplexStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   401 unsigned long RPC_ENTRY NdrFixedArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   402 unsigned long RPC_ENTRY NdrConformantArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   403 unsigned long RPC_ENTRY NdrConformantVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   404 unsigned long RPC_ENTRY NdrVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   405 unsigned long RPC_ENTRY NdrComplexArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   406 unsigned long RPC_ENTRY NdrConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   407 unsigned long RPC_ENTRY NdrNonConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   408 unsigned long RPC_ENTRY NdrEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   409 unsigned long RPC_ENTRY NdrNonEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   410 unsigned long RPC_ENTRY NdrXmitOrRepAsMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   411 unsigned long RPC_ENTRY NdrInterfacePointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   412 void RPC_ENTRY NdrPointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   413 void RPC_ENTRY NdrSimpleStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   414 void RPC_ENTRY NdrConformantStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   415 void RPC_ENTRY NdrConformantVaryingStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   416 void RPC_ENTRY NdrHardStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   417 void RPC_ENTRY NdrComplexStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   418 void RPC_ENTRY NdrFixedArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   419 void RPC_ENTRY NdrConformantArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   420 void RPC_ENTRY NdrConformantVaryingArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   421 void RPC_ENTRY NdrVaryingArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   422 void RPC_ENTRY NdrComplexArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   423 void RPC_ENTRY NdrEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   424 void RPC_ENTRY NdrNonEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   425 void RPC_ENTRY NdrByteCountPointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   426 void RPC_ENTRY NdrXmitOrRepAsFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   427 void RPC_ENTRY NdrInterfacePointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   428 void RPC_ENTRY NdrConvert(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   429 void RPC_ENTRY NdrClientInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,unsigned int);
       
   430 unsigned char *RPC_ENTRY NdrServerInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC);
       
   431 void RPC_ENTRY NdrClientInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,unsigned int);
       
   432 unsigned char *RPC_ENTRY NdrServerInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC);
       
   433 unsigned char *RPC_ENTRY NdrServerInitializeUnmarshall(PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PRPC_MESSAGE);
       
   434 void RPC_ENTRY NdrServerInitializeMarshall(PRPC_MESSAGE,PMIDL_STUB_MESSAGE);
       
   435 unsigned char *RPC_ENTRY NdrGetBuffer(PMIDL_STUB_MESSAGE,unsigned long,RPC_BINDING_HANDLE);
       
   436 unsigned char *RPC_ENTRY NdrNsGetBuffer(PMIDL_STUB_MESSAGE,unsigned long,RPC_BINDING_HANDLE);
       
   437 unsigned char *RPC_ENTRY NdrSendReceive(PMIDL_STUB_MESSAGE,unsigned char*);
       
   438 unsigned char *RPC_ENTRY NdrNsSendReceive(PMIDL_STUB_MESSAGE,unsigned char*,RPC_BINDING_HANDLE*);
       
   439 void RPC_ENTRY NdrFreeBuffer(PMIDL_STUB_MESSAGE);
       
   440 CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrClientCall(PMIDL_STUB_DESC,PFORMAT_STRING,...);
       
   441 CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrClientCall2(PMIDL_STUB_DESC,PFORMAT_STRING,...);
       
   442 typedef enum {
       
   443 	STUB_UNMARSHAL,
       
   444 	STUB_CALL_SERVER,
       
   445 	STUB_MARSHAL,
       
   446 	STUB_CALL_SERVER_NO_HRESULT
       
   447 } STUB_PHASE;
       
   448 typedef enum {
       
   449 	PROXY_CALCSIZE,
       
   450 	PROXY_GETBUFFER,
       
   451 	PROXY_MARSHAL,
       
   452 	PROXY_SENDRECEIVE,
       
   453 	PROXY_UNMARSHAL
       
   454 } PROXY_PHASE;
       
   455 long RPC_ENTRY NdrStubCall(struct IRpcStubBuffer*,struct IRpcChannelBuffer*,PRPC_MESSAGE,unsigned long*);
       
   456 void RPC_ENTRY NdrServerCall(PRPC_MESSAGE);
       
   457 int RPC_ENTRY NdrServerUnmarshall(struct IRpcChannelBuffer*,PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PFORMAT_STRING,void*);
       
   458 void RPC_ENTRY NdrServerMarshall(struct IRpcStubBuffer*,struct IRpcChannelBuffer*,PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   459 RPC_STATUS RPC_ENTRY NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE,unsigned long*,unsigned long*,RPC_STATUS);
       
   460 int RPC_ENTRY NdrSH_UPDecision(PMIDL_STUB_MESSAGE,unsigned char**,RPC_BUFPTR);
       
   461 int RPC_ENTRY NdrSH_TLUPDecision(PMIDL_STUB_MESSAGE,unsigned char**);
       
   462 int RPC_ENTRY NdrSH_TLUPDecisionBuffer(PMIDL_STUB_MESSAGE,unsigned char**);
       
   463 int RPC_ENTRY NdrSH_IfAlloc(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
       
   464 int RPC_ENTRY NdrSH_IfAllocRef(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
       
   465 int RPC_ENTRY NdrSH_IfAllocSet(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
       
   466 RPC_BUFPTR RPC_ENTRY NdrSH_IfCopy(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
       
   467 RPC_BUFPTR RPC_ENTRY NdrSH_IfAllocCopy(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
       
   468 unsigned long RPC_ENTRY NdrSH_Copy(unsigned char*,unsigned char*,unsigned long);
       
   469 void RPC_ENTRY NdrSH_IfFree(PMIDL_STUB_MESSAGE,unsigned char*);
       
   470 RPC_BUFPTR RPC_ENTRY NdrSH_StringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned long,int);
       
   471 RPC_BUFPTR RPC_ENTRY NdrSH_StringUnMarshall(PMIDL_STUB_MESSAGE,unsigned char**,int);
       
   472 typedef void *RPC_SS_THREAD_HANDLE;
       
   473 typedef void* __RPC_API RPC_CLIENT_ALLOC(unsigned int);
       
   474 typedef void __RPC_API RPC_CLIENT_FREE(void*);
       
   475 void*RPC_ENTRY RpcSsAllocate(unsigned int);
       
   476 void RPC_ENTRY RpcSsDisableAllocate(void);
       
   477 void RPC_ENTRY RpcSsEnableAllocate(void);
       
   478 void RPC_ENTRY RpcSsFree(void*);
       
   479 RPC_SS_THREAD_HANDLE RPC_ENTRY RpcSsGetThreadHandle(void);
       
   480 void RPC_ENTRY RpcSsSetClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*);
       
   481 void RPC_ENTRY RpcSsSetThreadHandle(RPC_SS_THREAD_HANDLE);
       
   482 void RPC_ENTRY RpcSsSwapClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*,RPC_CLIENT_ALLOC**,RPC_CLIENT_FREE**);
       
   483 void*RPC_ENTRY RpcSmAllocate(unsigned int,RPC_STATUS*);
       
   484 RPC_STATUS RPC_ENTRY RpcSmClientFree(void*);
       
   485 RPC_STATUS RPC_ENTRY RpcSmDestroyClientContext(void**);
       
   486 RPC_STATUS RPC_ENTRY RpcSmDisableAllocate(void);
       
   487 RPC_STATUS RPC_ENTRY RpcSmEnableAllocate(void);
       
   488 RPC_STATUS RPC_ENTRY RpcSmFree(void*);
       
   489 RPC_SS_THREAD_HANDLE RPC_ENTRY RpcSmGetThreadHandle(RPC_STATUS*);
       
   490 RPC_STATUS RPC_ENTRY RpcSmSetClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*);
       
   491 RPC_STATUS RPC_ENTRY RpcSmSetThreadHandle(RPC_SS_THREAD_HANDLE);
       
   492 RPC_STATUS RPC_ENTRY RpcSmSwapClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*,RPC_CLIENT_ALLOC**,RPC_CLIENT_FREE**);
       
   493 void RPC_ENTRY NdrRpcSsEnableAllocate(PMIDL_STUB_MESSAGE);
       
   494 void RPC_ENTRY NdrRpcSsDisableAllocate(PMIDL_STUB_MESSAGE);
       
   495 void RPC_ENTRY NdrRpcSmSetClientToOsf(PMIDL_STUB_MESSAGE);
       
   496 void*RPC_ENTRY NdrRpcSmClientAllocate(unsigned int);
       
   497 void RPC_ENTRY NdrRpcSmClientFree(void*);
       
   498 void*RPC_ENTRY NdrRpcSsDefaultAllocate(unsigned int);
       
   499 void RPC_ENTRY NdrRpcSsDefaultFree(void*);
       
   500 PFULL_PTR_XLAT_TABLES RPC_ENTRY NdrFullPointerXlatInit(unsigned long,XLAT_SIDE);
       
   501 void RPC_ENTRY NdrFullPointerXlatFree(PFULL_PTR_XLAT_TABLES);
       
   502 int RPC_ENTRY NdrFullPointerQueryPointer(PFULL_PTR_XLAT_TABLES,void*,unsigned char,unsigned long*);
       
   503 int RPC_ENTRY NdrFullPointerQueryRefId(PFULL_PTR_XLAT_TABLES,unsigned long,unsigned char,void**);
       
   504 void RPC_ENTRY NdrFullPointerInsertRefId(PFULL_PTR_XLAT_TABLES,unsigned long,void*);
       
   505 int RPC_ENTRY NdrFullPointerFree(PFULL_PTR_XLAT_TABLES,void*);
       
   506 void*RPC_ENTRY NdrAllocate(PMIDL_STUB_MESSAGE,unsigned int);
       
   507 void RPC_ENTRY NdrClearOutParameters(PMIDL_STUB_MESSAGE,PFORMAT_STRING,void*);
       
   508 void*RPC_ENTRY NdrOleAllocate(unsigned int);
       
   509 void RPC_ENTRY NdrOleFree(void*);
       
   510 unsigned char*RPC_ENTRY NdrUserMarshalMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   511 unsigned char*RPC_ENTRY NdrUserMarshalUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
       
   512 void RPC_ENTRY NdrUserMarshalBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   513 unsigned long RPC_ENTRY NdrUserMarshalMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
       
   514 void RPC_ENTRY NdrUserMarshalFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
       
   515 #ifdef __cplusplus
       
   516 }
       
   517 #endif
       
   518 #endif