Initial bulk commit for "Git on MSys"
[msysgit/historical-msysgit.git] / mingw / include / rpcdcep.h
blob399d4acc40fd10b9f4fd385d4caac25f5daa7c37
1 #ifndef _RPCDCEP_H
2 #define _RPCDCEP_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #define RPC_NCA_FLAGS_DEFAULT 0
11 #define RPC_NCA_FLAGS_IDEMPOTENT 1
12 #define RPC_NCA_FLAGS_BROADCAST 2
13 #define RPC_NCA_FLAGS_MAYBE 4
14 #define RPCFLG_ASYNCHRONOUS 0x40000000
15 #define RPCFLG_INPUT_SYNCHRONOUS 0x20000000
16 #define RPC_FLAGS_VALID_BIT 0x8000
17 #define TRANSPORT_TYPE_CN 1
18 #define TRANSPORT_TYPE_DG 2
19 #define TRANSPORT_TYPE_LPC 4
20 #define TRANSPORT_TYPE_WMSG 8
22 typedef struct _RPC_VERSION {
23 unsigned short MajorVersion;
24 unsigned short MinorVersion;
25 } RPC_VERSION;
26 typedef struct _RPC_SYNTAX_IDENTIFIER {
27 GUID SyntaxGUID;
28 RPC_VERSION SyntaxVersion;
29 } RPC_SYNTAX_IDENTIFIER, *PRPC_SYNTAX_IDENTIFIER;
30 typedef struct _RPC_MESSAGE {
31 HANDLE Handle;
32 unsigned long DataRepresentation;
33 void *Buffer;
34 unsigned int BufferLength;
35 unsigned int ProcNum;
36 PRPC_SYNTAX_IDENTIFIER TransferSyntax;
37 void *RpcInterfaceInformation;
38 void *ReservedForRuntime;
39 void *ManagerEpv;
40 void *ImportContext;
41 unsigned long RpcFlags;
42 } RPC_MESSAGE,*PRPC_MESSAGE;
43 typedef long __stdcall RPC_FORWARD_FUNCTION(GUID*,RPC_VERSION*,GUID*,unsigned char*,void**);
44 typedef void(__stdcall *RPC_DISPATCH_FUNCTION) ( PRPC_MESSAGE Message);
45 typedef struct {
46 unsigned int DispatchTableCount;
47 RPC_DISPATCH_FUNCTION *DispatchTable;
48 int Reserved;
49 } RPC_DISPATCH_TABLE,*PRPC_DISPATCH_TABLE;
50 typedef struct _RPC_PROTSEQ_ENDPOINT {
51 unsigned char *RpcProtocolSequence;
52 unsigned char *Endpoint;
53 } RPC_PROTSEQ_ENDPOINT,*PRPC_PROTSEQ_ENDPOINT;
54 typedef struct _RPC_SERVER_INTERFACE {
55 unsigned int Length;
56 RPC_SYNTAX_IDENTIFIER InterfaceId;
57 RPC_SYNTAX_IDENTIFIER TransferSyntax;
58 PRPC_DISPATCH_TABLE DispatchTable;
59 unsigned int RpcProtseqEndpointCount;
60 PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
61 void *DefaultManagerEpv;
62 void const *InterpreterInfo;
63 } RPC_SERVER_INTERFACE,*PRPC_SERVER_INTERFACE;
64 typedef struct _RPC_CLIENT_INTERFACE {
65 unsigned int Length;
66 RPC_SYNTAX_IDENTIFIER InterfaceId;
67 RPC_SYNTAX_IDENTIFIER TransferSyntax;
68 PRPC_DISPATCH_TABLE DispatchTable;
69 unsigned int RpcProtseqEndpointCount;
70 PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
71 unsigned long Reserved;
72 void const *InterpreterInfo;
73 } RPC_CLIENT_INTERFACE,*PRPC_CLIENT_INTERFACE;
74 typedef void *I_RPC_MUTEX;
75 typedef struct _RPC_TRANSFER_SYNTAX {
76 GUID Uuid;
77 unsigned short VersMajor;
78 unsigned short VersMinor;
79 } RPC_TRANSFER_SYNTAX;
80 typedef RPC_STATUS (*RPC_BLOCKING_FN)(void*,void*,void*);
82 long __stdcall I_RpcGetBuffer(RPC_MESSAGE*);
83 long __stdcall I_RpcSendReceive(RPC_MESSAGE*);
84 long __stdcall I_RpcSend(RPC_MESSAGE*);
85 long __stdcall I_RpcFreeBuffer(RPC_MESSAGE*);
86 void __stdcall I_RpcRequestMutex(I_RPC_MUTEX*);
87 void __stdcall I_RpcClearMutex(I_RPC_MUTEX);
88 void __stdcall I_RpcDeleteMutex(I_RPC_MUTEX);
89 DECLARE_STDCALL_P(void *) I_RpcAllocate(unsigned int);
90 void __stdcall I_RpcFree(void*);
91 void __stdcall I_RpcPauseExecution(unsigned long);
92 typedef void(__stdcall *PRPC_RUNDOWN) (void*);
93 long __stdcall I_RpcMonitorAssociation(HANDLE,PRPC_RUNDOWN,void*);
94 long __stdcall I_RpcStopMonitorAssociation(HANDLE);
95 HANDLE __stdcall I_RpcGetCurrentCallHandle(void);
96 long __stdcall I_RpcGetAssociationContext(void**);
97 long __stdcall I_RpcSetAssociationContext(void*);
98 #ifdef __RPC_NT__
99 long __stdcall I_RpcNsBindingSetEntryName(HANDLE,unsigned long,unsigned short*);
100 long __stdcall I_RpcBindingInqDynamicEndpoint(HANDLE, unsigned short**);
101 #else
102 long __stdcall I_RpcNsBindingSetEntryName(HANDLE,unsigned long,unsigned char*);
103 long __stdcall I_RpcBindingInqDynamicEndpoint(HANDLE,unsigned char**);
104 #endif
105 long __stdcall I_RpcBindingInqTransportType(HANDLE,unsigned int*);
106 long __stdcall I_RpcIfInqTransferSyntaxes(HANDLE,RPC_TRANSFER_SYNTAX*,unsigned int,unsigned int*);
107 long __stdcall I_UuidCreate(GUID*);
108 long __stdcall I_RpcBindingCopy(HANDLE,HANDLE*);
109 long __stdcall I_RpcBindingIsClientLocal(HANDLE,unsigned int*);
110 void __stdcall I_RpcSsDontSerializeContext(void);
111 long __stdcall I_RpcServerRegisterForwardFunction(RPC_FORWARD_FUNCTION*);
112 long __stdcall I_RpcConnectionInqSockBuffSize(unsigned long*,unsigned long*);
113 long __stdcall I_RpcConnectionSetSockBuffSize(unsigned long,unsigned long);
114 long __stdcall I_RpcBindingSetAsync(HANDLE,RPC_BLOCKING_FN);
115 long __stdcall I_RpcAsyncSendReceive(RPC_MESSAGE*,void*);
116 long __stdcall I_RpcGetThreadWindowHandle(void**);
117 long __stdcall I_RpcServerThreadPauseListening(void);
118 long __stdcall I_RpcServerThreadContinueListening(void);
119 long __stdcall I_RpcServerUnregisterEndpointA(unsigned char*,unsigned char*);
120 long __stdcall I_RpcServerUnregisterEndpointW(unsigned short*,unsigned short*);
121 #ifdef UNICODE
122 #define I_RpcServerUnregisterEndpoint I_RpcServerUnregisterEndpointW
123 #else
124 #define I_RpcServerUnregisterEndpoint I_RpcServerUnregisterEndpointA
125 #endif
126 #ifdef __cplusplus
128 #endif
129 #endif