libcli/named_pipe_auth: we need to hide length of the message mode header from the...
[Samba/gebeck_regimport.git] / librpc / idl / rap.idl
blob3ba1ad544f9fc078d15889076280a8fee7e438eb
1 #include "idl_types.h"
3 /*
4 rap interface definition
5 */
8 pointer_default(unique)
10 interface rap
12 const int RAP_WshareEnum = 0;
13 const int RAP_WshareGetInfo = 1;
14 const int RAP_WshareSetInfo = 2;
15 const int RAP_WshareAdd = 3;
16 const int RAP_WshareDel = 4;
17 const int RAP_NetShareCheck = 5;
18 const int RAP_WsessionEnum = 6;
19 const int RAP_WsessionGetInfo = 7;
20 const int RAP_WsessionDel = 8;
21 const int RAP_WconnectionEnum = 9;
22 const int RAP_WfileEnum = 10;
23 const int RAP_WfileGetInfo = 11;
24 const int RAP_WfileClose = 12;
25 const int RAP_WserverGetInfo = 13;
26 const int RAP_WserverSetInfo = 14;
27 const int RAP_WserverDiskEnum = 15;
28 const int RAP_WserverAdminCommand = 16;
29 const int RAP_NetAuditOpen = 17;
30 const int RAP_WauditClear = 18;
31 const int RAP_NetErrorLogOpen = 19;
32 const int RAP_WerrorLogClear = 20;
33 const int RAP_NetCharDevEnum = 21;
34 const int RAP_NetCharDevGetInfo = 22;
35 const int RAP_WCharDevControl = 23;
36 const int RAP_NetCharDevQEnum = 24;
37 const int RAP_NetCharDevQGetInfo = 25;
38 const int RAP_WCharDevQSetInfo = 26;
39 const int RAP_WCharDevQPurge = 27;
40 const int RAP_WCharDevQPurgeSelf = 28;
41 const int RAP_WMessageNameEnum = 29;
42 const int RAP_WMessageNameGetInfo = 30;
43 const int RAP_WMessageNameAdd = 31;
44 const int RAP_WMessageNameDel = 32;
45 const int RAP_WMessageNameFwd = 33;
46 const int RAP_WMessageNameUnFwd = 34;
47 const int RAP_WMessageBufferSend = 35;
48 const int RAP_WMessageFileSend = 36;
49 const int RAP_WMessageLogFileSet = 37;
50 const int RAP_WMessageLogFileGet = 38;
51 const int RAP_WServiceEnum = 39;
52 const int RAP_WServiceInstall = 40;
53 const int RAP_WServiceControl = 41;
54 const int RAP_WAccessEnum = 42;
55 const int RAP_WAccessGetInfo = 43;
56 const int RAP_WAccessSetInfo = 44;
57 const int RAP_WAccessAdd = 45;
58 const int RAP_WAccessDel = 46;
59 const int RAP_WGroupEnum = 47;
60 const int RAP_WGroupAdd = 48;
61 const int RAP_WGroupDel = 49;
62 const int RAP_WGroupAddUser = 50;
63 const int RAP_WGroupDelUser = 51;
64 const int RAP_WGroupGetUsers = 52;
65 const int RAP_WUserEnum = 53;
66 const int RAP_WUserAdd = 54;
67 const int RAP_WUserDel = 55;
68 const int RAP_WUserGetInfo = 56;
69 const int RAP_WUserSetInfo = 57;
70 const int RAP_WUserPasswordSet = 58;
71 const int RAP_WUserGetGroups = 59;
72 const int RAP_WWkstaSetUID = 62;
73 const int RAP_WWkstaGetInfo = 63;
74 const int RAP_WWkstaSetInfo = 64;
75 const int RAP_WUseEnum = 65;
76 const int RAP_WUseAdd = 66;
77 const int RAP_WUseDel = 67;
78 const int RAP_WUseGetInfo = 68;
79 const int RAP_WPrintQEnum = 69;
80 const int RAP_WPrintQGetInfo = 70;
81 const int RAP_WPrintQSetInfo = 71;
82 const int RAP_WPrintQAdd = 72;
83 const int RAP_WPrintQDel = 73;
84 const int RAP_WPrintQPause = 74;
85 const int RAP_WPrintQContinue = 75;
86 const int RAP_WPrintJobEnum = 76;
87 const int RAP_WPrintJobGetInfo = 77;
88 const int RAP_WPrintJobSetInfo_OLD = 78;
89 const int RAP_WPrintJobDel = 81;
90 const int RAP_WPrintJobPause = 82;
91 const int RAP_WPrintJobContinue = 83;
92 const int RAP_WPrintDestEnum = 84;
93 const int RAP_WPrintDestGetInfo = 85;
94 const int RAP_WPrintDestControl = 86;
95 const int RAP_WProfileSave = 87;
96 const int RAP_WProfileLoad = 88;
97 const int RAP_WStatisticsGet = 89;
98 const int RAP_WStatisticsClear = 90;
99 const int RAP_NetRemoteTOD = 91;
100 const int RAP_WNetBiosEnum = 92;
101 const int RAP_WNetBiosGetInfo = 93;
102 const int RAP_NetServerEnum = 94;
103 const int RAP_I_NetServerEnum = 95;
104 const int RAP_WServiceGetInfo = 96;
105 const int RAP_WPrintQPurge = 103;
106 const int RAP_NetServerEnum2 = 104;
107 const int RAP_WAccessGetUserPerms = 105;
108 const int RAP_WGroupGetInfo = 106;
109 const int RAP_WGroupSetInfo = 107;
110 const int RAP_WGroupSetUsers = 108;
111 const int RAP_WUserSetGroups = 109;
112 const int RAP_WUserModalsGet = 110;
113 const int RAP_WUserModalsSet = 111;
114 const int RAP_WFileEnum2 = 112;
115 const int RAP_WUserAdd2 = 113;
116 const int RAP_WUserSetInfo2 = 114;
117 const int RAP_WUserPasswordSet2 = 115;
118 const int RAP_I_NetServerEnum2 = 116;
119 const int RAP_WConfigGet2 = 117;
120 const int RAP_WConfigGetAll2 = 118;
121 const int RAP_WGetDCName = 119;
122 const int RAP_NetHandleGetInfo = 120;
123 const int RAP_NetHandleSetInfo = 121;
124 const int RAP_WStatisticsGet2 = 122;
125 const int RAP_WBuildGetInfo = 123;
126 const int RAP_WFileGetInfo2 = 124;
127 const int RAP_WFileClose2 = 125;
128 const int RAP_WNetServerReqChallenge = 126;
129 const int RAP_WNetServerAuthenticate = 127;
130 const int RAP_WNetServerPasswordSet = 128;
131 const int RAP_WNetAccountDeltas = 129;
132 const int RAP_WNetAccountSync = 130;
133 const int RAP_WUserEnum2 = 131;
134 const int RAP_WWkstaUserLogon = 132;
135 const int RAP_WWkstaUserLogoff = 133;
136 const int RAP_WLogonEnum = 134;
137 const int RAP_WErrorLogRead = 135;
138 const int RAP_NetPathType = 136;
139 const int RAP_NetPathCanonicalize = 137;
140 const int RAP_NetPathCompare = 138;
141 const int RAP_NetNameValidate = 139;
142 const int RAP_NetNameCanonicalize = 140;
143 const int RAP_NetNameCompare = 141;
144 const int RAP_WAuditRead = 142;
145 const int RAP_WPrintDestAdd = 143;
146 const int RAP_WPrintDestSetInfo = 144;
147 const int RAP_WPrintDestDel = 145;
148 const int RAP_WUserValidate2 = 146;
149 const int RAP_WPrintJobSetInfo = 147;
150 const int RAP_TI_NetServerDiskEnum = 148;
151 const int RAP_TI_NetServerDiskGetInfo = 149;
152 const int RAP_TI_FTVerifyMirror = 150;
153 const int RAP_TI_FTAbortVerify = 151;
154 const int RAP_TI_FTGetInfo = 152;
155 const int RAP_TI_FTSetInfo = 153;
156 const int RAP_TI_FTLockDisk = 154;
157 const int RAP_TI_FTFixError = 155;
158 const int RAP_TI_FTAbortFix = 156;
159 const int RAP_TI_FTDiagnoseError = 157;
160 const int RAP_TI_FTGetDriveStats = 158;
161 const int RAP_TI_FTErrorGetInfo = 160;
162 const int RAP_NetAccessCheck = 163;
163 const int RAP_NetAlertRaise = 164;
164 const int RAP_NetAlertStart = 165;
165 const int RAP_NetAlertStop = 166;
166 const int RAP_NetAuditWrite = 167;
167 const int RAP_NetIRemoteAPI = 168;
168 const int RAP_NetServiceStatus = 169;
169 const int RAP_NetServerRegister = 170;
170 const int RAP_NetServerDeregister = 171;
171 const int RAP_NetSessionEntryMake = 172;
172 const int RAP_NetSessionEntryClear = 173;
173 const int RAP_NetSessionEntryGetInfo = 174;
174 const int RAP_NetSessionEntrySetInfo = 175;
175 const int RAP_NetConnectionEntryMake = 176;
176 const int RAP_NetConnectionEntryClear = 177;
177 const int RAP_NetConnectionEntrySetInfo = 178;
178 const int RAP_NetConnectionEntryGetInfo = 179;
179 const int RAP_NetFileEntryMake = 180;
180 const int RAP_NetFileEntryClear = 181;
181 const int RAP_NetFileEntrySetInfo = 182;
182 const int RAP_NetFileEntryGetInfo = 183;
183 const int RAP_AltSrvMessageBufferSend = 184;
184 const int RAP_AltSrvMessageFileSend = 185;
185 const int RAP_wI_NetRplWkstaEnum = 186;
186 const int RAP_wI_NetRplWkstaGetInfo = 187;
187 const int RAP_wI_NetRplWkstaSetInfo = 188;
188 const int RAP_wI_NetRplWkstaAdd = 189;
189 const int RAP_wI_NetRplWkstaDel = 190;
190 const int RAP_wI_NetRplProfileEnum = 191;
191 const int RAP_wI_NetRplProfileGetInfo = 192;
192 const int RAP_wI_NetRplProfileSetInfo = 193;
193 const int RAP_wI_NetRplProfileAdd = 194;
194 const int RAP_wI_NetRplProfileDel = 195;
195 const int RAP_wI_NetRplProfileClone = 196;
196 const int RAP_wI_NetRplBaseProfileEnum = 197;
197 const int RAP_WIServerSetInfo = 201;
198 const int RAP_WPrintDriverEnum = 205;
199 const int RAP_WPrintQProcessorEnum = 206;
200 const int RAP_WPrintPortEnum = 207;
201 const int RAP_WNetWriteUpdateLog = 208;
202 const int RAP_WNetAccountUpdate = 209;
203 const int RAP_WNetAccountConfirmUpdate = 210;
204 const int RAP_WConfigSet = 211;
205 const int RAP_WAccountsReplicate = 212;
206 const int RAP_SamOEMChgPasswordUser2_P = 214;
207 const int RAP_NetServerEnum3 = 215;
208 const int RAP_WprintDriverGetInfo = 250;
209 const int RAP_WprintDriverSetInfo = 251;
210 const int RAP_WaliasAdd = 252;
211 const int RAP_WaliasDel = 253;
212 const int RAP_WaliasGetInfo = 254;
213 const int RAP_WaliasSetInfo = 255;
214 const int RAP_WaliasEnum = 256;
215 const int RAP_WuserGetLogonAsn = 257;
216 const int RAP_WuserSetLogonAsn = 258;
217 const int RAP_WuserGetAppSel = 259;
218 const int RAP_WuserSetAppSel = 260;
219 const int RAP_WappAdd = 261;
220 const int RAP_WappDel = 262;
221 const int RAP_WappGetInfo = 263;
222 const int RAP_WappSetInfo = 264;
223 const int RAP_WappEnum = 265;
224 const int RAP_WUserDCDBInit = 266;
225 const int RAP_WDASDAdd = 267;
226 const int RAP_WDASDDel = 268;
227 const int RAP_WDASDGetInfo = 269;
228 const int RAP_WDASDSetInfo = 270;
229 const int RAP_WDASDEnum = 271;
230 const int RAP_WDASDCheck = 272;
231 const int RAP_WDASDCtl = 273;
232 const int RAP_WuserRemoteLogonCheck = 274;
233 const int RAP_WUserPasswordSet3 = 275;
234 const int RAP_WCreateRIPLMachine = 276;
235 const int RAP_WDeleteRIPLMachine = 277;
236 const int RAP_WGetRIPLMachineInfo = 278;
237 const int RAP_WSetRIPLMachineInfo = 279;
238 const int RAP_WEnumRIPLMachine = 280;
239 const int RAP_I_ShareAdd = 281;
240 const int RAP_AliasEnum = 282;
241 const int RAP_WaccessApply = 283;
242 const int RAP_WPrt16Query = 284;
243 const int RAP_WPrt16Set = 285;
244 const int RAP_WUserDel100 = 286;
245 const int RAP_WUserRemoteLogonCheck2 = 287;
246 const int RAP_WRemoteTODSet = 294;
247 const int RAP_WprintJobMoveAll = 295;
248 const int RAP_W16AppParmAdd = 296;
249 const int RAP_W16AppParmDel = 297;
250 const int RAP_W16AppParmGet = 298;
251 const int RAP_W16AppParmSet = 299;
252 const int RAP_W16RIPLMachineCreate = 300;
253 const int RAP_W16RIPLMachineGetInfo = 301;
254 const int RAP_W16RIPLMachineSetInfo = 302;
255 const int RAP_W16RIPLMachineEnum = 303;
256 const int RAP_W16RIPLMachineListParmEnum = 304;
257 const int RAP_W16RIPLMachClassGetInfo = 305;
258 const int RAP_W16RIPLMachClassEnum = 306;
259 const int RAP_W16RIPLMachClassCreate = 307;
260 const int RAP_W16RIPLMachClassSetInfo = 308;
261 const int RAP_W16RIPLMachClassDelete = 309;
262 const int RAP_W16RIPLMachClassLPEnum = 310;
263 const int RAP_W16RIPLMachineDelete = 311;
264 const int RAP_W16WSLevelGetInfo = 312;
265 const int RAP_WserverNameAdd = 313;
266 const int RAP_WserverNameDel = 314;
267 const int RAP_WserverNameEnum = 315;
268 const int RAP_I_WDASDEnum = 316;
269 const int RAP_WDASDEnumTerminate = 317;
270 const int RAP_WDASDSetInfo2 = 318;
271 const int MAX_API = 318;
273 /* sizes of fixed-length fields, including null terminator */
274 const int RAP_GROUPNAME_LEN = 21;
275 const int RAP_USERNAME_LEN = 21;
276 const int RAP_SHARENAME_LEN = 13;
277 const int RAP_UPASSWD_LEN = 16; /* user password */
278 const int RAP_SPASSWD_LEN = 9; /* share password */
279 const int RAP_MACHNAME_LEN = 16;
280 const int RAP_SRVCNAME_LEN = 16;
281 const int RAP_SRVCCMNT_LEN = 64;
282 const int RAP_DATATYPE_LEN = 10;
284 typedef struct {
285 uint8 group_name[21];
286 char reserved1;
287 [string,charset(DOS)] uint8 *comment;
288 } rap_group_info_1;
290 typedef struct {
291 uint8 user_name[21];
292 char reserved1;
293 uint8 passwrd[16];
294 uint32 pwage;
295 uint16 priv;
296 [string,charset(DOS)] uint8 *home_dir;
297 [string,charset(DOS)] uint8 *comment;
298 uint16 userflags;
299 [string,charset(DOS)] uint8 *logon_script;
300 } rap_user_info_1;
302 typedef struct {
303 uint8 service_name[16];
304 uint16 status;
305 uint32 installcode;
306 uint16 process_num;
307 [string,charset(DOS)] uint8 *comment;
308 } rap_service_info_2;
310 typedef struct {
311 uint8 share_name[13];
312 } rap_share_info_0;
314 typedef struct {
315 uint8 share_name[13];
316 char reserved1;
317 uint16 share_type;
318 [string,charset(DOS)] uint8 *comment;
319 } rap_share_info_1;
321 typedef struct {
322 uint8 share_name[13];
323 char reserved1;
324 uint16 share_type;
325 [string,charset(DOS)] uint8 *comment;
326 uint16 perms;
327 uint16 maximum_users;
328 uint16 active_users;
329 [string,charset(DOS)] uint8 *path;
330 uint8 password[9];
331 char reserved2;
332 } rap_share_info_2;
334 typedef [nodiscriminant] union {
335 [case(0)] rap_share_info_0 info0;
336 [case(1)] rap_share_info_1 info1;
337 [case(2)] rap_share_info_2 info2;
338 } rap_share_info;
340 [public] void rap_NetShareEnum(
341 [in] uint16 level,
342 [in] uint16 bufsize,
343 [out] uint16 status,
344 [out] uint16 convert,
345 [out] uint16 count,
346 [out] uint16 available,
347 [out,switch_is(level)] rap_share_info *info
350 typedef struct {
351 uint8 name[16];
352 } rap_server_info_0;
354 typedef struct {
355 uint8 name[16];
356 uint8 version_major;
357 uint8 version_minor;
358 uint32 servertype;
359 [string,charset(DOS)] uint8 *comment;
360 } rap_server_info_1;
362 typedef [nodiscriminant] union {
363 [case(0)] rap_server_info_0 info0;
364 [case(1)] rap_server_info_1 info1;
365 } rap_server_info;
367 [public] void rap_NetServerEnum2(
368 [in] uint16 level,
369 [in] uint16 bufsize,
370 [in] uint32 servertype,
371 [in] [string,charset(DOS)] uint8 *domain,
372 [out] uint16 status,
373 [out] uint16 convert,
374 [out] uint16 count,
375 [out] uint16 available,
376 [out,switch_is(level)] rap_server_info *info
379 [public] void rap_WserverGetInfo(
380 [in] uint16 level,
381 [in] uint16 bufsize,
382 [out] uint16 status,
383 [out] uint16 convert,
384 [out] uint16 available,
385 [out,switch_is(level)] rap_server_info info
388 /* Parameter description strings for RAP calls */
389 /* Names are defined name for RAP call with _REQ */
390 /* appended to end. */
392 const string RAP_WFileEnum2_REQ = "zzWrLehb8g8";
393 const string RAP_WFileGetInfo2_REQ = "DWrLh";
394 const string RAP_WFileClose2_REQ = "D";
396 const string RAP_NetGroupEnum_REQ = "WrLeh";
397 const string RAP_NetGroupAdd_REQ = "WsT";
398 const string RAP_NetGroupDel_REQ = "z";
399 const string RAP_NetGroupAddUser_REQ = "zz";
400 const string RAP_NetGroupDelUser_REQ = "zz";
401 const string RAP_NetGroupGetUsers_REQ = "zWrLeh";
402 const string RAP_NetGroupSetUsers_REQ = "zWsTW";
404 const string RAP_NetUserAdd2_REQ = "WsTWW";
405 const string RAP_NetUserEnum_REQ = "WrLeh";
406 const string RAP_NetUserEnum2_REQ = "WrLDieh";
407 const string RAP_NetUserGetGroups_REQ = "zWrLeh";
408 const string RAP_NetUserSetGroups_REQ = "zWsTW";
409 const string RAP_NetUserPasswordSet_REQ = "zb16b16w";
410 const string RAP_NetUserPasswordSet2_REQ = "zb16b16WW";
411 const string RAP_SAMOEMChgPasswordUser2_REQ = "B516B16";
412 const string RAP_NetUserValidate2_REQ = "Wb62WWrLhWW";
414 const string RAP_NetServerEnum2_REQ = "WrLehDz";
415 const string RAP_WserverGetInfo_REQ = "WrLh";
416 const string RAP_NetWkstatGetInfo = "WrLh";
418 const string RAP_WShareAdd_REQ = "WsT";
419 const string RAP_WShareEnum_REQ = "WrLeh";
420 const string RAP_WShareDel_REQ = "zW";
421 const string RAP_WWkstaGetInfo_REQ = "WrLh";
423 const string RAP_NetPrintQEnum_REQ = "WrLeh";
424 const string RAP_NetPrintQGetInfo_REQ = "zWrLh";
426 const string RAP_NetServerAdminCommand_REQ = "zhrLeh";
427 const string RAP_NetServiceEnum_REQ = "WrLeh";
428 const string RAP_NetServiceControl_REQ = "zWWrL";
429 const string RAP_NetServiceInstall_REQ = "zF88sg88T";
430 const string RAP_NetServiceGetInfo_REQ = "zWrLh";
431 const string RAP_NetSessionEnum_REQ = "WrLeh";
432 const string RAP_NetSessionGetInfo_REQ = "zWrLh";
433 const string RAP_NetSessionDel_REQ = "zW";
435 const string RAP_NetConnectionEnum_REQ = "zWrLeh";
437 const string RAP_NetWkstaUserLogoff_REQ = "zzWb38WrLh";
439 /* Description strings for returned data in RAP calls */
440 /* I use all caps here in part to avoid accidental */
441 /* name collisions */
443 const string RAP_FILE_INFO_L2 = "D";
444 const string RAP_FILE_INFO_L3 = "DWWzz";
445 const string RAP_GROUP_INFO_L0 = "B21";
446 const string RAP_GROUP_INFO_L1 = "B21Bz";
447 const string RAP_GROUP_USERS_INFO_0 = "B21";
448 const string RAP_GROUP_USERS_INFO_1 = "B21BN";
450 const string RAP_USER_INFO_L0 = "B21";
451 const string RAP_USER_INFO_L1 = "B21BB16DWzzWz";
453 const string RAP_SERVER_INFO_L0 = "B16";
454 const string RAP_SERVER_INFO_L1 = "B16BBDz";
455 const string RAP_SERVER_INFO_L2 = "B16BBDzDDDWWzWWWWWWWB21BzWWWWWWWWWWWWWWWWWWWWWWz";
456 const string RAP_SERVER_INFO_L3 = "B16BBDzDDDWWzWWWWWWWB21BzWWWWWWWWWWWWWWWWWWWWWWzDWz";
457 const string RAP_SERVICE_INFO_L0 = "B16";
458 const string RAP_SERVICE_INFO_L2 = "B16WDWB64";
459 const string RAP_SHARE_INFO_L0 = "B13";
460 const string RAP_SHARE_INFO_L1 = "B13BWz";
461 const string RAP_SHARE_INFO_L2 = "B13BWzWWWzB9B";
463 const string RAP_PRINTQ_INFO_L2 = "B13BWWWzzzzzWN";
464 const string RAP_SMB_PRINT_JOB_L1 = "WB21BB16B10zWWzDDz";
466 const string RAP_SESSION_INFO_L2 = "zzWWWDDDz";
467 const string RAP_CONNECTION_INFO_L1 = "WWWWDzz";
469 const string RAP_USER_LOGOFF_INFO_L1 = "WDW";
471 const string RAP_WKSTA_INFO_L1 = "WDzzzzBBDWDWWWWWWWWWWWWWWWWWWWzzWzzW";
472 const string RAP_WKSTA_INFO_L10 = "zzzBBzz";