--- mstools/h/rpcdcep.h 2018/08/09 18:20:29 1.1.1.1 +++ mstools/h/rpcdcep.h 2018/08/09 18:23:02 1.1.1.3 @@ -1,6 +1,6 @@ /*++ -Copyright (c) 1991 Microsoft Corporation +Copyright (c) 1991-1993 Microsoft Corporation Module Name: @@ -23,6 +23,16 @@ Revision History: #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; @@ -31,36 +41,40 @@ typedef struct _RPC_VERSION { typedef struct _RPC_SYNTAX_IDENTIFIER { GUID SyntaxGUID; RPC_VERSION SyntaxVersion; -} RPC_SYNTAX_IDENTIFIER, PAPI * PRPC_SYNTAX_IDENTIFIER; +} RPC_SYNTAX_IDENTIFIER, __RPC_FAR * PRPC_SYNTAX_IDENTIFIER; typedef struct _RPC_MESSAGE { RPC_BINDING_HANDLE Handle; unsigned long DataRepresentation; - void PAPI * Buffer; + void __RPC_FAR * Buffer; unsigned int BufferLength; unsigned int ProcNum; PRPC_SYNTAX_IDENTIFIER TransferSyntax; - void PAPI * RpcInterfaceInformation; - void PAPI * ReservedForRuntime; - RPC_MGR_EPV ManagerEpv; - void PAPI * ImportContext; + void __RPC_FAR * RpcInterfaceInformation; + void __RPC_FAR * ReservedForRuntime; + RPC_MGR_EPV __RPC_FAR * ManagerEpv; + void __RPC_FAR * ImportContext; unsigned long RpcFlags; -} RPC_MESSAGE, PAPI * PRPC_MESSAGE; +} RPC_MESSAGE, __RPC_FAR * PRPC_MESSAGE; -typedef void (PAPI * RPC_DISPATCH_FUNCTION) (IN OUT PRPC_MESSAGE Message); +typedef +void +(__RPC_STUB __RPC_FAR * RPC_DISPATCH_FUNCTION) ( + IN OUT PRPC_MESSAGE Message + ); typedef struct { unsigned int DispatchTableCount; - RPC_DISPATCH_FUNCTION PAPI * DispatchTable; + RPC_DISPATCH_FUNCTION __RPC_FAR * DispatchTable; int Reserved; -} RPC_DISPATCH_TABLE, PAPI * PRPC_DISPATCH_TABLE; +} RPC_DISPATCH_TABLE, __RPC_FAR * PRPC_DISPATCH_TABLE; typedef struct _RPC_PROTSEQ_ENDPOINT { - unsigned char PAPI * RpcProtocolSequence; - unsigned char PAPI * Endpoint; -} RPC_PROTSEQ_ENDPOINT, PAPI * PRPC_PROTSEQ_ENDPOINT; + unsigned char __RPC_FAR * RpcProtocolSequence; + unsigned char __RPC_FAR * Endpoint; +} RPC_PROTSEQ_ENDPOINT, __RPC_FAR * PRPC_PROTSEQ_ENDPOINT; /* Both of this types MUST start with the InterfaceId and TransferSyntax. @@ -75,8 +89,8 @@ typedef struct _RPC_SERVER_INTERFACE PRPC_DISPATCH_TABLE DispatchTable; unsigned int RpcProtseqEndpointCount; PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; - void PAPI * MopInterfaceInformation; -} RPC_SERVER_INTERFACE, PAPI * PRPC_SERVER_INTERFACE; + void __RPC_FAR * MopInterfaceInformation; +} RPC_SERVER_INTERFACE, __RPC_FAR * PRPC_SERVER_INTERFACE; typedef struct _RPC_CLIENT_INTERFACE { @@ -86,26 +100,22 @@ typedef struct _RPC_CLIENT_INTERFACE PRPC_DISPATCH_TABLE DispatchTable; unsigned int RpcProtseqEndpointCount; PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; - void PAPI * MopInterfaceInformation; -} RPC_CLIENT_INTERFACE, PAPI * PRPC_CLIENT_INTERFACE; + void __RPC_FAR * MopInterfaceInformation; +} RPC_CLIENT_INTERFACE, __RPC_FAR * PRPC_CLIENT_INTERFACE; RPC_STATUS RPC_ENTRY I_RpcGetBuffer ( - IN OUT RPC_MESSAGE PAPI * Message + IN OUT RPC_MESSAGE __RPC_FAR * Message ); RPC_STATUS RPC_ENTRY -#ifndef WIN16RPC I_RpcSendReceive ( -#else -I_RpcSendReceiveWin ( -#endif /* ! WIN16RPC */ - IN OUT RPC_MESSAGE PAPI * Message + IN OUT RPC_MESSAGE __RPC_FAR * Message ); RPC_STATUS RPC_ENTRY I_RpcFreeBuffer ( - IN OUT RPC_MESSAGE PAPI * Message + IN OUT RPC_MESSAGE __RPC_FAR * Message ); typedef void * I_RPC_MUTEX; @@ -125,14 +135,14 @@ I_RpcDeleteMutex ( IN I_RPC_MUTEX Mutex ); -void PAPI * RPC_ENTRY +void __RPC_FAR * RPC_ENTRY I_RpcAllocate ( IN unsigned int Size ); void RPC_ENTRY I_RpcFree ( - IN void PAPI * Object + IN void __RPC_FAR * Object ); void RPC_ENTRY @@ -142,8 +152,8 @@ I_RpcPauseExecution ( typedef void -(PAPI * PRPC_RUNDOWN) ( - void PAPI * AssociationContext +(__RPC_USER __RPC_FAR * PRPC_RUNDOWN) ( + void __RPC_FAR * AssociationContext ); RPC_STATUS RPC_ENTRY @@ -165,12 +175,12 @@ I_RpcGetCurrentCallHandle( RPC_STATUS RPC_ENTRY I_RpcGetAssociationContext ( - OUT void PAPI * PAPI * AssociationContext + OUT void __RPC_FAR * __RPC_FAR * AssociationContext ); RPC_STATUS RPC_ENTRY I_RpcSetAssociationContext ( - IN void PAPI * AssociationContext + IN void __RPC_FAR * AssociationContext ); #ifdef RPC_UNICODE_SUPPORTED @@ -179,7 +189,7 @@ RPC_STATUS RPC_ENTRY I_RpcNsBindingSetEntryName ( IN RPC_BINDING_HANDLE Binding, IN unsigned long EntryNameSyntax, - IN unsigned short PAPI * EntryName + IN unsigned short __RPC_FAR * EntryName ); #else /* RPC_UNICODE_SUPPORTED */ @@ -188,7 +198,7 @@ RPC_STATUS RPC_ENTRY I_RpcNsBindingSetEntryName ( IN RPC_BINDING_HANDLE Binding, IN unsigned long EntryNameSyntax, - IN unsigned char PAPI * EntryName + IN unsigned char __RPC_FAR * EntryName ); #endif /* RPC_UNICODE_SUPPORTED */ @@ -198,7 +208,7 @@ I_RpcNsBindingSetEntryName ( RPC_STATUS RPC_ENTRY I_RpcBindingInqDynamicEndpoint ( IN RPC_BINDING_HANDLE Binding, - OUT unsigned short PAPI * PAPI * DynamicEndpoint + OUT unsigned short __RPC_FAR * __RPC_FAR * DynamicEndpoint ); #else /* RPC_UNICODE_SUPPORTED */ @@ -206,7 +216,7 @@ I_RpcBindingInqDynamicEndpoint ( RPC_STATUS RPC_ENTRY I_RpcBindingInqDynamicEndpoint ( IN RPC_BINDING_HANDLE Binding, - OUT unsigned char PAPI * PAPI * DynamicEndpoint + OUT unsigned char __RPC_FAR * __RPC_FAR * DynamicEndpoint ); #endif /* RPC_UNICODE_SUPPORTED */ @@ -221,20 +231,31 @@ typedef struct _RPC_TRANSFER_SYNTAX RPC_STATUS RPC_ENTRY I_RpcIfInqTransferSyntaxes ( IN RPC_IF_HANDLE RpcIfHandle, - OUT RPC_TRANSFER_SYNTAX PAPI * TransferSyntaxes, + OUT RPC_TRANSFER_SYNTAX __RPC_FAR * TransferSyntaxes, IN unsigned int TransferSyntaxSize, - OUT unsigned int PAPI * TransferSyntaxCount + OUT unsigned int __RPC_FAR * TransferSyntaxCount ); RPC_STATUS RPC_ENTRY I_UuidCreate ( - OUT UUID PAPI * Uuid + OUT UUID __RPC_FAR * Uuid ); RPC_STATUS RPC_ENTRY I_RpcBindingCopy ( IN RPC_BINDING_HANDLE SourceBinding, - OUT RPC_BINDING_HANDLE PAPI * DestinationBinding + 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 ); /* Functions to do performace timing */ @@ -265,8 +286,17 @@ I_RpcTimeCharge( unsigned long * RPC_ENTRY I_RpcTimeGet( - char PAPI * ApiName + char __RPC_FAR * ApiName ); +#ifdef __cplusplus +} +#endif + +// Reset the packing level for Dos and Windows. + +#if defined(__RPC_DOS__) || defined(__RPC_WIN16__) +#pragma pack() +#endif #endif /* __RPCDCEP_H__ */