summaryrefslogtreecommitdiffstats
path: root/public/sdk/rpc16/mac/inc
diff options
context:
space:
mode:
Diffstat (limited to 'public/sdk/rpc16/mac/inc')
-rw-r--r--public/sdk/rpc16/mac/inc/midles.h218
-rw-r--r--public/sdk/rpc16/mac/inc/rpc.h71
-rw-r--r--public/sdk/rpc16/mac/inc/rpcdce.h1618
-rw-r--r--public/sdk/rpc16/mac/inc/rpcdcep.h415
-rw-r--r--public/sdk/rpc16/mac/inc/rpcerr.h188
-rw-r--r--public/sdk/rpc16/mac/inc/rpcmac.h121
-rw-r--r--public/sdk/rpc16/mac/inc/rpcndr.h2630
-rw-r--r--public/sdk/rpc16/mac/inc/rpcnsi.h509
-rw-r--r--public/sdk/rpc16/mac/inc/rpcnsip.h72
9 files changed, 5842 insertions, 0 deletions
diff --git a/public/sdk/rpc16/mac/inc/midles.h b/public/sdk/rpc16/mac/inc/midles.h
new file mode 100644
index 000000000..b64e4fe61
--- /dev/null
+++ b/public/sdk/rpc16/mac/inc/midles.h
@@ -0,0 +1,218 @@
+/*++
+
+Copyright (c) 1991-1996 Microsoft Corporation
+
+Module Name:
+
+ midles.h
+
+Abstract:
+
+ This module contains definitions needed for encoding/decoding
+ support (serializing/deserializing a.k.a. pickling).
+
+--*/
+
+#ifndef __MIDLES_H__
+#define __MIDLES_H__
+
+#include <rpcndr.h>
+
+//
+// Set the packing level for RPC structures for Dos and Windows.
+//
+
+#if defined(__RPC_DOS__) || defined(__RPC_WIN16__)
+#pragma pack(2)
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Pickling support
+ */
+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 )
+ ( IN OUT void __RPC_FAR * state,
+ OUT char __RPC_FAR * __RPC_FAR * pbuffer,
+ IN OUT unsigned int __RPC_FAR * psize );
+
+typedef void (__RPC_USER * MIDL_ES_WRITE)
+ ( IN OUT void __RPC_FAR * state,
+ IN char __RPC_FAR * buffer,
+ IN unsigned int size );
+
+typedef void (__RPC_USER * MIDL_ES_READ)
+ ( IN OUT void __RPC_FAR * state,
+ OUT char __RPC_FAR * __RPC_FAR * pbuffer,
+ IN OUT unsigned int __RPC_FAR * psize );
+
+typedef struct _MIDL_ES_MESSAGE
+{
+ MIDL_STUB_MESSAGE StubMsg;
+ MIDL_ES_CODE Operation;
+ void __RPC_FAR * UserState;
+ unsigned long MesVersion:8;
+ unsigned long HandleStyle:8;
+ unsigned long HandleFlags:8;
+ unsigned long Reserve:8;
+ MIDL_ES_ALLOC Alloc;
+ MIDL_ES_WRITE Write;
+ MIDL_ES_READ Read;
+ unsigned char __RPC_FAR * Buffer;
+ unsigned long BufferSize;
+ unsigned char __RPC_FAR * __RPC_FAR * pDynBuffer;
+ unsigned long __RPC_FAR * pEncodedSize;
+ RPC_SYNTAX_IDENTIFIER InterfaceId;
+ unsigned long ProcNumber;
+ unsigned long AlienDataRep;
+ unsigned long IncrDataSize;
+ unsigned long ByteCount;
+} MIDL_ES_MESSAGE, __RPC_FAR * PMIDL_ES_MESSAGE;
+
+typedef PMIDL_ES_MESSAGE MIDL_ES_HANDLE;
+
+RPC_STATUS RPC_ENTRY
+MesEncodeIncrementalHandleCreate(
+ void __RPC_FAR * UserState,
+ MIDL_ES_ALLOC AllocFn,
+ MIDL_ES_WRITE WriteFn,
+ handle_t __RPC_FAR * pHandle );
+
+RPC_STATUS RPC_ENTRY
+MesDecodeIncrementalHandleCreate(
+ void __RPC_FAR * UserState,
+ MIDL_ES_READ ReadFn,
+ handle_t __RPC_FAR * pHandle );
+
+
+RPC_STATUS RPC_ENTRY
+MesIncrementalHandleReset(
+ handle_t Handle,
+ void __RPC_FAR * UserState,
+ MIDL_ES_ALLOC AllocFn,
+ MIDL_ES_WRITE WriteFn,
+ MIDL_ES_READ ReadFn,
+ MIDL_ES_CODE Operation );
+
+
+RPC_STATUS RPC_ENTRY
+MesEncodeFixedBufferHandleCreate(
+ char __RPC_FAR * pBuffer,
+ unsigned long BufferSize,
+ unsigned long __RPC_FAR * pEncodedSize,
+ handle_t __RPC_FAR * pHandle );
+
+RPC_STATUS RPC_ENTRY
+MesEncodeDynBufferHandleCreate(
+ char __RPC_FAR * __RPC_FAR * pBuffer,
+ unsigned long __RPC_FAR * pEncodedSize,
+ handle_t __RPC_FAR * pHandle );
+
+RPC_STATUS RPC_ENTRY
+MesDecodeBufferHandleCreate(
+ char __RPC_FAR * pBuffer,
+ unsigned long BufferSize,
+ handle_t __RPC_FAR * pHandle );
+
+
+RPC_STATUS RPC_ENTRY
+MesBufferHandleReset(
+ handle_t Handle,
+ unsigned long HandleStyle,
+ MIDL_ES_CODE Operation,
+ char __RPC_FAR * __RPC_FAR * pBuffer,
+ unsigned long BufferSize,
+ unsigned long __RPC_FAR * pEncodedSize );
+
+
+RPC_STATUS RPC_ENTRY
+MesHandleFree( handle_t Handle );
+
+RPC_STATUS RPC_ENTRY
+MesInqProcEncodingId(
+ handle_t Handle,
+ PRPC_SYNTAX_IDENTIFIER pInterfaceId,
+ unsigned long __RPC_FAR * pProcNum );
+
+
+#if defined(_MIPS_) || defined(_ALPHA_) || defined(_PPC_)
+#define __RPC_UNALIGNED __unaligned
+#else
+#define __RPC_UNALIGNED
+#endif
+
+void RPC_ENTRY I_NdrMesMessageInit( PMIDL_STUB_MESSAGE );
+
+size_t RPC_ENTRY
+NdrMesSimpleTypeAlignSize ( handle_t );
+
+void RPC_ENTRY
+NdrMesSimpleTypeDecode(
+ handle_t Handle,
+ void __RPC_FAR * pObject,
+ short Size );
+
+void RPC_ENTRY
+NdrMesSimpleTypeEncode(
+ handle_t Handle,
+ PMIDL_STUB_DESC pStubDesc,
+ void __RPC_FAR * pObject,
+ short Size );
+
+
+size_t RPC_ENTRY
+NdrMesTypeAlignSize(
+ handle_t Handle,
+ PMIDL_STUB_DESC pStubDesc,
+ PFORMAT_STRING pFormatString,
+ void __RPC_FAR * pObject );
+
+void RPC_ENTRY
+NdrMesTypeEncode(
+ handle_t Handle,
+ PMIDL_STUB_DESC pStubDesc,
+ PFORMAT_STRING pFormatString,
+ void __RPC_FAR * pObject );
+
+void RPC_ENTRY
+NdrMesTypeDecode(
+ handle_t Handle,
+ PMIDL_STUB_DESC pStubDesc,
+ PFORMAT_STRING pFormatString,
+ void __RPC_FAR * pObject );
+
+void RPC_VAR_ENTRY
+NdrMesProcEncodeDecode(
+ handle_t Handle,
+ PMIDL_STUB_DESC pStubDesc,
+ PFORMAT_STRING pFormatString,
+ ... );
+
+
+#ifdef __cplusplus
+}
+#endif
+
+// Reset the packing level for DOS and Windows.
+
+#if defined(__RPC_DOS__) || defined(__RPC_WIN16__)
+#pragma pack()
+#endif
+
+#endif /* __MIDLES_H__ */
diff --git a/public/sdk/rpc16/mac/inc/rpc.h b/public/sdk/rpc16/mac/inc/rpc.h
new file mode 100644
index 000000000..6b1bfafde
--- /dev/null
+++ b/public/sdk/rpc16/mac/inc/rpc.h
@@ -0,0 +1,71 @@
+/*++
+
+Copyright (c) 1991-1993 Microsoft Corporation
+
+Module Name:
+
+ rpc.h
+
+Abstract:
+
+ Master include file for RPC applications.
+
+--*/
+
+#ifndef __RPC_H__
+#define __RPC_H__
+
+// Set the packing level for RPC structures.
+
+#pragma pack(2)
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define __RPC_MAC__
+
+#ifndef __MIDL_USER_DEFINED
+#define midl_user_allocate MIDL_user_allocate
+#define midl_user_free MIDL_user_free
+#define __MIDL_USER_DEFINED
+#endif
+
+typedef long RPC_STATUS;
+
+#include <setjmp.h>
+
+#define RPCXCWORD (sizeof(jmp_buf)/sizeof(int))
+
+#define __RPC_FAR
+#define __RPC_API __stdcall
+#define __RPC_USER __stdcall
+#define __RPC_STUB __stdcall
+#define RPC_ENTRY __stdcall
+
+typedef void * I_RPC_HANDLE;
+#pragma warning( disable: 4005 )
+#include "rpcdce.h"
+#include "rpcnsi.h"
+#include "rpcerr.h"
+#include "rpcmac.h"
+#pragma warning( default : 4005 )
+
+typedef void (RPC_ENTRY *MACYIELDCALLBACK)(/*OSErr*/ short *) ;
+RPC_STATUS RPC_ENTRY
+RpcMacSetYieldInfo(
+ MACYIELDCALLBACK pfnCallback) ;
+
+#ifdef __cplusplus
+}
+#endif
+
+#if !defined(UNALIGNED)
+#define UNALIGNED
+#endif
+
+// Reset the packing level.
+#pragma pack()
+
+#endif // __RPC_H__
+ \ No newline at end of file
diff --git a/public/sdk/rpc16/mac/inc/rpcdce.h b/public/sdk/rpc16/mac/inc/rpcdce.h
new file mode 100644
index 000000000..099457ea4
--- /dev/null
+++ b/public/sdk/rpc16/mac/inc/rpcdce.h
@@ -0,0 +1,1618 @@
+/*++
+
+Copyright (c) 1991-1996 Microsoft Corporation
+
+Module Name:
+
+ rpcdce.h
+
+Abstract:
+
+ This module contains the DCE RPC runtime APIs.
+
+--*/
+
+#ifndef __RPCDCE_H__
+#define __RPCDCE_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define IN
+#define OUT
+#define OPTIONAL
+
+/*typedef char small;*/
+/*typedef unsigned char byte;*/
+/*typedef unsigned char boolean;*/
+
+typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
+typedef RPC_BINDING_HANDLE handle_t;
+#define rpc_binding_handle_t RPC_BINDING_HANDLE
+
+#ifndef GUID_DEFINED
+#define GUID_DEFINED
+typedef struct _GUID
+{
+ unsigned long Data1;
+ unsigned short Data2;
+ unsigned short Data3;
+ unsigned char Data4[8];
+} GUID;
+#endif /* GUID_DEFINED */
+
+#ifndef UUID_DEFINED
+#define UUID_DEFINED
+typedef GUID UUID;
+#ifndef uuid_t
+#define uuid_t UUID
+#endif
+#endif
+
+typedef struct _RPC_BINDING_VECTOR
+{
+ unsigned long Count;
+ RPC_BINDING_HANDLE BindingH[1];
+} RPC_BINDING_VECTOR;
+#ifndef rpc_binding_vector_t
+#define rpc_binding_vector_t RPC_BINDING_VECTOR
+#endif
+
+typedef struct _UUID_VECTOR
+{
+ unsigned long Count;
+ UUID *Uuid[1];
+} UUID_VECTOR;
+#ifndef uuid_vector_t
+#define uuid_vector_t UUID_VECTOR
+#endif
+
+typedef void __RPC_FAR * RPC_IF_HANDLE;
+
+#ifndef IFID_DEFINED
+#define IFID_DEFINED
+typedef struct _RPC_IF_ID
+{
+ UUID Uuid;
+ unsigned short VersMajor;
+ unsigned short VersMinor;
+} RPC_IF_ID;
+#endif
+
+#define RPC_C_BINDING_INFINITE_TIMEOUT 10
+#define RPC_C_BINDING_MIN_TIMEOUT 0
+#define RPC_C_BINDING_DEFAULT_TIMEOUT 5
+#define RPC_C_BINDING_MAX_TIMEOUT 9
+
+#define RPC_C_CANCEL_INFINITE_TIMEOUT -1
+
+#define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
+#define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
+
+#define RPC_C_BIND_TO_ALL_NICS 1
+#define RPC_C_USE_INTERNET_PORT 1
+#define RPC_C_USE_INTRANET_PORT 2
+
+#ifdef RPC_UNICODE_SUPPORTED
+typedef struct _RPC_PROTSEQ_VECTORA
+{
+ unsigned int Count;
+ unsigned char __RPC_FAR * Protseq[1];
+} RPC_PROTSEQ_VECTORA;
+
+typedef struct _RPC_PROTSEQ_VECTORW
+{
+ unsigned int Count;
+ unsigned short __RPC_FAR * Protseq[1];
+} RPC_PROTSEQ_VECTORW;
+
+#ifdef UNICODE
+#define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORW
+#else /* UNICODE */
+#define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+typedef struct _RPC_PROTSEQ_VECTOR
+{
+ unsigned int Count;
+ unsigned char __RPC_FAR * Protseq[1];
+} RPC_PROTSEQ_VECTOR;
+
+#endif /* RPC_UNICODE_SUPPORTED */
+typedef struct _RPC_POLICY {
+ unsigned int Length ;
+ unsigned long EndpointFlags ;
+ unsigned long NICFlags ;
+ } RPC_POLICY, __RPC_FAR *PRPC_POLICY ;
+
+typedef void __RPC_USER
+RPC_OBJECT_INQ_FN (
+ IN UUID __RPC_FAR * ObjectUuid,
+ OUT UUID __RPC_FAR * TypeUuid,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+typedef RPC_STATUS
+RPC_IF_CALLBACK_FN (
+ IN RPC_IF_HANDLE InterfaceUuid,
+ IN void *Context
+ ) ;
+
+#define RPC_MGR_EPV void
+
+typedef struct
+{
+ unsigned int Count;
+ unsigned long Stats[1];
+} RPC_STATS_VECTOR;
+
+#define RPC_C_STATS_CALLS_IN 0
+#define RPC_C_STATS_CALLS_OUT 1
+#define RPC_C_STATS_PKTS_IN 2
+#define RPC_C_STATS_PKTS_OUT 3
+
+typedef struct
+{
+ unsigned long Count;
+ RPC_IF_ID __RPC_FAR * IfId[1];
+} RPC_IF_ID_VECTOR;
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcBindingCopy (
+ IN RPC_BINDING_HANDLE SourceBinding,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * DestinationBinding
+ );
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcBindingFree (
+ IN OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
+ );
+
+/* client */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcBindingFromStringBindingA (
+ IN unsigned char __RPC_FAR * StringBinding,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingFromStringBindingW (
+ IN unsigned short __RPC_FAR * StringBinding,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
+ );
+
+#ifdef UNICODE
+#define RpcBindingFromStringBinding RpcBindingFromStringBindingW
+#else /* UNICODE */
+#define RpcBindingFromStringBinding RpcBindingFromStringBindingA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcBindingFromStringBinding (
+ IN unsigned char __RPC_FAR * StringBinding,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+RpcBindingInqObject (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT UUID __RPC_FAR * ObjectUuid
+ );
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcBindingReset (
+ IN RPC_BINDING_HANDLE Binding
+ );
+
+/* RpcBindingServerFromClient : UNSUPPORTED */
+/* RpcBindingSetAuthInfo */
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcBindingSetObject (
+ IN RPC_BINDING_HANDLE Binding,
+ IN UUID __RPC_FAR * ObjectUuid
+ );
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqDefaultProtectLevel(
+ IN unsigned long AuthnSvc,
+ OUT unsigned long __RPC_FAR *AuthnLevel
+ );
+
+/* client/server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcBindingToStringBindingA (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingToStringBindingW (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * StringBinding
+ );
+
+#ifdef UNICODE
+#define RpcBindingToStringBinding RpcBindingToStringBindingW
+#else /* UNICODE */
+#define RpcBindingToStringBinding RpcBindingToStringBindingA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcBindingToStringBinding (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+RpcBindingVectorFree (
+ IN OUT RPC_BINDING_VECTOR __RPC_FAR * __RPC_FAR * BindingVector
+ );
+
+/* client/server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcStringBindingComposeA (
+ IN unsigned char __RPC_FAR * ObjUuid OPTIONAL,
+ IN unsigned char __RPC_FAR * Protseq OPTIONAL,
+ IN unsigned char __RPC_FAR * NetworkAddr OPTIONAL,
+ IN unsigned char __RPC_FAR * Endpoint OPTIONAL,
+ IN unsigned char __RPC_FAR * Options OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcStringBindingComposeW (
+ IN unsigned short __RPC_FAR * ObjUuid OPTIONAL,
+ IN unsigned short __RPC_FAR * Protseq OPTIONAL,
+ IN unsigned short __RPC_FAR * NetworkAddr OPTIONAL,
+ IN unsigned short __RPC_FAR * Endpoint OPTIONAL,
+ IN unsigned short __RPC_FAR * Options OPTIONAL,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * StringBinding OPTIONAL
+ );
+
+#ifdef UNICODE
+#define RpcStringBindingCompose RpcStringBindingComposeW
+#else /* UNICODE */
+#define RpcStringBindingCompose RpcStringBindingComposeA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcStringBindingCompose (
+ IN unsigned char __RPC_FAR * ObjUuid OPTIONAL,
+ IN unsigned char __RPC_FAR * Protseq OPTIONAL,
+ IN unsigned char __RPC_FAR * NetworkAddr OPTIONAL,
+ IN unsigned char __RPC_FAR * Endpoint OPTIONAL,
+ IN unsigned char __RPC_FAR * Options OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * StringBinding OPTIONAL
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client/server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcStringBindingParseA (
+ IN unsigned char __RPC_FAR * StringBinding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ObjUuid OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * Protseq OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkAddr OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * Endpoint OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkOptions OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcStringBindingParseW (
+ IN unsigned short __RPC_FAR * StringBinding,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * ObjUuid OPTIONAL,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * Protseq OPTIONAL,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * NetworkAddr OPTIONAL,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * Endpoint OPTIONAL,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * NetworkOptions OPTIONAL
+ );
+
+#ifdef UNICODE
+#define RpcStringBindingParse RpcStringBindingParseW
+#else /* UNICODE */
+#define RpcStringBindingParse RpcStringBindingParseA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcStringBindingParse (
+ IN unsigned char __RPC_FAR * StringBinding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ObjUuid OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * Protseq OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkAddr OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * Endpoint OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * NetworkOptions OPTIONAL
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client/server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcStringFreeA (
+ IN OUT unsigned char __RPC_FAR * __RPC_FAR * String
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcStringFreeW (
+ IN OUT unsigned short __RPC_FAR * __RPC_FAR * String
+ );
+
+#ifdef UNICODE
+#define RpcStringFree RpcStringFreeW
+#else /* UNICODE */
+#define RpcStringFree RpcStringFreeA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcStringFree (
+ IN OUT unsigned char __RPC_FAR * __RPC_FAR * String
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+RpcIfInqId (
+ IN RPC_IF_HANDLE RpcIfHandle,
+ OUT RPC_IF_ID __RPC_FAR * RpcIfId
+ );
+
+/* client/server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcNetworkIsProtseqValidA (
+ IN unsigned char __RPC_FAR * Protseq
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNetworkIsProtseqValidW (
+ IN unsigned short __RPC_FAR * Protseq
+ );
+
+#ifdef UNICODE
+#define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidW
+#else /* UNICODE */
+#define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcNetworkIsProtseqValid (
+ IN unsigned char __RPC_FAR * Protseq
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqComTimeout (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned int __RPC_FAR * Timeout
+ );
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcMgmtSetComTimeout (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned int Timeout
+ );
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcMgmtSetCancelTimeout(
+ long Timeout
+ );
+
+
+/* server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcNetworkInqProtseqsA (
+ OUT RPC_PROTSEQ_VECTORA __RPC_FAR * __RPC_FAR * ProtseqVector
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNetworkInqProtseqsW (
+ OUT RPC_PROTSEQ_VECTORW __RPC_FAR * __RPC_FAR * ProtseqVector
+ );
+
+#ifdef UNICODE
+#define RpcNetworkInqProtseqs RpcNetworkInqProtseqsW
+#else /* UNICODE */
+#define RpcNetworkInqProtseqs RpcNetworkInqProtseqsA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcNetworkInqProtseqs (
+ OUT RPC_PROTSEQ_VECTOR __RPC_FAR * __RPC_FAR * ProtseqVector
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcObjectInqType (
+ IN UUID __RPC_FAR * ObjUuid,
+ OUT UUID __RPC_FAR * TypeUuid OPTIONAL
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcObjectSetInqFn (
+ IN RPC_OBJECT_INQ_FN __RPC_FAR * InquiryFn
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcObjectSetType (
+ IN UUID __RPC_FAR * ObjUuid,
+ IN UUID __RPC_FAR * TypeUuid OPTIONAL
+ );
+
+/* server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcProtseqVectorFreeA (
+ IN OUT RPC_PROTSEQ_VECTORA __RPC_FAR * __RPC_FAR * ProtseqVector
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcProtseqVectorFreeW (
+ IN OUT RPC_PROTSEQ_VECTORW __RPC_FAR * __RPC_FAR * ProtseqVector
+ );
+
+#ifdef UNICODE
+#define RpcProtseqVectorFree RpcProtseqVectorFreeW
+#else /* UNICODE */
+#define RpcProtseqVectorFree RpcProtseqVectorFreeA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcProtseqVectorFree (
+ IN OUT RPC_PROTSEQ_VECTOR __RPC_FAR * __RPC_FAR * ProtseqVector
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerInqBindings (
+ OUT RPC_BINDING_VECTOR __RPC_FAR * __RPC_FAR * BindingVector
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerInqIf (
+ IN RPC_IF_HANDLE IfSpec,
+ IN UUID __RPC_FAR * MgrTypeUuid, OPTIONAL
+ OUT RPC_MGR_EPV __RPC_FAR * __RPC_FAR * MgrEpv
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerListen (
+ IN unsigned int MinimumCallThreads,
+ IN unsigned int MaxCalls,
+ IN unsigned int DontWait
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerRegisterIf (
+ IN RPC_IF_HANDLE IfSpec,
+ IN UUID __RPC_FAR * MgrTypeUuid OPTIONAL,
+ IN RPC_MGR_EPV __RPC_FAR * MgrEpv OPTIONAL
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerRegisterIfEx (
+ IN RPC_IF_HANDLE IfSpec,
+ IN UUID __RPC_FAR * MgrTypeUuid,
+ IN RPC_MGR_EPV __RPC_FAR * MgrEpv,
+ IN unsigned int Flags,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_CALLBACK_FN __RPC_FAR *IfCallback
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerUnregisterIf (
+ IN RPC_IF_HANDLE IfSpec,
+ IN UUID __RPC_FAR * MgrTypeUuid, OPTIONAL
+ IN unsigned int WaitForCallsToComplete
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerUseAllProtseqs (
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerUseAllProtseqsEx (
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerUseAllProtseqsIf (
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcServerUseAllProtseqsIfEx (
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+
+/* server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqA (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqExA (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqW (
+ IN unsigned short __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqExW (
+ IN unsigned short __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+#ifdef UNICODE
+#define RpcServerUseProtseq RpcServerUseProtseqW
+#define RpcServerUseProtseqEx RpcServerUseProtseqExW
+#else /* UNICODE */
+#define RpcServerUseProtseq RpcServerUseProtseqA
+#define RpcServerUseProtseqEx RpcServerUseProtseqExA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseq (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEx (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpA (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN unsigned char __RPC_FAR * Endpoint,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpExA (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN unsigned char __RPC_FAR * Endpoint,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpW (
+ IN unsigned short __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN unsigned short __RPC_FAR * Endpoint,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpExW (
+ IN unsigned short __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN unsigned short __RPC_FAR * Endpoint,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+#ifdef UNICODE
+#define RpcServerUseProtseqEp RpcServerUseProtseqEpW
+#define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExW
+#else /* UNICODE */
+#define RpcServerUseProtseqEp RpcServerUseProtseqEpA
+#define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEp (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN unsigned char __RPC_FAR * Endpoint,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqEpEx (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN unsigned char __RPC_FAR * Endpoint,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* server */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqIfA (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqIfExA (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqIfW (
+ IN unsigned short __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqIfExW (
+ IN unsigned short __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+#ifdef UNICODE
+#define RpcServerUseProtseqIf RpcServerUseProtseqIfW
+#define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExW
+#else /* UNICODE */
+#define RpcServerUseProtseqIf RpcServerUseProtseqIfA
+#define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqIf (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerUseProtseqIfEx (
+ IN unsigned char __RPC_FAR * Protseq,
+ IN unsigned int MaxCalls,
+ IN RPC_IF_HANDLE IfSpec,
+ IN void __RPC_FAR * SecurityDescriptor,
+ IN PRPC_POLICY Policy
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtStatsVectorFree (
+ IN RPC_STATS_VECTOR ** StatsVector
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqStats (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT RPC_STATS_VECTOR ** Statistics
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtIsServerListening (
+ IN RPC_BINDING_HANDLE Binding
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtStopServerListening (
+ IN RPC_BINDING_HANDLE Binding
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtWaitServerListen (
+ void
+ );
+
+/* server */
+RPC_STATUS RPC_ENTRY
+RpcMgmtSetServerStackSize (
+ IN unsigned long ThreadStackSize
+ );
+
+/* server */
+void RPC_ENTRY
+RpcSsDontSerializeContext (
+ void
+ );
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcMgmtEnableIdleCleanup (
+ void
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqIfIds (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR * IfIdVector
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcIfIdVectorFree (
+ IN OUT RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR * IfIdVector
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqServerPrincNameA (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long AuthnSvc,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqServerPrincNameW (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long AuthnSvc,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName
+ );
+
+#ifdef UNICODE
+#define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameW
+#else /* UNICODE */
+#define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqServerPrincName (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long AuthnSvc,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcServerInqDefaultPrincNameA (
+ IN unsigned long AuthnSvc,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * PrincName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerInqDefaultPrincNameW (
+ IN unsigned long AuthnSvc,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * PrincName
+ );
+
+#ifdef UNICODE
+#define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameW
+#else /* UNICODE */
+#define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcServerInqDefaultPrincName (
+ IN unsigned long AuthnSvc,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * PrincName
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+/* client */
+RPC_STATUS RPC_ENTRY
+RpcEpResolveBinding (
+ IN RPC_BINDING_HANDLE Binding,
+ IN RPC_IF_HANDLE IfSpec
+ );
+
+/* client */
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingInqEntryNameA (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long EntryNameSyntax,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * EntryName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingInqEntryNameW (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long EntryNameSyntax,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * EntryName
+ );
+
+#ifdef UNICODE
+#define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameW
+#else /* UNICODE */
+#define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingInqEntryName (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long EntryNameSyntax,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * EntryName
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+typedef void __RPC_FAR * RPC_AUTH_IDENTITY_HANDLE;
+typedef void __RPC_FAR * RPC_AUTHZ_HANDLE;
+
+#define RPC_C_AUTHN_LEVEL_DEFAULT 0
+#define RPC_C_AUTHN_LEVEL_NONE 1
+#define RPC_C_AUTHN_LEVEL_CONNECT 2
+#define RPC_C_AUTHN_LEVEL_CALL 3
+#define RPC_C_AUTHN_LEVEL_PKT 4
+#define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5
+#define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6
+
+#define RPC_C_IMP_LEVEL_ANONYMOUS 1
+#define RPC_C_IMP_LEVEL_IDENTIFY 2
+#define RPC_C_IMP_LEVEL_IMPERSONATE 3
+#define RPC_C_IMP_LEVEL_DELEGATE 4
+
+#define RPC_C_QOS_IDENTITY_STATIC 0
+#define RPC_C_QOS_IDENTITY_DYNAMIC 1
+
+#define RPC_C_QOS_CAPABILITIES_DEFAULT 0
+#define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH 1
+
+#define RPC_C_PROTECT_LEVEL_DEFAULT (RPC_C_AUTHN_LEVEL_DEFAULT)
+#define RPC_C_PROTECT_LEVEL_NONE (RPC_C_AUTHN_LEVEL_NONE)
+#define RPC_C_PROTECT_LEVEL_CONNECT (RPC_C_AUTHN_LEVEL_CONNECT)
+#define RPC_C_PROTECT_LEVEL_CALL (RPC_C_AUTHN_LEVEL_CALL)
+#define RPC_C_PROTECT_LEVEL_PKT (RPC_C_AUTHN_LEVEL_PKT)
+#define RPC_C_PROTECT_LEVEL_PKT_INTEGRITY (RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)
+#define RPC_C_PROTECT_LEVEL_PKT_PRIVACY (RPC_C_AUTHN_LEVEL_PKT_PRIVACY)
+
+#define RPC_C_AUTHN_NONE 0
+#define RPC_C_AUTHN_DCE_PRIVATE 1
+#define RPC_C_AUTHN_DCE_PUBLIC 2
+#define RPC_C_AUTHN_DEC_PUBLIC 4
+#define RPC_C_AUTHN_WINNT 10
+#define RPC_C_AUTHN_DEFAULT 0xFFFFFFFFL
+
+#define RPC_C_SECURITY_QOS_VERSION 1L
+
+typedef struct _RPC_SECURITY_QOS {
+ unsigned long Version;
+ unsigned long Capabilities;
+ unsigned long IdentityTracking;
+ unsigned long ImpersonationType;
+} RPC_SECURITY_QOS, *PRPC_SECURITY_QOS;
+
+#if defined(__RPC_DOS__) || defined(__RPC_WIN16__)
+typedef struct _SEC_WINNT_AUTH_IDENTITY
+{
+ char __RPC_FAR *User;
+ char __RPC_FAR *Domain;
+ char __RPC_FAR *Password;
+} SEC_WINNT_AUTH_IDENTITY;
+#else
+
+
+#define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1
+#define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
+
+typedef struct _SEC_WINNT_AUTH_IDENTITY_W {
+ unsigned short __RPC_FAR *User;
+ unsigned long UserLength;
+ unsigned short __RPC_FAR *Domain;
+ unsigned long DomainLength;
+ unsigned short __RPC_FAR *Password;
+ unsigned long PasswordLength;
+ unsigned long Flags;
+} SEC_WINNT_AUTH_IDENTITY_W, *PSEC_WINNT_AUTH_IDENTITY_W;
+
+typedef struct _SEC_WINNT_AUTH_IDENTITY_A {
+ unsigned char __RPC_FAR *User;
+ unsigned long UserLength;
+ unsigned char __RPC_FAR *Domain;
+ unsigned long DomainLength;
+ unsigned char __RPC_FAR *Password;
+ unsigned long PasswordLength;
+ unsigned long Flags;
+} SEC_WINNT_AUTH_IDENTITY_A, *PSEC_WINNT_AUTH_IDENTITY_A;
+
+
+#ifdef UNICODE
+#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_W
+#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_W
+#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_W
+#else // UNICODE
+#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_A
+#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_A
+#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_A
+#endif // UNICODE
+#endif // defined(__RPC_DOS__) || defined(__RPC_WIN16__)
+
+#define RPC_C_AUTHZ_NONE 0
+#define RPC_C_AUTHZ_NAME 1
+#define RPC_C_AUTHZ_DCE 2
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthClientA (
+ IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
+ OUT RPC_AUTHZ_HANDLE __RPC_FAR * Privs,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthClientW (
+ IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
+ OUT RPC_AUTHZ_HANDLE __RPC_FAR * Privs,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthInfoA (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthInfoW (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingSetAuthInfoA (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned char __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnLevel,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
+ IN unsigned long AuthzSvc
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingSetAuthInfoExA (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned char __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnLevel,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
+ IN unsigned long AuthzSvc,
+ IN RPC_SECURITY_QOS *SecurityQos OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingSetAuthInfoW (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned short __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnLevel,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
+ IN unsigned long AuthzSvc
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingSetAuthInfoExW (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned short __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnLevel,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
+ IN unsigned long AuthzSvc, OPTIONAL
+ IN RPC_SECURITY_QOS *SecurityQOS
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthInfoExA (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc, OPTIONAL
+ IN unsigned long RpcQosVersion,
+ OUT RPC_SECURITY_QOS *SecurityQOS
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthInfoExW (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL,
+ IN unsigned long RpcQosVersion,
+ OUT RPC_SECURITY_QOS *SecurityQOS
+ );
+
+typedef void
+(__RPC_USER * RPC_AUTH_KEY_RETRIEVAL_FN) (
+ IN void __RPC_FAR * Arg,
+ IN unsigned short __RPC_FAR * ServerPrincName,
+ IN unsigned long KeyVer,
+ OUT void __RPC_FAR * __RPC_FAR * Key,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerRegisterAuthInfoA (
+ IN unsigned char __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
+ IN void __RPC_FAR * Arg OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerRegisterAuthInfoW (
+ IN unsigned short __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
+ IN void __RPC_FAR * Arg OPTIONAL
+ );
+
+#ifdef UNICODE
+#define RpcBindingInqAuthClient RpcBindingInqAuthClientW
+#define RpcBindingInqAuthInfo RpcBindingInqAuthInfoW
+#define RpcBindingSetAuthInfo RpcBindingSetAuthInfoW
+#define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoW
+#define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExW
+#define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExW
+#else /* UNICODE */
+#define RpcBindingInqAuthClient RpcBindingInqAuthClientA
+#define RpcBindingInqAuthInfo RpcBindingInqAuthInfoA
+#define RpcBindingSetAuthInfo RpcBindingSetAuthInfoA
+#define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoA
+#define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExA
+#define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthClient (
+ IN RPC_BINDING_HANDLE ClientBinding, OPTIONAL
+ OUT RPC_AUTHZ_HANDLE __RPC_FAR * Privs,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingInqAuthInfo (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ServerPrincName, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnLevel, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthnSvc, OPTIONAL
+ OUT RPC_AUTH_IDENTITY_HANDLE __RPC_FAR * AuthIdentity, OPTIONAL
+ OUT unsigned long __RPC_FAR * AuthzSvc OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcBindingSetAuthInfo (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned char __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnLevel,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_IDENTITY_HANDLE AuthIdentity, OPTIONAL
+ IN unsigned long AuthzSvc
+ );
+
+typedef void
+(__RPC_USER * RPC_AUTH_KEY_RETRIEVAL_FN) (
+ IN void __RPC_FAR * Arg,
+ IN unsigned char __RPC_FAR * ServerPrincName,
+ IN unsigned long KeyVer,
+ OUT void __RPC_FAR * __RPC_FAR * Key,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcServerRegisterAuthInfo (
+ IN unsigned char __RPC_FAR * ServerPrincName,
+ IN unsigned long AuthnSvc,
+ IN RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn OPTIONAL,
+ IN void __RPC_FAR * Arg OPTIONAL
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+typedef struct {
+ unsigned char __RPC_FAR * UserName;
+ unsigned char __RPC_FAR * ComputerName;
+ unsigned short Privilege;
+ unsigned long AuthFlags;
+} RPC_CLIENT_INFORMATION1, __RPC_FAR * PRPC_CLIENT_INFORMATION1;
+
+RPC_STATUS RPC_ENTRY
+RpcBindingServerFromClient (
+ IN RPC_BINDING_HANDLE ClientBinding,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * ServerBinding
+ );
+
+void RPC_ENTRY
+RpcRaiseException (
+ IN RPC_STATUS exception
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcTestCancel(
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcCancelThread(
+ IN void * Thread
+ );
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidCreate (
+ OUT UUID __RPC_FAR * Uuid
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidToStringA (
+ IN UUID __RPC_FAR * Uuid,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * StringUuid
+ );
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidFromStringA (
+ IN unsigned char __RPC_FAR * StringUuid,
+ OUT UUID __RPC_FAR * Uuid
+ );
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidToStringW (
+ IN UUID __RPC_FAR * Uuid,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * StringUuid
+ );
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidFromStringW (
+ IN unsigned short __RPC_FAR * StringUuid,
+ OUT UUID __RPC_FAR * Uuid
+ );
+
+#ifdef UNICODE
+#define UuidFromString UuidFromStringW
+#define UuidToString UuidToStringW
+#else /* UNICODE */
+#define UuidFromString UuidFromStringA
+#define UuidToString UuidToStringA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidToString (
+ IN UUID __RPC_FAR * Uuid,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * StringUuid
+ );
+
+/* client/server */
+RPC_STATUS RPC_ENTRY
+UuidFromString (
+ IN unsigned char __RPC_FAR * StringUuid,
+ OUT UUID __RPC_FAR * Uuid
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+signed int RPC_ENTRY
+UuidCompare (
+ IN UUID __RPC_FAR * Uuid1,
+ IN UUID __RPC_FAR * Uuid2,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+RPC_STATUS RPC_ENTRY
+UuidCreateNil (
+ OUT UUID __RPC_FAR * NilUuid
+ );
+
+int RPC_ENTRY
+UuidEqual (
+ IN UUID __RPC_FAR * Uuid1,
+ IN UUID __RPC_FAR * Uuid2,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+unsigned short RPC_ENTRY
+UuidHash (
+ IN UUID __RPC_FAR * Uuid,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+int RPC_ENTRY
+UuidIsNil (
+ IN UUID __RPC_FAR * Uuid,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcEpRegisterNoReplaceA (
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector OPTIONAL,
+ IN unsigned char * Annotation
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcEpRegisterNoReplaceW (
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector OPTIONAL,
+ IN unsigned short * Annotation
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcEpRegisterA (
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector OPTIONAL,
+ IN unsigned char * Annotation
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcEpRegisterW (
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector OPTIONAL,
+ IN unsigned short * Annotation
+ );
+
+#ifdef UNICODE
+#define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceW
+#define RpcEpRegister RpcEpRegisterW
+#else /* UNICODE */
+#define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceA
+#define RpcEpRegister RpcEpRegisterA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcEpRegisterNoReplace (
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector OPTIONAL,
+ IN unsigned char * Annotation
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcEpRegister (
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector OPTIONAL,
+ IN unsigned char * Annotation
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+
+RPC_STATUS RPC_ENTRY
+RpcEpUnregister(
+ IN RPC_IF_HANDLE IfSpec,
+ IN RPC_BINDING_VECTOR * BindingVector,
+ IN UUID_VECTOR * UuidVector
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+DceErrorInqTextA (
+ IN RPC_STATUS RpcStatus,
+ OUT unsigned char __RPC_FAR * ErrorText
+ );
+
+RPC_STATUS RPC_ENTRY
+DceErrorInqTextW (
+ IN RPC_STATUS RpcStatus,
+ OUT unsigned short __RPC_FAR * ErrorText
+ );
+
+#ifdef UNICODE
+#define DceErrorInqText DceErrorInqTextW
+#else /* UNICODE */
+#define DceErrorInqText DceErrorInqTextA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+DceErrorInqText (
+ IN RPC_STATUS RpcStatus,
+ OUT unsigned char __RPC_FAR * ErrorText
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+#define DCE_C_ERROR_STRING_LEN 256
+
+typedef I_RPC_HANDLE * RPC_EP_INQ_HANDLE;
+
+#define RPC_C_EP_ALL_ELTS 0
+#define RPC_C_EP_MATCH_BY_IF 1
+#define RPC_C_EP_MATCH_BY_OBJ 2
+#define RPC_C_EP_MATCH_BY_BOTH 3
+
+#define RPC_C_VERS_ALL 1
+#define RPC_C_VERS_COMPATIBLE 2
+#define RPC_C_VERS_EXACT 3
+#define RPC_C_VERS_MAJOR_ONLY 4
+#define RPC_C_VERS_UPTO 5
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtEpEltInqBegin (
+ IN RPC_BINDING_HANDLE EpBinding OPTIONAL,
+ IN unsigned long InquiryType,
+ IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
+ IN unsigned long VersOption OPTIONAL,
+ IN UUID __RPC_FAR * ObjectUuid OPTIONAL,
+ OUT RPC_EP_INQ_HANDLE __RPC_FAR * InquiryContext
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtEpEltInqDone (
+ IN OUT RPC_EP_INQ_HANDLE __RPC_FAR * InquiryContext
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtEpEltInqNextA (
+ IN RPC_EP_INQ_HANDLE InquiryContext,
+ OUT RPC_IF_ID __RPC_FAR * IfId,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
+ OUT UUID __RPC_FAR * ObjectUuid OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtEpEltInqNextW (
+ IN RPC_EP_INQ_HANDLE InquiryContext,
+ OUT RPC_IF_ID __RPC_FAR * IfId,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
+ OUT UUID __RPC_FAR * ObjectUuid OPTIONAL,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
+ );
+
+#ifdef UNICODE
+#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextW
+#else /* UNICODE */
+#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextA
+#endif /* UNICODE */
+
+#else /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtEpEltInqNext (
+ IN RPC_EP_INQ_HANDLE InquiryContext,
+ OUT RPC_IF_ID __RPC_FAR * IfId,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding OPTIONAL,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * Annotation OPTIONAL
+ );
+
+#endif /* RPC_UNICODE_SUPPORTED */
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtEpUnregister (
+ IN RPC_BINDING_HANDLE EpBinding OPTIONAL,
+ IN RPC_IF_ID __RPC_FAR * IfId,
+ IN RPC_BINDING_HANDLE Binding,
+ IN UUID __RPC_FAR * ObjectUuid OPTIONAL
+ );
+
+typedef int
+(__RPC_API * RPC_MGMT_AUTHORIZATION_FN) (
+ IN RPC_BINDING_HANDLE ClientBinding,
+ IN unsigned long RequestedMgmtOperation,
+ OUT RPC_STATUS __RPC_FAR * Status
+ );
+
+#define RPC_C_MGMT_INQ_IF_IDS 0
+#define RPC_C_MGMT_INQ_PRINC_NAME 1
+#define RPC_C_MGMT_INQ_STATS 2
+#define RPC_C_MGMT_IS_SERVER_LISTEN 3
+#define RPC_C_MGMT_STOP_SERVER_LISTEN 4
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtSetAuthorizationFn (
+ IN RPC_MGMT_AUTHORIZATION_FN AuthorizationFn
+ );
+
+
+#define RPC_C_PARM_MAX_PACKET_LENGTH 1
+#define RPC_C_PARM_BUFFER_LENGTH 2
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtInqParameter (
+ IN unsigned Parameter,
+ IN unsigned long __RPC_FAR * Value
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtSetParameter (
+ IN unsigned Parameter,
+ IN unsigned long Value
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtBindingInqParameter (
+ IN RPC_BINDING_HANDLE Handle,
+ IN unsigned Parameter,
+ IN unsigned long __RPC_FAR * Value
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcMgmtBindingSetParameter (
+ IN RPC_BINDING_HANDLE Handle,
+ IN unsigned Parameter,
+ IN unsigned long Value
+ );
+
+#define RPC_IF_AUTOLISTEN 0x0001
+#define RPC_IF_OLE 0x0002
+
+#include <rpcdcep.h>
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __RPCDCE_H__ */
diff --git a/public/sdk/rpc16/mac/inc/rpcdcep.h b/public/sdk/rpc16/mac/inc/rpcdcep.h
new file mode 100644
index 000000000..85ed0fd67
--- /dev/null
+++ b/public/sdk/rpc16/mac/inc/rpcdcep.h
@@ -0,0 +1,415 @@
+/*++
+
+Copyright (c) 1991-1996 Microsoft Corporation
+
+Module Name:
+
+ rpcdcep.h
+
+Abstract:
+
+ This module contains the private RPC runtime APIs for use by the
+ stubs and by support libraries. Applications must not call these
+ routines.
+
+--*/
+
+#ifndef __RPCDCEP_H__
+#define __RPCDCEP_H__
+
+// Set the packing level for RPC structures for Dos and Windows.
+
+#if defined(__RPC_DOS__) || defined(__RPC_WIN16__)
+#pragma pack(2)
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _RPC_VERSION {
+ unsigned short MajorVersion;
+ unsigned short MinorVersion;
+} RPC_VERSION;
+
+typedef struct _RPC_SYNTAX_IDENTIFIER {
+ GUID SyntaxGUID;
+ RPC_VERSION SyntaxVersion;
+} RPC_SYNTAX_IDENTIFIER, __RPC_FAR * PRPC_SYNTAX_IDENTIFIER;
+
+typedef struct _RPC_MESSAGE
+{
+ RPC_BINDING_HANDLE Handle;
+ unsigned long DataRepresentation;
+ void __RPC_FAR * Buffer;
+ unsigned int BufferLength;
+ unsigned int ProcNum;
+ PRPC_SYNTAX_IDENTIFIER TransferSyntax;
+ void __RPC_FAR * RpcInterfaceInformation;
+ void __RPC_FAR * ReservedForRuntime;
+ RPC_MGR_EPV __RPC_FAR * ManagerEpv;
+ void __RPC_FAR * ImportContext;
+ unsigned long RpcFlags;
+} RPC_MESSAGE, __RPC_FAR * PRPC_MESSAGE;
+
+
+typedef RPC_STATUS RPC_ENTRY RPC_FORWARD_FUNCTION(
+ IN UUID __RPC_FAR * InterfaceId,
+ IN RPC_VERSION __RPC_FAR * InterfaceVersion,
+ IN UUID __RPC_FAR * ObjectId,
+ IN unsigned char __RPC_FAR * Rpcpro,
+ IN void __RPC_FAR * __RPC_FAR * ppDestEndpoint);
+
+/*
+ * Types of function calls for datagram rpc
+ */
+
+#define RPC_NCA_FLAGS_DEFAULT 0x00000000 /* 0b000...000 */
+#define RPC_NCA_FLAGS_IDEMPOTENT 0x00000001 /* 0b000...001 */
+#define RPC_NCA_FLAGS_BROADCAST 0x00000002 /* 0b000...010 */
+#define RPC_NCA_FLAGS_MAYBE 0x00000004 /* 0b000...100 */
+
+#define RPC_BUFFER_COMPLETE 0x00001000 /* used by pipes */
+#define RPC_BUFFER_PARTIAL 0x00002000 /* used by pipes */
+#define RPC_BUFFER_EXTRA 0x00004000 /* used by pipes */
+
+#define RPCFLG_NON_NDR 0x80000000UL
+#define RPCFLG_ASYNCHRONOUS 0x40000000UL
+#define RPCFLG_INPUT_SYNCHRONOUS 0x20000000UL
+#define RPCFLG_LOCAL_CALL 0x10000000UL
+
+#if defined(__RPC_DOS__) || defined(__RPC_WIN16__)
+#define RPC_FLAGS_VALID_BIT 0x8000
+#endif
+
+#if defined(__RPC_WIN32__) || defined(__RPC_MAC__)
+#define RPC_FLAGS_VALID_BIT 0x00008000
+#endif
+
+typedef
+void
+(__RPC_STUB __RPC_FAR * RPC_DISPATCH_FUNCTION) (
+ IN OUT PRPC_MESSAGE Message
+ );
+
+typedef struct {
+ unsigned int DispatchTableCount;
+ RPC_DISPATCH_FUNCTION __RPC_FAR * DispatchTable;
+ int Reserved;
+} RPC_DISPATCH_TABLE, __RPC_FAR * PRPC_DISPATCH_TABLE;
+
+typedef struct _RPC_PROTSEQ_ENDPOINT
+{
+ unsigned char __RPC_FAR * RpcProtocolSequence;
+ unsigned char __RPC_FAR * Endpoint;
+} RPC_PROTSEQ_ENDPOINT, __RPC_FAR * PRPC_PROTSEQ_ENDPOINT;
+
+/*
+Both of these types MUST start with the InterfaceId and TransferSyntax.
+Look at RpcIfInqId and I_RpcIfInqTransferSyntaxes to see why.
+*/
+#define NT351_INTERFACE_SIZE 0x40
+#define RPC_INTERFACE_HAS_PIPES 0x0001
+
+typedef struct _RPC_SERVER_INTERFACE
+{
+ unsigned int Length;
+ RPC_SYNTAX_IDENTIFIER InterfaceId;
+ RPC_SYNTAX_IDENTIFIER TransferSyntax;
+ PRPC_DISPATCH_TABLE DispatchTable;
+ unsigned int RpcProtseqEndpointCount;
+ PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
+ RPC_MGR_EPV __RPC_FAR *DefaultManagerEpv;
+ void const __RPC_FAR *InterpreterInfo;
+ unsigned int Flags ;
+} RPC_SERVER_INTERFACE, __RPC_FAR * PRPC_SERVER_INTERFACE;
+
+typedef struct _RPC_CLIENT_INTERFACE
+{
+ unsigned int Length;
+ RPC_SYNTAX_IDENTIFIER InterfaceId;
+ RPC_SYNTAX_IDENTIFIER TransferSyntax;
+ PRPC_DISPATCH_TABLE DispatchTable;
+ unsigned int RpcProtseqEndpointCount;
+ PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
+ unsigned long Reserved;
+ void const __RPC_FAR * InterpreterInfo;
+ unsigned int Flags ;
+} RPC_CLIENT_INTERFACE, __RPC_FAR * PRPC_CLIENT_INTERFACE;
+
+RPC_STATUS RPC_ENTRY
+I_RpcGetBuffer (
+ IN OUT RPC_MESSAGE __RPC_FAR * Message
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcSendReceive (
+ IN OUT RPC_MESSAGE __RPC_FAR * Message
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcFreeBuffer (
+ IN OUT RPC_MESSAGE __RPC_FAR * Message
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcSend (
+ IN OUT PRPC_MESSAGE Message
+ ) ;
+
+RPC_STATUS RPC_ENTRY
+I_RpcReceive (
+ IN OUT PRPC_MESSAGE Message,
+ IN unsigned int Size
+ ) ;
+
+RPC_STATUS RPC_ENTRY
+I_RpcFreePipeBuffer (
+ IN OUT RPC_MESSAGE __RPC_FAR * Message
+ ) ;
+
+RPC_STATUS RPC_ENTRY
+I_RpcReallocPipeBuffer (
+ IN PRPC_MESSAGE Message,
+ IN unsigned int NewSize
+ ) ;
+
+typedef void * I_RPC_MUTEX;
+
+void RPC_ENTRY
+I_RpcRequestMutex (
+ IN OUT I_RPC_MUTEX * Mutex
+ );
+
+void RPC_ENTRY
+I_RpcClearMutex (
+ IN I_RPC_MUTEX Mutex
+ );
+
+void RPC_ENTRY
+I_RpcDeleteMutex (
+ IN I_RPC_MUTEX Mutex
+ );
+
+void __RPC_FAR * RPC_ENTRY
+I_RpcAllocate (
+ IN unsigned int Size
+ );
+
+void RPC_ENTRY
+I_RpcFree (
+ IN void __RPC_FAR * Object
+ );
+
+void RPC_ENTRY
+I_RpcPauseExecution (
+ IN unsigned long Milliseconds
+ );
+
+typedef
+void
+(__RPC_USER __RPC_FAR * PRPC_RUNDOWN) (
+ void __RPC_FAR * AssociationContext
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcMonitorAssociation (
+ IN RPC_BINDING_HANDLE Handle,
+ IN PRPC_RUNDOWN RundownRoutine,
+ IN void * Context
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcStopMonitorAssociation (
+ IN RPC_BINDING_HANDLE Handle
+ );
+
+RPC_BINDING_HANDLE RPC_ENTRY
+I_RpcGetCurrentCallHandle(
+ void
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcGetAssociationContext (
+ OUT void __RPC_FAR * __RPC_FAR * AssociationContext
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcSetAssociationContext (
+ IN void __RPC_FAR * AssociationContext
+ );
+
+#ifdef __RPC_NT__
+
+RPC_STATUS RPC_ENTRY
+I_RpcNsBindingSetEntryName (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long EntryNameSyntax,
+ IN unsigned short __RPC_FAR * EntryName
+ );
+
+#else
+
+RPC_STATUS RPC_ENTRY
+I_RpcNsBindingSetEntryName (
+ IN RPC_BINDING_HANDLE Binding,
+ IN unsigned long EntryNameSyntax,
+ IN unsigned char __RPC_FAR * EntryName
+ );
+
+#endif
+
+#ifdef __RPC_NT__
+
+RPC_STATUS RPC_ENTRY
+I_RpcBindingInqDynamicEndpoint (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * DynamicEndpoint
+ );
+
+#else
+
+RPC_STATUS RPC_ENTRY
+I_RpcBindingInqDynamicEndpoint (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * DynamicEndpoint
+ );
+
+#endif
+
+#define TRANSPORT_TYPE_CN 0x1
+#define TRANSPORT_TYPE_DG 0x2
+#define TRANSPORT_TYPE_LPC 0x4
+#define TRANSPORT_TYPE_WMSG 0x8
+
+RPC_STATUS RPC_ENTRY
+I_RpcBindingInqTransportType (
+ IN RPC_BINDING_HANDLE Binding,
+ OUT unsigned int __RPC_FAR * Type
+ );
+
+typedef struct _RPC_TRANSFER_SYNTAX
+{
+ UUID Uuid;
+ unsigned short VersMajor;
+ unsigned short VersMinor;
+} RPC_TRANSFER_SYNTAX;
+
+RPC_STATUS RPC_ENTRY
+I_RpcIfInqTransferSyntaxes (
+ IN RPC_IF_HANDLE RpcIfHandle,
+ OUT RPC_TRANSFER_SYNTAX __RPC_FAR * TransferSyntaxes,
+ IN unsigned int TransferSyntaxSize,
+ OUT unsigned int __RPC_FAR * TransferSyntaxCount
+ );
+
+RPC_STATUS RPC_ENTRY
+I_UuidCreate (
+ OUT UUID __RPC_FAR * Uuid
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcBindingCopy (
+ IN RPC_BINDING_HANDLE SourceBinding,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * DestinationBinding
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcBindingIsClientLocal (
+ IN RPC_BINDING_HANDLE BindingHandle OPTIONAL,
+ OUT unsigned int __RPC_FAR * ClientLocalFlag
+ );
+
+void RPC_ENTRY
+I_RpcSsDontSerializeContext (
+ void
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcLaunchDatagramReceiveThread(
+ void __RPC_FAR * pAddress
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcServerRegisterForwardFunction (
+ IN RPC_FORWARD_FUNCTION __RPC_FAR * pForwardFunction
+ );
+
+
+RPC_STATUS RPC_ENTRY
+I_RpcConnectionInqSockBuffSize(
+ OUT unsigned long __RPC_FAR * RecvBuffSize,
+ OUT unsigned long __RPC_FAR * SendBuffSize
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcConnectionSetSockBuffSize(
+ IN unsigned long RecvBuffSize,
+ IN unsigned long SendBuffSize
+ );
+
+
+#ifdef MSWMSG
+RPC_STATUS RPC_ENTRY
+I_RpcServerStartListening(
+ HWND hWnd
+ ) ;
+
+RPC_STATUS RPC_ENTRY
+I_RpcServerStopListening(
+ ) ;
+
+RPC_STATUS RPC_ENTRY
+I_RpcGetThreadWindowHandle(
+ OUT HWND *WindowHandle
+ ) ;
+
+typedef RPC_STATUS (*RPC_BLOCKING_FN) (
+ IN void *wnd,
+ IN void *Context,
+ IN HANDLE hSyncEvent
+ ) ;
+
+RPC_STATUS RPC_ENTRY
+I_RpcAsyncSendReceive(
+ IN OUT PRPC_MESSAGE pRpcMessage,
+ IN OPTIONAL void *Context,
+ HWND hWnd
+ ) ;
+
+RPC_STATUS RPC_ENTRY
+I_RpcBindingSetAsync(
+ IN RPC_BINDING_HANDLE Binding,
+ IN RPC_BLOCKING_FN BlockingFn
+ ) ;
+
+LONG RPC_ENTRY
+I_RpcWindowProc(
+ IN HWND hWnd,
+ IN UINT Message,
+ IN WPARAM wParam,
+ IN LPARAM lParam
+ ) ;
+
+RPC_STATUS RPC_ENTRY
+I_RpcSetWMsgEndpoint (
+ IN WCHAR __RPC_FAR * Endpoint
+ ) ;
+#endif
+
+RPC_STATUS RPC_ENTRY
+I_RpcServerInqTransportType(
+ OUT unsigned int __RPC_FAR * Type
+ ) ;
+
+#ifdef __cplusplus
+}
+#endif
+
+// Reset the packing level for Dos and Windows.
+
+#if defined(__RPC_DOS__) || defined(__RPC_WIN16__)
+#pragma pack()
+#endif
+
+#endif /* __RPCDCEP_H__ */
diff --git a/public/sdk/rpc16/mac/inc/rpcerr.h b/public/sdk/rpc16/mac/inc/rpcerr.h
new file mode 100644
index 000000000..139df1b1b
--- /dev/null
+++ b/public/sdk/rpc16/mac/inc/rpcerr.h
@@ -0,0 +1,188 @@
+/*********************************************************/
+/** Microsoft LAN Manager **/
+/** Copyright(c) Microsoft Corp., 1987-1990 **/
+/** **/
+/** Rpc Error Codes from the compiler and runtime **/
+/** **/
+/*********************************************************/
+
+/*
+If you change this file, you must also change ntstatus.mc and winerror.mc
+*/
+
+#ifndef __RPCERR_H__
+#define __RPCERR_H__
+
+#define RPC_S_OK 0
+#define RPC_S_INVALID_ARG 1
+#define RPC_S_INVALID_STRING_BINDING 2
+#define RPC_S_OUT_OF_MEMORY 3
+#define RPC_S_WRONG_KIND_OF_BINDING 4
+#define RPC_S_INVALID_BINDING 5
+#define RPC_S_PROTSEQ_NOT_SUPPORTED 6
+#define RPC_S_INVALID_RPC_PROTSEQ 7
+#define RPC_S_INVALID_STRING_UUID 8
+#define RPC_S_INVALID_ENDPOINT_FORMAT 9
+
+#define RPC_S_INVALID_NET_ADDR 10
+#define RPC_S_INVALID_NAF_ID 11
+#define RPC_S_NO_ENDPOINT_FOUND 12
+#define RPC_S_INVALID_TIMEOUT 13
+#define RPC_S_OBJECT_NOT_FOUND 14
+#define RPC_S_ALREADY_REGISTERED 15
+#define RPC_S_TYPE_ALREADY_REGISTERED 16
+#define RPC_S_ALREADY_LISTENING 17
+#define RPC_S_NO_PROTSEQS_REGISTERED 18
+#define RPC_S_NOT_LISTENING 19
+
+#define RPC_S_OUT_OF_THREADS 20
+#define RPC_S_UNKNOWN_MGR_TYPE 21
+#define RPC_S_UNKNOWN_IF 22
+#define RPC_S_NO_BINDINGS 23
+#define RPC_S_NO_PROTSEQS 24
+#define RPC_S_CANT_CREATE_ENDPOINT 25
+#define RPC_S_OUT_OF_RESOURCES 26
+#define RPC_S_SERVER_UNAVAILABLE 27
+#define RPC_S_SERVER_TOO_BUSY 28
+#define RPC_S_INVALID_NETWORK_OPTIONS 29
+
+#define RPC_S_NO_CALL_ACTIVE 30
+#define RPC_S_INVALID_LEVEL 31
+#define RPC_S_CANNOT_SUPPORT 32
+#define RPC_S_CALL_FAILED 33
+#define RPC_S_CALL_FAILED_DNE 34
+#define RPC_S_PROTOCOL_ERROR 35
+
+// Unused.
+
+// Unused.
+
+#define RPC_S_UNSUPPORTED_TRANS_SYN 38
+#define RPC_S_BUFFER_TOO_SMALL 39
+
+#define RPC_S_NO_CONTEXT_AVAILABLE 40
+#define RPC_S_SERVER_OUT_OF_MEMORY 41
+#define RPC_S_UNSUPPORTED_TYPE 42
+#define RPC_S_ZERO_DIVIDE 43
+#define RPC_S_ADDRESS_ERROR 44
+#define RPC_S_FP_DIV_ZERO 45
+#define RPC_S_FP_UNDERFLOW 46
+#define RPC_S_FP_OVERFLOW 47
+#define RPC_S_INVALID_TAG 48
+#define RPC_S_INVALID_BOUND 49
+
+#define RPC_S_NO_ENTRY_NAME 50
+#define RPC_S_INVALID_NAME_SYNTAX 51
+#define RPC_S_UNSUPPORTED_NAME_SYNTAX 52
+#define RPC_S_UUID_LOCAL_ONLY 53
+#define RPC_S_UUID_NO_ADDRESS 54
+#define RPC_S_DUPLICATE_ENDPOINT 55
+#define RPC_S_INVALID_SECURITY_DESC 56
+#define RPC_S_ACCESS_DENIED 57
+#define RPC_S_UNKNOWN_AUTHN_TYPE 58
+#define RPC_S_MAX_CALLS_TOO_SMALL 59
+
+#define RPC_S_STRING_TOO_LONG 60
+#define RPC_S_PROTSEQ_NOT_FOUND 61
+#define RPC_S_PROCNUM_OUT_OF_RANGE 62
+#define RPC_S_BINDING_HAS_NO_AUTH 63
+#define RPC_S_UNKNOWN_AUTHN_SERVICE 64
+#define RPC_S_UNKNOWN_AUTHN_LEVEL 65
+#define RPC_S_INVALID_AUTH_IDENTITY 66
+#define RPC_S_UNKNOWN_AUTHZ_SERVICE 67
+#define EPT_S_INVALID_ENTRY 68
+#define EPT_S_CANT_PERFORM_OP 69
+
+#define EPT_S_NOT_REGISTERED 70
+#define RPC_S_NOTHING_TO_EXPORT 71
+#define RPC_S_INCOMPLETE_NAME 72
+#define RPC_S_UNIMPLEMENTED_API 73
+#define RPC_S_INVALID_VERS_OPTION 74
+#define RPC_S_NO_MORE_MEMBERS 75
+#define RPC_S_NOT_ALL_OBJS_UNEXPORTED 76
+#define RPC_S_INTERFACE_NOT_FOUND 77
+#define RPC_S_ENTRY_ALREADY_EXISTS 78
+#define RPC_S_ENTRY_NOT_FOUND 79
+
+#define RPC_S_NAME_SERVICE_UNAVAILABLE 80
+#define RPC_S_CALL_IN_PROGRESS 81
+#define RPC_S_NO_MORE_BINDINGS 82
+#define RPC_S_GROUP_MEMBER_NOT_FOUND 83
+#define EPT_S_CANT_CREATE 84
+#define RPC_S_INVALID_OBJECT 85
+#define RPC_S_CALL_CANCELLED 86
+#define RPC_S_BINDING_INCOMPLETE 87
+#define RPC_S_COMM_FAILURE 88
+#define RPC_S_UNSUPPORTED_AUTHN_LEVEL 89
+
+#define RPC_S_NO_PRINC_NAME 90
+#define RPC_S_NOT_RPC_ERROR 91
+#define RPC_S_SEC_PKG_ERROR 92
+#define RPC_S_NOT_CANCELLED 93
+#define RPC_S_SEND_INCOMPLETE 94
+
+
+#define RPC_S_INTERNAL_ERROR 100
+
+/* The list of servers available for auto_handle binding has been exhausted. */
+
+#define RPC_X_NO_MORE_ENTRIES 256
+
+/* Insufficient memory available to set up necessary data structures. */
+
+#define RPC_X_NO_MEMORY 257
+
+/* The specified bounds of an array are inconsistent. */
+
+#define RPC_X_INVALID_BOUND 258
+
+/* The discriminant value does not match any of the case values. */
+/* There is no default case. */
+
+#define RPC_X_INVALID_TAG 259
+
+/* The file designated by DCERPCCHARTRANS cannot be opened. */
+
+#define RPC_X_SS_CHAR_TRANS_OPEN_FAIL 260
+
+/* The file containing char translation table has fewer than 512 bytes. */
+
+#define RPC_X_SS_CHAR_TRANS_SHORT_FILE 261
+
+/* A null context handle is passed in an [in] parameter position. */
+
+#define RPC_X_SS_IN_NULL_CONTEXT 262
+
+/* Only raised on the callee side. */
+/* A uuid in an [in] handle does not correspond to any known context. */
+
+#define RPC_X_SS_CONTEXT_MISMATCH 263
+
+/* Only raised on the caller side. */
+/* A uuid in an [in, out] context handle changed during a call. */
+
+#define RPC_X_SS_CONTEXT_DAMAGED 264
+
+#define RPC_X_SS_HANDLES_MISMATCH 265
+
+#define RPC_X_SS_CANNOT_GET_CALL_HANDLE 266
+
+#define RPC_X_NULL_REF_POINTER 267
+
+#define RPC_X_ENUM_VALUE_OUT_OF_RANGE 268
+
+#define RPC_X_BYTE_COUNT_TOO_SMALL 269
+
+#define RPC_X_BAD_STUB_DATA 270
+
+#define RPC_X_INVALID_ES_ACTION 271
+#define RPC_X_WRONG_ES_VERSION 272
+#define RPC_X_WRONG_STUB_VERSION 273
+#define RPC_X_INVALID_BUFFER 274
+#define RPC_X_INVALID_PIPE_OBJECT 275
+#define RPC_X_INVALID_PIPE_OPERATION 276
+#define RPC_X_WRONG_PIPE_VERSION 277
+
+
+#endif /* __RPCERR_H__ */
+
diff --git a/public/sdk/rpc16/mac/inc/rpcmac.h b/public/sdk/rpc16/mac/inc/rpcmac.h
new file mode 100644
index 000000000..b5d59d39b
--- /dev/null
+++ b/public/sdk/rpc16/mac/inc/rpcmac.h
@@ -0,0 +1,121 @@
+/*++
+
+Copyright (c) 1994 Microsoft Corporation
+
+Module Name:
+
+ RpcMac.h
+
+Abstract:
+
+ Macintosh RPC specific exception handler macros.
+
+Author:
+
+ Mario Goertzel [mariogo] 02-Nov-1994
+
+--*/
+
+#ifndef __RPCMAC_H__
+#define __RPCMAC_H__
+
+typedef struct _ExceptionBuff {
+#if _MSC_VER >= 1000
+ jmp_buf registers;
+#else
+ int registers[RPCXCWORD];
+#endif
+ struct _ExceptionBuff __RPC_FAR *pExceptNext;
+} ExceptionBuff, __RPC_FAR *pExceptionBuff;
+
+void RPC_ENTRY RpcSetException(pExceptionBuff);
+void RPC_ENTRY RpcLeaveException(void);
+
+#ifdef _MPPC_
+int __cdecl RpcSetJmp(jmp_buf);
+#else
+#define BLD_RT
+#endif
+
+#ifdef BLD_RT
+#define RpcTryExcept \
+ { \
+ int _exception_code; \
+ ExceptionBuff exception; \
+ RpcSetException(&exception); \
+ \
+ _exception_code = (setjmp(exception.registers)); \
+ \
+ if (!_exception_code) \
+ {
+#else
+#define RpcTryExcept \
+ { \
+ int _exception_code; \
+ ExceptionBuff exception; \
+ RpcSetException(&exception); \
+ \
+ _exception_code = (RpcSetJmp(exception.registers)); \
+ \
+ if (!_exception_code) \
+ {
+#endif
+
+// trystmts
+
+#define RpcExcept(expr) \
+ RpcLeaveException(); \
+ } \
+ else \
+ { \
+ if (!(expr)) \
+ RpcRaiseException(_exception_code);
+
+// exceptstmts
+
+#define RpcEndExcept \
+ } \
+ }
+
+#ifdef BLD_RT
+#define RpcTryFinally \
+ { \
+ int _abnormal_termination; \
+ ExceptionBuff exception; \
+ RpcSetException(&exception); \
+ \
+ _abnormal_termination = (setjmp(exception.registers)); \
+ \
+ if (!_abnormal_termination) \
+ {
+#else
+#define RpcTryFinally \
+ { \
+ int _abnormal_termination; \
+ ExceptionBuff exception; \
+ RpcSetException(&exception); \
+ \
+ _abnormal_termination = (RpcSetJmp(exception.registers)); \
+ \
+ if (!_abnormal_termination) \
+ {
+#endif
+
+// trystmts
+
+#define RpcFinally \
+ RpcLeaveException(); \
+ }
+
+// finallystmts
+
+#define RpcEndFinally \
+ if (_abnormal_termination) \
+ RpcRaiseException(_abnormal_termination); \
+ }
+
+#define RpcExceptionCode() _exception_code
+#define RpcAbnormalTermination() _abnormal_termination
+
+#endif // __RPCMAC_H__
+ \ No newline at end of file
diff --git a/public/sdk/rpc16/mac/inc/rpcndr.h b/public/sdk/rpc16/mac/inc/rpcndr.h
new file mode 100644
index 000000000..65d1cdbfe
--- /dev/null
+++ b/public/sdk/rpc16/mac/inc/rpcndr.h
@@ -0,0 +1,2630 @@
+/*++
+
+Copyright (c) 1992-1996 Microsoft Corporation
+
+Module Name:
+
+ rpcndr.h
+
+Abstract:
+
+ Definitions for stub data structures and prototypes of helper functions.
+
+Author:
+
+ DonnaLi (01-01-91)
+
+Environment:
+
+ DOS, Win 3.X, and Win/NT.
+
+Revision History:
+
+ DONNALI 08-29-91 Start recording history
+ donnali 09-11-91 change conversion macros
+ donnali 09-18-91 check in files for moving
+ STEVEZ 10-15-91 Merge with NT tree
+ donnali 10-28-91 add prototype
+ donnali 11-19-91 bugfix for strings
+ MIKEMON 12-17-91 DCE runtime API conversion
+ donnali 03-24-92 change rpc public header f
+ STEVEZ 04-04-92 add nsi include
+ mikemon 04-18-92 security support and misc
+ DovhH 04-24-24 Changed signature of <int>_from_ndr
+ (to unsigned <int>)
+ Added <base_type>_array_from_ndr routines
+ RyszardK 06-17-93 Added support for hyper
+ VibhasC 09-11-93 Created rpcndrn.h
+ DKays 10-14-93 Fixed up rpcndrn.h MIDL 2.0
+ RyszardK 01-15-94 Merged in the midl 2.0 changes from rpcndrn.h
+ Stevebl 04-22-96 Hookole support changes to MIDL_*_INFO
+
+--*/
+
+#ifndef __RPCNDR_H__
+#define __RPCNDR_H__
+
+//
+// Set the packing level for RPC structures for Dos, Windows and Mac.
+//
+
+#if defined(__RPC_DOS__) || defined(__RPC_WIN16__) || defined(__RPC_MAC__)
+#pragma pack(2)
+#endif
+
+#if defined(__RPC_MAC__)
+#define _MAC_
+#endif
+
+#include <rpcnsip.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/****************************************************************************
+
+ Network Computing Architecture (NCA) definition:
+
+ Network Data Representation: (NDR) Label format:
+ An unsigned long (32 bits) with the following layout:
+
+ 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
+ 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
+ +---------------+---------------+---------------+-------+-------+
+ | Reserved | Reserved |Floating point | Int | Char |
+ | | |Representation | Rep. | Rep. |
+ +---------------+---------------+---------------+-------+-------+
+
+ Where
+
+ Reserved:
+
+ Must be zero (0) for NCA 1.5 and NCA 2.0.
+
+ Floating point Representation is:
+
+ 0 - IEEE
+ 1 - VAX
+ 2 - Cray
+ 3 - IBM
+
+ Int Rep. is Integer Representation:
+
+ 0 - Big Endian
+ 1 - Little Endian
+
+ Char Rep. is Character Representation:
+
+ 0 - ASCII
+ 1 - EBCDIC
+
+ The Microsoft Local Data Representation (for all platforms which are
+ of interest currently is edefined below:
+
+ ****************************************************************************/
+
+#define NDR_CHAR_REP_MASK (unsigned long)0X0000000FL
+#define NDR_INT_REP_MASK (unsigned long)0X000000F0L
+#define NDR_FLOAT_REP_MASK (unsigned long)0X0000FF00L
+
+#define NDR_LITTLE_ENDIAN (unsigned long)0X00000010L
+#define NDR_BIG_ENDIAN (unsigned long)0X00000000L
+
+#define NDR_IEEE_FLOAT (unsigned long)0X00000000L
+#define NDR_VAX_FLOAT (unsigned long)0X00000100L
+
+#define NDR_ASCII_CHAR (unsigned long)0X00000000L
+#define NDR_EBCDIC_CHAR (unsigned long)0X00000001L
+
+#if defined(__RPC_MAC__)
+#define NDR_LOCAL_DATA_REPRESENTATION (unsigned long)0X00000000L
+#define NDR_LOCAL_ENDIAN NDR_BIG_ENDIAN
+#else
+#define NDR_LOCAL_DATA_REPRESENTATION (unsigned long)0X00000010L
+#define NDR_LOCAL_ENDIAN NDR_LITTLE_ENDIAN
+#endif
+
+
+/****************************************************************************
+ * Macros for targeted platforms
+ ****************************************************************************/
+
+#if (defined(_WIN32_DCOM) || 0x400 <= _WIN32_WINNT)
+#define TARGET_IS_NT40_OR_LATER 1
+#else
+#define TARGET_IS_NT40_OR_LATER 0
+#endif
+
+#if (0x400 <= WINVER)
+#define TARGET_IS_NT351_OR_WIN95_OR_LATER 1
+#else
+#define TARGET_IS_NT351_OR_WIN95_OR_LATER 0
+#endif
+
+/****************************************************************************
+ * Other MIDL base types / predefined types:
+ ****************************************************************************/
+
+#define small char
+typedef unsigned char byte;
+typedef unsigned char boolean;
+
+#ifndef _HYPER_DEFINED
+#define _HYPER_DEFINED
+
+#if !defined(__RPC_DOS__) && !defined(__RPC_WIN16__) && !defined(__RPC_MAC__) && (!defined(_M_IX86) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64))
+#define hyper __int64
+#define MIDL_uhyper unsigned __int64
+#else
+typedef double hyper;
+typedef double MIDL_uhyper;
+#endif
+
+#endif // _HYPER_DEFINED
+
+#ifndef _WCHAR_T_DEFINED
+typedef unsigned short wchar_t;
+#define _WCHAR_T_DEFINED
+#endif
+
+#ifndef _SIZE_T_DEFINED
+typedef unsigned int size_t;
+#define _SIZE_T_DEFINED
+#endif
+
+#ifdef __RPC_DOS__
+#define __RPC_CALLEE __far __pascal
+#endif
+
+#ifdef __RPC_WIN16__
+#define __RPC_CALLEE __far __pascal __export
+#endif
+
+#ifdef __RPC_WIN32__
+#if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
+#define __RPC_CALLEE __stdcall
+#else
+#define __RPC_CALLEE
+#endif
+#endif
+
+#ifdef __RPC_MAC__
+#define __RPC_CALLEE __far
+#endif
+
+#ifndef __MIDL_USER_DEFINED
+#define midl_user_allocate MIDL_user_allocate
+#define midl_user_free MIDL_user_free
+#define __MIDL_USER_DEFINED
+#endif
+
+void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
+void __RPC_USER MIDL_user_free( void __RPC_FAR * );
+
+#ifdef __RPC_WIN16__
+#define RPC_VAR_ENTRY __export __cdecl
+#else
+#define RPC_VAR_ENTRY __cdecl
+#endif
+
+
+/* winnt only */
+#if defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA)
+#define __MIDL_DECLSPEC_DLLIMPORT __declspec(dllimport)
+#define __MIDL_DECLSPEC_DLLEXPORT __declspec(dllexport)
+#else
+#define __MIDL_DECLSPEC_DLLIMPORT
+#define __MIDL_DECLSPEC_DLLEXPORT
+#endif
+
+
+
+
+/****************************************************************************
+ * Context handle management related definitions:
+ *
+ * Client and Server Contexts.
+ *
+ ****************************************************************************/
+
+typedef void __RPC_FAR * NDR_CCONTEXT;
+
+typedef struct
+ {
+ void __RPC_FAR * pad[2];
+ void __RPC_FAR * userContext;
+ } __RPC_FAR * NDR_SCONTEXT;
+
+#define NDRSContextValue(hContext) (&(hContext)->userContext)
+
+#define cbNDRContext 20 /* size of context on WIRE */
+
+typedef void (__RPC_USER __RPC_FAR * NDR_RUNDOWN)(void __RPC_FAR * context);
+
+typedef struct _SCONTEXT_QUEUE {
+ unsigned long NumberOfObjects;
+ NDR_SCONTEXT * ArrayOfObjects;
+ } SCONTEXT_QUEUE, __RPC_FAR * PSCONTEXT_QUEUE;
+
+RPC_BINDING_HANDLE RPC_ENTRY
+NDRCContextBinding (
+ IN NDR_CCONTEXT CContext
+ );
+
+void RPC_ENTRY
+NDRCContextMarshall (
+ IN NDR_CCONTEXT CContext,
+ OUT void __RPC_FAR *pBuff
+ );
+
+void RPC_ENTRY
+NDRCContextUnmarshall (
+ OUT NDR_CCONTEXT __RPC_FAR *pCContext,
+ IN RPC_BINDING_HANDLE hBinding,
+ IN void __RPC_FAR *pBuff,
+ IN unsigned long DataRepresentation
+ );
+
+void RPC_ENTRY
+NDRSContextMarshall (
+ IN NDR_SCONTEXT CContext,
+ OUT void __RPC_FAR *pBuff,
+ IN NDR_RUNDOWN userRunDownIn
+ );
+
+NDR_SCONTEXT RPC_ENTRY
+NDRSContextUnmarshall (
+ IN void __RPC_FAR *pBuff,
+ IN unsigned long DataRepresentation
+ );
+
+void RPC_ENTRY
+RpcSsDestroyClientContext (
+ IN void __RPC_FAR * __RPC_FAR * ContextHandle
+ );
+
+
+/****************************************************************************
+ NDR conversion related definitions.
+ ****************************************************************************/
+
+#define byte_from_ndr(source, target) \
+ { \
+ *(target) = *(*(char __RPC_FAR * __RPC_FAR *)&(source)->Buffer)++; \
+ }
+
+#define byte_array_from_ndr(Source, LowerIndex, UpperIndex, Target) \
+ { \
+ NDRcopy ( \
+ (((char __RPC_FAR *)(Target))+(LowerIndex)), \
+ (Source)->Buffer, \
+ (unsigned int)((UpperIndex)-(LowerIndex))); \
+ *(unsigned long __RPC_FAR *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); \
+ }
+
+#define boolean_from_ndr(source, target) \
+ { \
+ *(target) = *(*(char __RPC_FAR * __RPC_FAR *)&(source)->Buffer)++; \
+ }
+
+#define boolean_array_from_ndr(Source, LowerIndex, UpperIndex, Target) \
+ { \
+ NDRcopy ( \
+ (((char __RPC_FAR *)(Target))+(LowerIndex)), \
+ (Source)->Buffer, \
+ (unsigned int)((UpperIndex)-(LowerIndex))); \
+ *(unsigned long __RPC_FAR *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); \
+ }
+
+#define small_from_ndr(source, target) \
+ { \
+ *(target) = *(*(char __RPC_FAR * __RPC_FAR *)&(source)->Buffer)++; \
+ }
+
+#define small_from_ndr_temp(source, target, format) \
+ { \
+ *(target) = *(*(char __RPC_FAR * __RPC_FAR *)(source))++; \
+ }
+
+#define small_array_from_ndr(Source, LowerIndex, UpperIndex, Target) \
+ { \
+ NDRcopy ( \
+ (((char __RPC_FAR *)(Target))+(LowerIndex)), \
+ (Source)->Buffer, \
+ (unsigned int)((UpperIndex)-(LowerIndex))); \
+ *(unsigned long __RPC_FAR *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); \
+ }
+
+/****************************************************************************
+ Platform specific mapping of c-runtime functions.
+ ****************************************************************************/
+
+#ifdef __RPC_DOS__
+#define MIDL_ascii_strlen(string) \
+ _fstrlen(string)
+#define MIDL_ascii_strcpy(target,source) \
+ _fstrcpy(target,source)
+#define MIDL_memset(s,c,n) \
+ _fmemset(s,c,n)
+#endif
+
+#ifdef __RPC_WIN16__
+#define MIDL_ascii_strlen(string) \
+ _fstrlen(string)
+#define MIDL_ascii_strcpy(target,source) \
+ _fstrcpy(target,source)
+#define MIDL_memset(s,c,n) \
+ _fmemset(s,c,n)
+#endif
+
+#if defined(__RPC_WIN32__) || defined(__RPC_MAC__)
+#define MIDL_ascii_strlen(string) \
+ strlen(string)
+#define MIDL_ascii_strcpy(target,source) \
+ strcpy(target,source)
+#define MIDL_memset(s,c,n) \
+ memset(s,c,n)
+#endif
+
+/****************************************************************************
+ Ndr Library helper function prototypes for MIDL 1.0 ndr functions.
+ ****************************************************************************/
+
+void RPC_ENTRY
+NDRcopy (
+ IN void __RPC_FAR *pTarget,
+ IN void __RPC_FAR *pSource,
+ IN unsigned int size
+ );
+
+size_t RPC_ENTRY
+MIDL_wchar_strlen (
+ IN wchar_t __RPC_FAR * s
+ );
+
+void RPC_ENTRY
+MIDL_wchar_strcpy (
+ OUT void __RPC_FAR * t,
+ IN wchar_t __RPC_FAR * s
+ );
+
+void RPC_ENTRY
+char_from_ndr (
+ IN OUT PRPC_MESSAGE SourceMessage,
+ OUT unsigned char __RPC_FAR * Target
+ );
+
+void RPC_ENTRY
+char_array_from_ndr (
+ IN OUT PRPC_MESSAGE SourceMessage,
+ IN unsigned long LowerIndex,
+ IN unsigned long UpperIndex,
+ OUT unsigned char __RPC_FAR * Target
+ );
+
+void RPC_ENTRY
+short_from_ndr (
+ IN OUT PRPC_MESSAGE source,
+ OUT unsigned short __RPC_FAR * target
+ );
+
+void RPC_ENTRY
+short_array_from_ndr(
+ IN OUT PRPC_MESSAGE SourceMessage,
+ IN unsigned long LowerIndex,
+ IN unsigned long UpperIndex,
+ OUT unsigned short __RPC_FAR * Target
+ );
+
+void RPC_ENTRY
+short_from_ndr_temp (
+ IN OUT unsigned char __RPC_FAR * __RPC_FAR * source,
+ OUT unsigned short __RPC_FAR * target,
+ IN unsigned long format
+ );
+
+void RPC_ENTRY
+long_from_ndr (
+ IN OUT PRPC_MESSAGE source,
+ OUT unsigned long __RPC_FAR * target
+ );
+
+void RPC_ENTRY
+long_array_from_ndr(
+ IN OUT PRPC_MESSAGE SourceMessage,
+ IN unsigned long LowerIndex,
+ IN unsigned long UpperIndex,
+ OUT unsigned long __RPC_FAR * Target
+ );
+
+void RPC_ENTRY
+long_from_ndr_temp (
+ IN OUT unsigned char __RPC_FAR * __RPC_FAR * source,
+ OUT unsigned long __RPC_FAR * target,
+ IN unsigned long format
+ );
+
+void RPC_ENTRY
+enum_from_ndr(
+ IN OUT PRPC_MESSAGE SourceMessage,
+ OUT unsigned int __RPC_FAR * Target
+ );
+
+void RPC_ENTRY
+float_from_ndr (
+ IN OUT PRPC_MESSAGE SourceMessage,
+ OUT void __RPC_FAR * Target
+ );
+
+void RPC_ENTRY
+float_array_from_ndr (
+ IN OUT PRPC_MESSAGE SourceMessage,
+ IN unsigned long LowerIndex,
+ IN unsigned long UpperIndex,
+ OUT void __RPC_FAR * Target
+ );
+
+void RPC_ENTRY
+double_from_ndr (
+ IN OUT PRPC_MESSAGE SourceMessage,
+ OUT void __RPC_FAR * Target
+ );
+
+void RPC_ENTRY
+double_array_from_ndr (
+ IN OUT PRPC_MESSAGE SourceMessage,
+ IN unsigned long LowerIndex,
+ IN unsigned long UpperIndex,
+ OUT void __RPC_FAR * Target
+ );
+
+void RPC_ENTRY
+hyper_from_ndr (
+ IN OUT PRPC_MESSAGE source,
+ OUT hyper __RPC_FAR * target
+ );
+
+void RPC_ENTRY
+hyper_array_from_ndr(
+ IN OUT PRPC_MESSAGE SourceMessage,
+ IN unsigned long LowerIndex,
+ IN unsigned long UpperIndex,
+ OUT hyper __RPC_FAR * Target
+ );
+
+void RPC_ENTRY
+hyper_from_ndr_temp (
+ IN OUT unsigned char __RPC_FAR * __RPC_FAR * source,
+ OUT hyper __RPC_FAR * target,
+ IN unsigned long format
+ );
+
+void RPC_ENTRY
+data_from_ndr (
+ PRPC_MESSAGE source,
+ void __RPC_FAR * target,
+ char __RPC_FAR * format,
+ unsigned char MscPak
+ );
+
+void RPC_ENTRY
+data_into_ndr (
+ void __RPC_FAR * source,
+ PRPC_MESSAGE target,
+ char __RPC_FAR * format,
+ unsigned char MscPak
+ );
+
+void RPC_ENTRY
+tree_into_ndr (
+ void __RPC_FAR * source,
+ PRPC_MESSAGE target,
+ char __RPC_FAR * format,
+ unsigned char MscPak
+ );
+
+void RPC_ENTRY
+data_size_ndr (
+ void __RPC_FAR * source,
+ PRPC_MESSAGE target,
+ char __RPC_FAR * format,
+ unsigned char MscPak
+ );
+
+void RPC_ENTRY
+tree_size_ndr (
+ void __RPC_FAR * source,
+ PRPC_MESSAGE target,
+ char __RPC_FAR * format,
+ unsigned char MscPak
+ );
+
+void RPC_ENTRY
+tree_peek_ndr (
+ PRPC_MESSAGE source,
+ unsigned char __RPC_FAR * __RPC_FAR * buffer,
+ char __RPC_FAR * format,
+ unsigned char MscPak
+ );
+
+void __RPC_FAR * RPC_ENTRY
+midl_allocate (
+ size_t size
+ );
+
+/****************************************************************************
+ MIDL 2.0 ndr definitions.
+ ****************************************************************************/
+
+typedef unsigned long error_status_t;
+
+#define _midl_ma1( p, cast ) *(*( cast **)&p)++
+#define _midl_ma2( p, cast ) *(*( cast **)&p)++
+#define _midl_ma4( p, cast ) *(*( cast **)&p)++
+#define _midl_ma8( p, cast ) *(*( cast **)&p)++
+
+#define _midl_unma1( p, cast ) *(( cast *)p)++
+#define _midl_unma2( p, cast ) *(( cast *)p)++
+#define _midl_unma3( p, cast ) *(( cast *)p)++
+#define _midl_unma4( p, cast ) *(( cast *)p)++
+
+// Some alignment specific macros.
+
+
+#define _midl_fa2( p ) (p = (RPC_BUFPTR )((unsigned long)(p+1) & 0xfffffffe))
+#define _midl_fa4( p ) (p = (RPC_BUFPTR )((unsigned long)(p+3) & 0xfffffffc))
+#define _midl_fa8( p ) (p = (RPC_BUFPTR )((unsigned long)(p+7) & 0xfffffff8))
+
+#define _midl_addp( p, n ) (p += n)
+
+// Marshalling macros
+
+#define _midl_marsh_lhs( p, cast ) *(*( cast **)&p)++
+#define _midl_marsh_up( mp, p ) *(*(unsigned long **)&mp)++ = (unsigned long)p
+#define _midl_advmp( mp ) *(*(unsigned long **)&mp)++
+#define _midl_unmarsh_up( p ) (*(*(unsigned long **)&p)++)
+
+
+////////////////////////////////////////////////////////////////////////////
+// Ndr macros.
+////////////////////////////////////////////////////////////////////////////
+
+#define NdrMarshConfStringHdr( p, s, l ) (_midl_ma4( p, unsigned long) = s, \
+ _midl_ma4( p, unsigned long) = 0, \
+ _midl_ma4( p, unsigned long) = l)
+
+#define NdrUnMarshConfStringHdr(p, s, l) ((s=_midl_unma4(p,unsigned long),\
+ (_midl_addp(p,4)), \
+ (l=_midl_unma4(p,unsigned long))
+
+#define NdrMarshCCtxtHdl(pc,p) (NDRCContextMarshall( (NDR_CCONTEXT)pc, p ),p+20)
+
+#define NdrUnMarshCCtxtHdl(pc,p,h,drep) \
+ (NDRCContextUnmarshall((NDR_CONTEXT)pc,h,p,drep), p+20)
+
+#define NdrUnMarshSCtxtHdl(pc, p,drep) (pc = NdrSContextUnMarshall(p,drep ))
+
+
+#define NdrMarshSCtxtHdl(pc,p,rd) (NdrSContextMarshall((NDR_SCONTEXT)pc,p, (NDR_RUNDOWN)rd)
+
+#define NdrFieldOffset(s,f) (long)(& (((s __RPC_FAR *)0)->f))
+#define NdrFieldPad(s,f,p,t) (NdrFieldOffset(s,f) - NdrFieldOffset(s,p) - sizeof(t))
+
+#if defined(__RPC_MAC__)
+#define NdrFcShort(s) (unsigned char)(s >> 8), (unsigned char)(s & 0xff)
+#define NdrFcLong(s) (unsigned char)(s >> 24), (unsigned char)((s & 0x00ff0000) >> 16), \
+ (unsigned char)((s & 0x0000ff00) >> 8), (unsigned char)(s & 0xff)
+#else
+#define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8)
+#define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0000ff00) >> 8), \
+ (unsigned char)((s & 0x00ff0000) >> 16), (unsigned char)(s >> 24)
+#endif // Mac
+
+//
+// On the server side, the following exceptions are mapped to
+// the bad stub data exception if -error stub_data is used.
+//
+
+#define RPC_BAD_STUB_DATA_EXCEPTION_FILTER \
+ ( (RpcExceptionCode() == STATUS_ACCESS_VIOLATION) || \
+ (RpcExceptionCode() == STATUS_DATATYPE_MISALIGNMENT) || \
+ (RpcExceptionCode() == RPC_X_BAD_STUB_DATA) )
+
+/////////////////////////////////////////////////////////////////////////////
+// Some stub helper functions.
+/////////////////////////////////////////////////////////////////////////////
+
+////////////////////////////////////////////////////////////////////////////
+// Stub helper structures.
+////////////////////////////////////////////////////////////////////////////
+
+struct _MIDL_STUB_MESSAGE;
+struct _MIDL_STUB_DESC;
+struct _FULL_PTR_XLAT_TABLES;
+
+typedef unsigned char __RPC_FAR * RPC_BUFPTR;
+typedef unsigned long RPC_LENGTH;
+
+// Expression evaluation callback routine prototype.
+typedef void (__RPC_USER __RPC_FAR * EXPR_EVAL)( struct _MIDL_STUB_MESSAGE __RPC_FAR * );
+
+typedef const unsigned char __RPC_FAR * PFORMAT_STRING;
+
+/*
+ * Multidimensional conformant/varying array struct.
+ */
+typedef struct
+ {
+ long Dimension;
+
+ /* These fields MUST be (unsigned long *) */
+ unsigned long __RPC_FAR * BufferConformanceMark;
+ unsigned long __RPC_FAR * BufferVarianceMark;
+
+ /* Count arrays, used for top level arrays in -Os stubs */
+ unsigned long __RPC_FAR * MaxCountArray;
+ unsigned long __RPC_FAR * OffsetArray;
+ unsigned long __RPC_FAR * ActualCountArray;
+ } ARRAY_INFO, __RPC_FAR *PARRAY_INFO;
+
+/*
+ * Pipe related definitions.
+ */
+
+typedef void
+(__RPC_FAR __RPC_API * NDR_PIPE_PULL_RTN)(
+ char __RPC_FAR * state,
+ void __RPC_FAR * buf,
+ unsigned long esize,
+ unsigned long __RPC_FAR * ecount );
+
+typedef void
+(__RPC_FAR __RPC_API * NDR_PIPE_PUSH_RTN)(
+ char __RPC_FAR * state,
+ void __RPC_FAR * buf,
+ unsigned long ecount );
+
+typedef void
+(__RPC_FAR __RPC_API * NDR_PIPE_ALLOC_RTN)(
+ char __RPC_FAR * state,
+ unsigned long bsize,
+ void __RPC_FAR * __RPC_FAR * buf,
+ unsigned long __RPC_FAR * bcount );
+
+
+typedef struct _GENERIC_PIPE_TYPE
+ {
+ NDR_PIPE_PULL_RTN pfnPull;
+ NDR_PIPE_PUSH_RTN pfnPush;
+ NDR_PIPE_ALLOC_RTN pfnAlloc;
+ char __RPC_FAR * pState;
+ } GENERIC_PIPE_TYPE;
+
+
+typedef struct {
+ int CurrentState;
+ int ElemsInChunk;
+ int ElemAlign;
+ int ElemWireSize;
+ int ElemMemSize;
+ int PartialBufferSize;
+ unsigned char __RPC_FAR * PartialElem;
+ int PartialElemSize;
+ int PartialOffset;
+ int EndOfPipe;
+ } NDR_PIPE_STATE;
+
+typedef struct _PIPE_MESSAGE
+ {
+ unsigned short Signature;
+ unsigned short PipeId;
+ GENERIC_PIPE_TYPE __RPC_FAR * pPipeType;
+ PFORMAT_STRING pTypeFormat;
+ unsigned short PipeStatus;
+ unsigned short PipeFlags;
+ struct _MIDL_STUB_MESSAGE __RPC_FAR * pStubMsg;
+ } NDR_PIPE_MESSAGE, __RPC_FAR * PNDR_PIPE_MESSAGE;
+
+typedef struct _NDR_PIPE_DESC
+ {
+ NDR_PIPE_MESSAGE __RPC_FAR * pPipeMsg;
+ short CurrentPipe;
+ short InPipes;
+ short OutPipes;
+ short TotalPipes;
+ short PipeVersion;
+ short Flags;
+ unsigned char __RPC_FAR * DispatchBuffer;
+ unsigned char __RPC_FAR * LastPartialBuffer;
+ unsigned long LastPartialSize;
+ unsigned char __RPC_FAR * BufferSave;
+ unsigned long LengthSave;
+ NDR_PIPE_STATE RuntimeState;
+ } NDR_PIPE_DESC, __RPC_FAR * PNDR_PIPE_DESC;
+
+
+/*
+ * MIDL Stub Message
+ */
+#if !defined(__RPC_DOS__) && !defined(__RPC_WIN16__) && !defined(__RPC_MAC__)
+#include <pshpack4.h>
+#endif
+
+typedef struct _MIDL_STUB_MESSAGE
+ {
+ /* RPC message structure. */
+ PRPC_MESSAGE RpcMsg;
+
+ /* Pointer into RPC message buffer. */
+ unsigned char __RPC_FAR * Buffer;
+
+ /*
+ * These are used internally by the Ndr routines to mark the beginning
+ * and end of an incoming RPC buffer.
+ */
+ unsigned char __RPC_FAR * BufferStart;
+ unsigned char __RPC_FAR * BufferEnd;
+
+ /*
+ * Used internally by the Ndr routines as a place holder in the buffer.
+ * On the marshalling side it's used to mark the location where conformance
+ * size should be marshalled.
+ * On the unmarshalling side it's used to mark the location in the buffer
+ * used during pointer unmarshalling to base pointer offsets off of.
+ */
+ unsigned char __RPC_FAR * BufferMark;
+
+ /* Set by the buffer sizing routines. */
+ unsigned long BufferLength;
+
+ /* Set by the memory sizing routines. */
+ unsigned long MemorySize;
+
+ /* Pointer to user memory. */
+ unsigned char __RPC_FAR * Memory;
+
+ /* Is the Ndr routine begin called from a client side stub. */
+ int IsClient;
+
+ /* Can the buffer be re-used for memory on unmarshalling. */
+ int ReuseBuffer;
+
+ /* Holds the current pointer to an allocate all nodes memory block. */
+ unsigned char __RPC_FAR * AllocAllNodesMemory;
+
+ /* Used for debugging asserts only, remove later. */
+ unsigned char __RPC_FAR * AllocAllNodesMemoryEnd;
+
+ /*
+ * Stuff needed while handling complex structures
+ */
+
+ /* Ignore imbeded pointers while computing buffer or memory sizes. */
+ int IgnoreEmbeddedPointers;
+
+ /*
+ * This marks the location in the buffer where pointees of a complex
+ * struct reside.
+ */
+ unsigned char __RPC_FAR * PointerBufferMark;
+
+ /*
+ * Used to catch errors in SendReceive.
+ */
+ unsigned char fBufferValid;
+
+ /*
+ * Obsolete unused field (formerly MaxContextHandleNumber).
+ */
+ unsigned char Unused;
+
+ /*
+ * Used internally by the Ndr routines. Holds the max counts for
+ * a conformant array.
+ */
+ unsigned long MaxCount;
+
+ /*
+ * Used internally by the Ndr routines. Holds the offsets for a varying
+ * array.
+ */
+ unsigned long Offset;
+
+ /*
+ * Used internally by the Ndr routines. Holds the actual counts for
+ * a varying array.
+ */
+ unsigned long ActualCount;
+
+ /* Allocation and Free routine to be used by the Ndr routines. */
+ void __RPC_FAR * (__RPC_FAR __RPC_API * pfnAllocate)(size_t);
+ void (__RPC_FAR __RPC_API * pfnFree)(void __RPC_FAR *);
+
+ /*
+ * Top of parameter stack. Used for "single call" stubs during marshalling
+ * to hold the beginning of the parameter list on the stack. Needed to
+ * extract parameters which hold attribute values for top level arrays and
+ * pointers.
+ */
+ unsigned char __RPC_FAR * StackTop;
+
+ /*
+ * Fields used for the transmit_as and represent_as objects.
+ * For represent_as the mapping is: presented=local, transmit=named.
+ */
+ unsigned char __RPC_FAR * pPresentedType;
+ unsigned char __RPC_FAR * pTransmitType;
+
+ /*
+ * When we first construct a binding on the client side, stick it
+ * in the rpcmessage and later call RpcGetBuffer, the handle field
+ * in the rpcmessage is changed. That's fine except that we need to
+ * have that original handle for use in unmarshalling context handles
+ * (the second argument in NDRCContextUnmarshall to be exact). So
+ * stash the contructed handle here and extract it when needed.
+ */
+ handle_t SavedHandle;
+
+ /*
+ * Pointer back to the stub descriptor. Use this to get all handle info.
+ */
+ const struct _MIDL_STUB_DESC __RPC_FAR * StubDesc;
+
+ /*
+ * Full pointer stuff.
+ */
+ struct _FULL_PTR_XLAT_TABLES __RPC_FAR * FullPtrXlatTables;
+
+ unsigned long FullPtrRefId;
+
+ /*
+ * flags
+ */
+
+ int fCheckBounds;
+
+ int fInDontFree :1;
+ int fDontCallFreeInst :1;
+ int fInOnlyParam :1;
+ int fHasReturn :1;
+
+ unsigned long dwDestContext;
+ void __RPC_FAR * pvDestContext;
+
+ NDR_SCONTEXT * SavedContextHandles;
+
+ long ParamNumber;
+
+ struct IRpcChannelBuffer __RPC_FAR * pRpcChannelBuffer;
+
+ PARRAY_INFO pArrayInfo;
+
+ /*
+ * This is where the Beta2 stub message ends.
+ */
+
+ unsigned long __RPC_FAR * SizePtrCountArray;
+ unsigned long __RPC_FAR * SizePtrOffsetArray;
+ unsigned long __RPC_FAR * SizePtrLengthArray;
+
+ /*
+ * Interpreter argument queue. Used on server side only.
+ */
+ void __RPC_FAR * pArgQueue;
+
+ unsigned long dwStubPhase;
+
+ /*
+ * Pipe descriptor, defined for the 4.0 release.
+ */
+
+ NDR_PIPE_DESC __RPC_FAR * pPipeDesc;
+
+ unsigned long Reserved[4];
+
+ /*
+ * Fields up to this point present since the 3.50 release.
+ */
+
+ } MIDL_STUB_MESSAGE, __RPC_FAR *PMIDL_STUB_MESSAGE;
+
+#if !defined(__RPC_DOS__) && !defined(__RPC_WIN16__) && !defined(__RPC_MAC__)
+#include <poppack.h>
+#endif
+
+/*
+ * Generic handle bind/unbind routine pair.
+ */
+typedef void __RPC_FAR *
+ (__RPC_FAR __RPC_API * GENERIC_BINDING_ROUTINE)
+ (void __RPC_FAR *);
+typedef void
+ (__RPC_FAR __RPC_API * GENERIC_UNBIND_ROUTINE)
+ (void __RPC_FAR *, unsigned char __RPC_FAR *);
+
+typedef struct _GENERIC_BINDING_ROUTINE_PAIR
+ {
+ GENERIC_BINDING_ROUTINE pfnBind;
+ GENERIC_UNBIND_ROUTINE pfnUnbind;
+ } GENERIC_BINDING_ROUTINE_PAIR, __RPC_FAR *PGENERIC_BINDING_ROUTINE_PAIR;
+
+typedef struct __GENERIC_BINDING_INFO
+ {
+ void __RPC_FAR * pObj;
+ unsigned int Size;
+ GENERIC_BINDING_ROUTINE pfnBind;
+ GENERIC_UNBIND_ROUTINE pfnUnbind;
+ } GENERIC_BINDING_INFO, __RPC_FAR *PGENERIC_BINDING_INFO;
+
+// typedef EXPR_EVAL - see above
+// typedefs for xmit_as
+
+#if (defined(_MSC_VER)) && !defined(MIDL_PASS)
+// a Microsoft C++ compiler
+#define NDR_SHAREABLE __inline
+#else
+#define NDR_SHAREABLE static
+#endif
+
+
+typedef void (__RPC_FAR __RPC_USER * XMIT_HELPER_ROUTINE)
+ ( PMIDL_STUB_MESSAGE );
+
+typedef struct _XMIT_ROUTINE_QUINTUPLE
+ {
+ XMIT_HELPER_ROUTINE pfnTranslateToXmit;
+ XMIT_HELPER_ROUTINE pfnTranslateFromXmit;
+ XMIT_HELPER_ROUTINE pfnFreeXmit;
+ XMIT_HELPER_ROUTINE pfnFreeInst;
+ } XMIT_ROUTINE_QUINTUPLE, __RPC_FAR *PXMIT_ROUTINE_QUINTUPLE;
+
+typedef unsigned long
+(__RPC_FAR __RPC_USER * USER_MARSHAL_SIZING_ROUTINE)
+ (unsigned long __RPC_FAR *,
+ unsigned long,
+ void __RPC_FAR * );
+
+typedef unsigned char __RPC_FAR *
+(__RPC_FAR __RPC_USER * USER_MARSHAL_MARSHALLING_ROUTINE)
+ (unsigned long __RPC_FAR *,
+ unsigned char __RPC_FAR * ,
+ void __RPC_FAR * );
+
+typedef unsigned char __RPC_FAR *
+(__RPC_FAR __RPC_USER * USER_MARSHAL_UNMARSHALLING_ROUTINE)
+ (unsigned long __RPC_FAR *,
+ unsigned char __RPC_FAR * ,
+ void __RPC_FAR * );
+
+typedef void (__RPC_FAR __RPC_USER * USER_MARSHAL_FREEING_ROUTINE)
+ (unsigned long __RPC_FAR *,
+ void __RPC_FAR * );
+
+typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE
+ {
+ USER_MARSHAL_SIZING_ROUTINE pfnBufferSize;
+ USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall;
+ USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall;
+ USER_MARSHAL_FREEING_ROUTINE pfnFree;
+ } USER_MARSHAL_ROUTINE_QUADRUPLE;
+
+typedef struct _USER_MARSHAL_CB
+{
+ unsigned long Flags;
+ PMIDL_STUB_MESSAGE pStubMsg;
+ PFORMAT_STRING pReserve;
+} USER_MARSHAL_CB;
+
+
+#define USER_CALL_CTXT_MASK(f) ((f) & 0xff)
+#define GET_USER_DATA_REP(f) ((f) >> 16)
+
+typedef struct _MALLOC_FREE_STRUCT
+ {
+ void __RPC_FAR * (__RPC_FAR __RPC_USER * pfnAllocate)(size_t);
+ void (__RPC_FAR __RPC_USER * pfnFree)(void __RPC_FAR *);
+ } MALLOC_FREE_STRUCT;
+
+typedef struct _COMM_FAULT_OFFSETS
+ {
+ short CommOffset;
+ short FaultOffset;
+ } COMM_FAULT_OFFSETS;
+
+/*
+ * MIDL Stub Descriptor
+ */
+
+typedef struct _MIDL_STUB_DESC
+ {
+
+ void __RPC_FAR * RpcInterfaceInformation;
+
+ void __RPC_FAR * (__RPC_FAR __RPC_API * pfnAllocate)(size_t);
+ void (__RPC_FAR __RPC_API * pfnFree)(void __RPC_FAR *);
+
+ union
+ {
+ handle_t __RPC_FAR * pAutoHandle;
+ handle_t __RPC_FAR * pPrimitiveHandle;
+ PGENERIC_BINDING_INFO pGenericBindingInfo;
+ } IMPLICIT_HANDLE_INFO;
+
+ const NDR_RUNDOWN __RPC_FAR * apfnNdrRundownRoutines;
+ const GENERIC_BINDING_ROUTINE_PAIR __RPC_FAR * aGenericBindingRoutinePairs;
+
+ const EXPR_EVAL __RPC_FAR * apfnExprEval;
+
+ const XMIT_ROUTINE_QUINTUPLE __RPC_FAR * aXmitQuintuple;
+
+ const unsigned char __RPC_FAR * pFormatTypes;
+
+ int fCheckBounds;
+
+ /* Ndr library version. */
+ unsigned long Version;
+
+ /*
+ * Reserved for future use. (no reserves )
+ */
+
+ MALLOC_FREE_STRUCT __RPC_FAR * pMallocFreeStruct;
+
+ long MIDLVersion;
+
+ const COMM_FAULT_OFFSETS __RPC_FAR * CommFaultOffsets;
+
+ // New fields for version 3.0+
+
+ const USER_MARSHAL_ROUTINE_QUADRUPLE __RPC_FAR * aUserMarshalQuadruple;
+
+ long Reserved1;
+ long Reserved2;
+ long Reserved3;
+ long Reserved4;
+ long Reserved5;
+
+ } MIDL_STUB_DESC;
+
+typedef const MIDL_STUB_DESC __RPC_FAR * PMIDL_STUB_DESC;
+
+typedef void __RPC_FAR * PMIDL_XMIT_TYPE;
+
+/*
+ * MIDL Stub Format String. This is a const in the stub.
+ */
+#if !defined( RC_INVOKED )
+#pragma warning( disable:4200 )
+#endif
+typedef struct _MIDL_FORMAT_STRING
+ {
+ short Pad;
+ unsigned char Format[];
+ } MIDL_FORMAT_STRING;
+#if !defined( RC_INVOKED )
+#pragma warning( default:4200 )
+#endif
+
+/*
+ * Stub thunk used for some interpreted server stubs.
+ */
+typedef void (__RPC_FAR __RPC_API * STUB_THUNK)( PMIDL_STUB_MESSAGE );
+
+typedef long (__RPC_FAR __RPC_API * SERVER_ROUTINE)();
+
+/*
+ * Server Interpreter's information strucuture.
+ */
+typedef struct _MIDL_SERVER_INFO_
+ {
+ PMIDL_STUB_DESC pStubDesc;
+ const SERVER_ROUTINE * DispatchTable;
+ PFORMAT_STRING ProcString;
+ const unsigned short * FmtStringOffset;
+ const STUB_THUNK * ThunkTable;
+ PFORMAT_STRING LocalFormatTypes;
+ PFORMAT_STRING LocalProcString;
+ const unsigned short * LocalFmtStringOffset;
+ } MIDL_SERVER_INFO, *PMIDL_SERVER_INFO;
+
+/*
+ * Stubless object proxy information structure.
+ */
+typedef struct _MIDL_STUBLESS_PROXY_INFO
+ {
+ PMIDL_STUB_DESC pStubDesc;
+ PFORMAT_STRING ProcFormatString;
+ const unsigned short __RPC_FAR * FormatStringOffset;
+ PFORMAT_STRING LocalFormatTypes;
+ PFORMAT_STRING LocalProcString;
+ const unsigned short __RPC_FAR * LocalFmtStringOffset;
+ } MIDL_STUBLESS_PROXY_INFO;
+
+typedef MIDL_STUBLESS_PROXY_INFO __RPC_FAR * PMIDL_STUBLESS_PROXY_INFO;
+
+/*
+ * This is the return value from NdrClientCall.
+ */
+typedef union _CLIENT_CALL_RETURN
+ {
+ void __RPC_FAR * Pointer;
+ long Simple;
+ } CLIENT_CALL_RETURN;
+
+/*
+ * Full pointer data structures.
+ */
+
+typedef enum
+ {
+ XLAT_SERVER = 1,
+ XLAT_CLIENT
+ } XLAT_SIDE;
+
+/*
+ * Stores the translation for the conversion from a full pointer into it's
+ * corresponding ref id.
+ */
+typedef struct _FULL_PTR_TO_REFID_ELEMENT
+ {
+ struct _FULL_PTR_TO_REFID_ELEMENT __RPC_FAR * Next;
+
+ void __RPC_FAR * Pointer;
+ unsigned long RefId;
+ unsigned char State;
+ } FULL_PTR_TO_REFID_ELEMENT, __RPC_FAR *PFULL_PTR_TO_REFID_ELEMENT;
+
+/*
+ * Full pointer translation tables.
+ */
+typedef struct _FULL_PTR_XLAT_TABLES
+ {
+ /*
+ * Ref id to pointer translation information.
+ */
+ struct
+ {
+ void __RPC_FAR *__RPC_FAR * XlatTable;
+ unsigned char __RPC_FAR * StateTable;
+ unsigned long NumberOfEntries;
+ } RefIdToPointer;
+
+ /*
+ * Pointer to ref id translation information.
+ */
+ struct
+ {
+ PFULL_PTR_TO_REFID_ELEMENT __RPC_FAR * XlatTable;
+ unsigned long NumberOfBuckets;
+ unsigned long HashMask;
+ } PointerToRefId;
+
+ /*
+ * Next ref id to use.
+ */
+ unsigned long NextRefId;
+
+ /*
+ * Keep track of the translation size we're handling : server or client.
+ * This tells us when we have to do reverse translations when we insert
+ * new translations. On the server we must insert a pointer-to-refid
+ * translation whenever we insert a refid-to-pointer translation, and
+ * vica versa for the client.
+ */
+ XLAT_SIDE XlatSide;
+ } FULL_PTR_XLAT_TABLES, __RPC_FAR *PFULL_PTR_XLAT_TABLES;
+
+/***************************************************************************
+ ** New MIDL 2.0 Ndr routine templates
+ ***************************************************************************/
+
+/*
+ * Marshall routines
+ */
+
+void RPC_ENTRY
+NdrSimpleTypeMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ unsigned char FormatChar
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrPointerMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Structures */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrSimpleStructMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrConformantStructMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrConformantVaryingStructMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrHardStructMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrComplexStructMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Arrays */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrFixedArrayMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrConformantArrayMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrConformantVaryingArrayMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrVaryingArrayMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrComplexArrayMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Strings */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrNonConformantStringMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrConformantStringMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Unions */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrEncapsulatedUnionMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrNonEncapsulatedUnionMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Byte count pointer */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrByteCountPointerMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Transmit as and represent as*/
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrXmitOrRepAsMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* User_marshal */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrUserMarshalMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Cairo interface pointer */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrInterfacePointerMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Context handles */
+
+void RPC_ENTRY
+NdrClientContextMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ NDR_CCONTEXT ContextHandle,
+ int fCheck
+ );
+
+void RPC_ENTRY
+NdrServerContextMarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ NDR_SCONTEXT ContextHandle,
+ NDR_RUNDOWN RundownRoutine
+ );
+
+/*
+ * Unmarshall routines
+ */
+
+void RPC_ENTRY
+NdrSimpleTypeUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ unsigned char FormatChar
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrPointerUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+/* Structures */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrSimpleStructUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrConformantStructUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrConformantVaryingStructUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrHardStructUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrComplexStructUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+/* Arrays */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrFixedArrayUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrConformantArrayUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrConformantVaryingArrayUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrVaryingArrayUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrComplexArrayUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+/* Strings */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrNonConformantStringUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrConformantStringUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+/* Unions */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrEncapsulatedUnionUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrNonEncapsulatedUnionUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+/* Byte count pointer */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrByteCountPointerUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+/* Transmit as and represent as*/
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrXmitOrRepAsUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+/* User_marshal */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrUserMarshalUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+/* Cairo interface pointer */
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrInterfacePointerUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * __RPC_FAR * ppMemory,
+ PFORMAT_STRING pFormat,
+ unsigned char fMustAlloc
+ );
+
+/* Context handles */
+
+void RPC_ENTRY
+NdrClientContextUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ NDR_CCONTEXT __RPC_FAR * pContextHandle,
+ RPC_BINDING_HANDLE BindHandle
+ );
+
+NDR_SCONTEXT RPC_ENTRY
+NdrServerContextUnmarshall(
+ PMIDL_STUB_MESSAGE pStubMsg
+ );
+
+/*
+ * Buffer sizing routines
+ */
+
+void RPC_ENTRY
+NdrPointerBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Structures */
+
+void RPC_ENTRY
+NdrSimpleStructBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrConformantStructBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrConformantVaryingStructBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrHardStructBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrComplexStructBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Arrays */
+
+void RPC_ENTRY
+NdrFixedArrayBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrConformantArrayBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrConformantVaryingArrayBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrVaryingArrayBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrComplexArrayBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Strings */
+
+void RPC_ENTRY
+NdrConformantStringBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrNonConformantStringBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Unions */
+
+void RPC_ENTRY
+NdrEncapsulatedUnionBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrNonEncapsulatedUnionBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Byte count pointer */
+
+void RPC_ENTRY
+NdrByteCountPointerBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Transmit as and represent as*/
+
+void RPC_ENTRY
+NdrXmitOrRepAsBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* User_marshal */
+
+void RPC_ENTRY
+NdrUserMarshalBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Cairo Interface pointer */
+
+void RPC_ENTRY
+NdrInterfacePointerBufferSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+// Context Handle size
+//
+void RPC_ENTRY
+NdrContextHandleSize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/*
+ * Memory sizing routines
+ */
+
+unsigned long RPC_ENTRY
+NdrPointerMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+/* Structures */
+
+unsigned long RPC_ENTRY
+NdrSimpleStructMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned long RPC_ENTRY
+NdrConformantStructMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned long RPC_ENTRY
+NdrConformantVaryingStructMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned long RPC_ENTRY
+NdrHardStructMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned long RPC_ENTRY
+NdrComplexStructMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+/* Arrays */
+
+unsigned long RPC_ENTRY
+NdrFixedArrayMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned long RPC_ENTRY
+NdrConformantArrayMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned long RPC_ENTRY
+NdrConformantVaryingArrayMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned long RPC_ENTRY
+NdrVaryingArrayMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned long RPC_ENTRY
+NdrComplexArrayMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+/* Strings */
+
+unsigned long RPC_ENTRY
+NdrConformantStringMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned long RPC_ENTRY
+NdrNonConformantStringMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+/* Unions */
+
+unsigned long RPC_ENTRY
+NdrEncapsulatedUnionMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+unsigned long RPC_ENTRY
+NdrNonEncapsulatedUnionMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+/* Transmit as and represent as*/
+
+unsigned long RPC_ENTRY
+NdrXmitOrRepAsMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+/* User_marshal */
+
+unsigned long RPC_ENTRY
+NdrUserMarshalMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+/* Cairo Interface pointer */
+
+unsigned long RPC_ENTRY
+NdrInterfacePointerMemorySize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+/*
+ * Freeing routines
+ */
+
+void RPC_ENTRY
+NdrPointerFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Structures */
+
+void RPC_ENTRY
+NdrSimpleStructFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrConformantStructFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrConformantVaryingStructFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrHardStructFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrComplexStructFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Arrays */
+
+void RPC_ENTRY
+NdrFixedArrayFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrConformantArrayFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrConformantVaryingArrayFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrVaryingArrayFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrComplexArrayFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Unions */
+
+void RPC_ENTRY
+NdrEncapsulatedUnionFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+void RPC_ENTRY
+NdrNonEncapsulatedUnionFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Byte count */
+
+void RPC_ENTRY
+NdrByteCountPointerFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Transmit as and represent as*/
+
+void RPC_ENTRY
+NdrXmitOrRepAsFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* User_marshal */
+
+void RPC_ENTRY
+NdrUserMarshalFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/* Cairo Interface pointer */
+
+void RPC_ENTRY
+NdrInterfacePointerFree(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pMemory,
+ PFORMAT_STRING pFormat
+ );
+
+/*
+ * Endian conversion routine.
+ */
+
+void RPC_ENTRY
+NdrConvert2(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat,
+ long NumberParams
+ );
+
+void RPC_ENTRY
+NdrConvert(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+#define USER_MARSHAL_FC_BYTE 1
+#define USER_MARSHAL_FC_CHAR 2
+#define USER_MARSHAL_FC_SMALL 3
+#define USER_MARSHAL_FC_USMALL 4
+#define USER_MARSHAL_FC_WCHAR 5
+#define USER_MARSHAL_FC_SHORT 6
+#define USER_MARSHAL_FC_USHORT 7
+#define USER_MARSHAL_FC_LONG 8
+#define USER_MARSHAL_FC_ULONG 9
+#define USER_MARSHAL_FC_FLOAT 10
+#define USER_MARSHAL_FC_HYPER 11
+#define USER_MARSHAL_FC_DOUBLE 12
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrUserMarshalSimpleTypeConvert(
+ unsigned long * pFlags,
+ unsigned char * pBuffer,
+ unsigned char FormatChar
+ );
+
+/*
+ * Auxilary routines
+ */
+
+void RPC_ENTRY
+NdrClientInitializeNew(
+ PRPC_MESSAGE pRpcMsg,
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PMIDL_STUB_DESC pStubDescriptor,
+ unsigned int ProcNum
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrServerInitializeNew(
+ PRPC_MESSAGE pRpcMsg,
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PMIDL_STUB_DESC pStubDescriptor
+ );
+
+void RPC_ENTRY
+NdrServerInitializePartial(
+ PRPC_MESSAGE pRpcMsg,
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PMIDL_STUB_DESC pStubDescriptor,
+ unsigned long RequestedBufferSize
+ );
+
+void RPC_ENTRY
+NdrClientInitialize(
+ PRPC_MESSAGE pRpcMsg,
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PMIDL_STUB_DESC pStubDescriptor,
+ unsigned int ProcNum
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrServerInitialize(
+ PRPC_MESSAGE pRpcMsg,
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PMIDL_STUB_DESC pStubDescriptor
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrServerInitializeUnmarshall (
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PMIDL_STUB_DESC pStubDescriptor,
+ PRPC_MESSAGE pRpcMsg
+ );
+
+void RPC_ENTRY
+NdrServerInitializeMarshall (
+ PRPC_MESSAGE pRpcMsg,
+ PMIDL_STUB_MESSAGE pStubMsg
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrGetBuffer(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned long BufferLength,
+ RPC_BINDING_HANDLE Handle
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrNsGetBuffer(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned long BufferLength,
+ RPC_BINDING_HANDLE Handle
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrGetPipeBuffer(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned long BufferLength,
+ RPC_BINDING_HANDLE Handle );
+
+void RPC_ENTRY
+NdrGetPartialBuffer(
+ PMIDL_STUB_MESSAGE pStubMsg );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrSendReceive(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR* pBufferEnd
+ );
+
+unsigned char __RPC_FAR * RPC_ENTRY
+NdrNsSendReceive(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR * pBufferEnd,
+ RPC_BINDING_HANDLE __RPC_FAR * pAutoHandle
+ );
+
+void RPC_ENTRY
+NdrPipeSendReceive(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ NDR_PIPE_DESC * pPipeDesc
+ );
+
+void RPC_ENTRY
+NdrFreeBuffer(
+ PMIDL_STUB_MESSAGE pStubMsg
+ );
+
+
+/*
+ * Pipe specific calls
+ */
+
+void RPC_ENTRY
+NdrPipesInitialize(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pParamDesc,
+ NDR_PIPE_DESC __RPC_FAR * pPipeDesc,
+ NDR_PIPE_MESSAGE __RPC_FAR * pPipeMsg,
+ char __RPC_FAR * pStackTop,
+ unsigned long NumberParams );
+
+void
+NdrMarkNextActivePipe(
+ NDR_PIPE_DESC __RPC_FAR * pPipeDesc,
+ unsigned int DirectionMask );
+
+void RPC_ENTRY
+NdrPipePull(
+ char __RPC_FAR * pState,
+ void __RPC_FAR * buf,
+ unsigned long esize,
+ unsigned long __RPC_FAR * ecount );
+
+void RPC_ENTRY
+NdrPipePush(
+ char __RPC_FAR * pState,
+ void __RPC_FAR * buf,
+ unsigned long ecount );
+
+void RPC_ENTRY
+NdrIsAppDoneWithPipes(
+ NDR_PIPE_DESC * pPipeDesc
+ );
+
+void RPC_ENTRY
+NdrPipesDone(
+ PMIDL_STUB_MESSAGE pStubMsg
+ );
+
+
+/*
+ * Interpeter calls.
+ */
+
+/* client */
+
+CLIENT_CALL_RETURN RPC_VAR_ENTRY
+NdrClientCall2(
+ PMIDL_STUB_DESC pStubDescriptor,
+ PFORMAT_STRING pFormat,
+ ...
+ );
+
+CLIENT_CALL_RETURN RPC_VAR_ENTRY
+NdrClientCall(
+ PMIDL_STUB_DESC pStubDescriptor,
+ PFORMAT_STRING pFormat,
+ ...
+ );
+
+/* server */
+typedef enum {
+ STUB_UNMARSHAL,
+ STUB_CALL_SERVER,
+ STUB_MARSHAL,
+ STUB_CALL_SERVER_NO_HRESULT
+}STUB_PHASE;
+
+typedef enum {
+ PROXY_CALCSIZE,
+ PROXY_GETBUFFER,
+ PROXY_MARSHAL,
+ PROXY_SENDRECEIVE,
+ PROXY_UNMARSHAL
+}PROXY_PHASE;
+
+long RPC_ENTRY
+NdrStubCall2(
+ struct IRpcStubBuffer __RPC_FAR * pThis,
+ struct IRpcChannelBuffer __RPC_FAR * pChannel,
+ PRPC_MESSAGE pRpcMsg,
+ unsigned long __RPC_FAR * pdwStubPhase
+ );
+
+void RPC_ENTRY
+NdrServerCall2(
+ PRPC_MESSAGE pRpcMsg
+ );
+
+long RPC_ENTRY
+NdrStubCall (
+ struct IRpcStubBuffer __RPC_FAR * pThis,
+ struct IRpcChannelBuffer __RPC_FAR * pChannel,
+ PRPC_MESSAGE pRpcMsg,
+ unsigned long __RPC_FAR * pdwStubPhase
+ );
+
+void RPC_ENTRY
+NdrServerCall(
+ PRPC_MESSAGE pRpcMsg
+ );
+
+int RPC_ENTRY
+NdrServerUnmarshall(
+ struct IRpcChannelBuffer __RPC_FAR * pChannel,
+ PRPC_MESSAGE pRpcMsg,
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PMIDL_STUB_DESC pStubDescriptor,
+ PFORMAT_STRING pFormat,
+ void __RPC_FAR * pParamList
+ );
+
+void RPC_ENTRY
+NdrServerMarshall(
+ struct IRpcStubBuffer __RPC_FAR * pThis,
+ struct IRpcChannelBuffer __RPC_FAR * pChannel,
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat
+ );
+
+/* Comm and Fault status */
+
+RPC_STATUS RPC_ENTRY
+NdrMapCommAndFaultStatus(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned long __RPC_FAR * pCommStatus,
+ unsigned long __RPC_FAR * pFaultStatus,
+ RPC_STATUS Status
+ );
+
+/* Helper routines */
+
+int RPC_ENTRY
+NdrSH_UPDecision(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR *__RPC_FAR * pPtrInMem,
+ RPC_BUFPTR pBuffer
+ );
+
+int RPC_ENTRY
+NdrSH_TLUPDecision(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR *__RPC_FAR * pPtrInMem
+ );
+
+int RPC_ENTRY
+NdrSH_TLUPDecisionBuffer(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR *__RPC_FAR * pPtrInMem
+ );
+
+int RPC_ENTRY
+NdrSH_IfAlloc(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR *__RPC_FAR * pPtrInMem,
+ unsigned long Count
+ );
+
+int RPC_ENTRY
+NdrSH_IfAllocRef(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR *__RPC_FAR * pPtrInMem,
+ unsigned long Count
+ );
+
+int RPC_ENTRY
+NdrSH_IfAllocSet(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR *__RPC_FAR * pPtrInMem,
+ unsigned long Count
+ );
+
+RPC_BUFPTR RPC_ENTRY
+NdrSH_IfCopy(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR *__RPC_FAR * pPtrInMem,
+ unsigned long Count
+ );
+
+RPC_BUFPTR RPC_ENTRY
+NdrSH_IfAllocCopy(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ unsigned char __RPC_FAR *__RPC_FAR * pPtrInMem,
+ unsigned long Count
+ );
+
+unsigned long RPC_ENTRY
+NdrSH_Copy(
+ unsigned char __RPC_FAR * pStubMsg,
+ unsigned char __RPC_FAR * pPtrInMem,
+ unsigned long Count
+ );
+
+void RPC_ENTRY
+NdrSH_IfFree(
+ PMIDL_STUB_MESSAGE pMessage,
+ unsigned char __RPC_FAR * pPtr );
+
+
+RPC_BUFPTR RPC_ENTRY
+NdrSH_StringMarshall(
+ PMIDL_STUB_MESSAGE pMessage,
+ unsigned char __RPC_FAR * pMemory,
+ unsigned long Count,
+ int Size );
+
+RPC_BUFPTR RPC_ENTRY
+NdrSH_StringUnMarshall(
+ PMIDL_STUB_MESSAGE pMessage,
+ unsigned char __RPC_FAR *__RPC_FAR * pMemory,
+ int Size );
+
+/****************************************************************************
+ MIDL 2.0 memory package: rpc_ss_* rpc_sm_*
+ ****************************************************************************/
+
+typedef void __RPC_FAR * RPC_SS_THREAD_HANDLE;
+
+typedef void __RPC_FAR * __RPC_API
+RPC_CLIENT_ALLOC (
+ IN size_t Size
+ );
+
+typedef void __RPC_API
+RPC_CLIENT_FREE (
+ IN void __RPC_FAR * Ptr
+ );
+
+/*++
+ RpcSs* package
+--*/
+
+void __RPC_FAR * RPC_ENTRY
+RpcSsAllocate (
+ IN size_t Size
+ );
+
+void RPC_ENTRY
+RpcSsDisableAllocate (
+ void
+ );
+
+void RPC_ENTRY
+RpcSsEnableAllocate (
+ void
+ );
+
+void RPC_ENTRY
+RpcSsFree (
+ IN void __RPC_FAR * NodeToFree
+ );
+
+RPC_SS_THREAD_HANDLE RPC_ENTRY
+RpcSsGetThreadHandle (
+ void
+ );
+
+void RPC_ENTRY
+RpcSsSetClientAllocFree (
+ IN RPC_CLIENT_ALLOC __RPC_FAR * ClientAlloc,
+ IN RPC_CLIENT_FREE __RPC_FAR * ClientFree
+ );
+
+void RPC_ENTRY
+RpcSsSetThreadHandle (
+ IN RPC_SS_THREAD_HANDLE Id
+ );
+
+void RPC_ENTRY
+RpcSsSwapClientAllocFree (
+ IN RPC_CLIENT_ALLOC __RPC_FAR * ClientAlloc,
+ IN RPC_CLIENT_FREE __RPC_FAR * ClientFree,
+ OUT RPC_CLIENT_ALLOC __RPC_FAR * __RPC_FAR * OldClientAlloc,
+ OUT RPC_CLIENT_FREE __RPC_FAR * __RPC_FAR * OldClientFree
+ );
+
+/*++
+ RpcSm* package
+--*/
+
+void __RPC_FAR * RPC_ENTRY
+RpcSmAllocate (
+ IN size_t Size,
+ OUT RPC_STATUS __RPC_FAR * pStatus
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcSmClientFree (
+ IN void __RPC_FAR * pNodeToFree
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcSmDestroyClientContext (
+ IN void __RPC_FAR * __RPC_FAR * ContextHandle
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcSmDisableAllocate (
+ void
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcSmEnableAllocate (
+ void
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcSmFree (
+ IN void __RPC_FAR * NodeToFree
+ );
+
+RPC_SS_THREAD_HANDLE RPC_ENTRY
+RpcSmGetThreadHandle (
+ OUT RPC_STATUS __RPC_FAR * pStatus
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcSmSetClientAllocFree (
+ IN RPC_CLIENT_ALLOC __RPC_FAR * ClientAlloc,
+ IN RPC_CLIENT_FREE __RPC_FAR * ClientFree
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcSmSetThreadHandle (
+ IN RPC_SS_THREAD_HANDLE Id
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcSmSwapClientAllocFree (
+ IN RPC_CLIENT_ALLOC __RPC_FAR * ClientAlloc,
+ IN RPC_CLIENT_FREE __RPC_FAR * ClientFree,
+ OUT RPC_CLIENT_ALLOC __RPC_FAR * __RPC_FAR * OldClientAlloc,
+ OUT RPC_CLIENT_FREE __RPC_FAR * __RPC_FAR * OldClientFree
+ );
+
+/*++
+ Ndr stub entry points
+--*/
+
+void RPC_ENTRY
+NdrRpcSsEnableAllocate(
+ PMIDL_STUB_MESSAGE pMessage );
+
+void RPC_ENTRY
+NdrRpcSsDisableAllocate(
+ PMIDL_STUB_MESSAGE pMessage );
+
+void RPC_ENTRY
+NdrRpcSmSetClientToOsf(
+ PMIDL_STUB_MESSAGE pMessage );
+
+void __RPC_FAR * RPC_ENTRY
+NdrRpcSmClientAllocate (
+ IN size_t Size
+ );
+
+void RPC_ENTRY
+NdrRpcSmClientFree (
+ IN void __RPC_FAR * NodeToFree
+ );
+
+void __RPC_FAR * RPC_ENTRY
+NdrRpcSsDefaultAllocate (
+ IN size_t Size
+ );
+
+void RPC_ENTRY
+NdrRpcSsDefaultFree (
+ IN void __RPC_FAR * NodeToFree
+ );
+
+/****************************************************************************
+ end of memory package: rpc_ss_* rpc_sm_*
+ ****************************************************************************/
+
+/****************************************************************************
+ * Full Pointer APIs
+ ****************************************************************************/
+
+PFULL_PTR_XLAT_TABLES RPC_ENTRY
+NdrFullPointerXlatInit(
+ unsigned long NumberOfPointers,
+ XLAT_SIDE XlatSide
+ );
+
+void RPC_ENTRY
+NdrFullPointerXlatFree(
+ PFULL_PTR_XLAT_TABLES pXlatTables
+ );
+
+int RPC_ENTRY
+NdrFullPointerQueryPointer(
+ PFULL_PTR_XLAT_TABLES pXlatTables,
+ void __RPC_FAR * pPointer,
+ unsigned char QueryType,
+ unsigned long __RPC_FAR * pRefId
+ );
+
+int RPC_ENTRY
+NdrFullPointerQueryRefId(
+ PFULL_PTR_XLAT_TABLES pXlatTables,
+ unsigned long RefId,
+ unsigned char QueryType,
+ void __RPC_FAR *__RPC_FAR * ppPointer
+ );
+
+void RPC_ENTRY
+NdrFullPointerInsertRefId(
+ PFULL_PTR_XLAT_TABLES pXlatTables,
+ unsigned long RefId,
+ void __RPC_FAR * pPointer
+ );
+
+int RPC_ENTRY
+NdrFullPointerFree(
+ PFULL_PTR_XLAT_TABLES pXlatTables,
+ void __RPC_FAR * Pointer
+ );
+
+void __RPC_FAR * RPC_ENTRY
+NdrAllocate(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ size_t Len
+ );
+
+void RPC_ENTRY
+NdrClearOutParameters(
+ PMIDL_STUB_MESSAGE pStubMsg,
+ PFORMAT_STRING pFormat,
+ void __RPC_FAR * ArgAddr
+ );
+
+
+/****************************************************************************
+ * Proxy APIs
+ ****************************************************************************/
+
+void __RPC_FAR * RPC_ENTRY
+NdrOleAllocate (
+ IN size_t Size
+ );
+
+void RPC_ENTRY
+NdrOleFree (
+ IN void __RPC_FAR * NodeToFree
+ );
+
+#ifdef CONST_VTABLE
+#define CONST_VTBL const
+#else
+#define CONST_VTBL
+#endif
+
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+// Reset the packing level for DOS, Windows and Mac.
+
+#if defined(__RPC_DOS__) || defined(__RPC_WIN16__) || defined(__RPC_MAC__)
+#pragma pack()
+#endif
+
+#endif /* __RPCNDR_H__ */
+
+
+
+
+
diff --git a/public/sdk/rpc16/mac/inc/rpcnsi.h b/public/sdk/rpc16/mac/inc/rpcnsi.h
new file mode 100644
index 000000000..362b5bdb4
--- /dev/null
+++ b/public/sdk/rpc16/mac/inc/rpcnsi.h
@@ -0,0 +1,509 @@
+/*++
+
+Copyright (c) 1992-1996 Microsoft Corporation
+
+Module Name:
+
+ rpcnsi.h
+
+Abstract:
+
+ This file contains the types and function definitions to use the
+ Name Service Independent APIs.
+
+--*/
+
+#ifndef __RPCNSI_H__
+#define __RPCNSI_H__
+
+typedef void __RPC_FAR * RPC_NS_HANDLE;
+
+#define RPC_C_NS_SYNTAX_DEFAULT 0
+#define RPC_C_NS_SYNTAX_DCE 3
+
+#define RPC_C_PROFILE_DEFAULT_ELT 0
+#define RPC_C_PROFILE_ALL_ELT 1
+#define RPC_C_PROFILE_MATCH_BY_IF 2
+#define RPC_C_PROFILE_MATCH_BY_MBR 3
+#define RPC_C_PROFILE_MATCH_BY_BOTH 4
+
+#define RPC_C_NS_DEFAULT_EXP_AGE -1
+
+/* Server APIs */
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingExportA(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * EntryName,
+ IN RPC_IF_HANDLE IfSpec OPTIONAL,
+ IN RPC_BINDING_VECTOR __RPC_FAR * BindingVec OPTIONAL,
+ IN UUID_VECTOR __RPC_FAR * ObjectUuidVec OPTIONAL
+ );
+
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingUnexportA(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * EntryName,
+ IN RPC_IF_HANDLE IfSpec OPTIONAL,
+ IN UUID_VECTOR __RPC_FAR * ObjectUuidVec OPTIONAL
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingExportW(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * EntryName,
+ IN RPC_IF_HANDLE IfSpec OPTIONAL,
+ IN RPC_BINDING_VECTOR __RPC_FAR * BindingVec OPTIONAL,
+ IN UUID_VECTOR __RPC_FAR * ObjectUuidVec OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingUnexportW(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * EntryName,
+ IN RPC_IF_HANDLE IfSpec OPTIONAL,
+ IN UUID_VECTOR __RPC_FAR * ObjectUuidVec OPTIONAL
+ );
+
+#endif
+
+/* Client APIs */
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingLookupBeginA(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * EntryName OPTIONAL,
+ IN RPC_IF_HANDLE IfSpec OPTIONAL,
+ IN UUID __RPC_FAR * ObjUuid OPTIONAL,
+ IN unsigned long BindingMaxCount OPTIONAL,
+ OUT RPC_NS_HANDLE __RPC_FAR * LookupContext
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingLookupBeginW(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * EntryName OPTIONAL,
+ IN RPC_IF_HANDLE IfSpec OPTIONAL,
+ IN UUID __RPC_FAR * ObjUuid OPTIONAL,
+ IN unsigned long BindingMaxCount OPTIONAL,
+ OUT RPC_NS_HANDLE __RPC_FAR * LookupContext
+ );
+#endif
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingLookupNext(
+ IN RPC_NS_HANDLE LookupContext,
+ OUT RPC_BINDING_VECTOR __RPC_FAR * __RPC_FAR * BindingVec
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingLookupDone(
+ IN OUT RPC_NS_HANDLE __RPC_FAR * LookupContext
+ );
+
+/* Group APIs */
+
+RPC_STATUS RPC_ENTRY
+RpcNsGroupDeleteA(
+ IN unsigned long GroupNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * GroupName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsGroupMbrAddA(
+ IN unsigned long GroupNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * GroupName,
+ IN unsigned long MemberNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * MemberName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsGroupMbrRemoveA(
+ IN unsigned long GroupNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * GroupName,
+ IN unsigned long MemberNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * MemberName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsGroupMbrInqBeginA(
+ IN unsigned long GroupNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * GroupName,
+ IN unsigned long MemberNameSyntax OPTIONAL,
+ OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsGroupMbrInqNextA(
+ IN RPC_NS_HANDLE InquiryContext,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * MemberName
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcNsGroupDeleteW(
+ IN unsigned long GroupNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * GroupName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsGroupMbrAddW(
+ IN unsigned long GroupNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * GroupName,
+ IN unsigned long MemberNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * MemberName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsGroupMbrRemoveW(
+ IN unsigned long GroupNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * GroupName,
+ IN unsigned long MemberNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * MemberName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsGroupMbrInqBeginW(
+ IN unsigned long GroupNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * GroupName,
+ IN unsigned long MemberNameSyntax OPTIONAL,
+ OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsGroupMbrInqNextW(
+ IN RPC_NS_HANDLE InquiryContext,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * MemberName
+ );
+
+#endif
+
+RPC_STATUS RPC_ENTRY
+RpcNsGroupMbrInqDone(
+ IN OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
+ );
+
+/* Profile APIs */
+
+RPC_STATUS RPC_ENTRY
+RpcNsProfileDeleteA(
+ IN unsigned long ProfileNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * ProfileName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsProfileEltAddA(
+ IN unsigned long ProfileNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * ProfileName,
+ IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
+ IN unsigned long MemberNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * MemberName,
+ IN unsigned long Priority,
+ IN unsigned char __RPC_FAR * Annotation OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsProfileEltRemoveA(
+ IN unsigned long ProfileNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * ProfileName,
+ IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
+ IN unsigned long MemberNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * MemberName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsProfileEltInqBeginA(
+ IN unsigned long ProfileNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * ProfileName,
+ IN unsigned long InquiryType,
+ IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
+ IN unsigned long VersOption,
+ IN unsigned long MemberNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * MemberName OPTIONAL,
+ OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsProfileEltInqNextA(
+ IN RPC_NS_HANDLE InquiryContext,
+ OUT RPC_IF_ID __RPC_FAR * IfId,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * MemberName,
+ OUT unsigned long __RPC_FAR * Priority,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * Annotation
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcNsProfileDeleteW(
+ IN unsigned long ProfileNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * ProfileName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsProfileEltAddW(
+ IN unsigned long ProfileNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * ProfileName,
+ IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
+ IN unsigned long MemberNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * MemberName,
+ IN unsigned long Priority,
+ IN unsigned short __RPC_FAR * Annotation OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsProfileEltRemoveW(
+ IN unsigned long ProfileNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * ProfileName,
+ IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
+ IN unsigned long MemberNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * MemberName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsProfileEltInqBeginW(
+ IN unsigned long ProfileNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * ProfileName,
+ IN unsigned long InquiryType,
+ IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
+ IN unsigned long VersOption,
+ IN unsigned long MemberNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * MemberName OPTIONAL,
+ OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsProfileEltInqNextW(
+ IN RPC_NS_HANDLE InquiryContext,
+ OUT RPC_IF_ID __RPC_FAR * IfId,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * MemberName,
+ OUT unsigned long __RPC_FAR * Priority,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * Annotation
+ );
+
+#endif
+
+RPC_STATUS RPC_ENTRY
+RpcNsProfileEltInqDone(
+ IN OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
+ );
+
+/* Entry object APIs */
+
+RPC_STATUS RPC_ENTRY
+RpcNsEntryObjectInqBeginA(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * EntryName,
+ OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcNsEntryObjectInqBeginW(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * EntryName,
+ OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
+ );
+
+#endif
+
+RPC_STATUS RPC_ENTRY
+RpcNsEntryObjectInqNext(
+ IN RPC_NS_HANDLE InquiryContext,
+ OUT UUID __RPC_FAR * ObjUuid
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsEntryObjectInqDone(
+ IN OUT RPC_NS_HANDLE __RPC_FAR * InquiryContext
+ );
+
+/* Management and MISC APIs */
+
+RPC_STATUS RPC_ENTRY
+RpcNsEntryExpandNameA(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * EntryName,
+ OUT unsigned char __RPC_FAR * __RPC_FAR * ExpandedName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsMgmtBindingUnexportA(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * EntryName,
+ IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
+ IN unsigned long VersOption,
+ IN UUID_VECTOR __RPC_FAR * ObjectUuidVec OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsMgmtEntryCreateA(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * EntryName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsMgmtEntryDeleteA(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * EntryName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsMgmtEntryInqIfIdsA(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * EntryName,
+ OUT RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR * IfIdVec
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsMgmtHandleSetExpAge(
+ IN RPC_NS_HANDLE NsHandle,
+ IN unsigned long ExpirationAge
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsMgmtInqExpAge(
+ OUT unsigned long __RPC_FAR * ExpirationAge
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsMgmtSetExpAge(
+ IN unsigned long ExpirationAge
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcNsEntryExpandNameW(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * EntryName,
+ OUT unsigned short __RPC_FAR * __RPC_FAR * ExpandedName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsMgmtBindingUnexportW(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * EntryName,
+ IN RPC_IF_ID __RPC_FAR * IfId OPTIONAL,
+ IN unsigned long VersOption,
+ IN UUID_VECTOR __RPC_FAR * ObjectUuidVec OPTIONAL
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsMgmtEntryCreateW(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * EntryName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsMgmtEntryDeleteW(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * EntryName
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsMgmtEntryInqIfIdsW(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * EntryName,
+ OUT RPC_IF_ID_VECTOR __RPC_FAR * __RPC_FAR * IfIdVec
+ );
+
+#endif
+
+/* Client API's implemented in wrappers. */
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingImportBeginA(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned char __RPC_FAR * EntryName OPTIONAL,
+ IN RPC_IF_HANDLE IfSpec OPTIONAL,
+ IN UUID __RPC_FAR * ObjUuid OPTIONAL,
+ OUT RPC_NS_HANDLE __RPC_FAR * ImportContext
+ );
+
+#ifdef RPC_UNICODE_SUPPORTED
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingImportBeginW(
+ IN unsigned long EntryNameSyntax OPTIONAL,
+ IN unsigned short __RPC_FAR * EntryName OPTIONAL,
+ IN RPC_IF_HANDLE IfSpec OPTIONAL,
+ IN UUID __RPC_FAR * ObjUuid OPTIONAL,
+ OUT RPC_NS_HANDLE __RPC_FAR * ImportContext
+ );
+
+#endif
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingImportNext(
+ IN RPC_NS_HANDLE ImportContext,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingImportDone(
+ IN OUT RPC_NS_HANDLE __RPC_FAR * ImportContext
+ );
+
+RPC_STATUS RPC_ENTRY
+RpcNsBindingSelect(
+ IN OUT RPC_BINDING_VECTOR __RPC_FAR * BindingVec,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Binding
+ );
+
+#ifdef UNICODE
+
+#define RpcNsBindingLookupBegin RpcNsBindingLookupBeginW
+#define RpcNsBindingImportBegin RpcNsBindingImportBeginW
+#define RpcNsBindingExport RpcNsBindingExportW
+#define RpcNsBindingUnexport RpcNsBindingUnexportW
+#define RpcNsGroupDelete RpcNsGroupDeleteW
+#define RpcNsGroupMbrAdd RpcNsGroupMbrAddW
+#define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveW
+#define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginW
+#define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextW
+#define RpcNsEntryExpandName RpcNsEntryExpandNameW
+#define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginW
+#define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportW
+#define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateW
+#define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteW
+#define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsW
+#define RpcNsProfileDelete RpcNsProfileDeleteW
+#define RpcNsProfileEltAdd RpcNsProfileEltAddW
+#define RpcNsProfileEltRemove RpcNsProfileEltRemoveW
+#define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginW
+#define RpcNsProfileEltInqNext RpcNsProfileEltInqNextW
+
+#else
+
+#define RpcNsBindingLookupBegin RpcNsBindingLookupBeginA
+#define RpcNsBindingImportBegin RpcNsBindingImportBeginA
+#define RpcNsBindingExport RpcNsBindingExportA
+#define RpcNsBindingUnexport RpcNsBindingUnexportA
+#define RpcNsGroupDelete RpcNsGroupDeleteA
+#define RpcNsGroupMbrAdd RpcNsGroupMbrAddA
+#define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveA
+#define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginA
+#define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextA
+#define RpcNsEntryExpandName RpcNsEntryExpandNameA
+#define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginA
+#define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportA
+#define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateA
+#define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteA
+#define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsA
+#define RpcNsProfileDelete RpcNsProfileDeleteA
+#define RpcNsProfileEltAdd RpcNsProfileEltAddA
+#define RpcNsProfileEltRemove RpcNsProfileEltRemoveA
+#define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginA
+#define RpcNsProfileEltInqNext RpcNsProfileEltInqNextA
+
+#endif /* UNICODE */
+
+#endif /* __RPCNSI_H__ */
diff --git a/public/sdk/rpc16/mac/inc/rpcnsip.h b/public/sdk/rpc16/mac/inc/rpcnsip.h
new file mode 100644
index 000000000..0db0140b0
--- /dev/null
+++ b/public/sdk/rpc16/mac/inc/rpcnsip.h
@@ -0,0 +1,72 @@
+/*++
+
+Copyright (c) 1992-1996 Microsoft Corporation
+
+Module Name:
+
+ rpcnsip.h
+
+Abstract:
+
+ This file contains the types and function definitions to use the
+ to implement the autohandle features of the runtime.
+
+--*/
+
+#ifndef __RPCNSIP_H__
+#define __RPCNSIP_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct
+{
+ RPC_NS_HANDLE LookupContext;
+ RPC_BINDING_HANDLE ProposedHandle;
+ RPC_BINDING_VECTOR * Bindings;
+
+} RPC_IMPORT_CONTEXT_P, * PRPC_IMPORT_CONTEXT_P;
+
+
+/* Stub Auto Binding routines. */
+
+RPC_STATUS RPC_ENTRY
+I_RpcNsGetBuffer(
+ IN PRPC_MESSAGE Message
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcNsSendReceive(
+ IN PRPC_MESSAGE Message,
+ OUT RPC_BINDING_HANDLE __RPC_FAR * Handle
+ );
+
+void RPC_ENTRY
+I_RpcNsRaiseException(
+ IN PRPC_MESSAGE Message,
+ IN RPC_STATUS Status
+ );
+
+RPC_STATUS RPC_ENTRY
+I_RpcReBindBuffer(
+ IN PRPC_MESSAGE Message
+ );
+
+RPC_STATUS RPC_ENTRY
+I_NsServerBindSearch(
+ );
+
+RPC_STATUS RPC_ENTRY
+I_NsClientBindSearch(
+ );
+
+void RPC_ENTRY
+I_NsClientBindDone(
+ );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __RPCNSIP_H__ */