Merge commit 'samba/v3-2-test' into v3-2-stable
[bbaumbach/samba-autobuild/.git] / source / librpc / gen_ndr / wkssvc.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #include "librpc/gen_ndr/srvsvc.h"
6 #include "librpc/gen_ndr/lsa.h"
7 #ifndef _HEADER_wkssvc
8 #define _HEADER_wkssvc
9
10 enum srvsvc_PlatformId;
11
12 struct wkssvc_NetWkstaInfo100 {
13         enum srvsvc_PlatformId platform_id;
14         const char *server_name;/* [unique,charset(UTF16)] */
15         const char *domain_name;/* [unique,charset(UTF16)] */
16         uint32_t version_major;
17         uint32_t version_minor;
18 };
19
20 struct wkssvc_NetWkstaInfo101 {
21         enum srvsvc_PlatformId platform_id;
22         const char *server_name;/* [unique,charset(UTF16)] */
23         const char *domain_name;/* [unique,charset(UTF16)] */
24         uint32_t version_major;
25         uint32_t version_minor;
26         const char *lan_root;/* [unique,charset(UTF16)] */
27 };
28
29 struct wkssvc_NetWkstaInfo102 {
30         enum srvsvc_PlatformId platform_id;
31         const char *server_name;/* [unique,charset(UTF16)] */
32         const char *domain_name;/* [unique,charset(UTF16)] */
33         uint32_t version_major;
34         uint32_t version_minor;
35         const char *lan_root;/* [unique,charset(UTF16)] */
36         uint32_t logged_on_users;
37 };
38
39 struct wkssvc_NetWkstaInfo502 {
40         uint32_t char_wait;
41         uint32_t collection_time;
42         uint32_t maximum_collection_count;
43         uint32_t keep_connection;
44         uint32_t max_commands;
45         uint32_t session_timeout;
46         uint32_t size_char_buf;
47         uint32_t max_threads;
48         uint32_t lock_quota;
49         uint32_t lock_increment;
50         uint32_t lock_maximum;
51         uint32_t pipe_increment;
52         uint32_t pipe_maximum;
53         uint32_t cache_file_timeout;
54         uint32_t dormant_file_limit;
55         uint32_t read_ahead_throughput;
56         uint32_t num_mailslot_buffers;
57         uint32_t num_srv_announce_buffers;
58         uint32_t max_illegal_dgram_events;
59         uint32_t dgram_event_reset_freq;
60         uint32_t log_election_packets;
61         uint32_t use_opportunistic_locking;
62         uint32_t use_unlock_behind;
63         uint32_t use_close_behind;
64         uint32_t buf_named_pipes;
65         uint32_t use_lock_read_unlock;
66         uint32_t utilize_nt_caching;
67         uint32_t use_raw_read;
68         uint32_t use_raw_write;
69         uint32_t use_write_raw_data;
70         uint32_t use_encryption;
71         uint32_t buf_files_deny_write;
72         uint32_t buf_read_only_files;
73         uint32_t force_core_create_mode;
74         uint32_t use_512_byte_max_transfer;
75 };
76
77 struct wkssvc_NetWkstaInfo1010 {
78         uint32_t char_wait;
79 };
80
81 struct wkssvc_NetWkstaInfo1011 {
82         uint32_t collection_time;
83 };
84
85 struct wkssvc_NetWkstaInfo1012 {
86         uint32_t maximum_collection_count;
87 };
88
89 struct wkssvc_NetWkstaInfo1013 {
90         uint32_t keep_connection;
91 };
92
93 struct wkssvc_NetWkstaInfo1018 {
94         uint32_t session_timeout;
95 };
96
97 struct wkssvc_NetWkstaInfo1023 {
98         uint32_t size_char_buf;
99 };
100
101 struct wkssvc_NetWkstaInfo1027 {
102         uint32_t errorlog_sz;
103 };
104
105 struct wkssvc_NetWkstaInfo1028 {
106         uint32_t print_buf_time;
107 };
108
109 struct wkssvc_NetWkstaInfo1032 {
110         uint32_t wrk_heuristics;
111 };
112
113 struct wkssvc_NetWkstaInfo1033 {
114         uint32_t max_threads;
115 };
116
117 struct wkssvc_NetWkstaInfo1041 {
118         uint32_t lock_quota;
119 };
120
121 struct wkssvc_NetWkstaInfo1042 {
122         uint32_t lock_increment;
123 };
124
125 struct wkssvc_NetWkstaInfo1043 {
126         uint32_t lock_maximum;
127 };
128
129 struct wkssvc_NetWkstaInfo1044 {
130         uint32_t pipe_increment;
131 };
132
133 struct wkssvc_NetWkstaInfo1045 {
134         uint32_t pipe_maximum;
135 };
136
137 struct wkssvc_NetWkstaInfo1046 {
138         uint32_t dormant_file_limit;
139 };
140
141 struct wkssvc_NetWkstaInfo1047 {
142         uint32_t cache_file_timeout;
143 };
144
145 struct wkssvc_NetWkstaInfo1048 {
146         uint32_t use_opportunistic_locking;
147 };
148
149 struct wkssvc_NetWkstaInfo1049 {
150         uint32_t use_unlock_behind;
151 };
152
153 struct wkssvc_NetWkstaInfo1050 {
154         uint32_t use_close_behind;
155 };
156
157 struct wkssvc_NetWkstaInfo1051 {
158         uint32_t buf_named_pipes;
159 };
160
161 struct wkssvc_NetWkstaInfo1052 {
162         uint32_t use_lock_read_unlock;
163 };
164
165 struct wkssvc_NetWkstaInfo1053 {
166         uint32_t utilize_nt_caching;
167 };
168
169 struct wkssvc_NetWkstaInfo1054 {
170         uint32_t use_raw_read;
171 };
172
173 struct wkssvc_NetWkstaInfo1055 {
174         uint32_t use_raw_write;
175 };
176
177 struct wkssvc_NetWkstaInfo1056 {
178         uint32_t use_write_raw_data;
179 };
180
181 struct wkssvc_NetWkstaInfo1057 {
182         uint32_t use_encryption;
183 };
184
185 struct wkssvc_NetWkstaInfo1058 {
186         uint32_t buf_files_deny_write;
187 };
188
189 struct wkssvc_NetWkstaInfo1059 {
190         uint32_t buf_read_only_files;
191 };
192
193 struct wkssvc_NetWkstaInfo1060 {
194         uint32_t force_core_create_mode;
195 };
196
197 struct wkssvc_NetWkstaInfo1061 {
198         uint32_t use_512_byte_max_transfer;
199 };
200
201 struct wkssvc_NetWkstaInfo1062 {
202         uint32_t read_ahead_throughput;
203 };
204
205 union wkssvc_NetWkstaInfo {
206         struct wkssvc_NetWkstaInfo100 *info100;/* [unique,case(100)] */
207         struct wkssvc_NetWkstaInfo101 *info101;/* [unique,case(101)] */
208         struct wkssvc_NetWkstaInfo102 *info102;/* [unique,case(102)] */
209         struct wkssvc_NetWkstaInfo502 *info502;/* [unique,case(502)] */
210         struct wkssvc_NetWkstaInfo1010 *info1010;/* [unique,case(1010)] */
211         struct wkssvc_NetWkstaInfo1011 *info1011;/* [unique,case(1011)] */
212         struct wkssvc_NetWkstaInfo1012 *info1012;/* [unique,case(1012)] */
213         struct wkssvc_NetWkstaInfo1013 *info1013;/* [unique,case(1013)] */
214         struct wkssvc_NetWkstaInfo1018 *info1018;/* [unique,case(1018)] */
215         struct wkssvc_NetWkstaInfo1023 *info1023;/* [unique,case(1023)] */
216         struct wkssvc_NetWkstaInfo1027 *info1027;/* [unique,case(1027)] */
217         struct wkssvc_NetWkstaInfo1028 *info1028;/* [unique,case(1028)] */
218         struct wkssvc_NetWkstaInfo1032 *info1032;/* [unique,case(1032)] */
219         struct wkssvc_NetWkstaInfo1033 *info1033;/* [unique,case(1033)] */
220         struct wkssvc_NetWkstaInfo1041 *info1041;/* [unique,case(1041)] */
221         struct wkssvc_NetWkstaInfo1042 *info1042;/* [unique,case(1042)] */
222         struct wkssvc_NetWkstaInfo1043 *info1043;/* [unique,case(1043)] */
223         struct wkssvc_NetWkstaInfo1044 *info1044;/* [unique,case(1044)] */
224         struct wkssvc_NetWkstaInfo1045 *info1045;/* [unique,case(1045)] */
225         struct wkssvc_NetWkstaInfo1046 *info1046;/* [unique,case(1046)] */
226         struct wkssvc_NetWkstaInfo1047 *info1047;/* [unique,case(1047)] */
227         struct wkssvc_NetWkstaInfo1048 *info1048;/* [unique,case(1048)] */
228         struct wkssvc_NetWkstaInfo1049 *info1049;/* [unique,case(1049)] */
229         struct wkssvc_NetWkstaInfo1050 *info1050;/* [unique,case(1050)] */
230         struct wkssvc_NetWkstaInfo1051 *info1051;/* [unique,case(1051)] */
231         struct wkssvc_NetWkstaInfo1052 *info1052;/* [unique,case(1052)] */
232         struct wkssvc_NetWkstaInfo1053 *info1053;/* [unique,case(1053)] */
233         struct wkssvc_NetWkstaInfo1054 *info1054;/* [unique,case(1054)] */
234         struct wkssvc_NetWkstaInfo1055 *info1055;/* [unique,case(1055)] */
235         struct wkssvc_NetWkstaInfo1056 *info1056;/* [unique,case(1056)] */
236         struct wkssvc_NetWkstaInfo1057 *info1057;/* [unique,case(1057)] */
237         struct wkssvc_NetWkstaInfo1058 *info1058;/* [unique,case(1058)] */
238         struct wkssvc_NetWkstaInfo1059 *info1059;/* [unique,case(1059)] */
239         struct wkssvc_NetWkstaInfo1060 *info1060;/* [unique,case(1060)] */
240         struct wkssvc_NetWkstaInfo1061 *info1061;/* [unique,case(1061)] */
241         struct wkssvc_NetWkstaInfo1062 *info1062;/* [unique,case(1062)] */
242 };
243
244 struct wkssvc_NetrWkstaUserInfo0 {
245         const char *user_name;/* [unique,charset(UTF16)] */
246 };
247
248 struct wkssvc_NetWkstaEnumUsersCtr0 {
249         uint32_t entries_read;
250         struct wkssvc_NetrWkstaUserInfo0 *user0;/* [unique,size_is(entries_read)] */
251 };
252
253 struct wkssvc_NetrWkstaUserInfo1 {
254         const char *user_name;/* [unique,charset(UTF16)] */
255         const char *logon_domain;/* [unique,charset(UTF16)] */
256         const char *other_domains;/* [unique,charset(UTF16)] */
257         const char *logon_server;/* [unique,charset(UTF16)] */
258 };
259
260 struct wkssvc_NetWkstaEnumUsersCtr1 {
261         uint32_t entries_read;
262         struct wkssvc_NetrWkstaUserInfo1 *user1;/* [unique,size_is(entries_read)] */
263 };
264
265 union wkssvc_NetWkstaEnumUsersCtr {
266         struct wkssvc_NetWkstaEnumUsersCtr0 *user0;/* [unique,case(0)] */
267         struct wkssvc_NetWkstaEnumUsersCtr1 *user1;/* [unique,case] */
268 }/* [switch_type(uint32)] */;
269
270 struct wkssvc_NetWkstaEnumUsersInfo {
271         uint32_t level;
272         union wkssvc_NetWkstaEnumUsersCtr ctr;/* [switch_is(level)] */
273 };
274
275 struct wkssvc_NetrWkstaUserInfo1101 {
276         const char *other_domains;/* [unique,charset(UTF16)] */
277 };
278
279 union wkssvc_NetrWkstaUserInfo {
280         struct wkssvc_NetrWkstaUserInfo0 *info0;/* [unique,case(0)] */
281         struct wkssvc_NetrWkstaUserInfo1 *info1;/* [unique,case] */
282         struct wkssvc_NetrWkstaUserInfo1101 *info1101;/* [unique,case(1101)] */
283 }/* [switch_type(uint32)] */;
284
285 struct wkssvc_NetWkstaTransportInfo0 {
286         uint32_t quality_of_service;
287         uint32_t vc_count;
288         const char *name;/* [unique,charset(UTF16)] */
289         const char *address;/* [unique,charset(UTF16)] */
290         uint32_t wan_link;
291 };
292
293 struct wkssvc_NetWkstaTransportCtr0 {
294         uint32_t count;
295         struct wkssvc_NetWkstaTransportInfo0 *array;/* [unique,size_is(count)] */
296 };
297
298 union wkssvc_NetWkstaTransportCtr {
299         struct wkssvc_NetWkstaTransportCtr0 *ctr0;/* [unique,case(0)] */
300 };
301
302 struct wkssvc_NetWkstaTransportInfo {
303         uint32_t level;
304         union wkssvc_NetWkstaTransportCtr ctr;/* [switch_is(level)] */
305 };
306
307 struct wkssvc_NetrUseInfo3 {
308         const char *unknown1;/* [unique,charset(UTF16)] */
309         const char *unknown2;/* [unique,charset(UTF16)] */
310 };
311
312 struct wkssvc_NetrUseInfo2 {
313         const char *local;/* [unique,charset(UTF16)] */
314         const char *remote;/* [unique,charset(UTF16)] */
315         const char *password;/* [unique,charset(UTF16)] */
316         uint32_t status;
317         uint32_t asg_type;
318         uint32_t ref_count;
319         uint32_t use_count;
320         const char *user_name;/* [unique,charset(UTF16)] */
321         const char *domain_name;/* [unique,charset(UTF16)] */
322 };
323
324 struct wkssvc_NetrUseInfo1 {
325         const char *local;/* [unique,charset(UTF16)] */
326         const char *remote;/* [unique,charset(UTF16)] */
327         const char *password;/* [unique,charset(UTF16)] */
328         uint32_t status;
329         uint32_t asg_type;
330         uint32_t ref_count;
331         uint32_t use_count;
332 };
333
334 struct wkssvc_NetrUseInfo0 {
335         const char *local;/* [unique,charset(UTF16)] */
336         const char *remote;/* [unique,charset(UTF16)] */
337 };
338
339 union wkssvc_NetrUseGetInfoCtr {
340         struct wkssvc_NetrUseInfo0 *info0;/* [unique,case(0)] */
341         struct wkssvc_NetrUseInfo1 *info1;/* [unique,case] */
342         struct wkssvc_NetrUseInfo2 *info2;/* [unique,case(2)] */
343         struct wkssvc_NetrUseInfo3 *info3;/* [unique,case(3)] */
344 }/* [switch_type(uint32)] */;
345
346 struct wkssvc_NetrUseEnumCtr2 {
347         uint32_t count;
348         struct wkssvc_NetrUseInfo2 *array;/* [unique,size_is(count)] */
349 };
350
351 struct wkssvc_NetrUseEnumCtr1 {
352         uint32_t count;
353         struct wkssvc_NetrUseInfo1 *array;/* [unique,size_is(count)] */
354 };
355
356 struct wkssvc_NetrUseEnumCtr0 {
357         uint32_t count;
358         struct wkssvc_NetrUseInfo0 *array;/* [unique,size_is(count)] */
359 };
360
361 union wkssvc_NetrUseEnumCtr {
362         struct wkssvc_NetrUseEnumCtr0 *ctr0;/* [unique,case(0)] */
363         struct wkssvc_NetrUseEnumCtr1 *ctr1;/* [unique,case] */
364         struct wkssvc_NetrUseEnumCtr2 *ctr2;/* [unique,case(2)] */
365 }/* [switch_type(uint32)] */;
366
367 struct wkssvc_NetrUseEnumInfo {
368         uint32_t level;
369         union wkssvc_NetrUseEnumCtr ctr;/* [switch_is(level)] */
370 };
371
372 struct wkssvc_NetrWorkstationStatistics {
373         uint64_t unknown1;
374         uint64_t unknown2;
375         uint64_t unknown3;
376         uint64_t unknown4;
377         uint64_t unknown5;
378         uint64_t unknown6;
379         uint64_t unknown7;
380         uint64_t unknown8;
381         uint64_t unknown9;
382         uint64_t unknown10;
383         uint64_t unknown11;
384         uint64_t unknown12;
385         uint64_t unknown13;
386         uint32_t unknown14;
387         uint32_t unknown15;
388         uint32_t unknown16;
389         uint32_t unknown17;
390         uint32_t unknown18;
391         uint32_t unknown19;
392         uint32_t unknown20;
393         uint32_t unknown21;
394         uint32_t unknown22;
395         uint32_t unknown23;
396         uint32_t unknown24;
397         uint32_t unknown25;
398         uint32_t unknown26;
399         uint32_t unknown27;
400         uint32_t unknown28;
401         uint32_t unknown29;
402         uint32_t unknown30;
403         uint32_t unknown31;
404         uint32_t unknown32;
405         uint32_t unknown33;
406         uint32_t unknown34;
407         uint32_t unknown35;
408         uint32_t unknown36;
409         uint32_t unknown37;
410         uint32_t unknown38;
411         uint32_t unknown39;
412         uint32_t unknown40;
413 };
414
415 /* bitmap wkssvc_renameflags */
416 #define WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE ( 0x00000002 )
417
418 ;
419
420 enum wkssvc_NetValidateNameType
421 #ifndef USE_UINT_ENUMS
422  {
423         NetSetupUnknown=0,
424         NetSetupMachine=1,
425         NetSetupWorkgroup=2,
426         NetSetupDomain=3,
427         NetSetupNonExistentDomain=4,
428         NetSetupDnsMachine=5
429 }
430 #else
431  { __donnot_use_enum_wkssvc_NetValidateNameType=0x7FFFFFFF}
432 #define NetSetupUnknown ( 0 )
433 #define NetSetupMachine ( 1 )
434 #define NetSetupWorkgroup ( 2 )
435 #define NetSetupDomain ( 3 )
436 #define NetSetupNonExistentDomain ( 4 )
437 #define NetSetupDnsMachine ( 5 )
438 #endif
439 ;
440
441 enum wkssvc_NetJoinStatus
442 #ifndef USE_UINT_ENUMS
443  {
444         NetSetupUnknownStatus=0,
445         NetSetupUnjoined=1,
446         NetSetupWorkgroupName=2,
447         NetSetupDomainName=3
448 }
449 #else
450  { __donnot_use_enum_wkssvc_NetJoinStatus=0x7FFFFFFF}
451 #define NetSetupUnknownStatus ( 0 )
452 #define NetSetupUnjoined ( 1 )
453 #define NetSetupWorkgroupName ( 2 )
454 #define NetSetupDomainName ( 3 )
455 #endif
456 ;
457
458 struct wkssvc_PasswordBuffer {
459         uint8_t data[524];
460 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
461
462 /* bitmap wkssvc_joinflags */
463 #define WKSSVC_JOIN_FLAGS_JOIN_WITH_NEW_NAME ( 0x00000400 )
464 #define WKSSVC_JOIN_FLAGS_JOIN_DC_ACCOUNT ( 0x00000200 )
465 #define WKSSVC_JOIN_FLAGS_DEFER_SPN ( 0x00000100 )
466 #define WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED ( 0x00000080 )
467 #define WKSSVC_JOIN_FLAGS_JOIN_UNSECURE ( 0x00000040 )
468 #define WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED ( 0x00000020 )
469 #define WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE ( 0x00000010 )
470 #define WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE ( 0x00000004 )
471 #define WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE ( 0x00000002 )
472 #define WKSSVC_JOIN_FLAGS_JOIN_TYPE ( 0x00000001 )
473
474 ;
475
476 enum wkssvc_ComputerNameType
477 #ifndef USE_UINT_ENUMS
478  {
479         NetPrimaryComputerName=0,
480         NetAlternateComputerNames=1,
481         NetAllComputerNames=2,
482         NetComputerNameTypeMax=3
483 }
484 #else
485  { __donnot_use_enum_wkssvc_ComputerNameType=0x7FFFFFFF}
486 #define NetPrimaryComputerName ( 0 )
487 #define NetAlternateComputerNames ( 1 )
488 #define NetAllComputerNames ( 2 )
489 #define NetComputerNameTypeMax ( 3 )
490 #endif
491 ;
492
493 struct wkssvc_ComputerNamesCtr {
494         uint32_t count;
495         struct lsa_String *computer_name;/* [unique,size_is(count)] */
496 };
497
498
499 struct wkssvc_NetWkstaGetInfo {
500         struct {
501                 const char *server_name;/* [unique,charset(UTF16)] */
502                 uint32_t level;
503         } in;
504
505         struct {
506                 union wkssvc_NetWkstaInfo *info;/* [ref,switch_is(level)] */
507                 WERROR result;
508         } out;
509
510 };
511
512
513 struct wkssvc_NetWkstaSetInfo {
514         struct {
515                 const char *server_name;/* [unique,charset(UTF16)] */
516                 uint32_t level;
517                 union wkssvc_NetWkstaInfo *info;/* [ref,switch_is(level)] */
518                 uint32_t *parm_error;/* [ref] */
519         } in;
520
521         struct {
522                 uint32_t *parm_error;/* [ref] */
523                 WERROR result;
524         } out;
525
526 };
527
528
529 struct wkssvc_NetWkstaEnumUsers {
530         struct {
531                 const char *server_name;/* [unique,charset(UTF16)] */
532                 uint32_t prefmaxlen;
533                 struct wkssvc_NetWkstaEnumUsersInfo *info;/* [ref] */
534                 uint32_t *resume_handle;/* [unique] */
535         } in;
536
537         struct {
538                 uint32_t *entries_read;/* [ref] */
539                 struct wkssvc_NetWkstaEnumUsersInfo *info;/* [ref] */
540                 uint32_t *resume_handle;/* [unique] */
541                 WERROR result;
542         } out;
543
544 };
545
546
547 struct wkssvc_NetrWkstaUserGetInfo {
548         struct {
549                 const char *unknown;/* [unique,charset(UTF16)] */
550                 uint32_t level;
551         } in;
552
553         struct {
554                 union wkssvc_NetrWkstaUserInfo *info;/* [ref,switch_is(level)] */
555                 WERROR result;
556         } out;
557
558 };
559
560
561 struct wkssvc_NetrWkstaUserSetInfo {
562         struct {
563                 const char *unknown;/* [unique,charset(UTF16)] */
564                 uint32_t level;
565                 union wkssvc_NetrWkstaUserInfo *info;/* [ref,switch_is(level)] */
566                 uint32_t *parm_err;/* [unique] */
567         } in;
568
569         struct {
570                 uint32_t *parm_err;/* [unique] */
571                 WERROR result;
572         } out;
573
574 };
575
576
577 struct wkssvc_NetWkstaTransportEnum {
578         struct {
579                 const char *server_name;/* [unique,charset(UTF16)] */
580                 uint32_t max_buffer;
581                 struct wkssvc_NetWkstaTransportInfo *info;/* [ref] */
582                 uint32_t *resume_handle;/* [unique] */
583         } in;
584
585         struct {
586                 uint32_t *total_entries;/* [ref] */
587                 struct wkssvc_NetWkstaTransportInfo *info;/* [ref] */
588                 uint32_t *resume_handle;/* [unique] */
589                 WERROR result;
590         } out;
591
592 };
593
594
595 struct wkssvc_NetrWkstaTransportAdd {
596         struct {
597                 const char *server_name;/* [unique,charset(UTF16)] */
598                 uint32_t level;
599                 struct wkssvc_NetWkstaTransportInfo0 *info0;/* [ref] */
600                 uint32_t *parm_err;/* [unique] */
601         } in;
602
603         struct {
604                 uint32_t *parm_err;/* [unique] */
605                 WERROR result;
606         } out;
607
608 };
609
610
611 struct wkssvc_NetrWkstaTransportDel {
612         struct {
613                 const char *server_name;/* [unique,charset(UTF16)] */
614                 const char *transport_name;/* [unique,charset(UTF16)] */
615                 uint32_t unknown3;
616         } in;
617
618         struct {
619                 WERROR result;
620         } out;
621
622 };
623
624
625 struct wkssvc_NetrUseAdd {
626         struct {
627                 const char *server_name;/* [unique,charset(UTF16)] */
628                 uint32_t level;
629                 union wkssvc_NetrUseGetInfoCtr *ctr;/* [ref,switch_is(level)] */
630                 uint32_t *parm_err;/* [unique] */
631         } in;
632
633         struct {
634                 uint32_t *parm_err;/* [unique] */
635                 WERROR result;
636         } out;
637
638 };
639
640
641 struct wkssvc_NetrUseGetInfo {
642         struct {
643                 const char *server_name;/* [unique,charset(UTF16)] */
644                 const char *use_name;/* [ref,charset(UTF16)] */
645                 uint32_t level;
646         } in;
647
648         struct {
649                 union wkssvc_NetrUseGetInfoCtr *ctr;/* [ref,switch_is(level)] */
650                 WERROR result;
651         } out;
652
653 };
654
655
656 struct wkssvc_NetrUseDel {
657         struct {
658                 const char *server_name;/* [unique,charset(UTF16)] */
659                 const char *use_name;/* [ref,charset(UTF16)] */
660                 uint32_t force_cond;
661         } in;
662
663         struct {
664                 WERROR result;
665         } out;
666
667 };
668
669
670 struct wkssvc_NetrUseEnum {
671         struct {
672                 const char *server_name;/* [unique,charset(UTF16)] */
673                 uint32_t prefmaxlen;
674                 struct wkssvc_NetrUseEnumInfo *info;/* [ref] */
675                 uint32_t *resume_handle;/* [unique] */
676         } in;
677
678         struct {
679                 uint32_t *entries_read;/* [ref] */
680                 struct wkssvc_NetrUseEnumInfo *info;/* [ref] */
681                 uint32_t *resume_handle;/* [unique] */
682                 WERROR result;
683         } out;
684
685 };
686
687
688 struct wkssvc_NetrMessageBufferSend {
689         struct {
690                 const char *server_name;/* [unique,charset(UTF16)] */
691                 const char *message_name;/* [ref,charset(UTF16)] */
692                 const char *message_sender_name;/* [unique,charset(UTF16)] */
693                 uint8_t *message_buffer;/* [ref,size_is(message_size)] */
694                 uint32_t message_size;
695         } in;
696
697         struct {
698                 WERROR result;
699         } out;
700
701 };
702
703
704 struct wkssvc_NetrWorkstationStatisticsGet {
705         struct {
706                 const char *server_name;/* [unique,charset(UTF16)] */
707                 const char *unknown2;/* [unique,charset(UTF16)] */
708                 uint32_t unknown3;
709                 uint32_t unknown4;
710         } in;
711
712         struct {
713                 struct wkssvc_NetrWorkstationStatistics **info;/* [ref] */
714                 WERROR result;
715         } out;
716
717 };
718
719
720 struct wkssvc_NetrLogonDomainNameAdd {
721         struct {
722                 const char *domain_name;/* [ref,charset(UTF16)] */
723         } in;
724
725         struct {
726                 WERROR result;
727         } out;
728
729 };
730
731
732 struct wkssvc_NetrLogonDomainNameDel {
733         struct {
734                 const char *domain_name;/* [ref,charset(UTF16)] */
735         } in;
736
737         struct {
738                 WERROR result;
739         } out;
740
741 };
742
743
744 struct wkssvc_NetrJoinDomain {
745         struct {
746                 const char *server_name;/* [unique,charset(UTF16)] */
747                 const char *domain_name;/* [ref,charset(UTF16)] */
748                 const char *account_ou;/* [unique,charset(UTF16)] */
749                 const char *Account;/* [unique,charset(UTF16)] */
750                 const char *password;/* [unique,charset(UTF16)] */
751                 uint32_t join_flags;
752         } in;
753
754         struct {
755                 WERROR result;
756         } out;
757
758 };
759
760
761 struct wkssvc_NetrUnjoinDomain {
762         struct {
763                 const char *server_name;/* [unique,charset(UTF16)] */
764                 const char *Account;/* [unique,charset(UTF16)] */
765                 const char *password;/* [unique,charset(UTF16)] */
766                 uint32_t unjoin_flags;
767         } in;
768
769         struct {
770                 WERROR result;
771         } out;
772
773 };
774
775
776 struct wkssvc_NetrRenameMachineInDomain {
777         struct {
778                 const char *server_name;/* [unique,charset(UTF16)] */
779                 const char *NewMachineName;/* [unique,charset(UTF16)] */
780                 const char *Account;/* [unique,charset(UTF16)] */
781                 const char *password;/* [unique,charset(UTF16)] */
782                 uint32_t RenameOptions;
783         } in;
784
785         struct {
786                 WERROR result;
787         } out;
788
789 };
790
791
792 struct wkssvc_NetrValidateName {
793         struct {
794                 const char *server_name;/* [unique,charset(UTF16)] */
795                 const char *name;/* [ref,charset(UTF16)] */
796                 const char *Account;/* [unique,charset(UTF16)] */
797                 const char *Password;/* [unique,charset(UTF16)] */
798                 enum wkssvc_NetValidateNameType name_type;
799         } in;
800
801         struct {
802                 WERROR result;
803         } out;
804
805 };
806
807
808 struct wkssvc_NetrGetJoinInformation {
809         struct {
810                 const char *server_name;/* [unique,charset(UTF16)] */
811                 const char **name_buffer;/* [ref,charset(UTF16)] */
812         } in;
813
814         struct {
815                 enum wkssvc_NetJoinStatus *name_type;/* [ref] */
816                 const char **name_buffer;/* [ref,charset(UTF16)] */
817                 WERROR result;
818         } out;
819
820 };
821
822
823 struct wkssvc_NetrGetJoinableOus {
824         struct {
825                 const char *server_name;/* [unique,charset(UTF16)] */
826                 const char *domain_name;/* [ref,charset(UTF16)] */
827                 const char *Account;/* [unique,charset(UTF16)] */
828                 const char *unknown;/* [unique,charset(UTF16)] */
829                 uint32_t *num_ous;/* [ref] */
830         } in;
831
832         struct {
833                 const char ***ous;/* [ref,charset(UTF16),size_is(*num_ous)] */
834                 uint32_t *num_ous;/* [ref] */
835                 WERROR result;
836         } out;
837
838 };
839
840
841 struct wkssvc_NetrJoinDomain2 {
842         struct {
843                 const char *server_name;/* [unique,charset(UTF16)] */
844                 const char *domain_name;/* [ref,charset(UTF16)] */
845                 const char *account_ou;/* [unique,charset(UTF16)] */
846                 const char *admin_account;/* [unique,charset(UTF16)] */
847                 struct wkssvc_PasswordBuffer *encrypted_password;/* [unique] */
848                 uint32_t join_flags;
849         } in;
850
851         struct {
852                 WERROR result;
853         } out;
854
855 };
856
857
858 struct wkssvc_NetrUnjoinDomain2 {
859         struct {
860                 const char *server_name;/* [unique,charset(UTF16)] */
861                 const char *account;/* [unique,charset(UTF16)] */
862                 struct wkssvc_PasswordBuffer *encrypted_password;/* [unique] */
863                 uint32_t unjoin_flags;
864         } in;
865
866         struct {
867                 WERROR result;
868         } out;
869
870 };
871
872
873 struct wkssvc_NetrRenameMachineInDomain2 {
874         struct {
875                 const char *server_name;/* [unique,charset(UTF16)] */
876                 const char *NewMachineName;/* [unique,charset(UTF16)] */
877                 const char *Account;/* [unique,charset(UTF16)] */
878                 struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */
879                 uint32_t RenameOptions;
880         } in;
881
882         struct {
883                 WERROR result;
884         } out;
885
886 };
887
888
889 struct wkssvc_NetrValidateName2 {
890         struct {
891                 const char *server_name;/* [unique,charset(UTF16)] */
892                 const char *name;/* [ref,charset(UTF16)] */
893                 const char *Account;/* [unique,charset(UTF16)] */
894                 struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */
895                 enum wkssvc_NetValidateNameType name_type;
896         } in;
897
898         struct {
899                 WERROR result;
900         } out;
901
902 };
903
904
905 struct wkssvc_NetrGetJoinableOus2 {
906         struct {
907                 const char *server_name;/* [unique,charset(UTF16)] */
908                 const char *domain_name;/* [ref,charset(UTF16)] */
909                 const char *Account;/* [unique,charset(UTF16)] */
910                 struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */
911                 uint32_t *num_ous;/* [ref] */
912         } in;
913
914         struct {
915                 const char ***ous;/* [ref,charset(UTF16),size_is(*num_ous)] */
916                 uint32_t *num_ous;/* [ref] */
917                 WERROR result;
918         } out;
919
920 };
921
922
923 struct wkssvc_NetrAddAlternateComputerName {
924         struct {
925                 const char *server_name;/* [unique,charset(UTF16)] */
926                 const char *NewAlternateMachineName;/* [unique,charset(UTF16)] */
927                 const char *Account;/* [unique,charset(UTF16)] */
928                 struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */
929                 uint32_t Reserved;
930         } in;
931
932         struct {
933                 WERROR result;
934         } out;
935
936 };
937
938
939 struct wkssvc_NetrRemoveAlternateComputerName {
940         struct {
941                 const char *server_name;/* [unique,charset(UTF16)] */
942                 const char *AlternateMachineNameToRemove;/* [unique,charset(UTF16)] */
943                 const char *Account;/* [unique,charset(UTF16)] */
944                 struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */
945                 uint32_t Reserved;
946         } in;
947
948         struct {
949                 WERROR result;
950         } out;
951
952 };
953
954
955 struct wkssvc_NetrSetPrimaryComputername {
956         struct {
957                 const char *server_name;/* [unique,charset(UTF16)] */
958                 const char *primary_name;/* [unique,charset(UTF16)] */
959                 const char *Account;/* [unique,charset(UTF16)] */
960                 struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */
961                 uint32_t Reserved;
962         } in;
963
964         struct {
965                 WERROR result;
966         } out;
967
968 };
969
970
971 struct wkssvc_NetrEnumerateComputerNames {
972         struct {
973                 const char *server_name;/* [unique,charset(UTF16)] */
974                 enum wkssvc_ComputerNameType name_type;
975                 uint32_t Reserved;
976         } in;
977
978         struct {
979                 struct wkssvc_ComputerNamesCtr **ctr;/* [ref] */
980                 WERROR result;
981         } out;
982
983 };
984
985 #endif /* _HEADER_wkssvc */