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