s4-netlogon: implement dcesrv_netr_DsRAddressToSitenamesExW
[Samba/aatanasov.git] / source4 / libcli / rap / rap.h
blob6dcaa9bc83d6a77171c9d22c8406104aff1475b6
1 /*
2 Unix SMB/CIFS implementation.
3 RAP operations
4 Copyright (C) Volker Lendecke 2004
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.
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.
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/>.
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
281 struct rap_shareenum_info_0 {
282 char name[13];
285 struct rap_shareenum_info_1 {
286 char name[13];
287 char pad;
288 uint16_t type;
289 char *comment;
292 union rap_shareenum_info {
293 struct rap_shareenum_info_0 info0;
294 struct rap_shareenum_info_1 info1;
297 struct rap_NetShareEnum {
298 struct {
299 uint16_t level;
300 uint16_t bufsize;
301 } in;
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;
312 struct rap_server_info_0 {
313 char name[16];
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;
324 union rap_server_info {
325 struct rap_server_info_0 info0;
326 struct rap_server_info_1 info1;
329 struct rap_NetServerEnum2 {
330 struct {
331 uint16_t level;
332 uint16_t bufsize;
333 uint32_t servertype;
334 const char *domain;
335 } in;
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;
346 struct rap_WserverGetInfo {
347 struct {
348 uint16_t level;
349 uint16_t bufsize;
350 } in;
352 struct {
353 uint16_t status;
354 uint16_t convert;
355 uint16_t available;
356 union rap_server_info info;
357 } out;