1 /**
2  * Windows API header module
3  *
4  * RPC Name Service (RpcNs APIs)
5  *
6  * Translated from MinGW Windows headers
7  *
8  * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
9  * Source: $(DRUNTIMESRC core/sys/windows/_rpcnsi.d)
10  */
11 module nulib.system.win32.rpcnsi;
12 import nulib.system.win32.basetyps;
13 import nulib.system.win32.rpcdcep;
14 import nulib.system.win32.rpcnsi;
15 import nulib.system.win32.rpcdce;
16 import nulib.system.win32.w32api;
17 import nulib.system.win32.windef;  // for HANDLE
18 pragma(lib, "rpcns4");
19 
20 
21 version (ANSI) {} else version = Unicode;
22 alias RPC_NS_HANDLE = HANDLE;
23 
24 enum RPC_C_NS_SYNTAX_DEFAULT=0;
25 enum RPC_C_NS_SYNTAX_DCE=3;
26 enum RPC_C_PROFILE_DEFAULT_ELT=0;
27 enum RPC_C_PROFILE_ALL_ELT=1;
28 enum RPC_C_PROFILE_MATCH_BY_IF=2;
29 enum RPC_C_PROFILE_MATCH_BY_MBR=3;
30 enum RPC_C_PROFILE_MATCH_BY_BOTH=4;
31 enum RPC_C_NS_DEFAULT_EXP_AGE=-1;
32 
33 extern (Windows) {
34     RPC_STATUS RpcNsBindingExportA(uint, ubyte*, RPC_IF_HANDLE,
35       RPC_BINDING_VECTOR*, UUID_VECTOR*);
36     RPC_STATUS RpcNsBindingUnexportA(uint, ubyte*, RPC_IF_HANDLE,
37       UUID_VECTOR*);
38     RPC_STATUS RpcNsBindingLookupBeginA(uint, ubyte*, RPC_IF_HANDLE, UUID*,
39       uint, RPC_NS_HANDLE*);
40     RPC_STATUS RpcNsBindingLookupNext(RPC_NS_HANDLE, RPC_BINDING_VECTOR**);
41     RPC_STATUS RpcNsBindingLookupDone(RPC_NS_HANDLE*);
42     RPC_STATUS RpcNsGroupDeleteA(uint, ubyte*);
43     RPC_STATUS RpcNsGroupMbrAddA(uint, ubyte*, uint, ubyte*);
44     RPC_STATUS RpcNsGroupMbrRemoveA(uint, ubyte*, uint, ubyte*);
45     RPC_STATUS RpcNsGroupMbrInqBeginA(uint, ubyte*, uint, RPC_NS_HANDLE*);
46     RPC_STATUS RpcNsGroupMbrInqNextA(RPC_NS_HANDLE, ubyte**);
47     RPC_STATUS RpcNsGroupMbrInqDone(RPC_NS_HANDLE*);
48     RPC_STATUS RpcNsProfileDeleteA(uint, ubyte*);
49     RPC_STATUS RpcNsProfileEltAddA(uint, ubyte*, RPC_IF_ID*, uint, ubyte*,
50       uint, ubyte*);
51     RPC_STATUS RpcNsProfileEltRemoveA(uint, ubyte*, RPC_IF_ID*, uint, ubyte*);
52     RPC_STATUS RpcNsProfileEltInqBeginA(uint, ubyte*, uint, RPC_IF_ID*, uint,
53       uint, ubyte*, RPC_NS_HANDLE*);
54     RPC_STATUS RpcNsProfileEltInqNextA(RPC_NS_HANDLE, RPC_IF_ID*, ubyte**,
55       uint*, ubyte**);
56     RPC_STATUS RpcNsProfileEltInqDone(RPC_NS_HANDLE*);
57     RPC_STATUS RpcNsEntryObjectInqNext(RPC_NS_HANDLE, UUID*);
58     RPC_STATUS RpcNsEntryObjectInqDone(RPC_NS_HANDLE*);
59     RPC_STATUS RpcNsEntryExpandNameA(uint, ubyte*, ubyte**);
60     RPC_STATUS RpcNsMgmtBindingUnexportA(uint, ubyte*, RPC_IF_ID*, uint,
61       UUID_VECTOR*);
62     RPC_STATUS RpcNsMgmtEntryCreateA(uint, ubyte*);
63     RPC_STATUS RpcNsMgmtEntryDeleteA(uint, ubyte*);
64     RPC_STATUS RpcNsMgmtEntryInqIfIdsA(uint, ubyte*, RPC_IF_ID_VECTOR**);
65     RPC_STATUS RpcNsMgmtHandleSetExpAge(RPC_NS_HANDLE, uint);
66     RPC_STATUS RpcNsMgmtInqExpAge(uint*);
67     RPC_STATUS RpcNsMgmtSetExpAge(uint);
68     RPC_STATUS RpcNsBindingImportNext(RPC_NS_HANDLE, RPC_BINDING_HANDLE*);
69     RPC_STATUS RpcNsBindingImportDone(RPC_NS_HANDLE*);
70     RPC_STATUS RpcNsBindingSelect(RPC_BINDING_VECTOR*, RPC_BINDING_HANDLE*);
71 
72 version (Unicode) {
73 } else {
74     RPC_STATUS RpcNsEntryObjectInqBeginA(uint, ubyte*, RPC_NS_HANDLE*);
75     RPC_STATUS RpcNsBindingImportBeginA(uint, ubyte*, RPC_IF_HANDLE, UUID*,
76       RPC_NS_HANDLE*);
77 }
78 
79     RPC_STATUS RpcNsBindingExportW(uint, ushort*, RPC_IF_HANDLE,
80       RPC_BINDING_VECTOR*, UUID_VECTOR*);
81     RPC_STATUS RpcNsBindingUnexportW(uint, ushort*, RPC_IF_HANDLE,
82       UUID_VECTOR*);
83     RPC_STATUS RpcNsBindingLookupBeginW(uint, ushort*, RPC_IF_HANDLE, UUID*,
84       uint, RPC_NS_HANDLE*);
85     RPC_STATUS RpcNsGroupDeleteW(uint, ushort*);
86     RPC_STATUS RpcNsGroupMbrAddW(uint, ushort*, uint, ushort*);
87     RPC_STATUS RpcNsGroupMbrRemoveW(uint, ushort*, uint, ushort*);
88     RPC_STATUS RpcNsGroupMbrInqBeginW(uint, ushort*, uint, RPC_NS_HANDLE*);
89     RPC_STATUS RpcNsGroupMbrInqNextW(RPC_NS_HANDLE, ushort**);
90     RPC_STATUS RpcNsProfileDeleteW(uint, ushort*);
91     RPC_STATUS RpcNsProfileEltAddW(uint, ushort*, RPC_IF_ID*, uint, ushort*,
92       uint, ushort*);
93     RPC_STATUS RpcNsProfileEltRemoveW(uint, ushort*, RPC_IF_ID*, uint,
94       ushort*);
95     RPC_STATUS RpcNsProfileEltInqBeginW(uint, ushort*, uint, RPC_IF_ID*,
96       uint, uint, ushort*, RPC_NS_HANDLE*);
97     RPC_STATUS RpcNsProfileEltInqNextW(RPC_NS_HANDLE, RPC_IF_ID*, ushort**,
98       uint*, ushort**);
99     RPC_STATUS RpcNsEntryObjectInqBeginW(uint, ushort*, RPC_NS_HANDLE*);
100     RPC_STATUS RpcNsEntryExpandNameW(uint, ushort*, ushort**);
101     RPC_STATUS RpcNsMgmtBindingUnexportW(uint, ushort*, RPC_IF_ID*, uint,
102       UUID_VECTOR*);
103     RPC_STATUS RpcNsMgmtEntryCreateW(uint, ushort*);
104     RPC_STATUS RpcNsMgmtEntryDeleteW(uint, ushort*);
105     RPC_STATUS RpcNsMgmtEntryInqIfIdsW(uint, ushort , RPC_IF_ID_VECTOR**);
106     RPC_STATUS RpcNsBindingImportBeginW(uint, ushort*, RPC_IF_HANDLE, UUID*,
107       RPC_NS_HANDLE*);
108 }
109 
110 version (Unicode) {
111     alias RpcNsBindingLookupBegin = RpcNsBindingLookupBeginW;
112     alias RpcNsBindingImportBegin = RpcNsBindingImportBeginW;
113     alias RpcNsBindingExport = RpcNsBindingExportW;
114     alias RpcNsBindingUnexport = RpcNsBindingUnexportW;
115     alias RpcNsGroupDelete = RpcNsGroupDeleteW;
116     alias RpcNsGroupMbrAdd = RpcNsGroupMbrAddW;
117     alias RpcNsGroupMbrRemove = RpcNsGroupMbrRemoveW;
118     alias RpcNsGroupMbrInqBegin = RpcNsGroupMbrInqBeginW;
119     alias RpcNsGroupMbrInqNext = RpcNsGroupMbrInqNextW;
120     alias RpcNsEntryExpandName = RpcNsEntryExpandNameW;
121     alias RpcNsEntryObjectInqBegin = RpcNsEntryObjectInqBeginW;
122     alias RpcNsMgmtBindingUnexport = RpcNsMgmtBindingUnexportW;
123     alias RpcNsMgmtEntryCreate = RpcNsMgmtEntryCreateW;
124     alias RpcNsMgmtEntryDelete = RpcNsMgmtEntryDeleteW;
125     alias RpcNsMgmtEntryInqIfIds = RpcNsMgmtEntryInqIfIdsW;
126     alias RpcNsProfileDelete = RpcNsProfileDeleteW;
127     alias RpcNsProfileEltAdd = RpcNsProfileEltAddW;
128     alias RpcNsProfileEltRemove = RpcNsProfileEltRemoveW;
129     alias RpcNsProfileEltInqBegin = RpcNsProfileEltInqBeginW;
130     alias RpcNsProfileEltInqNext = RpcNsProfileEltInqNextW;
131 } else {
132     alias RpcNsBindingLookupBegin = RpcNsBindingLookupBeginA;
133     alias RpcNsBindingImportBegin = RpcNsBindingImportBeginA;
134     alias RpcNsBindingExport = RpcNsBindingExportA;
135     alias RpcNsBindingUnexport = RpcNsBindingUnexportA;
136     alias RpcNsGroupDelete = RpcNsGroupDeleteA;
137     alias RpcNsGroupMbrAdd = RpcNsGroupMbrAddA;
138     alias RpcNsGroupMbrRemove = RpcNsGroupMbrRemoveA;
139     alias RpcNsGroupMbrInqBegin = RpcNsGroupMbrInqBeginA;
140     alias RpcNsGroupMbrInqNext = RpcNsGroupMbrInqNextA;
141     alias RpcNsEntryExpandName = RpcNsEntryExpandNameA;
142     alias RpcNsEntryObjectInqBegin = RpcNsEntryObjectInqBeginA;
143     alias RpcNsMgmtBindingUnexport = RpcNsMgmtBindingUnexportA;
144     alias RpcNsMgmtEntryCreate = RpcNsMgmtEntryCreateA;
145     alias RpcNsMgmtEntryDelete = RpcNsMgmtEntryDeleteA;
146     alias RpcNsMgmtEntryInqIfIds = RpcNsMgmtEntryInqIfIdsA;
147     alias RpcNsProfileDelete = RpcNsProfileDeleteA;
148     alias RpcNsProfileEltAdd = RpcNsProfileEltAddA;
149     alias RpcNsProfileEltRemove = RpcNsProfileEltRemoveA;
150     alias RpcNsProfileEltInqBegin = RpcNsProfileEltInqBeginA;
151     alias RpcNsProfileEltInqNext = RpcNsProfileEltInqNextA;
152 }