r18625: dfs_GetManagerVersion() returns a version number, not just an exist
[Samba/ekacnet.git] / source / librpc / idl / dfs.idl
blob9a3d28f1d93e20522f664ac74e73f82576c2e55f
1 /*
2 dfs interface definition
3 */
5 [ uuid("4fc742e0-4a10-11cf-8273-00aa004ae673"),
6 version(3.0),
7 pointer_default(unique),
8 helpstring("Settings for Microsoft Distributed File System"),
9 keepref
10 ] interface netdfs
12 /******************/
13 /* Function: 0x00 */
14 typedef [v1_enum] enum {
15 DFS_MANAGER_VERSION_NT4 = 0,
16 DFS_MANAGER_VERSION_W2K = 2,
17 DFS_MANAGER_VERSION_W2K3 = 4
18 } dfs_ManagerVersion;
20 void dfs_GetManagerVersion(
21 [out] dfs_ManagerVersion *version
25 /******************/
26 /* Function: 0x01 */
27 WERROR dfs_Add (
28 [in,string,charset(UTF16)] uint16 *path,
29 [in,string,charset(UTF16)] uint16 *server,
30 [in,unique,string,charset(UTF16)] uint16 *share,
31 [in,unique,string,charset(UTF16)] uint16 *comment,
32 [in] uint32 flags
35 /******************/
36 /* Function: 0x02 */
37 WERROR dfs_Remove (
38 [in,string,charset(UTF16)] uint16 *path,
39 [in,unique,string,charset(UTF16)] uint16 *server,
40 [in,unique,string,charset(UTF16)] uint16 *share
43 /******************/
44 /* Function: 0x03 */
45 WERROR dfs_SetInfo ();
47 /******************/
48 /* Function: 0x04 */
50 typedef struct {
51 } dfs_Info0;
53 typedef struct {
54 [string,charset(UTF16)] uint16 *path;
55 } dfs_Info1;
57 typedef struct {
58 [string,charset(UTF16)] uint16 *path;
59 [string,charset(UTF16)] uint16 *comment;
60 uint32 state;
61 uint32 num_stores;
62 } dfs_Info2;
64 typedef struct {
65 uint32 state;
66 [string,charset(UTF16)] uint16 *server;
67 [string,charset(UTF16)] uint16 *share;
68 } dfs_StorageInfo;
70 typedef struct {
71 [string,charset(UTF16)] uint16 *path;
72 [string,charset(UTF16)] uint16 *comment;
73 uint32 state;
74 uint32 num_stores;
75 [size_is(num_stores)] dfs_StorageInfo *stores;
76 } dfs_Info3;
78 typedef struct {
79 [string,charset(UTF16)] uint16 *path;
80 [string,charset(UTF16)] uint16 *comment;
81 uint32 state;
82 uint32 timeout;
83 GUID guid;
84 uint32 num_stores;
85 [size_is(num_stores)] dfs_StorageInfo *stores;
86 } dfs_Info4;
88 typedef struct {
89 [string,charset(UTF16)] uint16 *comment;
90 } dfs_Info100;
92 typedef struct {
93 uint32 state;
94 } dfs_Info101;
96 typedef struct {
97 uint32 timeout;
98 } dfs_Info102;
100 typedef struct {
101 [string,charset(UTF16)] uint16 *dom_root;
102 } dfs_Info200;
104 typedef struct {
105 uint32 flags;
106 [string,charset(UTF16)] uint16 *dom_root;
107 } dfs_Info300;
109 typedef union {
110 [case(0)] dfs_Info0 *info0;
111 [case(1)] dfs_Info1 *info1;
112 [case(2)] dfs_Info2 *info2;
113 [case(3)] dfs_Info3 *info3;
114 [case(4)] dfs_Info4 *info4;
115 [case(100)] dfs_Info100 *info100;
116 [case(101)] dfs_Info101 *info101;
117 [case(102)] dfs_Info102 *info102;
118 } dfs_Info;
120 WERROR dfs_GetInfo (
121 [in,ref,string,charset(UTF16)] uint16 *path,
122 [in,unique,string,charset(UTF16)] uint16 *server,
123 [in,unique,string,charset(UTF16)] uint16 *share,
124 [in] uint32 level,
125 [out,switch_is(level)] dfs_Info *info
128 /******************/
129 /* Function: 0x05 */
131 typedef struct {
132 uint32 count;
133 [size_is(count)] dfs_Info1 *s;
134 } dfs_EnumArray1;
136 typedef struct {
137 uint32 count;
138 [size_is(count)] dfs_Info2 *s;
139 } dfs_EnumArray2;
141 typedef struct {
142 uint32 count;
143 [size_is(count)] dfs_Info3 *s;
144 } dfs_EnumArray3;
146 typedef struct {
147 uint32 count;
148 [size_is(count)] dfs_Info4 *s;
149 } dfs_EnumArray4;
151 typedef struct {
152 uint32 count;
153 [size_is(count)] dfs_Info200 *s;
154 } dfs_EnumArray200;
156 typedef struct {
157 uint32 count;
158 [size_is(count)] dfs_Info300 *s;
159 } dfs_EnumArray300;
162 typedef union {
163 [case(1)] dfs_EnumArray1 *info1;
164 [case(2)] dfs_EnumArray2 *info2;
165 [case(3)] dfs_EnumArray3 *info3;
166 [case(4)] dfs_EnumArray4 *info4;
167 [case(200)] dfs_EnumArray200 *info200;
168 [case(300)] dfs_EnumArray300 *info300;
169 } dfs_EnumInfo;
171 typedef struct {
172 uint32 level;
173 [switch_is(level)] dfs_EnumInfo e;
174 } dfs_EnumStruct;
176 WERROR dfs_Enum (
177 [in] uint32 level,
178 [in] uint32 bufsize,
179 [in,out,unique] dfs_EnumStruct *info,
180 [in,unique] uint32 *unknown,
181 [in,out,unique] uint32 *total
184 /* Function 0x06 */
185 WERROR dfs_Rename();
187 /* Function 0x07 */
188 WERROR dfs_Move();
190 /* Function 0x08 */
191 WERROR dfs_ManagerGetConfigInfo();
193 /* Function 0x09 */
194 WERROR dfs_ManagerSendSiteInfo();
196 /* Function 0x0a */
197 WERROR dfs_AddFtRoot();
199 /* Function 0x0b */
200 WERROR dfs_RemoveFtRoot();
202 /* Function 0x0c */
203 WERROR dfs_AddStdRoot();
205 /* Function 0x0d */
206 WERROR dfs_RemoveStdRoot();
208 /* Function 0x0e */
209 WERROR dfs_ManagerInitialize();
211 /* Function 0x0f */
212 WERROR dfs_AddStdRootForced();
214 /* Function 0x10 */
215 WERROR dfs_GetDcAddress();
217 /* Function 0x11 */
218 WERROR dfs_SetDcAddress();
220 /* Function 0x12 */
221 WERROR dfs_FlushFtTable();
223 /* Function 0x13 */
224 WERROR dfs_Add2();
226 /* Function 0x14 */
227 WERROR dfs_Remove2();
229 /* Function 0x15 */
230 WERROR dfs_EnumEx(
231 [in,string,charset(UTF16)] uint16 *name,
232 [in] uint32 level,
233 [in] uint32 bufsize,
234 [in,out,unique] dfs_EnumStruct *info,
235 [in,out,unique] uint32 *total
238 /* Function 0x16 */
239 WERROR dfs_SetInfo2();