1 /***********************************************************************\
2 *                               rpcdce2.d                               *
3 *                                                                       *
4 *                       Windows API header module                       *
5 *                                                                       *
6 *                 Translated from MinGW Windows headers                 *
7 *                                                                       *
8 *                       Placed into public domain                       *
9 \***********************************************************************/
10 module win32.rpcdce2;
11 version(Windows):
12 
13 import win32.rpcdce;
14 private import win32.basetyps;
15 
16 // FIXME: deal with RPC_UNICODE_SUPPORTED
17 // FIXME: check types of constants
18 
19 enum {
20 	RPC_C_EP_ALL_ELTS,
21 	RPC_C_EP_MATCH_BY_IF,
22 	RPC_C_EP_MATCH_BY_OBJ,
23 	RPC_C_EP_MATCH_BY_BOTH
24 }
25 
26 enum {
27 	RPC_C_VERS_ALL = 1,
28 	RPC_C_VERS_COMPATIBLE,
29 	RPC_C_VERS_EXACT,
30 	RPC_C_VERS_MAJOR_ONLY,
31 	RPC_C_VERS_UPTO
32 }
33 
34 const size_t DCE_C_ERROR_STRING_LEN = 256;
35 
36 enum {
37 	RPC_C_MGMT_INQ_IF_IDS,
38 	RPC_C_MGMT_INQ_PRINC_NAME,
39 	RPC_C_MGMT_INQ_STATS,
40 	RPC_C_MGMT_IS_SERVER_LISTEN,
41 	RPC_C_MGMT_STOP_SERVER_LISTEN
42 }
43 
44 extern (Windows) {
45 	int UuidCompare(UUID*, UUID*, RPC_STATUS*);
46 	RPC_STATUS UuidCreateNil(UUID*);
47 	int UuidEqual(UUID*, UUID*, RPC_STATUS*);
48 	ushort UuidHash(UUID*, RPC_STATUS*);
49 	int UuidIsNil(UUID*, RPC_STATUS*);
50 
51 	RPC_STATUS RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE, uint, RPC_IF_ID*,
52 	  uint, UUID*, RPC_EP_INQ_HANDLE*);
53 	RPC_STATUS RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*);
54 	RPC_STATUS RpcMgmtEpUnregister(RPC_BINDING_HANDLE, RPC_IF_ID*,
55 	  RPC_BINDING_HANDLE, UUID*);
56 	RPC_STATUS RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN);
57 }
58 
59 
60 //#ifdef RPC_UNICODE_SUPPORTED
61 RPC_STATUS DceErrorInqTextA(RPC_STATUS, char*);
62 RPC_STATUS DceErrorInqTextW(RPC_STATUS, wchar*);
63 RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE, RPC_IF_ID*,
64   RPC_BINDING_HANDLE*, UUID*, char**);
65 RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE, RPC_IF_ID*,
66   RPC_BINDING_HANDLE*, UUID*, wchar**);
67 version (Unicode) {
68 	alias RpcMgmtEpEltInqNextW RpcMgmtEpEltInqNext;
69 	alias DceErrorInqTextW DceErrorInqText;
70 } else {
71 	alias RpcMgmtEpEltInqNextA RpcMgmtEpEltInqNext;
72 	alias DceErrorInqTextA DceErrorInqText;
73 }
74 /+
75 #else /* RPC_UNICODE_SUPPORTED */
76 	RPC_STATUS RPC_ENTRY DceErrorInqText(RPC_STATUS,unsigned char*);
77 	RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**);
78 #endif
79 +/