| 1 | 
 /** | 
 
 
 
 
 
 | 2 | 
  * This file has no copyright assigned and is placed in the Public Domain. | 
 
 
 
 
 
 | 3 | 
  * This file is part of the mingw-w64 runtime package. | 
 
 
 
 
 
 | 4 | 
  * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
 
 
 
 
 
 | 5 | 
  */ | 
 
 
 
 
 
 | 6 | 
 #ifndef __RPCDCEP_H__ | 
 
 
 
 
 
 | 7 | 
 #define __RPCDCEP_H__ | 
 
 
 
 
 
 | 8 | 
  | 
 
 
 
 
 
 | 9 | 
 #include <_mingw_unicode.h> | 
 
 
 
 
 
 | 10 | 
  | 
 
 
 
 
 
 | 11 | 
 #ifdef __cplusplus | 
 
 
 
 
 
 | 12 | 
 extern "C" { | 
 
 
 
 
 
 | 13 | 
 #endif | 
 
 
 
 
 
 | 14 | 
  | 
 
 
 
 
 
 | 15 | 
   typedef struct _RPC_VERSION { | 
 
 
 
 
 
 | 16 | 
     unsigned short MajorVersion; | 
 
 
 
 
 
 | 17 | 
     unsigned short MinorVersion; | 
 
 
 
 
 
 | 18 | 
   } RPC_VERSION; | 
 
 
 
 
 
 | 19 | 
  | 
 
 
 
 
 
 | 20 | 
   typedef struct _RPC_SYNTAX_IDENTIFIER { | 
 
 
 
 
 
 | 21 | 
     GUID SyntaxGUID; | 
 
 
 
 
 
 | 22 | 
     RPC_VERSION SyntaxVersion; | 
 
 
 
 
 
 | 23 | 
   } RPC_SYNTAX_IDENTIFIER,*PRPC_SYNTAX_IDENTIFIER; | 
 
 
 
 
 
 | 24 | 
  | 
 
 
 
 
 
 | 25 | 
   typedef struct _RPC_MESSAGE { | 
 
 
 
 
 
 | 26 | 
     RPC_BINDING_HANDLE Handle; | 
 
 
 
 
 
 | 27 | 
     unsigned __LONG32 DataRepresentation; | 
 
 
 
 
 
 | 28 | 
     void *Buffer; | 
 
 
 
 
 
 | 29 | 
     unsigned int BufferLength; | 
 
 
 
 
 
 | 30 | 
     unsigned int ProcNum; | 
 
 
 
 
 
 | 31 | 
     PRPC_SYNTAX_IDENTIFIER TransferSyntax; | 
 
 
 
 
 
 | 32 | 
     void *RpcInterfaceInformation; | 
 
 
 
 
 
 | 33 | 
     void *ReservedForRuntime; | 
 
 
 
 
 
 | 34 | 
     RPC_MGR_EPV *ManagerEpv; | 
 
 
 
 
 
 | 35 | 
     void *ImportContext; | 
 
 
 
 
 
 | 36 | 
     unsigned __LONG32 RpcFlags; | 
 
 
 
 
 
 | 37 | 
   } RPC_MESSAGE,*PRPC_MESSAGE; | 
 
 
 
 
 
 | 38 | 
  | 
 
 
 
 
 
 | 39 | 
   typedef RPC_STATUS RPC_ENTRY RPC_FORWARD_FUNCTION(UUID *InterfaceId,RPC_VERSION *InterfaceVersion,UUID *ObjectId,unsigned char *Rpcpro,void **ppDestEndpoint); | 
 
 
 
 
 
 | 40 | 
  | 
 
 
 
 
 
 | 41 | 
   enum RPC_ADDRESS_CHANGE_TYPE { | 
 
 
 
 
 
 | 42 | 
     PROTOCOL_NOT_LOADED = 1,PROTOCOL_LOADED,PROTOCOL_ADDRESS_CHANGE | 
 
 
 
 
 
 | 43 | 
   }; | 
 
 
 
 
 
 | 44 | 
  | 
 
 
 
 
 
 | 45 | 
   typedef void RPC_ENTRY RPC_ADDRESS_CHANGE_FN(void *arg); | 
 
 
 
 
 
 | 46 | 
  | 
 
 
 
 
 
 | 47 | 
 #define RPC_CONTEXT_HANDLE_DEFAULT_GUARD ((void *) -4083) | 
 
 
 
 
 
 | 48 | 
  | 
 
 
 
 
 
 | 49 | 
 #define RPC_CONTEXT_HANDLE_DEFAULT_FLAGS __MSABI_LONG(0x00000000U) | 
 
 
 
 
 
 | 50 | 
 #define RPC_CONTEXT_HANDLE_FLAGS __MSABI_LONG(0x30000000U) | 
 
 
 
 
 
 | 51 | 
 #define RPC_CONTEXT_HANDLE_SERIALIZE __MSABI_LONG(0x10000000U) | 
 
 
 
 
 
 | 52 | 
 #define RPC_CONTEXT_HANDLE_DONT_SERIALIZE __MSABI_LONG(0x20000000U) | 
 
 
 
 
 
 | 53 | 
  | 
 
 
 
 
 
 | 54 | 
 #define RPC_NCA_FLAGS_DEFAULT 0x00000000 | 
 
 
 
 
 
 | 55 | 
 #define RPC_NCA_FLAGS_IDEMPOTENT 0x00000001 | 
 
 
 
 
 
 | 56 | 
 #define RPC_NCA_FLAGS_BROADCAST 0x00000002 | 
 
 
 
 
 
 | 57 | 
 #define RPC_NCA_FLAGS_MAYBE 0x00000004 | 
 
 
 
 
 
 | 58 | 
  | 
 
 
 
 
 
 | 59 | 
 #define RPC_BUFFER_COMPLETE 0x00001000 | 
 
 
 
 
 
 | 60 | 
 #define RPC_BUFFER_PARTIAL 0x00002000 | 
 
 
 
 
 
 | 61 | 
 #define RPC_BUFFER_EXTRA 0x00004000 | 
 
 
 
 
 
 | 62 | 
 #define RPC_BUFFER_ASYNC 0x00008000 | 
 
 
 
 
 
 | 63 | 
 #define RPC_BUFFER_NONOTIFY 0x00010000 | 
 
 
 
 
 
 | 64 | 
  | 
 
 
 
 
 
 | 65 | 
 #define RPCFLG_MESSAGE __MSABI_LONG(0x01000000U) | 
 
 
 
 
 
 | 66 | 
 #define RPCFLG_AUTO_COMPLETE __MSABI_LONG(0x08000000U) | 
 
 
 
 
 
 | 67 | 
 #define RPCFLG_LOCAL_CALL __MSABI_LONG(0x10000000U) | 
 
 
 
 
 
 | 68 | 
 #define RPCFLG_INPUT_SYNCHRONOUS __MSABI_LONG(0x20000000U) | 
 
 
 
 
 
 | 69 | 
 #define RPCFLG_ASYNCHRONOUS __MSABI_LONG(0x40000000U) | 
 
 
 
 
 
 | 70 | 
 #define RPCFLG_NON_NDR __MSABI_LONG(0x80000000U) | 
 
 
 
 
 
 | 71 | 
  | 
 
 
 
 
 
 | 72 | 
 #define RPCFLG_HAS_MULTI_SYNTAXES __MSABI_LONG(0x02000000U) | 
 
 
 
 
 
 | 73 | 
 #define RPCFLG_HAS_CALLBACK __MSABI_LONG(0x04000000U) | 
 
 
 
 
 
 | 74 | 
  | 
 
 
 
 
 
 | 75 | 
 #define RPC_FLAGS_VALID_BIT 0x00008000 | 
 
 
 
 
 
 | 76 | 
  | 
 
 
 
 
 
 | 77 | 
   typedef void (__RPC_STUB *RPC_DISPATCH_FUNCTION)(PRPC_MESSAGE Message); | 
 
 
 
 
 
 | 78 | 
  | 
 
 
 
 
 
 | 79 | 
   typedef struct { | 
 
 
 
 
 
 | 80 | 
     unsigned int DispatchTableCount; | 
 
 
 
 
 
 | 81 | 
     RPC_DISPATCH_FUNCTION *DispatchTable; | 
 
 
 
 
 
 | 82 | 
     LONG_PTR Reserved; | 
 
 
 
 
 
 | 83 | 
   } RPC_DISPATCH_TABLE,*PRPC_DISPATCH_TABLE; | 
 
 
 
 
 
 | 84 | 
  | 
 
 
 
 
 
 | 85 | 
   typedef struct _RPC_PROTSEQ_ENDPOINT { | 
 
 
 
 
 
 | 86 | 
     unsigned char *RpcProtocolSequence; | 
 
 
 
 
 
 | 87 | 
     unsigned char *Endpoint; | 
 
 
 
 
 
 | 88 | 
   } RPC_PROTSEQ_ENDPOINT,*PRPC_PROTSEQ_ENDPOINT; | 
 
 
 
 
 
 | 89 | 
  | 
 
 
 
 
 
 | 90 | 
 #define NT351_INTERFACE_SIZE 0x40 | 
 
 
 
 
 
 | 91 | 
 #define RPC_INTERFACE_HAS_PIPES 0x0001 | 
 
 
 
 
 
 | 92 | 
  | 
 
 
 
 
 
 | 93 | 
   typedef struct _RPC_SERVER_INTERFACE { | 
 
 
 
 
 
 | 94 | 
     unsigned int Length; | 
 
 
 
 
 
 | 95 | 
     RPC_SYNTAX_IDENTIFIER InterfaceId; | 
 
 
 
 
 
 | 96 | 
     RPC_SYNTAX_IDENTIFIER TransferSyntax; | 
 
 
 
 
 
 | 97 | 
     PRPC_DISPATCH_TABLE DispatchTable; | 
 
 
 
 
 
 | 98 | 
     unsigned int RpcProtseqEndpointCount; | 
 
 
 
 
 
 | 99 | 
     PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; | 
 
 
 
 
 
 | 100 | 
     RPC_MGR_EPV *DefaultManagerEpv; | 
 
 
 
 
 
 | 101 | 
     void const *InterpreterInfo; | 
 
 
 
 
 
 | 102 | 
     unsigned int Flags; | 
 
 
 
 
 
 | 103 | 
   } RPC_SERVER_INTERFACE,*PRPC_SERVER_INTERFACE; | 
 
 
 
 
 
 | 104 | 
  | 
 
 
 
 
 
 | 105 | 
   typedef struct _RPC_CLIENT_INTERFACE { | 
 
 
 
 
 
 | 106 | 
     unsigned int Length; | 
 
 
 
 
 
 | 107 | 
     RPC_SYNTAX_IDENTIFIER InterfaceId; | 
 
 
 
 
 
 | 108 | 
     RPC_SYNTAX_IDENTIFIER TransferSyntax; | 
 
 
 
 
 
 | 109 | 
     PRPC_DISPATCH_TABLE DispatchTable; | 
 
 
 
 
 
 | 110 | 
     unsigned int RpcProtseqEndpointCount; | 
 
 
 
 
 
 | 111 | 
     PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; | 
 
 
 
 
 
 | 112 | 
     ULONG_PTR Reserved; | 
 
 
 
 
 
 | 113 | 
     void const *InterpreterInfo; | 
 
 
 
 
 
 | 114 | 
     unsigned int Flags; | 
 
 
 
 
 
 | 115 | 
   } RPC_CLIENT_INTERFACE,*PRPC_CLIENT_INTERFACE; | 
 
 
 
 
 
 | 116 | 
  | 
 
 
 
 
 
 | 117 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcNegotiateTransferSyntax(RPC_MESSAGE *Message); | 
 
 
 
 
 
 | 118 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcGetBuffer(RPC_MESSAGE *Message); | 
 
 
 
 
 
 | 119 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcGetBufferWithObject(RPC_MESSAGE *Message,UUID *ObjectUuid); | 
 
 
 
 
 
 | 120 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcSendReceive(RPC_MESSAGE *Message); | 
 
 
 
 
 
 | 121 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcFreeBuffer(RPC_MESSAGE *Message); | 
 
 
 
 
 
 | 122 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcSend(PRPC_MESSAGE Message); | 
 
 
 
 
 
 | 123 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcReceive(PRPC_MESSAGE Message,unsigned int Size); | 
 
 
 
 
 
 | 124 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcFreePipeBuffer(RPC_MESSAGE *Message); | 
 
 
 
 
 
 | 125 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcReallocPipeBuffer(PRPC_MESSAGE Message,unsigned int NewSize); | 
 
 
 
 
 
 | 126 | 
  | 
 
 
 
 
 
 | 127 | 
   typedef void *I_RPC_MUTEX; | 
 
 
 
 
 
 | 128 | 
  | 
 
 
 
 
 
 | 129 | 
 #define I_RpcNsBindingSetEntryName __MINGW_NAME_AW(I_RpcNsBindingSetEntryName) | 
 
 
 
 
 
 | 130 | 
 #define I_RpcServerUseProtseqEp2 __MINGW_NAME_AW(I_RpcServerUseProtseqEp2) | 
 
 
 
 
 
 | 131 | 
 #define I_RpcServerUseProtseq2 __MINGW_NAME_AW(I_RpcServerUseProtseq2) | 
 
 
 
 
 
 | 132 | 
 #define I_RpcBindingInqDynamicEndpoint __MINGW_NAME_AW(I_RpcBindingInqDynamicEndpoint) | 
 
 
 
 
 
 | 133 | 
  | 
 
 
 
 
 
 | 134 | 
   RPCRTAPI void RPC_ENTRY I_RpcRequestMutex(I_RPC_MUTEX *Mutex); | 
 
 
 
 
 
 | 135 | 
   RPCRTAPI void RPC_ENTRY I_RpcClearMutex(I_RPC_MUTEX Mutex); | 
 
 
 
 
 
 | 136 | 
   RPCRTAPI void RPC_ENTRY I_RpcDeleteMutex(I_RPC_MUTEX Mutex); | 
 
 
 
 
 
 | 137 | 
   RPCRTAPI void *RPC_ENTRY I_RpcAllocate(unsigned int Size); | 
 
 
 
 
 
 | 138 | 
   RPCRTAPI void RPC_ENTRY I_RpcFree(void *Object); | 
 
 
 
 
 
 | 139 | 
   RPCRTAPI void RPC_ENTRY I_RpcPauseExecution(unsigned __LONG32 Milliseconds); | 
 
 
 
 
 
 | 140 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcGetExtendedError(void); | 
 
 
 
 
 
 | 141 | 
  | 
 
 
 
 
 
 | 142 | 
   typedef void (__RPC_API *PRPC_RUNDOWN)(void *AssociationContext); | 
 
 
 
 
 
 | 143 | 
  | 
 
 
 
 
 
 | 144 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcMonitorAssociation(RPC_BINDING_HANDLE Handle,PRPC_RUNDOWN RundownRoutine,void *Context); | 
 
 
 
 
 
 | 145 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcStopMonitorAssociation(RPC_BINDING_HANDLE Handle); | 
 
 
 
 
 
 | 146 | 
   RPCRTAPI RPC_BINDING_HANDLE RPC_ENTRY I_RpcGetCurrentCallHandle(void); | 
 
 
 
 
 
 | 147 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcGetAssociationContext(RPC_BINDING_HANDLE BindingHandle,void **AssociationContext); | 
 
 
 
 
 
 | 148 | 
   RPCRTAPI void *RPC_ENTRY I_RpcGetServerContextList(RPC_BINDING_HANDLE BindingHandle); | 
 
 
 
 
 
 | 149 | 
   RPCRTAPI void RPC_ENTRY I_RpcSetServerContextList(RPC_BINDING_HANDLE BindingHandle,void *ServerContextList); | 
 
 
 
 
 
 | 150 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcNsInterfaceExported(unsigned __LONG32 EntryNameSyntax,unsigned short *EntryName,RPC_SERVER_INTERFACE *RpcInterfaceInformation); | 
 
 
 
 
 
 | 151 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcNsInterfaceUnexported(unsigned __LONG32 EntryNameSyntax,unsigned short *EntryName,RPC_SERVER_INTERFACE *RpcInterfaceInformation); | 
 
 
 
 
 
 | 152 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcBindingToStaticStringBindingW(RPC_BINDING_HANDLE Binding,unsigned short **StringBinding); | 
 
 
 
 
 
 | 153 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcBindingInqSecurityContext(RPC_BINDING_HANDLE Binding,void **SecurityContextHandle); | 
 
 
 
 
 
 | 154 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcBindingInqWireIdForSnego(RPC_BINDING_HANDLE Binding,RPC_CSTR WireId); | 
 
 
 
 
 
 | 155 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcBindingInqMarshalledTargetInfo (RPC_BINDING_HANDLE Binding,unsigned __LONG32 *MarshalledTargetInfoLength,RPC_CSTR *MarshalledTargetInfo); | 
 
 
 
 
 
 | 156 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcBindingInqLocalClientPID(RPC_BINDING_HANDLE Binding,unsigned __LONG32 *Pid); | 
 
 
 
 
 
 | 157 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcBindingHandleToAsyncHandle(RPC_BINDING_HANDLE Binding,void **AsyncHandle); | 
 
 
 
 
 
 | 158 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcNsBindingSetEntryNameW(RPC_BINDING_HANDLE Binding,unsigned __LONG32 EntryNameSyntax,RPC_WSTR EntryName); | 
 
 
 
 
 
 | 159 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcNsBindingSetEntryNameA(RPC_BINDING_HANDLE Binding,unsigned __LONG32 EntryNameSyntax,RPC_CSTR EntryName); | 
 
 
 
 
 
 | 160 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcServerUseProtseqEp2A(RPC_CSTR NetworkAddress,RPC_CSTR Protseq,unsigned int MaxCalls,RPC_CSTR Endpoint,void *SecurityDescriptor,void *Policy); | 
 
 
 
 
 
 | 161 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcServerUseProtseqEp2W(RPC_WSTR NetworkAddress,RPC_WSTR Protseq,unsigned int MaxCalls,RPC_WSTR Endpoint,void *SecurityDescriptor,void *Policy); | 
 
 
 
 
 
 | 162 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcServerUseProtseq2W(RPC_WSTR NetworkAddress,RPC_WSTR Protseq,unsigned int MaxCalls,void *SecurityDescriptor,void *Policy); | 
 
 
 
 
 
 | 163 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcServerUseProtseq2A(RPC_CSTR NetworkAddress,RPC_CSTR Protseq,unsigned int MaxCalls,void *SecurityDescriptor,void *Policy); | 
 
 
 
 
 
 | 164 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcBindingInqDynamicEndpointW(RPC_BINDING_HANDLE Binding,RPC_WSTR *DynamicEndpoint); | 
 
 
 
 
 
 | 165 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcBindingInqDynamicEndpointA(RPC_BINDING_HANDLE Binding,RPC_CSTR *DynamicEndpoint); | 
 
 
 
 
 
 | 166 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcServerCheckClientRestriction(RPC_BINDING_HANDLE Context); | 
 
 
 
 
 
 | 167 | 
  | 
 
 
 
 
 
 | 168 | 
 #define TRANSPORT_TYPE_CN 0x01 | 
 
 
 
 
 
 | 169 | 
 #define TRANSPORT_TYPE_DG 0x02 | 
 
 
 
 
 
 | 170 | 
 #define TRANSPORT_TYPE_LPC 0x04 | 
 
 
 
 
 
 | 171 | 
 #define TRANSPORT_TYPE_WMSG 0x08 | 
 
 
 
 
 
 | 172 | 
  | 
 
 
 
 
 
 | 173 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcBindingInqTransportType(RPC_BINDING_HANDLE Binding,unsigned int *Type); | 
 
 
 
 
 
 | 174 | 
  | 
 
 
 
 
 
 | 175 | 
   typedef struct _RPC_TRANSFER_SYNTAX { | 
 
 
 
 
 
 | 176 | 
     UUID Uuid; | 
 
 
 
 
 
 | 177 | 
     unsigned short VersMajor; | 
 
 
 
 
 
 | 178 | 
     unsigned short VersMinor; | 
 
 
 
 
 
 | 179 | 
   } RPC_TRANSFER_SYNTAX; | 
 
 
 
 
 
 | 180 | 
  | 
 
 
 
 
 
 | 181 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcIfInqTransferSyntaxes(RPC_IF_HANDLE RpcIfHandle,RPC_TRANSFER_SYNTAX *TransferSyntaxes,unsigned int TransferSyntaxSize,unsigned int *TransferSyntaxCount); | 
 
 
 
 
 
 | 182 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_UuidCreate(UUID *Uuid); | 
 
 
 
 
 
 | 183 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcBindingCopy(RPC_BINDING_HANDLE SourceBinding,RPC_BINDING_HANDLE *DestinationBinding); | 
 
 
 
 
 
 | 184 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcBindingIsClientLocal(RPC_BINDING_HANDLE BindingHandle,unsigned int *ClientLocalFlag); | 
 
 
 
 
 
 | 185 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcBindingInqConnId(RPC_BINDING_HANDLE Binding,void **ConnId,int *pfFirstCall); | 
 
 
 
 
 
 | 186 | 
   RPCRTAPI void RPC_ENTRY I_RpcSsDontSerializeContext(void); | 
 
 
 
 
 
 | 187 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcLaunchDatagramReceiveThread(void *pAddress); | 
 
 
 
 
 
 | 188 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcServerRegisterForwardFunction(RPC_FORWARD_FUNCTION *pForwardFunction); | 
 
 
 
 
 
 | 189 | 
   RPC_ADDRESS_CHANGE_FN *RPC_ENTRY I_RpcServerInqAddressChangeFn(void); | 
 
 
 
 
 
 | 190 | 
   RPC_STATUS RPC_ENTRY I_RpcServerSetAddressChangeFn(RPC_ADDRESS_CHANGE_FN *pAddressChangeFn); | 
 
 
 
 
 
 | 191 | 
  | 
 
 
 
 
 
 | 192 | 
 #define RPC_P_ADDR_FORMAT_TCP_IPV4 1 | 
 
 
 
 
 
 | 193 | 
 #define RPC_P_ADDR_FORMAT_TCP_IPV6 2 | 
 
 
 
 
 
 | 194 | 
  | 
 
 
 
 
 
 | 195 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcServerInqLocalConnAddress(RPC_BINDING_HANDLE Binding,void *Buffer,unsigned __LONG32 *BufferSize,unsigned __LONG32 *AddressFormat); | 
 
 
 
 
 
 | 196 | 
   RPCRTAPI void RPC_ENTRY I_RpcSessionStrictContextHandle(void); | 
 
 
 
 
 
 | 197 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcTurnOnEEInfoPropagation(void); | 
 
 
 
 
 
 | 198 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcConnectionInqSockBuffSize(unsigned __LONG32 *RecvBuffSize,unsigned __LONG32 *SendBuffSize); | 
 
 
 
 
 
 | 199 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcConnectionSetSockBuffSize(unsigned __LONG32 RecvBuffSize,unsigned __LONG32 SendBuffSize); | 
 
 
 
 
 
 | 200 | 
  | 
 
 
 
 
 
 | 201 | 
   typedef void (*RPCLT_PDU_FILTER_FUNC)(void *Buffer,unsigned int BufferLength,int fDatagram); | 
 
 
 
 
 
 | 202 | 
   typedef void (__cdecl *RPC_SETFILTER_FUNC)(RPCLT_PDU_FILTER_FUNC pfnFilter); | 
 
 
 
 
 
 | 203 | 
  | 
 
 
 
 
 
 | 204 | 
 #ifndef WINNT | 
 
 
 
 
 
 | 205 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcServerStartListening(void *hWnd); | 
 
 
 
 
 
 | 206 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcServerStopListening(void); | 
 
 
 
 
 
 | 207 | 
  | 
 
 
 
 
 
 | 208 | 
   typedef RPC_STATUS (*RPC_BLOCKING_FN)(void *hWnd,void *Context,void *hSyncEvent); | 
 
 
 
 
 
 | 209 | 
  | 
 
 
 
 
 
 | 210 | 
 #define I_RpcServerUnregisterEndpoint __MINGW_NAME_AW(I_RpcServerUnregisterEndpoint) | 
 
 
 
 
 
 | 211 | 
  | 
 
 
 
 
 
 | 212 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcBindingSetAsync(RPC_BINDING_HANDLE Binding,RPC_BLOCKING_FN BlockingFn,unsigned __LONG32 ServerTid); | 
 
 
 
 
 
 | 213 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcSetThreadParams(int fClientFree,void *Context,void *hWndClient); | 
 
 
 
 
 
 | 214 | 
   RPCRTAPI unsigned int RPC_ENTRY I_RpcWindowProc(void *hWnd,unsigned int Message,unsigned int wParam,unsigned __LONG32 lParam); | 
 
 
 
 
 
 | 215 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcServerUnregisterEndpointA(RPC_CSTR Protseq,RPC_CSTR Endpoint); | 
 
 
 
 
 
 | 216 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcServerUnregisterEndpointW(RPC_WSTR Protseq,RPC_WSTR Endpoint); | 
 
 
 
 
 
 | 217 | 
 #endif | 
 
 
 
 
 
 | 218 | 
  | 
 
 
 
 
 
 | 219 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcServerInqTransportType(unsigned int *Type); | 
 
 
 
 
 
 | 220 | 
   RPCRTAPI __LONG32 RPC_ENTRY I_RpcMapWin32Status(RPC_STATUS Status); | 
 
 
 
 
 
 | 221 | 
  | 
 
 
 
 
 
 | 222 | 
   typedef struct _RPC_C_OPT_METADATA_DESCRIPTOR { | 
 
 
 
 
 
 | 223 | 
     unsigned __LONG32 BufferSize; | 
 
 
 
 
 
 | 224 | 
     char *Buffer; | 
 
 
 
 
 
 | 225 | 
   } RPC_C_OPT_METADATA_DESCRIPTOR; | 
 
 
 
 
 
 | 226 | 
  | 
 
 
 
 
 
 | 227 | 
   typedef struct _RDR_CALLOUT_STATE { | 
 
 
 
 
 
 | 228 | 
     RPC_STATUS LastError; | 
 
 
 
 
 
 | 229 | 
     void *LastEEInfo; | 
 
 
 
 
 
 | 230 | 
     RPC_HTTP_REDIRECTOR_STAGE LastCalledStage; | 
 
 
 
 
 
 | 231 | 
     unsigned short *ServerName; | 
 
 
 
 
 
 | 232 | 
     unsigned short *ServerPort; | 
 
 
 
 
 
 | 233 | 
     unsigned short *RemoteUser; | 
 
 
 
 
 
 | 234 | 
     unsigned short *AuthType; | 
 
 
 
 
 
 | 235 | 
     unsigned char ResourceTypePresent; | 
 
 
 
 
 
 | 236 | 
     unsigned char MetadataPresent; | 
 
 
 
 
 
 | 237 | 
     unsigned char SessionIdPresent; | 
 
 
 
 
 
 | 238 | 
     unsigned char InterfacePresent; | 
 
 
 
 
 
 | 239 | 
     UUID ResourceType; | 
 
 
 
 
 
 | 240 | 
     RPC_C_OPT_METADATA_DESCRIPTOR Metadata; | 
 
 
 
 
 
 | 241 | 
     UUID SessionId; | 
 
 
 
 
 
 | 242 | 
     RPC_SYNTAX_IDENTIFIER Interface; | 
 
 
 
 
 
 | 243 | 
     void *CertContext; | 
 
 
 
 
 
 | 244 | 
   } RDR_CALLOUT_STATE; | 
 
 
 
 
 
 | 245 | 
  | 
 
 
 
 
 
 | 246 | 
   typedef RPC_STATUS (RPC_ENTRY *I_RpcProxyIsValidMachineFn)(char *pszMachine,char *pszDotMachine,unsigned __LONG32 dwPortNumber); | 
 
 
 
 
 
 | 247 | 
   typedef RPC_STATUS (RPC_ENTRY *I_RpcProxyGetClientAddressFn)(void *Context,char *Buffer,unsigned __LONG32 *BufferLength); | 
 
 
 
 
 
 | 248 | 
   typedef RPC_STATUS (RPC_ENTRY *I_RpcProxyGetConnectionTimeoutFn)(unsigned __LONG32 *ConnectionTimeout); | 
 
 
 
 
 
 | 249 | 
   typedef RPC_STATUS (RPC_ENTRY *I_RpcPerformCalloutFn)(void *Context,RDR_CALLOUT_STATE *CallOutState,RPC_HTTP_REDIRECTOR_STAGE Stage); | 
 
 
 
 
 
 | 250 | 
   typedef void (RPC_ENTRY *I_RpcFreeCalloutStateFn)(RDR_CALLOUT_STATE *CallOutState); | 
 
 
 
 
 
 | 251 | 
  | 
 
 
 
 
 
 | 252 | 
   typedef struct tagI_RpcProxyCallbackInterface { | 
 
 
 
 
 
 | 253 | 
     I_RpcProxyIsValidMachineFn IsValidMachineFn; | 
 
 
 
 
 
 | 254 | 
     I_RpcProxyGetClientAddressFn GetClientAddressFn; | 
 
 
 
 
 
 | 255 | 
     I_RpcProxyGetConnectionTimeoutFn GetConnectionTimeoutFn; | 
 
 
 
 
 
 | 256 | 
     I_RpcPerformCalloutFn PerformCalloutFn; | 
 
 
 
 
 
 | 257 | 
     I_RpcFreeCalloutStateFn FreeCalloutStateFn; | 
 
 
 
 
 
 | 258 | 
   } I_RpcProxyCallbackInterface; | 
 
 
 
 
 
 | 259 | 
  | 
 
 
 
 
 
 | 260 | 
 #define RPC_PROXY_CONNECTION_TYPE_IN_PROXY 0 | 
 
 
 
 
 
 | 261 | 
 #define RPC_PROXY_CONNECTION_TYPE_OUT_PROXY 1 | 
 
 
 
 
 
 | 262 | 
  | 
 
 
 
 
 
 | 263 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcProxyNewConnection(unsigned __LONG32 ConnectionType,unsigned short *ServerAddress,unsigned short *ServerPort,unsigned short *MinConnTimeout,void *ConnectionParameter,RDR_CALLOUT_STATE *CallOutState,I_RpcProxyCallbackInterface *ProxyCallbackInterface); | 
 
 
 
 
 
 | 264 | 
   RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcReplyToClientWithStatus(void *ConnectionParameter,RPC_STATUS RpcStatus); | 
 
 
 
 
 
 | 265 | 
   RPCRTAPI void RPC_ENTRY I_RpcRecordCalloutFailure(RPC_STATUS RpcStatus,RDR_CALLOUT_STATE *CallOutState,unsigned short *DllName); | 
 
 
 
 
 
 | 266 | 
  | 
 
 
 
 
 
 | 267 | 
 #ifdef __cplusplus | 
 
 
 
 
 
 | 268 | 
 } | 
 
 
 
 
 
 | 269 | 
 #endif | 
 
 
 
 
 
 | 270 | 
 #endif |