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