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 281struct rap_shareenum_info_0 { 282 char name[13]; 283}; 284 285struct rap_shareenum_info_1 { 286 char name[13]; 287 char pad; 288 uint16_t type; 289 char *comment; 290}; 291 292union rap_shareenum_info { 293 struct rap_shareenum_info_0 info0; 294 struct rap_shareenum_info_1 info1; 295}; 296 297struct 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 312struct rap_server_info_0 { 313 char name[16]; 314}; 315 316struct 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 324union rap_server_info { 325 struct rap_server_info_0 info0; 326 struct rap_server_info_1 info1; 327}; 328 329struct 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 346struct 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}; 359