a948f53dbf2809e4cd9f00153d6353ba1f9c11a8
[sfrench/samba-autobuild/.git] / source4 / librpc / idl / wkssvc.idl
1 #include "idl_types.h"
2
3 /*
4   wkssvc interface definitions
5 */
6
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   depends(srvsvc)
13 ] interface wkssvc
14 {
15         declare enum srvsvc_PlatformId;
16
17 #define BOOL uint32
18
19         /******************/
20         /* Function: 0x00 */
21
22         typedef struct {
23                 srvsvc_PlatformId platform_id;
24                 unistr *server_name;
25                 unistr *domain_name;
26                 uint32 version_major;
27                 uint32 version_minor;
28         } wkssvc_NetWkstaInfo100;
29
30         typedef struct {
31                 srvsvc_PlatformId platform_id;
32                 unistr *server_name;
33                 unistr *domain_name;
34                 uint32 version_major;
35                 uint32 version_minor;
36                 unistr *lan_root;
37         } wkssvc_NetWkstaInfo101;
38
39         typedef struct {
40                 srvsvc_PlatformId platform_id;
41                 unistr *server_name;
42                 unistr *domain_name;
43                 uint32 version_major;
44                 uint32 version_minor;
45                 unistr *lan_root;
46                 uint32 logged_on_users;
47         } wkssvc_NetWkstaInfo102;
48
49         typedef struct {
50                 uint32 char_wait;
51                 uint32 collection_time;
52                 uint32 maximum_collection_count;
53                 uint32 keep_connection;
54                 uint32 max_commands;
55                 uint32 session_timeout;
56                 uint32 size_char_buf;
57                 uint32 max_threads;
58                 uint32 lock_quota;
59                 uint32 lock_increment;
60                 uint32 lock_maximum;
61                 uint32 pipe_increment;
62                 uint32 pipe_maximum;
63                 uint32 cache_file_timeout;
64                 uint32 dormant_file_limit;
65                 uint32 read_ahead_throughput;
66                 uint32 num_mailslot_buffers;
67                 uint32 num_srv_announce_buffers;
68                 uint32 max_illegal_dgram_events;
69                 uint32 dgram_event_reset_freq;
70                 BOOL log_election_packets;
71                 BOOL use_opportunistic_locking;
72                 BOOL use_unlock_behind;
73                 BOOL use_close_behind;
74                 BOOL buf_named_pipes;
75                 BOOL use_lock_read_unlock;
76                 BOOL utilize_nt_caching;
77                 BOOL use_raw_read;
78                 BOOL use_raw_write;
79                 BOOL use_write_raw_data;
80                 BOOL use_encryption;
81                 BOOL buf_files_deny_write;
82                 BOOL buf_read_only_files;
83                 BOOL force_core_create_mode;
84                 BOOL use_512_byte_max_transfer;
85         } wkssvc_NetWkstaInfo502;
86
87         typedef union {
88                 [case(100)] wkssvc_NetWkstaInfo100 *info100;
89                 [case(101)] wkssvc_NetWkstaInfo101 *info101;
90                 [case(102)] wkssvc_NetWkstaInfo102 *info102;
91                 [case(502)] wkssvc_NetWkstaInfo502 *info502;
92                 [default] ;
93         } wkssvc_NetWkstaInfo;
94
95         WERROR wkssvc_NetWkstaGetInfo(
96                 [in]   unistr *server_name,
97                 [in]   uint32 level,
98                 [out,switch_is(level)]  wkssvc_NetWkstaInfo info
99                 );
100
101
102         /******************/
103         /* Function: 0x01 */
104         WERROR wkssvc_NetWkstaSetInfo(
105                 [in]   unistr *server_name,
106                 [in]   uint32 level,
107                 [in,switch_is(level)]  wkssvc_NetWkstaInfo info,
108                 [in,out]   uint32 *parm_error
109                 );
110
111         /*****************************/
112         /* Function        0x02      */
113         WERROR WKSSVC_NETRWKSTAUSERENUM ();
114
115         /*****************************/
116         /* Function        0x03      */
117         WERROR WKSSVC_NETRWKSTAUSERGETINFO ();
118
119         /*****************************/
120         /* Function        0x04      */
121         WERROR WKSSVC_NETRWKSTAUSERSETINFO ();
122
123
124         /*****************************/
125         /* Function        0x05      */
126
127         typedef struct {
128                 uint32 quality_of_service;
129                 uint32 vc_count;
130                 unistr *name;
131                 unistr *address;
132                 uint32 wan_link;
133         } wkssvc_NetWkstaTransportInfo0;
134
135         typedef struct {
136                 uint32 count;
137                 [size_is(count)] wkssvc_NetWkstaTransportInfo0 *array[];
138         } wkssvc_NetWkstaTransportCtr0;
139
140         typedef union {
141                 [case(0)] wkssvc_NetWkstaTransportCtr0 *ctr0;
142                 [default] ;
143         } wkssvc_NetWkstaTransportCtr;
144
145         WERROR wkssvc_NetWkstaTransportEnum (
146                 [in]         unistr *server_name,
147                 [in,out]     uint32 level,
148                 [in,out,switch_is(level)] wkssvc_NetWkstaTransportCtr ctr,
149                 [in]         uint32 max_buffer,
150                 [out]        uint32 totalentries,
151                 [in,out]     uint32 *resume_handle
152                 );
153
154
155         /*****************************/
156         /* Function        0x06      */
157         WERROR WKSSVC_NETRWKSTATRANSPORTADD ();
158
159         /*****************************/
160         /* Function        0x07      */
161         WERROR WKSSVC_NETRWKSTATRANSPORTDEL ();
162
163         /*****************************/
164         /* Function        0x08      */
165         WERROR WKSSVC_NETRUSEADD ();
166
167         /*****************************/
168         /* Function        0x09      */
169         WERROR WKSSVC_NETRUSEGETINFO ();
170
171         /*****************************/
172         /* Function        0x0a      */
173         WERROR WKSSVC_NETRUSEDEL ();
174
175         /*****************************/
176         /* Function        0x0b      */
177         WERROR WKSSVC_NETRUSEENUM ();
178
179         /*****************************/
180         /* Function        0x0c      */
181         WERROR WKSSVC_NETRMESSAGEBUFFERSEND ();
182
183         /*****************************/
184         /* Function        0x0d      */
185         WERROR WKSSVC_NETRWORKSTATIONSTATISTICSGET ();
186
187         /*****************************/
188         /* Function        0x0e      */
189         WERROR WKSSVC_NETRLOGONDOMAINNAMEADD ();
190
191         /*****************************/
192         /* Function        0x0f      */
193         WERROR WKSSVC_NETRLOGONDOMAINNAMEDEL ();
194
195         /*****************************/
196         /* Function        0x10      */
197         WERROR WKSSVC_NETRJOINDOMAIN ();
198
199         /*****************************/
200         /* Function        0x11      */
201         WERROR WKSSVC_NETRUNJOINDOMAIN ();
202
203         /*****************************/
204         /* Function        0x12      */
205         WERROR WKSSVC_NETRRENAMEMACHINEINDOMAIN ();
206
207         /*****************************/
208         /* Function        0x13      */
209         WERROR WKSSVC_NETRVALIDATENAME ();
210
211         /*****************************/
212         /* Function        0x14      */
213         WERROR WKSSVC_NETRGETJOININFORMATION ();
214
215         /*****************************/
216         /* Function        0x15      */
217         WERROR WKSSVC_NETRGETJOINABLEOUS ();
218
219         /*****************************/
220         /* Function        0x16      */
221         WERROR WKSSVC_NETRJOINDOMAIN2 ();
222
223         /*****************************/
224         /* Function        0x17      */
225         WERROR WKSSVC_NETRUNJOINDOMAIN2 ();
226
227         /*****************************/
228         /* Function        0x18      */
229         WERROR WKSSVC_NETRRENAMEMACHINEINDOMAIN2 ();
230
231         /*****************************/
232         /* Function        0x19      */
233         WERROR WKSSVC_NETRVALIDATENAME2 ();
234
235         /*****************************/
236         /* Function        0x1a      */
237         WERROR WKSSVC_NETRGETJOINABLEOUS2 ();
238
239         /*****************************/
240         /* Function        0x1b      */
241         WERROR WKSSVC_NETRADDALTERNATECOMPUTERNAME ();
242
243         /*****************************/
244         /* Function        0x1c      */
245         WERROR WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME ();
246
247         /*****************************/
248         /* Function        0x1d      */
249         WERROR WKSSVC_NETRSETPRIMARYCOMPUTERNAME ();
250
251         /*****************************/
252         /* Function        0x1e      */
253         WERROR WKSSVC_NETRENUMERATECOMPUTERNAMES ();
254 }