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