r6247: added the server side code for receiving mailslot requests, and
[samba.git] / source / 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   depends(srvsvc)
12 ] interface wkssvc
13 {
14         declare enum srvsvc_PlatformId;
15
16 #define BOOL uint32
17
18         /******************/
19         /* Function: 0x00 */
20
21         typedef struct {
22                 srvsvc_PlatformId platform_id;
23                 unistr *server_name;
24                 unistr *domain_name;
25                 uint32 version_major;
26                 uint32 version_minor;
27         } wkssvc_NetWkstaInfo100;
28
29         typedef struct {
30                 srvsvc_PlatformId platform_id;
31                 unistr *server_name;
32                 unistr *domain_name;
33                 uint32 version_major;
34                 uint32 version_minor;
35                 unistr *lan_root;
36         } wkssvc_NetWkstaInfo101;
37
38         typedef struct {
39                 srvsvc_PlatformId platform_id;
40                 unistr *server_name;
41                 unistr *domain_name;
42                 uint32 version_major;
43                 uint32 version_minor;
44                 unistr *lan_root;
45                 uint32 logged_on_users;
46         } wkssvc_NetWkstaInfo102;
47
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;
85
86         typedef union {
87                 [case(100)] wkssvc_NetWkstaInfo100 *info100;
88                 [case(101)] wkssvc_NetWkstaInfo101 *info101;
89                 [case(102)] wkssvc_NetWkstaInfo102 *info102;
90                 [case(502)] wkssvc_NetWkstaInfo502 *info502;
91                 [default] ;
92         } wkssvc_NetWkstaInfo;
93
94         WERROR wkssvc_NetWkstaGetInfo(
95                 [in]   unistr *server_name,
96                 [in]   uint32 level,
97                 [out,switch_is(level)]  wkssvc_NetWkstaInfo info
98                 );
99
100
101         /******************/
102         /* Function: 0x01 */
103         WERROR wkssvc_NetWkstaSetInfo(
104                 [in]   unistr *server_name,
105                 [in]   uint32 level,
106                 [in,switch_is(level)]  wkssvc_NetWkstaInfo info,
107                 [in,out]   uint32 *parm_error
108                 );
109
110         /*****************************/
111         /* Function        0x02      */
112         WERROR WKSSVC_NETRWKSTAUSERENUM ();
113
114         /*****************************/
115         /* Function        0x03      */
116         WERROR WKSSVC_NETRWKSTAUSERGETINFO ();
117
118         /*****************************/
119         /* Function        0x04      */
120         WERROR WKSSVC_NETRWKSTAUSERSETINFO ();
121
122
123         /*****************************/
124         /* Function        0x05      */
125
126         typedef struct {
127                 uint32 quality_of_service;
128                 uint32 vc_count;
129                 unistr *name;
130                 unistr *address;
131                 uint32 wan_link;
132         } wkssvc_NetWkstaTransportInfo0;
133
134         typedef struct {
135                 uint32 count;
136                 [size_is(count)] wkssvc_NetWkstaTransportInfo0 *array[];
137         } wkssvc_NetWkstaTransportCtr0;
138
139         typedef union {
140                 [case(0)] wkssvc_NetWkstaTransportCtr0 *ctr0;
141                 [default] ;
142         } wkssvc_NetWkstaTransportCtr;
143
144         WERROR wkssvc_NetWkstaTransportEnum (
145                 [in]         unistr *server_name,
146                 [in,out]     uint32 level,
147                 [in,out,switch_is(level)] wkssvc_NetWkstaTransportCtr ctr,
148                 [in]         uint32 max_buffer,
149                 [out]        uint32 totalentries,
150                 [in,out]     uint32 *resume_handle
151                 );
152
153
154         /*****************************/
155         /* Function        0x06      */
156         WERROR WKSSVC_NETRWKSTATRANSPORTADD ();
157
158         /*****************************/
159         /* Function        0x07      */
160         WERROR WKSSVC_NETRWKSTATRANSPORTDEL ();
161
162         /*****************************/
163         /* Function        0x08      */
164         WERROR WKSSVC_NETRUSEADD ();
165
166         /*****************************/
167         /* Function        0x09      */
168         WERROR WKSSVC_NETRUSEGETINFO ();
169
170         /*****************************/
171         /* Function        0x0a      */
172         WERROR WKSSVC_NETRUSEDEL ();
173
174         /*****************************/
175         /* Function        0x0b      */
176         WERROR WKSSVC_NETRUSEENUM ();
177
178         /*****************************/
179         /* Function        0x0c      */
180         WERROR WKSSVC_NETRMESSAGEBUFFERSEND ();
181
182         /*****************************/
183         /* Function        0x0d      */
184         WERROR WKSSVC_NETRWORKSTATIONSTATISTICSGET ();
185
186         /*****************************/
187         /* Function        0x0e      */
188         WERROR WKSSVC_NETRLOGONDOMAINNAMEADD ();
189
190         /*****************************/
191         /* Function        0x0f      */
192         WERROR WKSSVC_NETRLOGONDOMAINNAMEDEL ();
193
194         /*****************************/
195         /* Function        0x10      */
196         WERROR WKSSVC_NETRJOINDOMAIN ();
197
198         /*****************************/
199         /* Function        0x11      */
200         WERROR WKSSVC_NETRUNJOINDOMAIN ();
201
202         /*****************************/
203         /* Function        0x12      */
204         WERROR WKSSVC_NETRRENAMEMACHINEINDOMAIN ();
205
206         /*****************************/
207         /* Function        0x13      */
208         WERROR WKSSVC_NETRVALIDATENAME ();
209
210         /*****************************/
211         /* Function        0x14      */
212         WERROR WKSSVC_NETRGETJOININFORMATION ();
213
214         /*****************************/
215         /* Function        0x15      */
216         WERROR WKSSVC_NETRGETJOINABLEOUS ();
217
218         /*****************************/
219         /* Function        0x16      */
220         WERROR WKSSVC_NETRJOINDOMAIN2 ();
221
222         /*****************************/
223         /* Function        0x17      */
224         WERROR WKSSVC_NETRUNJOINDOMAIN2 ();
225
226         /*****************************/
227         /* Function        0x18      */
228         WERROR WKSSVC_NETRRENAMEMACHINEINDOMAIN2 ();
229
230         /*****************************/
231         /* Function        0x19      */
232         WERROR WKSSVC_NETRVALIDATENAME2 ();
233
234         /*****************************/
235         /* Function        0x1a      */
236         WERROR WKSSVC_NETRGETJOINABLEOUS2 ();
237
238         /*****************************/
239         /* Function        0x1b      */
240         WERROR WKSSVC_NETRADDALTERNATECOMPUTERNAME ();
241
242         /*****************************/
243         /* Function        0x1c      */
244         WERROR WKSSVC_NETRREMOVEALTERNATECOMPUTERNAME ();
245
246         /*****************************/
247         /* Function        0x1d      */
248         WERROR WKSSVC_NETRSETPRIMARYCOMPUTERNAME ();
249
250         /*****************************/
251         /* Function        0x1e      */
252         WERROR WKSSVC_NETRENUMERATECOMPUTERNAMES ();
253 }