r18618: * remove svn:externals
[Samba.git] / source3 / librpc / idl / wkssvc.idl
bloba085265a41481dd8bd5415494a78065a12c24361
1 /*
2 wkssvc interface definitions
3 */
5 [ uuid("6bffd098-a112-3610-9833-46c3f87e345a"),
6 version(1.0),
7 pointer_default(unique),
8 pointer_default_top(unique),
9 helpstring("Workstation Service"),
10 depends(srvsvc),
11 keepref
12 ] interface wkssvc
14 declare [v1_enum] enum srvsvc_PlatformId;
16 #define BOOL uint32
18 /******************/
19 /* Function: 0x00 */
21 typedef struct {
22 srvsvc_PlatformId platform_id;
23 [string,charset(UTF16)] uint16 *server_name;
24 [string,charset(UTF16)] uint16 *domain_name;
25 uint32 version_major;
26 uint32 version_minor;
27 } wkssvc_NetWkstaInfo100;
29 typedef struct {
30 srvsvc_PlatformId platform_id;
31 [string,charset(UTF16)] uint16 *server_name;
32 [string,charset(UTF16)] uint16 *domain_name;
33 uint32 version_major;
34 uint32 version_minor;
35 [string,charset(UTF16)] uint16 *lan_root;
36 } wkssvc_NetWkstaInfo101;
38 typedef struct {
39 srvsvc_PlatformId platform_id;
40 [string,charset(UTF16)] uint16 *server_name;
41 [string,charset(UTF16)] uint16 *domain_name;
42 uint32 version_major;
43 uint32 version_minor;
44 [string,charset(UTF16)] uint16 *lan_root;
45 uint32 logged_on_users;
46 } wkssvc_NetWkstaInfo102;
48 typedef struct {
49 uint32 char_wait;
50 uint32 collection_time;
51 uint32 maximum_collection_count;
52 uint32 keep_connection;
53 uint32 max_commands;
54 uint32 session_timeout;
55 uint32 size_char_buf;
56 uint32 max_threads;
57 uint32 lock_quota;
58 uint32 lock_increment;
59 uint32 lock_maximum;
60 uint32 pipe_increment;
61 uint32 pipe_maximum;
62 uint32 cache_file_timeout;
63 uint32 dormant_file_limit;
64 uint32 read_ahead_throughput;
65 uint32 num_mailslot_buffers;
66 uint32 num_srv_announce_buffers;
67 uint32 max_illegal_dgram_events;
68 uint32 dgram_event_reset_freq;
69 BOOL log_election_packets;
70 BOOL use_opportunistic_locking;
71 BOOL use_unlock_behind;
72 BOOL use_close_behind;
73 BOOL buf_named_pipes;
74 BOOL use_lock_read_unlock;
75 BOOL utilize_nt_caching;
76 BOOL use_raw_read;
77 BOOL use_raw_write;
78 BOOL use_write_raw_data;
79 BOOL use_encryption;
80 BOOL buf_files_deny_write;
81 BOOL buf_read_only_files;
82 BOOL force_core_create_mode;
83 BOOL use_512_byte_max_transfer;
84 } wkssvc_NetWkstaInfo502;
86 typedef struct {
87 uint32 char_wait;
88 } wkssvc_NetWkstaInfo1010;
90 typedef struct {
91 uint32 collection_time;
92 } wkssvc_NetWkstaInfo1011;
94 typedef struct {
95 uint32 maximum_collection_count;
96 } wkssvc_NetWkstaInfo1012;
98 typedef struct {
99 uint32 keep_connection;
100 } wkssvc_NetWkstaInfo1013;
102 typedef struct {
103 uint32 session_timeout;
104 } wkssvc_NetWkstaInfo1018;
106 typedef struct {
107 uint32 size_char_buf;
108 } wkssvc_NetWkstaInfo1023;
110 typedef struct {
111 uint32 errorlog_sz;
112 } wkssvc_NetWkstaInfo1027;
114 typedef struct {
115 uint32 max_threads;
116 } wkssvc_NetWkstaInfo1033;
118 typedef union {
119 [case(100)] wkssvc_NetWkstaInfo100 *info100;
120 [case(101)] wkssvc_NetWkstaInfo101 *info101;
121 [case(102)] wkssvc_NetWkstaInfo102 *info102;
122 [case(502)] wkssvc_NetWkstaInfo502 *info502;
123 [case(1010)] wkssvc_NetWkstaInfo1010 *info1010;
124 [case(1011)] wkssvc_NetWkstaInfo1011 *info1011;
125 [case(1012)] wkssvc_NetWkstaInfo1012 *info1012;
126 [case(1013)] wkssvc_NetWkstaInfo1013 *info1013;
127 [case(1018)] wkssvc_NetWkstaInfo1018 *info1018;
128 [case(1023)] wkssvc_NetWkstaInfo1023 *info1023;
129 [case(1027)] wkssvc_NetWkstaInfo1027 *info1027;
130 [case(1033)] wkssvc_NetWkstaInfo1033 *info1033;
131 [default] ;
132 } wkssvc_NetWkstaInfo;
134 WERROR wkssvc_NetWkstaGetInfo(
135 [in] [string,charset(UTF16)] uint16 *server_name,
136 [in] uint32 level,
137 [out,switch_is(level),ref] wkssvc_NetWkstaInfo *info
141 /******************/
142 /* Function: 0x01 */
143 WERROR wkssvc_NetWkstaSetInfo(
144 [in] [string,charset(UTF16)] uint16 *server_name,
145 [in] uint32 level,
146 [in,switch_is(level),ref] wkssvc_NetWkstaInfo *info,
147 [in,out,ref] uint32 *parm_error
151 /*****************************/
152 /* Function 0x02 */
153 typedef struct {
154 [string,charset(UTF16)] uint16 *user;
155 } USER_INFO_0;
157 typedef struct {
158 uint32 entries_read;
159 [size_is(entries_read)] USER_INFO_0 *user0;
160 } USER_INFO_0_CONTAINER;
162 typedef struct {
163 [string,charset(UTF16)] uint16 *user_name;
164 [string,charset(UTF16)] uint16 *logon_domain;
165 [string,charset(UTF16)] uint16 *other_domains;
166 [string,charset(UTF16)] uint16 *logon_server;
167 } USER_INFO_1;
169 typedef struct {
170 uint32 entries_read;
171 [size_is(entries_read)] USER_INFO_1 *user1;
172 } USER_INFO_1_CONTAINER;
174 typedef [switch_type(uint32)] union {
175 [case(0)] USER_INFO_0_CONTAINER *user0;
176 [case(1)] USER_INFO_1_CONTAINER *user1;
177 } WKS_USER_ENUM_UNION;
179 WERROR wkssvc_NetWkstaEnumUsers(
180 [in] [string,charset(UTF16)] uint16 *server_name,
181 [in] uint32 level,
182 [in] [out] [ref] WKS_USER_ENUM_UNION *users,
183 [in] uint32 prefmaxlen,
184 [out] uint32 *entriesread,
185 [out] uint32 *totalentries,
186 [in] [out] [ref] uint32 *resumehandle
189 /*****************************/
190 /* Function 0x03 */
191 WERROR WKSSVC_NETRWKSTAUSERGETINFO ();
193 /*****************************/
194 /* Function 0x04 */
195 WERROR WKSSVC_NETRWKSTAUSERSETINFO ();
198 /*****************************/
199 /* Function 0x05 */
201 typedef struct {
202 uint32 quality_of_service;
203 uint32 vc_count;
204 [string,charset(UTF16)] uint16 *name;
205 [string,charset(UTF16)] uint16 *address;
206 uint32 wan_link;
207 } wkssvc_NetWkstaTransportInfo0;
209 typedef struct {
210 uint32 count;
211 [size_is(count)] wkssvc_NetWkstaTransportInfo0 *array;
212 } wkssvc_NetWkstaTransportCtr0;
214 typedef union {
215 [case(0)] wkssvc_NetWkstaTransportCtr0 *ctr0;
216 [default] ;
217 } wkssvc_NetWkstaTransportCtr;
219 WERROR wkssvc_NetWkstaTransportEnum (
220 [in] [string,charset(UTF16)] uint16 *server_name,
221 [in,out] uint32 level,
222 [in,out,switch_is(level),ref] wkssvc_NetWkstaTransportCtr *ctr,
223 [in] uint32 max_buffer,
224 [out] uint32 totalentries,
225 [in,out] uint32 *resume_handle
229 /*****************************/
230 /* Function 0x06 */
231 WERROR WKSSVC_NETRWKSTATRANSPORTADD ();
233 /*****************************/
234 /* Function 0x07 */
235 WERROR WKSSVC_NETRWKSTATRANSPORTDEL ();
237 /*****************************/
238 /* Function 0x08 */
239 WERROR WKSSVC_NETRUSEADD ();
241 /*****************************/
242 /* Function 0x09 */
243 WERROR WKSSVC_NETRUSEGETINFO ();
245 /*****************************/
246 /* Function 0x0a */
247 WERROR WKSSVC_NETRUSEDEL ();
249 /*****************************/
250 /* Function 0x0b */
251 WERROR WKSSVC_NETRUSEENUM ();
253 /*****************************/
254 /* Function 0x0c */
255 WERROR WKSSVC_NETRMESSAGEBUFFERSEND ();
257 /*****************************/
258 /* Function 0x0d */
259 WERROR WKSSVC_NETRWORKSTATIONSTATISTICSGET ();
261 /*****************************/
262 /* Function 0x0e */
263 WERROR WKSSVC_NETRLOGONDOMAINNAMEADD ();
265 /*****************************/
266 /* Function 0x0f */
267 WERROR WKSSVC_NETRLOGONDOMAINNAMEDEL ();
269 /*****************************/
270 /* Function 0x10 */
271 WERROR WKSSVC_NETRJOINDOMAIN ();
273 /*****************************/
274 /* Function 0x11 */
275 WERROR WKSSVC_NETRUNJOINDOMAIN ();
277 /*****************************/
278 /* Function 0x12 */
279 WERROR WKSSVC_NETRRENAMEMACHINEINDOMAIN ();
281 /*****************************/
282 /* Function 0x13 */
283 WERROR WKSSVC_NETRVALIDATENAME ();
285 /*****************************/
286 /* Function 0x14 */
287 WERROR WKSSVC_NETRGETJOININFORMATION ();
289 /*****************************/
290 /* Function 0x15 */
291 WERROR WKSSVC_NETRGETJOINABLEOUS ();
293 typedef struct {
294 uint8 data[524];
295 } wkssvc_PasswordBuffer;
297 typedef [bitmap32bit] bitmap {
298 /* TRUE: defer setting the SPN and dNSHostName until a rename operation */
299 WKSSVC_JOIN_FLAGS_DEFER_SPN = 0x00000100,
301 /* TRUE: set the machine password to the provided one after the join completes */
302 WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED = 0x00000080,
304 /* TRUE: perform an unsecured join */
305 WKSSVC_JOIN_FLAGS_JOIN_UNSECURE = 0x00000040,
307 /* TRUE: allow the join to complete even if the account already exists */
308 WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED = 0x00000020,
310 /* TRUE: this join is part of a w9x upgrade */
311 WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE = 0x00000010,
313 /* TRUE: delete the account when the domain is left */
314 WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE = 0x00000004,
316 /* TRUE: create the account in the domain */
317 WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE = 0x00000002,
319 /* TRUE: join domain FALSE: join workgroup */
320 WKSSVC_JOIN_FLAGS_JOIN_TYPE = 0x00000001
322 } wkssvc_joinflags;
324 /*****************************/
325 /* Function 0x16 */
326 WERROR wkssvc_NetrJoinDomain2 (
327 [in] [string,charset(UTF16)] uint16 *server_name,
328 [in] [string,charset(UTF16),ref] uint16 *domain_name,
329 [in] [string,charset(UTF16)] uint16 *account_name,
330 [in] [string,charset(UTF16)] uint16 *admin_account,
331 [in] wkssvc_PasswordBuffer *encrypted_password,
332 [in] wkssvc_joinflags join_flags
335 /*****************************/
336 /* Function 0x17 */
337 WERROR wkssvc_NetrUnjoinDomain2 (
338 [in] [unique] [string,charset(UTF16)] uint16 *server_name,
339 [in] [unique] [string,charset(UTF16)] uint16 *account,
340 [in] [unique] wkssvc_PasswordBuffer *encrypted_password,
341 [in] wkssvc_joinflags unjoin_flags
344 typedef [bitmap32bit] bitmap {
345 /* TRUE: create the account in the domain */
346 WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE = 0x00000002
347 } wkssvc_renameflags;
349 /*****************************/
350 /* Function 0x18 */
351 WERROR wkssvc_NetrRenameMachineInDomain2(
352 [in] [unique] [string,charset(UTF16)] uint16 *server_name,
353 [in] [unique] [string,charset(UTF16)] uint16 *NewMachineName,
354 [in] [unique] [string,charset(UTF16)] uint16 *Account,
355 [in] [unique] wkssvc_PasswordBuffer *EncryptedPassword,
356 [in] wkssvc_renameflags RenameOptions
359 /*****************************/
360 /* Function 0x19 */
361 WERROR WKSSVC_NETRVALIDATENAME2 ();
363 /*****************************/
364 /* Function 0x1a */
365 WERROR WKSSVC_NETRGETJOINABLEOUS2 ();
367 /*****************************/
368 /* Function 0x1b */
369 WERROR wkssvc_NetrAddAlternateComputerName(
370 [in] [unique] [string,charset(UTF16)] uint16 *server_name,
371 [in] [unique] [string,charset(UTF16)] uint16 *NewAlternateMachineName,
372 [in] [unique] [string,charset(UTF16)] uint16 *Account,
373 [in] [unique] wkssvc_PasswordBuffer *EncryptedPassword,
374 [in] uint32 Reserved
377 /*****************************/
378 /* Function 0x1c */
379 WERROR wkssvc_NetrRemoveAlternateComputerName(
380 [in] [unique] [string,charset(UTF16)] uint16 *server_name,
381 [in] [unique] [string,charset(UTF16)] uint16 *AlternateMachineNameToRemove,
382 [in] [unique] [string,charset(UTF16)] uint16 *Account,
383 [in] [unique] wkssvc_PasswordBuffer *EncryptedPassword,
384 [in] uint32 Reserved
387 /*****************************/
388 /* Function 0x1d */
389 WERROR WKSSVC_NETRSETPRIMARYCOMPUTERNAME ();
391 /*****************************/
392 /* Function 0x1e */
393 WERROR WKSSVC_NETRENUMERATECOMPUTERNAMES ();