2 * Windows API header module
4 * Translated from MinGW Windows headers
6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7 * Source: $(DRUNTIMESRC core/sys/windows/_rpcndr.d)
9 module core
.sys
.windows
.rpcndr
;
12 pragma(lib
, "rpcrt4");
15 RPC_CLIENT_ALLOC*, RPC_CLIENT_FREE* were replaced with PRPC_CLIENT_ALLOC, PRPC_CLIENT_FREE
18 // TODO: Bitfields in MIDL_STUB_MESSAGE.
19 // Macros need to be converted.
20 enum __RPCNDR_H_VERSION__
= 450;
22 import core
.sys
.windows
.rpcnsip
;
23 import core
.sys
.windows
.rpc
, core
.sys
.windows
.rpcdce
, core
.sys
.windows
.unknwn
, core
.sys
.windows
.windef
;
24 import core
.sys
.windows
.objidl
; // for IRpcChannelBuffer, IRpcStubBuffer
25 import core
.sys
.windows
.basetyps
;
29 enum uint NDR_CHAR_REP_MASK
= 0xF,
30 NDR_INT_REP_MASK
= 0xF0,
31 NDR_FLOAT_REP_MASK
= 0xFF00,
32 NDR_LITTLE_ENDIAN
= 0x10,
35 NDR_VAX_FLOAT
= 0x100,
38 NDR_LOCAL_DATA_REPRESENTATION
= 0x10,
39 NDR_LOCAL_ENDIAN
= NDR_LITTLE_ENDIAN
;
41 alias MIDL_user_allocate midl_user_allocate
;
42 alias MIDL_user_free midl_user_free
;
45 alias ulong MIDL_uhyper
;
49 //MACRO #define NDRSContextValue(hContext) (&(hContext)->userContext)
50 //MACRO #define byte_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
52 //MACRO #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)); }
54 //MACRO #define boolean_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
56 //MACRO #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)); }
58 //MACRO #define small_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
60 //MACRO #define small_from_ndr_temp(source, target, format) { *(target) = *(*(char**)(source))++; }
62 //MACRO #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)); }
64 //MACRO #define MIDL_ascii_strlen(string) strlen(string)
66 //MACRO #define MIDL_ascii_strcpy(target,source) strcpy(target,source)
68 //MACRO #define MIDL_memset(s,c,n) memset(s,c,n)
70 //MACRO #define _midl_ma1( p, cast ) *(*( cast **)&p)++
71 //MACRO #define _midl_ma2( p, cast ) *(*( cast **)&p)++
72 //MACRO #define _midl_ma4( p, cast ) *(*( cast **)&p)++
73 //MACRO #define _midl_ma8( p, cast ) *(*( cast **)&p)++
74 //MACRO #define _midl_unma1( p, cast ) *(( cast *)p)++
75 //MACRO #define _midl_unma2( p, cast ) *(( cast *)p)++
76 //MACRO #define _midl_unma3( p, cast ) *(( cast *)p)++
77 //MACRO #define _midl_unma4( p, cast ) *(( cast *)p)++
78 //MACRO #define _midl_fa2( p ) (p = (RPC_BUFPTR )((LONG_PTR)(p+1) & 0xffffffff_fffffffe))
79 //MACRO #define _midl_fa4( p ) (p = (RPC_BUFPTR )((LONG_PTR)(p+3) & 0xffffffff_fffffffc))
80 //MACRO #define _midl_fa8( p ) (p = (RPC_BUFPTR )((LONG_PTR)(p+7) & 0xffffffff_fffffff8))
81 //MACRO #define _midl_addp( p, n ) (p += n)
82 //MACRO #define _midl_marsh_lhs( p, cast ) *(*( cast **)&p)++
83 //MACRO #define _midl_marsh_up( mp, p ) *(*(unsigned long **)&mp)++ = (unsigned long)p
84 //MACRO #define _midl_advmp( mp ) *(*(unsigned long **)&mp)++
85 //MACRO #define _midl_unmarsh_up( p ) (*(*(unsigned long **)&p)++)
87 //MACRO #define NdrMarshConfStringHdr( p, s, l ) (_midl_ma4( p, unsigned long) = s, _midl_ma4( p, unsigned long) = 0, _midl_ma4( p, unsigned long) = l)
89 //MACRO #define NdrUnMarshConfStringHdr(p, s, l) ((s=_midl_unma4(p,unsigned long), (_midl_addp(p,4)), (l=_midl_unma4(p,unsigned long))
91 //MACRO #define NdrMarshCCtxtHdl(pc,p) (NDRCContextMarshall( (NDR_CCONTEXT)pc, p ),p+20)
92 //MACRO #define NdrUnMarshCCtxtHdl(pc,p,h,drep) (NDRCContextUnmarshall((NDR_CONTEXT)pc,h,p,drep), p+20)
93 //MACRO #define NdrUnMarshSCtxtHdl(pc, p,drep) (pc = NdrSContextUnMarshall(p,drep ))
94 //MACRO #define NdrMarshSCtxtHdl(pc,p,rd) (NdrSContextMarshall((NDR_SCONTEXT)pc,p, (NDR_RUNDOWN)rd)
96 //MACRO #define NdrFieldOffset(s,f) (LONG_PTR)(& (((s *)0)->f))
97 //MACRO #define NdrFieldPad(s,f,p,t) (NdrFieldOffset(s,f) - NdrFieldOffset(s,p) - sizeof(t))
98 //MACRO #define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8)
99 //MACRO #define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0000ff00) >> 8), (unsigned char)((s & 0x00ff0000) >> 16), (unsigned char)(s >> 24)
101 alias void * NDR_CCONTEXT
;
102 struct tagNDR_SCONTEXT
{
106 alias tagNDR_SCONTEXT
* NDR_SCONTEXT
;
108 struct SCONTEXT_QUEUE
{
109 uint NumberOfObjects
;
110 NDR_SCONTEXT
*ArrayOfObjects
;
112 alias SCONTEXT_QUEUE
* PSCONTEXT_QUEUE
;
114 struct _MIDL_STUB_MESSAGE
;
115 struct _MIDL_STUB_DESC
;
116 struct _FULL_PTR_XLAT_TABLES
;
118 alias ubyte *RPC_BUFPTR
;
119 alias uint RPC_LENGTH
;
121 alias const(char)* PFORMAT_STRING
;
125 uint *BufferConformanceMark
;
126 uint *BufferVarianceMark
;
129 uint *ActualCountArray
;
131 alias ARRAY_INFO
* PARRAY_INFO
;
133 RPC_BINDING_HANDLE
NDRCContextBinding(NDR_CCONTEXT
);
134 void NDRCContextMarshall(NDR_CCONTEXT
,void*);
135 void NDRCContextUnmarshall(NDR_CCONTEXT
*,RPC_BINDING_HANDLE
,void*,uint);
136 void NDRSContextMarshall(NDR_SCONTEXT
,void*,NDR_RUNDOWN
);
137 NDR_SCONTEXT
NDRSContextUnmarshall(void*pBuff
,uint);
138 void RpcSsDestroyClientContext(void**);
139 void NDRcopy(void*,void*,uint);
140 uint MIDL_wchar_strlen(wchar *);
141 void MIDL_wchar_strcpy(void*,wchar *);
142 void char_from_ndr(PRPC_MESSAGE
,ubyte*);
143 void char_array_from_ndr(PRPC_MESSAGE
,uint,uint,ubyte*);
144 void short_from_ndr(PRPC_MESSAGE
,ushort*);
145 void short_array_from_ndr(PRPC_MESSAGE
,uint,uint,ushort*);
146 void short_from_ndr_temp(ubyte**,ushort*,uint);
147 void int_from_ndr(PRPC_MESSAGE
,uint*);
148 void int_array_from_ndr(PRPC_MESSAGE
,uint,uint,uint*);
149 void int_from_ndr_temp(ubyte**,uint*,uint);
150 void enum_from_ndr(PRPC_MESSAGE
,uint*);
151 void float_from_ndr(PRPC_MESSAGE
,void*);
152 void float_array_from_ndr(PRPC_MESSAGE
,uint,uint,void*);
153 void double_from_ndr(PRPC_MESSAGE
,void*);
154 void double_array_from_ndr(PRPC_MESSAGE
,uint,uint,void*);
155 void hyper_from_ndr(PRPC_MESSAGE
,hyper
*);
156 void hyper_array_from_ndr(PRPC_MESSAGE
,uint,uint,hyper
*);
157 void hyper_from_ndr_temp(ubyte**,hyper
*,uint);
158 void data_from_ndr(PRPC_MESSAGE
,void*,char*,ubyte);
159 void data_into_ndr(void*,PRPC_MESSAGE
,char*,ubyte);
160 void tree_into_ndr(void*,PRPC_MESSAGE
,char*,ubyte);
161 void data_size_ndr(void*,PRPC_MESSAGE
,char*,ubyte);
162 void tree_size_ndr(void*,PRPC_MESSAGE
,char*,ubyte);
163 void tree_peek_ndr(PRPC_MESSAGE
,ubyte**,char*,ubyte);
164 void * midl_allocate(int);
167 struct MIDL_STUB_MESSAGE
{
178 ubyte *AllocAllNodesMemory
;
179 ubyte *AllocAllNodesMemoryEnd
;
180 int IgnoreEmbeddedPointers
;
181 ubyte *PointerBufferMark
;
187 void* function (uint) pfnAllocate
;
188 void function (void*) pfnFree
;
190 ubyte * pPresentedType
;
191 ubyte * pTransmitType
;
192 handle_t SavedHandle
;
193 const(_MIDL_STUB_DESC
)* StubDesc
;
194 _FULL_PTR_XLAT_TABLES
*FullPtrXlatTables
;
198 byte bit_fields_for_D
; // FIXME: Bitfields
199 // int fInDontFree :1;
200 // int fDontCallFreeInst :1;
201 // int fInOnlyParam :1;
202 // int fHasReturn :1;
205 NDR_SCONTEXT
* SavedContextHandles
;
207 IRpcChannelBuffer pRpcChannelBuffer
;
208 PARRAY_INFO pArrayInfo
;
209 uint * SizePtrCountArray
;
210 uint * SizePtrOffsetArray
;
211 uint * SizePtrLengthArray
;
214 INT_PTR
[5] w2kReserved
;
216 alias MIDL_STUB_MESSAGE
* PMIDL_STUB_MESSAGE
;
219 alias void* function (void*) GENERIC_BINDING_ROUTINE
;
220 alias void function (void*,ubyte*) GENERIC_UNBIND_ROUTINE
;
221 alias uint function (uint *,uint,void *) USER_MARSHAL_SIZING_ROUTINE
;
222 alias ubyte * function (uint *,ubyte *,void *) USER_MARSHAL_MARSHALLING_ROUTINE
;
223 alias ubyte * function (uint *,ubyte *,void *) USER_MARSHAL_UNMARSHALLING_ROUTINE
;
224 alias void function (uint *,void *) USER_MARSHAL_FREEING_ROUTINE
;
225 alias void function () NDR_NOTIFY_ROUTINE
;
229 struct GENERIC_BINDING_ROUTINE_PAIR
{
230 GENERIC_BINDING_ROUTINE pfnBind
;
231 GENERIC_UNBIND_ROUTINE pfnUnbind
;
233 alias GENERIC_BINDING_ROUTINE_PAIR
* PGENERIC_BINDING_ROUTINE_PAIR
;
235 struct GENERIC_BINDING_INFO
{
238 GENERIC_BINDING_ROUTINE pfnBind
;
239 GENERIC_UNBIND_ROUTINE pfnUnbind
;
241 alias GENERIC_BINDING_INFO
* PGENERIC_BINDING_INFO
;
244 struct XMIT_ROUTINE_QUINTUPLE
{
245 XMIT_HELPER_ROUTINE pfnTranslateToXmit
;
246 XMIT_HELPER_ROUTINE pfnTranslateFromXmit
;
247 XMIT_HELPER_ROUTINE pfnFreeXmit
;
248 XMIT_HELPER_ROUTINE pfnFreeInst
;
250 alias XMIT_ROUTINE_QUINTUPLE
* PXMIT_ROUTINE_QUINTUPLE
;
252 struct MALLOC_FREE_STRUCT
{
253 void* function (uint) pfnAllocate
;
254 void function (void*) pfnFree
;
257 struct COMM_FAULT_OFFSETS
{
262 struct USER_MARSHAL_ROUTINE_QUADRUPLE
{
263 USER_MARSHAL_SIZING_ROUTINE pfnBufferSize
;
264 USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall
;
265 USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall
;
266 USER_MARSHAL_FREEING_ROUTINE pfnFree
;
269 enum IDL_CS_CONVERT
{
271 IDL_CS_IN_PLACE_CONVERT
,
272 IDL_CS_NEW_BUFFER_CONVERT
275 struct NDR_CS_SIZE_CONVERT_ROUTINES
{
276 CS_TYPE_NET_SIZE_ROUTINE pfnNetSize
;
277 CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs
;
278 CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize
;
279 CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs
;
282 struct NDR_CS_ROUTINES
{
283 NDR_CS_SIZE_CONVERT_ROUTINES
*pSizeConvertRoutines
;
284 CS_TAG_GETTING_ROUTINE
*pTagGettingRoutines
;
287 struct MIDL_STUB_DESC
{
288 void* RpcInterfaceInformation
;
289 void* function(uint) pfnAllocate
;
290 void function (void*) pfnFree
;
291 union _IMPLICIT_HANDLE_INFO
{
292 handle_t
*pAutoHandle
;
293 handle_t
*pPrimitiveHandle
;
294 PGENERIC_BINDING_INFO pGenericBindingInfo
;
296 _IMPLICIT_HANDLE_INFO IMPLICIT_HANDLE_INFO
;
297 const(NDR_RUNDOWN
)* apfnNdrRundownRoutines
;
298 const(GENERIC_BINDING_ROUTINE_PAIR
)* aGenericBindingRoutinePairs
;
299 const(EXPR_EVAL
)* apfnExprEval
;
300 const(XMIT_ROUTINE_QUINTUPLE
)* aXmitQuintuple
;
301 const(char)* *pFormatTypes
;
304 MALLOC_FREE_STRUCT
*pMallocFreeStruct
;
306 const(COMM_FAULT_OFFSETS
)* CommFaultOffsets
;
307 const(USER_MARSHAL_ROUTINE_QUADRUPLE
)* aUserMarshalQuadruple
;
308 const(NDR_NOTIFY_ROUTINE
)* NotifyRoutineTable
;
310 const(NDR_CS_ROUTINES
)* CsRoutineTables
;
314 alias const(MIDL_STUB_DESC
)* PMIDL_STUB_DESC
;
316 alias void * PMIDL_XMIT_TYPE
;
318 struct MIDL_FORMAT_STRING
{
323 struct MIDL_SERVER_INFO
{
324 PMIDL_STUB_DESC pStubDesc
;
325 const(SERVER_ROUTINE
)* DispatchTable
;
326 PFORMAT_STRING ProcString
;
327 const(ushort)* FmtStringOffset
;
328 const(STUB_THUNK
)* ThunkTable
;
330 alias MIDL_SERVER_INFO
* PMIDL_SERVER_INFO
;
332 struct MIDL_STUBLESS_PROXY_INFO
{
333 PMIDL_STUB_DESC pStubDesc
;
334 PFORMAT_STRING ProcFormatString
;
335 const(ushort)* FormatStringOffset
;
337 alias MIDL_STUBLESS_PROXY_INFO
*PMIDL_STUBLESS_PROXY_INFO
;
339 union CLIENT_CALL_RETURN
{
348 struct FULL_PTR_TO_REFID_ELEMENT
{
349 FULL_PTR_TO_REFID_ELEMENT
* Next
;
354 alias FULL_PTR_TO_REFID_ELEMENT
* PFULL_PTR_TO_REFID_ELEMENT
;
356 struct FULL_PTR_XLAT_TABLES
{
357 struct _RefIdToPointer
{
360 uint NumberOfEntries
;
362 void* RefIdToPointer
;
363 struct _PointerToRefId
{
364 PFULL_PTR_TO_REFID_ELEMENT
*XlatTable
;
365 uint NumberOfBuckets
;
368 void* PointerToRefId
;
373 alias FULL_PTR_XLAT_TABLES
* PFULL_PTR_XLAT_TABLES
;
380 STUB_CALL_SERVER_NO_HRESULT
391 alias TypeDef
!(void *) RPC_SS_THREAD_HANDLE
;
394 alias void function (void*) NDR_RUNDOWN
;
395 alias void function (_MIDL_STUB_MESSAGE
*) EXPR_EVAL
;
396 alias void function(PMIDL_STUB_MESSAGE
) XMIT_HELPER_ROUTINE
;
397 alias void function (RPC_BINDING_HANDLE
,uint,uint,IDL_CS_CONVERT
*,uint*,error_status_t
*) CS_TYPE_NET_SIZE_ROUTINE
;
398 alias void function (RPC_BINDING_HANDLE
,uint,uint,IDL_CS_CONVERT
*,uint*,error_status_t
*) CS_TYPE_LOCAL_SIZE_ROUTINE
;
399 alias void function (RPC_BINDING_HANDLE
,uint,void*,uint,byte*,uint*,error_status_t
*) CS_TYPE_TO_NETCS_ROUTINE
;
400 alias void function (RPC_BINDING_HANDLE
,uint,byte*,uint,uint,void*,uint*,error_status_t
*) CS_TYPE_FROM_NETCS_ROUTINE
;
401 alias void function (RPC_BINDING_HANDLE
,int,uint*,uint*,uint*,error_status_t
*) CS_TAG_GETTING_ROUTINE
;
403 //alias void* RPC_CLIENT_ALLOC(uint);
404 //alias void RPC_CLIENT_FREE(void*);
405 alias void* function(uint) PRPC_CLIENT_ALLOC
;
406 alias void function(void*) PRPC_CLIENT_FREE
;
408 alias void function (PMIDL_STUB_MESSAGE
) STUB_THUNK
;
409 alias int function() SERVER_ROUTINE
;
412 void NdrSimpleTypeMarshall(PMIDL_STUB_MESSAGE
,ubyte*,ubyte);
413 ubyte * NdrPointerMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING pFormat
);
414 ubyte * NdrSimpleStructMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
415 ubyte * NdrConformantStructMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
416 ubyte * NdrConformantVaryingStructMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
417 ubyte * NdrHardStructMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
418 ubyte * NdrComplexStructMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
419 ubyte * NdrFixedArrayMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
420 ubyte * NdrConformantArrayMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
421 ubyte * NdrConformantVaryingArrayMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
422 ubyte * NdrVaryingArrayMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
423 ubyte * NdrComplexArrayMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
424 ubyte * NdrNonConformantStringMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
425 ubyte * NdrConformantStringMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
426 ubyte * NdrEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
427 ubyte * NdrNonEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
428 ubyte * NdrByteCountPointerMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
429 ubyte * NdrXmitOrRepAsMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
430 ubyte * NdrInterfacePointerMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
431 void NdrClientContextMarshall(PMIDL_STUB_MESSAGE
,NDR_CCONTEXT
,int);
432 void NdrServerContextMarshall(PMIDL_STUB_MESSAGE
,NDR_SCONTEXT
,NDR_RUNDOWN
);
433 void NdrSimpleTypeUnmarshall(PMIDL_STUB_MESSAGE
,ubyte*,ubyte);
434 ubyte * NdrPointerUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
435 ubyte * NdrSimpleStructUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
436 ubyte * NdrConformantStructUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
437 ubyte * NdrConformantVaryingStructUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
438 ubyte * NdrHardStructUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
439 ubyte * NdrComplexStructUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
440 ubyte * NdrFixedArrayUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
441 ubyte * NdrConformantArrayUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
442 ubyte * NdrConformantVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
443 ubyte * NdrVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
444 ubyte * NdrComplexArrayUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
445 ubyte * NdrNonConformantStringUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
446 ubyte * NdrConformantStringUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
447 ubyte * NdrEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
448 ubyte * NdrNonEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
449 ubyte * NdrByteCountPointerUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
450 ubyte * NdrXmitOrRepAsUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
451 ubyte * NdrInterfacePointerUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
452 void NdrClientContextUnmarshall(PMIDL_STUB_MESSAGE
,NDR_CCONTEXT
*,RPC_BINDING_HANDLE
);
453 NDR_SCONTEXT
NdrServerContextUnmarshall(PMIDL_STUB_MESSAGE
);
454 void NdrPointerBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
455 void NdrSimpleStructBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
456 void NdrConformantStructBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
457 void NdrConformantVaryingStructBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
458 void NdrHardStructBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
459 void NdrComplexStructBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
460 void NdrFixedArrayBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
461 void NdrConformantArrayBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
462 void NdrConformantVaryingArrayBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
463 void NdrVaryingArrayBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
464 void NdrComplexArrayBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
465 void NdrConformantStringBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
466 void NdrNonConformantStringBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
467 void NdrEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
468 void NdrNonEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
469 void NdrByteCountPointerBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
470 void NdrXmitOrRepAsBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
471 void NdrInterfacePointerBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
472 void NdrContextHandleSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
473 uint NdrPointerMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
474 uint NdrSimpleStructMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
475 uint NdrConformantStructMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
476 uint NdrConformantVaryingStructMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
477 uint NdrHardStructMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
478 uint NdrComplexStructMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
479 uint NdrFixedArrayMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
480 uint NdrConformantArrayMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
481 uint NdrConformantVaryingArrayMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
482 uint NdrVaryingArrayMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
483 uint NdrComplexArrayMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
484 uint NdrConformantStringMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
485 uint NdrNonConformantStringMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
486 uint NdrEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
487 uint NdrNonEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
488 uint NdrXmitOrRepAsMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
489 uint NdrInterfacePointerMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
490 void NdrPointerFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
491 void NdrSimpleStructFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
492 void NdrConformantStructFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
493 void NdrConformantVaryingStructFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
494 void NdrHardStructFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
495 void NdrComplexStructFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
496 void NdrFixedArrayFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
497 void NdrConformantArrayFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
498 void NdrConformantVaryingArrayFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
499 void NdrVaryingArrayFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
500 void NdrComplexArrayFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
501 void NdrEncapsulatedUnionFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
502 void NdrNonEncapsulatedUnionFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
503 void NdrByteCountPointerFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
504 void NdrXmitOrRepAsFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
505 void NdrInterfacePointerFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
506 void NdrConvert(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
507 void NdrClientInitializeNew(PRPC_MESSAGE
,PMIDL_STUB_MESSAGE
,PMIDL_STUB_DESC
,uint);
508 ubyte * NdrServerInitializeNew(PRPC_MESSAGE
,PMIDL_STUB_MESSAGE
,PMIDL_STUB_DESC
);
509 void NdrClientInitialize(PRPC_MESSAGE
,PMIDL_STUB_MESSAGE
,PMIDL_STUB_DESC
,uint);
510 ubyte * NdrServerInitialize(PRPC_MESSAGE
,PMIDL_STUB_MESSAGE
,PMIDL_STUB_DESC
);
511 ubyte * NdrServerInitializeUnmarshall(PMIDL_STUB_MESSAGE
,PMIDL_STUB_DESC
,PRPC_MESSAGE
);
512 void NdrServerInitializeMarshall(PRPC_MESSAGE
,PMIDL_STUB_MESSAGE
);
513 ubyte * NdrGetBuffer(PMIDL_STUB_MESSAGE
,uint,RPC_BINDING_HANDLE
);
514 ubyte * NdrNsGetBuffer(PMIDL_STUB_MESSAGE
,uint,RPC_BINDING_HANDLE
);
515 ubyte * NdrSendReceive(PMIDL_STUB_MESSAGE
,ubyte*);
516 ubyte * NdrNsSendReceive(PMIDL_STUB_MESSAGE
,ubyte*,RPC_BINDING_HANDLE
*);
517 void NdrFreeBuffer(PMIDL_STUB_MESSAGE
);
519 CLIENT_CALL_RETURN
NdrClientCall(PMIDL_STUB_DESC
,PFORMAT_STRING
,...);
521 int NdrStubCall(IRpcStubBuffer
, IRpcChannelBuffer
,PRPC_MESSAGE
,uint*);
522 void NdrServerCall(PRPC_MESSAGE
);
523 int NdrServerUnmarshall(IRpcChannelBuffer
, PRPC_MESSAGE
,PMIDL_STUB_MESSAGE
,PMIDL_STUB_DESC
,PFORMAT_STRING
,void*);
524 void NdrServerMarshall(IRpcStubBuffer
, IRpcChannelBuffer
,PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
525 RPC_STATUS
NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE
,uint*,uint*,RPC_STATUS
);
526 int NdrSH_UPDecision(PMIDL_STUB_MESSAGE
,ubyte**,RPC_BUFPTR
);
527 int NdrSH_TLUPDecision(PMIDL_STUB_MESSAGE
,ubyte**);
528 int NdrSH_TLUPDecisionBuffer(PMIDL_STUB_MESSAGE
,ubyte**);
529 int NdrSH_IfAlloc(PMIDL_STUB_MESSAGE
,ubyte**,uint);
530 int NdrSH_IfAllocRef(PMIDL_STUB_MESSAGE
,ubyte**,uint);
531 int NdrSH_IfAllocSet(PMIDL_STUB_MESSAGE
,ubyte**,uint);
532 RPC_BUFPTR
NdrSH_IfCopy(PMIDL_STUB_MESSAGE
,ubyte**,uint);
533 RPC_BUFPTR
NdrSH_IfAllocCopy(PMIDL_STUB_MESSAGE
,ubyte**,uint);
534 uint NdrSH_Copy(ubyte*,ubyte*,uint);
535 void NdrSH_IfFree(PMIDL_STUB_MESSAGE
,ubyte*);
536 RPC_BUFPTR
NdrSH_StringMarshall(PMIDL_STUB_MESSAGE
,ubyte*,uint,int);
537 RPC_BUFPTR
NdrSH_StringUnMarshall(PMIDL_STUB_MESSAGE
,ubyte**,int);
538 void* RpcSsAllocate(uint);
539 void RpcSsDisableAllocate();
540 void RpcSsEnableAllocate();
541 void RpcSsFree(void*);
542 RPC_SS_THREAD_HANDLE
RpcSsGetThreadHandle();
543 void RpcSsSetClientAllocFree(PRPC_CLIENT_ALLOC
,PRPC_CLIENT_FREE
);
544 void RpcSsSetThreadHandle(RPC_SS_THREAD_HANDLE
);
545 void RpcSsSwapClientAllocFree(PRPC_CLIENT_ALLOC
,PRPC_CLIENT_FREE
,PRPC_CLIENT_ALLOC
*,PRPC_CLIENT_FREE
*);
546 void* RpcSmAllocate(uint,RPC_STATUS
*);
547 RPC_STATUS
RpcSmClientFree(void*);
548 RPC_STATUS
RpcSmDestroyClientContext(void**);
549 RPC_STATUS
RpcSmDisableAllocate();
550 RPC_STATUS
RpcSmEnableAllocate();
551 RPC_STATUS
RpcSmFree(void*);
552 RPC_SS_THREAD_HANDLE
RpcSmGetThreadHandle(RPC_STATUS
*);
553 RPC_STATUS
RpcSmSetClientAllocFree(PRPC_CLIENT_ALLOC
,PRPC_CLIENT_FREE
);
554 RPC_STATUS
RpcSmSetThreadHandle(RPC_SS_THREAD_HANDLE
);
555 RPC_STATUS
RpcSmSwapClientAllocFree(PRPC_CLIENT_ALLOC
,PRPC_CLIENT_FREE
,PRPC_CLIENT_ALLOC
*,PRPC_CLIENT_FREE
*);
556 void NdrRpcSsEnableAllocate(PMIDL_STUB_MESSAGE
);
557 void NdrRpcSsDisableAllocate(PMIDL_STUB_MESSAGE
);
558 void NdrRpcSmSetClientToOsf(PMIDL_STUB_MESSAGE
);
559 void* NdrRpcSmClientAllocate(uint);
560 void NdrRpcSmClientFree(void*);
561 void* NdrRpcSsDefaultAllocate(uint);
562 void NdrRpcSsDefaultFree(void*);
563 PFULL_PTR_XLAT_TABLES
NdrFullPointerXlatInit(uint,XLAT_SIDE
);
564 void NdrFullPointerXlatFree(PFULL_PTR_XLAT_TABLES
);
565 int NdrFullPointerQueryPointer(PFULL_PTR_XLAT_TABLES
,void*,ubyte,uint*);
566 int NdrFullPointerQueryRefId(PFULL_PTR_XLAT_TABLES
,uint,ubyte,void**);
567 void NdrFullPointerInsertRefId(PFULL_PTR_XLAT_TABLES
,uint,void*);
568 int NdrFullPointerFree(PFULL_PTR_XLAT_TABLES
,void*);
569 void* NdrAllocate(PMIDL_STUB_MESSAGE
,uint);
570 void NdrClearOutParameters(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
,void*);
571 void* NdrOleAllocate(uint);
572 void NdrOleFree(void*);
573 ubyte* NdrUserMarshalMarshall(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
574 ubyte* NdrUserMarshalUnmarshall(PMIDL_STUB_MESSAGE
,ubyte**,PFORMAT_STRING
,ubyte);
575 void NdrUserMarshalBufferSize(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);
576 uint NdrUserMarshalMemorySize(PMIDL_STUB_MESSAGE
,PFORMAT_STRING
);
577 void NdrUserMarshalFree(PMIDL_STUB_MESSAGE
,ubyte*,PFORMAT_STRING
);