r23792: convert Samba4 to GPLv3
[metze/samba/wip.git] / source4 / libcli / rap / rap.h
1 /* 
2    Unix SMB/CIFS implementation.
3    RAP operations
4    Copyright (C) Volker Lendecke 2004
5    
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 3 of the License, or
9    (at your option) any later version.
10    
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15    
16    You should have received a copy of the GNU General Public License
17    along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #define RAP_WshareEnum                          0
21 #define RAP_WshareGetInfo                       1
22 #define RAP_WshareSetInfo                       2
23 #define RAP_WshareAdd                           3
24 #define RAP_WshareDel                           4
25 #define RAP_NetShareCheck                       5
26 #define RAP_WsessionEnum                        6
27 #define RAP_WsessionGetInfo                     7
28 #define RAP_WsessionDel                         8
29 #define RAP_WconnectionEnum                     9
30 #define RAP_WfileEnum                           10
31 #define RAP_WfileGetInfo                        11
32 #define RAP_WfileClose                          12
33 #define RAP_WserverGetInfo                      13
34 #define RAP_WserverSetInfo                      14
35 #define RAP_WserverDiskEnum                     15
36 #define RAP_WserverAdminCommand                 16
37 #define RAP_NetAuditOpen                        17
38 #define RAP_WauditClear                         18
39 #define RAP_NetErrorLogOpen                     19
40 #define RAP_WerrorLogClear                      20
41 #define RAP_NetCharDevEnum                      21
42 #define RAP_NetCharDevGetInfo                   22
43 #define RAP_WCharDevControl                     23
44 #define RAP_NetCharDevQEnum                     24
45 #define RAP_NetCharDevQGetInfo                  25
46 #define RAP_WCharDevQSetInfo                    26
47 #define RAP_WCharDevQPurge                      27
48 #define RAP_WCharDevQPurgeSelf                  28
49 #define RAP_WMessageNameEnum                    29
50 #define RAP_WMessageNameGetInfo                 30
51 #define RAP_WMessageNameAdd                     31
52 #define RAP_WMessageNameDel                     32
53 #define RAP_WMessageNameFwd                     33
54 #define RAP_WMessageNameUnFwd                   34
55 #define RAP_WMessageBufferSend                  35
56 #define RAP_WMessageFileSend                    36
57 #define RAP_WMessageLogFileSet                  37
58 #define RAP_WMessageLogFileGet                  38
59 #define RAP_WServiceEnum                        39
60 #define RAP_WServiceInstall                     40
61 #define RAP_WServiceControl                     41
62 #define RAP_WAccessEnum                         42
63 #define RAP_WAccessGetInfo                      43
64 #define RAP_WAccessSetInfo                      44
65 #define RAP_WAccessAdd                          45
66 #define RAP_WAccessDel                          46
67 #define RAP_WGroupEnum                          47
68 #define RAP_WGroupAdd                           48
69 #define RAP_WGroupDel                           49
70 #define RAP_WGroupAddUser                       50
71 #define RAP_WGroupDelUser                       51
72 #define RAP_WGroupGetUsers                      52
73 #define RAP_WUserEnum                           53
74 #define RAP_WUserAdd                            54
75 #define RAP_WUserDel                            55
76 #define RAP_WUserGetInfo                        56
77 #define RAP_WUserSetInfo                        57
78 #define RAP_WUserPasswordSet                    58
79 #define RAP_WUserGetGroups                      59
80 #define RAP_WWkstaSetUID                        62
81 #define RAP_WWkstaGetInfo                       63
82 #define RAP_WWkstaSetInfo                       64
83 #define RAP_WUseEnum                            65
84 #define RAP_WUseAdd                             66
85 #define RAP_WUseDel                             67
86 #define RAP_WUseGetInfo                         68
87 #define RAP_WPrintQEnum                         69
88 #define RAP_WPrintQGetInfo                      70
89 #define RAP_WPrintQSetInfo                      71
90 #define RAP_WPrintQAdd                          72
91 #define RAP_WPrintQDel                          73
92 #define RAP_WPrintQPause                        74
93 #define RAP_WPrintQContinue                     75
94 #define RAP_WPrintJobEnum                       76
95 #define RAP_WPrintJobGetInfo                    77
96 #define RAP_WPrintJobSetInfo_OLD                78
97 #define RAP_WPrintJobDel                        81
98 #define RAP_WPrintJobPause                      82
99 #define RAP_WPrintJobContinue                   83
100 #define RAP_WPrintDestEnum                      84
101 #define RAP_WPrintDestGetInfo                   85
102 #define RAP_WPrintDestControl                   86
103 #define RAP_WProfileSave                        87
104 #define RAP_WProfileLoad                        88
105 #define RAP_WStatisticsGet                      89
106 #define RAP_WStatisticsClear                    90
107 #define RAP_NetRemoteTOD                        91
108 #define RAP_WNetBiosEnum                        92
109 #define RAP_WNetBiosGetInfo                     93
110 #define RAP_NetServerEnum                       94
111 #define RAP_I_NetServerEnum                     95
112 #define RAP_WServiceGetInfo                     96
113 #define RAP_WPrintQPurge                        103
114 #define RAP_NetServerEnum2                      104
115 #define RAP_WAccessGetUserPerms                 105
116 #define RAP_WGroupGetInfo                       106
117 #define RAP_WGroupSetInfo                       107
118 #define RAP_WGroupSetUsers                      108
119 #define RAP_WUserSetGroups                      109
120 #define RAP_WUserModalsGet                      110
121 #define RAP_WUserModalsSet                      111
122 #define RAP_WFileEnum2                          112
123 #define RAP_WUserAdd2                           113
124 #define RAP_WUserSetInfo2                       114
125 #define RAP_WUserPasswordSet2                   115
126 #define RAP_I_NetServerEnum2                    116
127 #define RAP_WConfigGet2                         117
128 #define RAP_WConfigGetAll2                      118
129 #define RAP_WGetDCName                          119
130 #define RAP_NetHandleGetInfo                    120
131 #define RAP_NetHandleSetInfo                    121
132 #define RAP_WStatisticsGet2                     122
133 #define RAP_WBuildGetInfo                       123
134 #define RAP_WFileGetInfo2                       124
135 #define RAP_WFileClose2                         125
136 #define RAP_WNetServerReqChallenge              126
137 #define RAP_WNetServerAuthenticate              127
138 #define RAP_WNetServerPasswordSet               128
139 #define RAP_WNetAccountDeltas                   129
140 #define RAP_WNetAccountSync                     130
141 #define RAP_WUserEnum2                          131
142 #define RAP_WWkstaUserLogon                     132
143 #define RAP_WWkstaUserLogoff                    133
144 #define RAP_WLogonEnum                          134
145 #define RAP_WErrorLogRead                       135
146 #define RAP_NetPathType                         136
147 #define RAP_NetPathCanonicalize                 137
148 #define RAP_NetPathCompare                      138
149 #define RAP_NetNameValidate                     139
150 #define RAP_NetNameCanonicalize                 140
151 #define RAP_NetNameCompare                      141
152 #define RAP_WAuditRead                          142
153 #define RAP_WPrintDestAdd                       143
154 #define RAP_WPrintDestSetInfo                   144
155 #define RAP_WPrintDestDel                       145
156 #define RAP_WUserValidate2                      146
157 #define RAP_WPrintJobSetInfo                    147
158 #define RAP_TI_NetServerDiskEnum                148
159 #define RAP_TI_NetServerDiskGetInfo             149
160 #define RAP_TI_FTVerifyMirror                   150
161 #define RAP_TI_FTAbortVerify                    151
162 #define RAP_TI_FTGetInfo                        152
163 #define RAP_TI_FTSetInfo                        153
164 #define RAP_TI_FTLockDisk                       154
165 #define RAP_TI_FTFixError                       155
166 #define RAP_TI_FTAbortFix                       156
167 #define RAP_TI_FTDiagnoseError                  157
168 #define RAP_TI_FTGetDriveStats                  158
169 #define RAP_TI_FTErrorGetInfo                   160
170 #define RAP_NetAccessCheck                      163
171 #define RAP_NetAlertRaise                       164
172 #define RAP_NetAlertStart                       165
173 #define RAP_NetAlertStop                        166
174 #define RAP_NetAuditWrite                       167
175 #define RAP_NetIRemoteAPI                       168
176 #define RAP_NetServiceStatus                    169
177 #define RAP_NetServerRegister                   170
178 #define RAP_NetServerDeregister                 171
179 #define RAP_NetSessionEntryMake                 172
180 #define RAP_NetSessionEntryClear                173
181 #define RAP_NetSessionEntryGetInfo              174
182 #define RAP_NetSessionEntrySetInfo              175
183 #define RAP_NetConnectionEntryMake              176
184 #define RAP_NetConnectionEntryClear             177
185 #define RAP_NetConnectionEntrySetInfo           178
186 #define RAP_NetConnectionEntryGetInfo           179
187 #define RAP_NetFileEntryMake                    180
188 #define RAP_NetFileEntryClear                   181
189 #define RAP_NetFileEntrySetInfo                 182
190 #define RAP_NetFileEntryGetInfo                 183
191 #define RAP_AltSrvMessageBufferSend             184
192 #define RAP_AltSrvMessageFileSend               185
193 #define RAP_wI_NetRplWkstaEnum                  186
194 #define RAP_wI_NetRplWkstaGetInfo               187
195 #define RAP_wI_NetRplWkstaSetInfo               188
196 #define RAP_wI_NetRplWkstaAdd                   189
197 #define RAP_wI_NetRplWkstaDel                   190
198 #define RAP_wI_NetRplProfileEnum                191
199 #define RAP_wI_NetRplProfileGetInfo             192
200 #define RAP_wI_NetRplProfileSetInfo             193
201 #define RAP_wI_NetRplProfileAdd                 194
202 #define RAP_wI_NetRplProfileDel                 195
203 #define RAP_wI_NetRplProfileClone               196
204 #define RAP_wI_NetRplBaseProfileEnum            197
205 #define RAP_WIServerSetInfo                     201
206 #define RAP_WPrintDriverEnum                    205
207 #define RAP_WPrintQProcessorEnum                206
208 #define RAP_WPrintPortEnum                      207
209 #define RAP_WNetWriteUpdateLog                  208
210 #define RAP_WNetAccountUpdate                   209
211 #define RAP_WNetAccountConfirmUpdate            210
212 #define RAP_WConfigSet                          211
213 #define RAP_WAccountsReplicate                  212                      
214 #define RAP_SamOEMChgPasswordUser2_P            214
215 #define RAP_NetServerEnum3                      215
216 #define RAP_WprintDriverGetInfo                 250
217 #define RAP_WprintDriverSetInfo                 251
218 #define RAP_WaliasAdd                           252
219 #define RAP_WaliasDel                           253
220 #define RAP_WaliasGetInfo                       254
221 #define RAP_WaliasSetInfo                       255
222 #define RAP_WaliasEnum                          256
223 #define RAP_WuserGetLogonAsn                    257
224 #define RAP_WuserSetLogonAsn                    258
225 #define RAP_WuserGetAppSel                      259
226 #define RAP_WuserSetAppSel                      260
227 #define RAP_WappAdd                             261
228 #define RAP_WappDel                             262
229 #define RAP_WappGetInfo                         263
230 #define RAP_WappSetInfo                         264
231 #define RAP_WappEnum                            265
232 #define RAP_WUserDCDBInit                       266
233 #define RAP_WDASDAdd                            267
234 #define RAP_WDASDDel                            268
235 #define RAP_WDASDGetInfo                        269
236 #define RAP_WDASDSetInfo                        270
237 #define RAP_WDASDEnum                           271
238 #define RAP_WDASDCheck                          272
239 #define RAP_WDASDCtl                            273
240 #define RAP_WuserRemoteLogonCheck               274
241 #define RAP_WUserPasswordSet3                   275
242 #define RAP_WCreateRIPLMachine                  276
243 #define RAP_WDeleteRIPLMachine                  277
244 #define RAP_WGetRIPLMachineInfo                 278
245 #define RAP_WSetRIPLMachineInfo                 279
246 #define RAP_WEnumRIPLMachine                    280
247 #define RAP_I_ShareAdd                          281
248 #define RAP_AliasEnum                           282
249 #define RAP_WaccessApply                        283
250 #define RAP_WPrt16Query                         284
251 #define RAP_WPrt16Set                           285
252 #define RAP_WUserDel100                         286
253 #define RAP_WUserRemoteLogonCheck2              287
254 #define RAP_WRemoteTODSet                       294
255 #define RAP_WprintJobMoveAll                    295
256 #define RAP_W16AppParmAdd                       296
257 #define RAP_W16AppParmDel                       297
258 #define RAP_W16AppParmGet                       298
259 #define RAP_W16AppParmSet                       299
260 #define RAP_W16RIPLMachineCreate                300
261 #define RAP_W16RIPLMachineGetInfo               301
262 #define RAP_W16RIPLMachineSetInfo               302
263 #define RAP_W16RIPLMachineEnum                  303
264 #define RAP_W16RIPLMachineListParmEnum          304
265 #define RAP_W16RIPLMachClassGetInfo             305
266 #define RAP_W16RIPLMachClassEnum                306
267 #define RAP_W16RIPLMachClassCreate              307
268 #define RAP_W16RIPLMachClassSetInfo             308
269 #define RAP_W16RIPLMachClassDelete              309
270 #define RAP_W16RIPLMachClassLPEnum              310
271 #define RAP_W16RIPLMachineDelete                311
272 #define RAP_W16WSLevelGetInfo                   312
273 #define RAP_WserverNameAdd                      313
274 #define RAP_WserverNameDel                      314
275 #define RAP_WserverNameEnum                     315
276 #define RAP_I_WDASDEnum                         316
277 #define RAP_WDASDEnumTerminate                  317
278 #define RAP_WDASDSetInfo2                       318
279 #define MAX_API                                 318
280
281 struct rap_shareenum_info_0 {
282         char name[13];
283 };
284
285 struct rap_shareenum_info_1 {
286         char name[13];
287         char pad;
288         uint16_t type;
289         char *comment;
290 };
291
292 union rap_shareenum_info {
293         struct rap_shareenum_info_0 info0;
294         struct rap_shareenum_info_1 info1;
295 };
296
297 struct rap_NetShareEnum {
298         struct {
299                 uint16_t level;
300                 uint16_t bufsize;
301         } in;
302
303         struct {
304                 uint16_t status;
305                 uint16_t convert;
306                 uint16_t count;
307                 uint16_t available;
308                 union rap_shareenum_info *info;
309         } out;
310 };
311
312 struct rap_server_info_0 {
313         char name[16];
314 };
315
316 struct rap_server_info_1 {
317         char     name[16];
318         uint8_t  version_major;
319         uint8_t  version_minor;
320         uint32_t servertype;
321         char    *comment;
322 };
323
324 union rap_server_info {
325         struct rap_server_info_0 info0;
326         struct rap_server_info_1 info1;
327 };
328
329 struct rap_NetServerEnum2 {
330         struct {
331                 uint16_t level;
332                 uint16_t bufsize;
333                 uint32_t servertype;
334                 const char *domain;
335         } in;
336
337         struct {
338                 uint16_t status;
339                 uint16_t convert;
340                 uint16_t count;
341                 uint16_t available;
342                 union rap_server_info *info;
343         } out;
344 };
345
346 struct rap_WserverGetInfo {
347         struct {
348                 uint16_t level;
349                 uint16_t bufsize;
350         } in;
351
352         struct {
353                 uint16_t status;
354                 uint16_t convert;
355                 uint16_t available;
356                 union rap_server_info info;
357         } out;
358 };