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