r25068: Older samba3 DCs will return DCERPC_FAULT_OP_RNG_ERROR for every opcode on the
[Samba.git] / source / librpc / idl / wkssvc.idl
blob98688fac46a89e1ef1e6c16d1a729c34dfbe246c
1 /*
2 wkssvc interface definitions
3 */
5 import "srvsvc.idl";
7 [ uuid("6bffd098-a112-3610-9833-46c3f87e345a"),
8 version(1.0),
9 pointer_default(unique),
10 pointer_default_top(unique),
11 helpstring("Workstation Service")
12 ] interface wkssvc
15 #define BOOL uint32
17 /******************/
18 /* Function: 0x00 */
20 typedef struct {
21 uint16 platform_id;
22 [string,charset(UTF16)] uint16 *server_name;
23 [string,charset(UTF16)] uint16 *domain_name;
24 uint32 version_major;
25 uint32 version_minor;
26 } wkssvc_NetWkstaInfo100;
28 typedef struct {
29 uint16 platform_id;
30 [string,charset(UTF16)] uint16 *server_name;
31 [string,charset(UTF16)] uint16 *domain_name;
32 uint32 version_major;
33 uint32 version_minor;
34 [string,charset(UTF16)] uint16 *lan_root;
35 } wkssvc_NetWkstaInfo101;
37 typedef struct {
38 uint16 platform_id;
39 [string,charset(UTF16)] uint16 *server_name;
40 [string,charset(UTF16)] uint16 *domain_name;
41 uint32 version_major;
42 uint32 version_minor;
43 [string,charset(UTF16)] uint16 *lan_root;
44 uint32 logged_on_users;
45 } wkssvc_NetWkstaInfo102;
47 typedef struct {
48 uint32 char_wait;
49 uint32 collection_time;
50 uint32 maximum_collection_count;
51 uint32 keep_connection;
52 uint32 max_commands;
53 uint32 session_timeout;
54 uint32 size_char_buf;
55 uint32 max_threads;
56 uint32 lock_quota;
57 uint32 lock_increment;
58 uint32 lock_maximum;
59 uint32 pipe_increment;
60 uint32 pipe_maximum;
61 uint32 cache_file_timeout;
62 uint32 dormant_file_limit;
63 uint32 read_ahead_throughput;
64 uint32 num_mailslot_buffers;
65 uint32 num_srv_announce_buffers;
66 uint32 max_illegal_dgram_events;
67 uint32 dgram_event_reset_freq;
68 BOOL log_election_packets;
69 BOOL use_opportunistic_locking;
70 BOOL use_unlock_behind;
71 BOOL use_close_behind;
72 BOOL buf_named_pipes;
73 BOOL use_lock_read_unlock;
74 BOOL utilize_nt_caching;
75 BOOL use_raw_read;
76 BOOL use_raw_write;
77 BOOL use_write_raw_data;
78 BOOL use_encryption;
79 BOOL buf_files_deny_write;
80 BOOL buf_read_only_files;
81 BOOL force_core_create_mode;
82 BOOL use_512_byte_max_transfer;
83 } wkssvc_NetWkstaInfo502;
85 typedef struct {
86 uint32 char_wait;
87 } wkssvc_NetWkstaInfo1010;
89 typedef struct {
90 uint32 collection_time;
91 } wkssvc_NetWkstaInfo1011;
93 typedef struct {
94 uint32 maximum_collection_count;
95 } wkssvc_NetWkstaInfo1012;
97 typedef struct {
98 uint32 keep_connection;
99 } wkssvc_NetWkstaInfo1013;
101 typedef struct {
102 uint32 session_timeout;
103 } wkssvc_NetWkstaInfo1018;
105 typedef struct {
106 uint32 size_char_buf;
107 } wkssvc_NetWkstaInfo1023;
109 typedef struct {
110 uint32 errorlog_sz;
111 } wkssvc_NetWkstaInfo1027;
113 typedef struct {
114 uint32 max_threads;
115 } wkssvc_NetWkstaInfo1033;
117 typedef union {
118 [case(100)] wkssvc_NetWkstaInfo100 *info100;
119 [case(101)] wkssvc_NetWkstaInfo101 *info101;
120 [case(102)] wkssvc_NetWkstaInfo102 *info102;
121 [case(502)] wkssvc_NetWkstaInfo502 *info502;
122 [case(1010)] wkssvc_NetWkstaInfo1010 *info1010;
123 [case(1011)] wkssvc_NetWkstaInfo1011 *info1011;
124 [case(1012)] wkssvc_NetWkstaInfo1012 *info1012;
125 [case(1013)] wkssvc_NetWkstaInfo1013 *info1013;
126 [case(1018)] wkssvc_NetWkstaInfo1018 *info1018;
127 [case(1023)] wkssvc_NetWkstaInfo1023 *info1023;
128 [case(1027)] wkssvc_NetWkstaInfo1027 *info1027;
129 [case(1033)] wkssvc_NetWkstaInfo1033 *info1033;
130 [default] ;
131 } wkssvc_NetWkstaInfo;
133 WERROR wkssvc_NetWkstaGetInfo(
134 [in] [string,charset(UTF16)] uint16 *server_name,
135 [in] uint32 level,
136 [out,switch_is(level),ref] wkssvc_NetWkstaInfo *info
140 /******************/
141 /* Function: 0x01 */
142 WERROR wkssvc_NetWkstaSetInfo(
143 [in] [string,charset(UTF16)] uint16 *server_name,
144 [in] uint32 level,
145 [in,switch_is(level),ref] wkssvc_NetWkstaInfo *info,
146 [in,out,ref] uint32 *parm_error
150 /*****************************/
151 /* Function 0x02 */
152 typedef struct {
153 [string,charset(UTF16)] uint16 *user;
154 } USER_INFO_0;
156 typedef struct {
157 uint32 entries_read;
158 [size_is(entries_read)] USER_INFO_0 *user0;
159 } USER_INFO_0_CONTAINER;
161 typedef struct {
162 [string,charset(UTF16)] uint16 *user_name;
163 [string,charset(UTF16)] uint16 *logon_domain;
164 [string,charset(UTF16)] uint16 *other_domains;
165 [string,charset(UTF16)] uint16 *logon_server;
166 } USER_INFO_1;
168 typedef struct {
169 uint32 entries_read;
170 [size_is(entries_read)] USER_INFO_1 *user1;
171 } USER_INFO_1_CONTAINER;
173 typedef [switch_type(uint32)] union {
174 [case(0)] USER_INFO_0_CONTAINER *user0;
175 [case(1)] USER_INFO_1_CONTAINER *user1;
176 } WKS_USER_ENUM_UNION;
178 WERROR wkssvc_NetWkstaEnumUsers(
179 [in] [string,charset(UTF16)] uint16 *server_name,
180 [in] uint32 level,
181 [in] [out] [ref] WKS_USER_ENUM_UNION *users,
182 [in] uint32 prefmaxlen,
183 [out] uint32 *entriesread,
184 [out] uint32 *totalentries,
185 [in] [out] [ref] uint32 *resumehandle
188 /*****************************/
189 /* Function 0x03 */
190 WERROR WKSSVC_NETRWKSTAUSERGETINFO ();
192 /*****************************/
193 /* Function 0x04 */
194 WERROR WKSSVC_NETRWKSTAUSERSETINFO ();
197 /*****************************/
198 /* Function 0x05 */
200 typedef struct {
201 uint32 quality_of_service;
202 uint32 vc_count;
203 [string,charset(UTF16)] uint16 *name;
204 [string,charset(UTF16)] uint16 *address;
205 uint32 wan_link;
206 } wkssvc_NetWkstaTransportInfo0;
208 typedef struct {
209 uint32 count;
210 [size_is(count)] wkssvc_NetWkstaTransportInfo0 *array;
211 } wkssvc_NetWkstaTransportCtr0;
213 typedef union {
214 [case(0)] wkssvc_NetWkstaTransportCtr0 *ctr0;
215 [default] ;
216 } wkssvc_NetWkstaTransportCtr;
218 WERROR wkssvc_NetWkstaTransportEnum (
219 [in] [string,charset(UTF16)] uint16 *server_name,
220 [in,out,ref] uint32 *level,
221 [in,out,switch_is(*level),ref] wkssvc_NetWkstaTransportCtr *ctr,
222 [in] uint32 max_buffer,
223 [out] uint32 *totalentries,
224 [in,out,ref] uint32 *resume_handle
228 /*****************************/
229 /* Function 0x06 */
230 WERROR WKSSVC_NETRWKSTATRANSPORTADD ();
232 /*****************************/
233 /* Function 0x07 */
234 WERROR WKSSVC_NETRWKSTATRANSPORTDEL ();
236 /*****************************/
237 /* Function 0x08 */
238 WERROR WKSSVC_NETRUSEADD ();
240 /*****************************/
241 /* Function 0x09 */
242 WERROR WKSSVC_NETRUSEGETINFO ();
244 /*****************************/
245 /* Function 0x0a */
246 WERROR WKSSVC_NETRUSEDEL ();
248 /*****************************/
249 /* Function 0x0b */
250 WERROR WKSSVC_NETRUSEENUM ();
252 /*****************************/
253 /* Function 0x0c */
254 WERROR WKSSVC_NETRMESSAGEBUFFERSEND ();
256 /*****************************/
257 /* Function 0x0d */
258 WERROR WKSSVC_NETRWORKSTATIONSTATISTICSGET ();
260 /*****************************/
261 /* Function 0x0e */
262 WERROR WKSSVC_NETRLOGONDOMAINNAMEADD ();
264 /*****************************/
265 /* Function 0x0f */
266 WERROR WKSSVC_NETRLOGONDOMAINNAMEDEL ();
268 /*****************************/
269 /* Function 0x10 */
270 WERROR WKSSVC_NETRJOINDOMAIN ();
272 /*****************************/
273 /* Function 0x11 */
274 WERROR WKSSVC_NETRUNJOINDOMAIN ();
276 /*****************************/
277 /* Function 0x12 */
278 WERROR WKSSVC_NETRRENAMEMACHINEINDOMAIN ();
280 /*****************************/
281 /* Function 0x13 */
282 WERROR WKSSVC_NETRVALIDATENAME ();
284 /*****************************/
285 /* Function 0x14 */
286 WERROR WKSSVC_NETRGETJOININFORMATION ();
288 /*****************************/
289 /* Function 0x15 */
290 WERROR WKSSVC_NETRGETJOINABLEOUS ();
292 typedef struct {
293 uint8 data[524];
294 } wkssvc_PasswordBuffer;
296 typedef [bitmap32bit] bitmap {
297 /* TRUE: defer setting the SPN and dNSHostName until a rename operation */
298 WKSSVC_JOIN_FLAGS_DEFER_SPN = 0x00000100,
300 /* TRUE: set the machine password to the provided one after the join completes */
301 WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED = 0x00000080,
303 /* TRUE: perform an unsecured join */
304 WKSSVC_JOIN_FLAGS_JOIN_UNSECURE = 0x00000040,
306 /* TRUE: allow the join to complete even if the account already exists */
307 WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED = 0x00000020,
309 /* TRUE: this join is part of a w9x upgrade */
310 WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE = 0x00000010,
312 /* TRUE: delete the account when the domain is left */
313 WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE = 0x00000004,
315 /* TRUE: create the account in the domain */
316 WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE = 0x00000002,
318 /* TRUE: join domain FALSE: join workgroup */
319 WKSSVC_JOIN_FLAGS_JOIN_TYPE = 0x00000001
321 } wkssvc_joinflags;
323 /*****************************/
324 /* Function 0x16 */
325 WERROR wkssvc_NetrJoinDomain2 (
326 [in] [string,charset(UTF16)] uint16 *server_name,
327 [in] [string,charset(UTF16),ref] uint16 *domain_name,
328 [in] [string,charset(UTF16)] uint16 *account_name,
329 [in] [string,charset(UTF16)] uint16 *admin_account,
330 [in] wkssvc_PasswordBuffer *encrypted_password,
331 [in] wkssvc_joinflags join_flags
334 /*****************************/
335 /* Function 0x17 */
336 WERROR wkssvc_NetrUnjoinDomain2 (
337 [in] [unique] [string,charset(UTF16)] uint16 *server_name,
338 [in] [unique] [string,charset(UTF16)] uint16 *account,
339 [in] [unique] wkssvc_PasswordBuffer *encrypted_password,
340 [in] wkssvc_joinflags unjoin_flags
343 typedef [bitmap32bit] bitmap {
344 /* TRUE: create the account in the domain */
345 WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE = 0x00000002
346 } wkssvc_renameflags;
348 /*****************************/
349 /* Function 0x18 */
350 WERROR wkssvc_NetrRenameMachineInDomain2(
351 [in] [unique] [string,charset(UTF16)] uint16 *server_name,
352 [in] [unique] [string,charset(UTF16)] uint16 *NewMachineName,
353 [in] [unique] [string,charset(UTF16)] uint16 *Account,
354 [in] [unique] wkssvc_PasswordBuffer *EncryptedPassword,
355 [in] wkssvc_renameflags RenameOptions
358 /*****************************/
359 /* Function 0x19 */
360 WERROR WKSSVC_NETRVALIDATENAME2 ();
362 /*****************************/
363 /* Function 0x1a */
364 WERROR WKSSVC_NETRGETJOINABLEOUS2 ();
366 /*****************************/
367 /* Function 0x1b */
368 WERROR wkssvc_NetrAddAlternateComputerName(
369 [in] [unique] [string,charset(UTF16)] uint16 *server_name,
370 [in] [unique] [string,charset(UTF16)] uint16 *NewAlternateMachineName,
371 [in] [unique] [string,charset(UTF16)] uint16 *Account,
372 [in] [unique] wkssvc_PasswordBuffer *EncryptedPassword,
373 [in] uint32 Reserved
376 /*****************************/
377 /* Function 0x1c */
378 WERROR wkssvc_NetrRemoveAlternateComputerName(
379 [in] [unique] [string,charset(UTF16)] uint16 *server_name,
380 [in] [unique] [string,charset(UTF16)] uint16 *AlternateMachineNameToRemove,
381 [in] [unique] [string,charset(UTF16)] uint16 *Account,
382 [in] [unique] wkssvc_PasswordBuffer *EncryptedPassword,
383 [in] uint32 Reserved
386 /*****************************/
387 /* Function 0x1d */
388 WERROR WKSSVC_NETRSETPRIMARYCOMPUTERNAME ();
390 /*****************************/
391 /* Function 0x1e */
392 WERROR WKSSVC_NETRENUMERATECOMPUTERNAMES ();