summaryrefslogtreecommitdiff
path: root/source3/include/rap.h
diff options
context:
space:
mode:
Diffstat (limited to 'source3/include/rap.h')
-rw-r--r--source3/include/rap.h506
1 files changed, 0 insertions, 506 deletions
diff --git a/source3/include/rap.h b/source3/include/rap.h
deleted file mode 100644
index a7efb67d60..0000000000
--- a/source3/include/rap.h
+++ /dev/null
@@ -1,506 +0,0 @@
-/*
- Samba Unix/Linux SMB client library
- RAP (SMB Remote Procedure Calls) defines and structures
- Copyright (C) Steve French 2001 (sfrench@us.ibm.com)
- Copyright (C) Jim McDonough 2001 (jmcd@us.ibm.com)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef _RAP_H_
-#define _RAP_H_
-
-/*****************************************************/
-/* */
-/* Additional RAP functionality */
-/* */
-/* RAP is the original SMB RPC, documented */
-/* by Microsoft and X/Open in the 1990s and */
-/* supported by most SMB/CIFS servers although */
-/* it is unlikely that any one implementation */
-/* supports all RAP command codes since some */
-/* are quite obsolete and a few are specific */
-/* to a particular network operating system */
-/* */
-/* Although it has largely been replaced */
-/* for complex remote admistration and management */
-/* (of servers) by the relatively newer */
-/* DCE/RPC based remote API (which better handles */
-/* large >64K data structures), there are many */
-/* important administrative and resource location */
-/* tasks and user tasks (e.g. password change) */
-/* that are performed via RAP. */
-/* */
-/* Although a few of the RAP calls are implemented */
-/* in the Samba client library already (clirap.c) */
-/* the new ones are in clirap2.c for easy patching */
-/* and integration and a corresponding header */
-/* file, rap.h, has been created. */
-/* */
-/* This is based on data from the CIFS spec */
-/* and the LAN Server and LAN Manager */
-/* Programming Reference books and published */
-/* RAP document and CIFS forum postings and */
-/* lots of trial and error. Additional */
-/* background information is available from the */
-/* X/Open reference book in their PC Interworking */
-/* series "IPC for SMB" and also from the */
-/* interoperability documentation in */
-/* ftp://ftp.microsoft.com/developr/drg/cifs */
-/* */
-/* Function names changed from API_ (as they are */
-/* in the CIFS specification to RAP_ in order */
-/* to avoid confusion with other API calls */
-/* sent via DCE RPC */
-/* */
-/*****************************************************/
-
-/*****************************************************/
-/* */
-/* Although without pound defines (of this header) */
-/* cifsrap.c already includes support for: */
-/* */
-/* WshareEnum (API number 0, level 1) */
-/* NetServerEnum2 (API num 104, level 1) */
-/* WWkstaUserLogon (132) */
-/* SamOEMchgPasswordUser2_P (214) */
-/* */
-/* and cifsprint.c already includes support for: */
-/* */
-/* WPrintJobEnum (API num 76, level 2) */
-/* WPrintJobDel (API num 81) */
-/* */
-/*****************************************************/
-
-#define RAP_WshareEnum 0
-#define RAP_WshareGetInfo 1
-#define RAP_WshareSetInfo 2
-#define RAP_WshareAdd 3
-#define RAP_WshareDel 4
-#define RAP_NetShareCheck 5
-#define RAP_WsessionEnum 6
-#define RAP_WsessionGetInfo 7
-#define RAP_WsessionDel 8
-#define RAP_WconnectionEnum 9
-#define RAP_WfileEnum 10
-#define RAP_WfileGetInfo 11
-#define RAP_WfileClose 12
-#define RAP_WserverGetInfo 13
-#define RAP_WserverSetInfo 14
-#define RAP_WserverDiskEnum 15
-#define RAP_WserverAdminCommand 16
-#define RAP_NetAuditOpen 17
-#define RAP_WauditClear 18
-#define RAP_NetErrorLogOpen 19
-#define RAP_WerrorLogClear 20
-#define RAP_NetCharDevEnum 21
-#define RAP_NetCharDevGetInfo 22
-#define RAP_WCharDevControl 23
-#define RAP_NetCharDevQEnum 24
-#define RAP_NetCharDevQGetInfo 25
-#define RAP_WCharDevQSetInfo 26
-#define RAP_WCharDevQPurge 27
-#define RAP_WCharDevQPurgeSelf 28
-#define RAP_WMessageNameEnum 29
-#define RAP_WMessageNameGetInfo 30
-#define RAP_WMessageNameAdd 31
-#define RAP_WMessageNameDel 32
-#define RAP_WMessageNameFwd 33
-#define RAP_WMessageNameUnFwd 34
-#define RAP_WMessageBufferSend 35
-#define RAP_WMessageFileSend 36
-#define RAP_WMessageLogFileSet 37
-#define RAP_WMessageLogFileGet 38
-#define RAP_WServiceEnum 39
-#define RAP_WServiceInstall 40
-#define RAP_WServiceControl 41
-#define RAP_WAccessEnum 42
-#define RAP_WAccessGetInfo 43
-#define RAP_WAccessSetInfo 44
-#define RAP_WAccessAdd 45
-#define RAP_WAccessDel 46
-#define RAP_WGroupEnum 47
-#define RAP_WGroupAdd 48
-#define RAP_WGroupDel 49
-#define RAP_WGroupAddUser 50
-#define RAP_WGroupDelUser 51
-#define RAP_WGroupGetUsers 52
-#define RAP_WUserEnum 53
-#define RAP_WUserAdd 54
-#define RAP_WUserDel 55
-#define RAP_WUserGetInfo 56
-#define RAP_WUserSetInfo 57
-#define RAP_WUserPasswordSet 58
-#define RAP_WUserGetGroups 59
-#define RAP_WWkstaSetUID 62
-#define RAP_WWkstaGetInfo 63
-#define RAP_WWkstaSetInfo 64
-#define RAP_WUseEnum 65
-#define RAP_WUseAdd 66
-#define RAP_WUseDel 67
-#define RAP_WUseGetInfo 68
-#define RAP_WPrintQEnum 69
-#define RAP_WPrintQGetInfo 70
-#define RAP_WPrintQSetInfo 71
-#define RAP_WPrintQAdd 72
-#define RAP_WPrintQDel 73
-#define RAP_WPrintQPause 74
-#define RAP_WPrintQContinue 75
-#define RAP_WPrintJobEnum 76
-#define RAP_WPrintJobGetInfo 77
-#define RAP_WPrintJobSetInfo_OLD 78
-#define RAP_WPrintJobDel 81
-#define RAP_WPrintJobPause 82
-#define RAP_WPrintJobContinue 83
-#define RAP_WPrintDestEnum 84
-#define RAP_WPrintDestGetInfo 85
-#define RAP_WPrintDestControl 86
-#define RAP_WProfileSave 87
-#define RAP_WProfileLoad 88
-#define RAP_WStatisticsGet 89
-#define RAP_WStatisticsClear 90
-#define RAP_NetRemoteTOD 91
-#define RAP_WNetBiosEnum 92
-#define RAP_WNetBiosGetInfo 93
-#define RAP_NetServerEnum 94
-#define RAP_I_NetServerEnum 95
-#define RAP_WServiceGetInfo 96
-#define RAP_WPrintQPurge 103
-#define RAP_NetServerEnum2 104
-#define RAP_WAccessGetUserPerms 105
-#define RAP_WGroupGetInfo 106
-#define RAP_WGroupSetInfo 107
-#define RAP_WGroupSetUsers 108
-#define RAP_WUserSetGroups 109
-#define RAP_WUserModalsGet 110
-#define RAP_WUserModalsSet 111
-#define RAP_WFileEnum2 112
-#define RAP_WUserAdd2 113
-#define RAP_WUserSetInfo2 114
-#define RAP_WUserPasswordSet2 115
-#define RAP_I_NetServerEnum2 116
-#define RAP_WConfigGet2 117
-#define RAP_WConfigGetAll2 118
-#define RAP_WGetDCName 119
-#define RAP_NetHandleGetInfo 120
-#define RAP_NetHandleSetInfo 121
-#define RAP_WStatisticsGet2 122
-#define RAP_WBuildGetInfo 123
-#define RAP_WFileGetInfo2 124
-#define RAP_WFileClose2 125
-#define RAP_WNetServerReqChallenge 126
-#define RAP_WNetServerAuthenticate 127
-#define RAP_WNetServerPasswordSet 128
-#define RAP_WNetAccountDeltas 129
-#define RAP_WNetAccountSync 130
-#define RAP_WUserEnum2 131
-#define RAP_WWkstaUserLogon 132
-#define RAP_WWkstaUserLogoff 133
-#define RAP_WLogonEnum 134
-#define RAP_WErrorLogRead 135
-#define RAP_NetPathType 136
-#define RAP_NetPathCanonicalize 137
-#define RAP_NetPathCompare 138
-#define RAP_NetNameValidate 139
-#define RAP_NetNameCanonicalize 140
-#define RAP_NetNameCompare 141
-#define RAP_WAuditRead 142
-#define RAP_WPrintDestAdd 143
-#define RAP_WPrintDestSetInfo 144
-#define RAP_WPrintDestDel 145
-#define RAP_WUserValidate2 146
-#define RAP_WPrintJobSetInfo 147
-#define RAP_TI_NetServerDiskEnum 148
-#define RAP_TI_NetServerDiskGetInfo 149
-#define RAP_TI_FTVerifyMirror 150
-#define RAP_TI_FTAbortVerify 151
-#define RAP_TI_FTGetInfo 152
-#define RAP_TI_FTSetInfo 153
-#define RAP_TI_FTLockDisk 154
-#define RAP_TI_FTFixError 155
-#define RAP_TI_FTAbortFix 156
-#define RAP_TI_FTDiagnoseError 157
-#define RAP_TI_FTGetDriveStats 158
-#define RAP_TI_FTErrorGetInfo 160
-#define RAP_NetAccessCheck 163
-#define RAP_NetAlertRaise 164
-#define RAP_NetAlertStart 165
-#define RAP_NetAlertStop 166
-#define RAP_NetAuditWrite 167
-#define RAP_NetIRemoteAPI 168
-#define RAP_NetServiceStatus 169
-#define RAP_NetServerRegister 170
-#define RAP_NetServerDeregister 171
-#define RAP_NetSessionEntryMake 172
-#define RAP_NetSessionEntryClear 173
-#define RAP_NetSessionEntryGetInfo 174
-#define RAP_NetSessionEntrySetInfo 175
-#define RAP_NetConnectionEntryMake 176
-#define RAP_NetConnectionEntryClear 177
-#define RAP_NetConnectionEntrySetInfo 178
-#define RAP_NetConnectionEntryGetInfo 179
-#define RAP_NetFileEntryMake 180
-#define RAP_NetFileEntryClear 181
-#define RAP_NetFileEntrySetInfo 182
-#define RAP_NetFileEntryGetInfo 183
-#define RAP_AltSrvMessageBufferSend 184
-#define RAP_AltSrvMessageFileSend 185
-#define RAP_wI_NetRplWkstaEnum 186
-#define RAP_wI_NetRplWkstaGetInfo 187
-#define RAP_wI_NetRplWkstaSetInfo 188
-#define RAP_wI_NetRplWkstaAdd 189
-#define RAP_wI_NetRplWkstaDel 190
-#define RAP_wI_NetRplProfileEnum 191
-#define RAP_wI_NetRplProfileGetInfo 192
-#define RAP_wI_NetRplProfileSetInfo 193
-#define RAP_wI_NetRplProfileAdd 194
-#define RAP_wI_NetRplProfileDel 195
-#define RAP_wI_NetRplProfileClone 196
-#define RAP_wI_NetRplBaseProfileEnum 197
-#define RAP_WIServerSetInfo 201
-#define RAP_WPrintDriverEnum 205
-#define RAP_WPrintQProcessorEnum 206
-#define RAP_WPrintPortEnum 207
-#define RAP_WNetWriteUpdateLog 208
-#define RAP_WNetAccountUpdate 209
-#define RAP_WNetAccountConfirmUpdate 210
-#define RAP_WConfigSet 211
-#define RAP_WAccountsReplicate 212
-#define RAP_SamOEMChgPasswordUser2_P 214
-#define RAP_NetServerEnum3 215
-#define RAP_WprintDriverGetInfo 250
-#define RAP_WprintDriverSetInfo 251
-#define RAP_WaliasAdd 252
-#define RAP_WaliasDel 253
-#define RAP_WaliasGetInfo 254
-#define RAP_WaliasSetInfo 255
-#define RAP_WaliasEnum 256
-#define RAP_WuserGetLogonAsn 257
-#define RAP_WuserSetLogonAsn 258
-#define RAP_WuserGetAppSel 259
-#define RAP_WuserSetAppSel 260
-#define RAP_WappAdd 261
-#define RAP_WappDel 262
-#define RAP_WappGetInfo 263
-#define RAP_WappSetInfo 264
-#define RAP_WappEnum 265
-#define RAP_WUserDCDBInit 266
-#define RAP_WDASDAdd 267
-#define RAP_WDASDDel 268
-#define RAP_WDASDGetInfo 269
-#define RAP_WDASDSetInfo 270
-#define RAP_WDASDEnum 271
-#define RAP_WDASDCheck 272
-#define RAP_WDASDCtl 273
-#define RAP_WuserRemoteLogonCheck 274
-#define RAP_WUserPasswordSet3 275
-#define RAP_WCreateRIPLMachine 276
-#define RAP_WDeleteRIPLMachine 277
-#define RAP_WGetRIPLMachineInfo 278
-#define RAP_WSetRIPLMachineInfo 279
-#define RAP_WEnumRIPLMachine 280
-#define RAP_I_ShareAdd 281
-#define RAP_AliasEnum 282
-#define RAP_WaccessApply 283
-#define RAP_WPrt16Query 284
-#define RAP_WPrt16Set 285
-#define RAP_WUserDel100 286
-#define RAP_WUserRemoteLogonCheck2 287
-#define RAP_WRemoteTODSet 294
-#define RAP_WprintJobMoveAll 295
-#define RAP_W16AppParmAdd 296
-#define RAP_W16AppParmDel 297
-#define RAP_W16AppParmGet 298
-#define RAP_W16AppParmSet 299
-#define RAP_W16RIPLMachineCreate 300
-#define RAP_W16RIPLMachineGetInfo 301
-#define RAP_W16RIPLMachineSetInfo 302
-#define RAP_W16RIPLMachineEnum 303
-#define RAP_W16RIPLMachineListParmEnum 304
-#define RAP_W16RIPLMachClassGetInfo 305
-#define RAP_W16RIPLMachClassEnum 306
-#define RAP_W16RIPLMachClassCreate 307
-#define RAP_W16RIPLMachClassSetInfo 308
-#define RAP_W16RIPLMachClassDelete 309
-#define RAP_W16RIPLMachClassLPEnum 310
-#define RAP_W16RIPLMachineDelete 311
-#define RAP_W16WSLevelGetInfo 312
-#define RAP_WserverNameAdd 313
-#define RAP_WserverNameDel 314
-#define RAP_WserverNameEnum 315
-#define RAP_I_WDASDEnum 316
-#define RAP_WDASDEnumTerminate 317
-#define RAP_WDASDSetInfo2 318
-#define MAX_API 318
-
-
-/* Parameter description strings for RAP calls */
-/* Names are defined name for RAP call with _REQ */
-/* appended to end. */
-
-#define RAP_WFileEnum2_REQ "zzWrLehb8g8"
-#define RAP_WFileGetInfo2_REQ "DWrLh"
-#define RAP_WFileClose2_REQ "D"
-
-#define RAP_NetGroupEnum_REQ "WrLeh"
-#define RAP_NetGroupAdd_REQ "WsT"
-#define RAP_NetGroupDel_REQ "z"
-#define RAP_NetGroupAddUser_REQ "zz"
-#define RAP_NetGroupDelUser_REQ "zz"
-#define RAP_NetGroupGetUsers_REQ "zWrLeh"
-#define RAP_NetGroupSetUsers_REQ "zWsTW"
-
-#define RAP_NetUserAdd2_REQ "WsTWW"
-#define RAP_NetUserEnum_REQ "WrLeh"
-#define RAP_NetUserEnum2_REQ "WrLDieh"
-#define RAP_NetUserGetGroups_REQ "zWrLeh"
-#define RAP_NetUserSetGroups_REQ "zWsTW"
-#define RAP_NetUserPasswordSet_REQ "zb16b16w"
-#define RAP_NetUserPasswordSet2_REQ "zb16b16WW"
-#define RAP_SAMOEMChgPasswordUser2_REQ "B516B16"
-#define RAP_NetUserValidate2_REQ "Wb62WWrLhWW"
-
-#define RAP_NetServerEnum2_REQ "WrLehDz"
-#define RAP_WserverGetInfo_REQ "WrLh"
-#define RAP_NetWkstatGetInfo "WrLh"
-
-#define RAP_WShareAdd_REQ "WsT"
-#define RAP_WShareEnum_REQ "WrLeh"
-#define RAP_WShareDel_REQ "zW"
-#define RAP_WWkstaGetInfo_REQ "WrLh"
-
-#define RAP_NetPrintQEnum_REQ "WrLeh"
-#define RAP_NetPrintQGetInfo_REQ "zWrLh"
-
-#define RAP_NetServerAdminCommand_REQ "zhrLeh"
-#define RAP_NetServiceEnum_REQ "WrLeh"
-#define RAP_NetServiceControl_REQ "zWWrL"
-#define RAP_NetServiceInstall_REQ "zF88sg88T"
-#define RAP_NetServiceGetInfo_REQ "zWrLh"
-#define RAP_NetSessionEnum_REQ "WrLeh"
-#define RAP_NetSessionGetInfo_REQ "zWrLh"
-#define RAP_NetSessionDel_REQ "zW"
-
-#define RAP_NetConnectionEnum_REQ "zWrLeh"
-
-#define RAP_NetWkstaUserLogoff_REQ "zzWb38WrLh"
-
-/* Description strings for returned data in RAP calls */
-/* I use all caps here in part to avoid accidental */
-/* name collisions */
-
-#define RAP_FILE_INFO_L2 "D"
-#define RAP_FILE_INFO_L3 "DWWzz"
-
-#define RAP_GROUP_INFO_L0 "B21"
-#define RAP_GROUP_INFO_L1 "B21Bz"
-#define RAP_GROUP_USERS_INFO_0 "B21"
-#define RAP_GROUP_USERS_INFO_1 "B21BN"
-
-#define RAP_USER_INFO_L0 "B21"
-#define RAP_USER_INFO_L1 "B21BB16DWzzWz"
-
-#define RAP_SERVER_INFO_L0 "B16"
-#define RAP_SERVER_INFO_L1 "B16BBDz"
-#define RAP_SERVER_INFO_L2 "B16BBDzDDDWWzWWWWWWWB21BzWWWWWWWWWWWWWWWWWWWWWWz"
-#define RAP_SERVER_INFO_L3 "B16BBDzDDDWWzWWWWWWWB21BzWWWWWWWWWWWWWWWWWWWWWWzDWz"
-#define RAP_SERVICE_INFO_L0 "B16"
-#define RAP_SERVICE_INFO_L2 "B16WDWB64"
-#define RAP_SHARE_INFO_L0 "B13"
-#define RAP_SHARE_INFO_L1 "B13BWz"
-#define RAP_SHARE_INFO_L2 "B13BWzWWWzB9B"
-
-#define RAP_PRINTQ_INFO_L2 "B13BWWWzzzzzWN"
-#define RAP_SMB_PRINT_JOB_L1 "WB21BB16B10zWWzDDz"
-
-#define RAP_SESSION_INFO_L2 "zzWWWDDDz"
-#define RAP_CONNECTION_INFO_L1 "WWWWDzz"
-
-#define RAP_USER_LOGOFF_INFO_L1 "WDW"
-
-#define RAP_WKSTA_INFO_L1 "WDzzzzBBDWDWWWWWWWWWWWWWWWWWWWzzWzzW"
-#define RAP_WKSTA_INFO_L10 "zzzBBzz"
-
-/* BB explicit packing would help in structs below */
-
-/* sizes of fixed-length fields, including null terminator */
-#define RAP_GROUPNAME_LEN 21
-#define RAP_USERNAME_LEN 21
-#define RAP_SHARENAME_LEN 13
-#define RAP_UPASSWD_LEN 16 /* user password */
-#define RAP_SPASSWD_LEN 9 /* share password */
-#define RAP_MACHNAME_LEN 16
-#define RAP_SRVCNAME_LEN 16
-#define RAP_SRVCCMNT_LEN 64
-#define RAP_DATATYPE_LEN 10
-
-
-typedef struct rap_group_info_1
-{
- char group_name[RAP_GROUPNAME_LEN];
- char reserved1;
- char * comment;
-} RAP_GROUP_INFO_1;
-
-typedef struct rap_user_info_1
-{
- char user_name[RAP_USERNAME_LEN];
- char reserved1;
- char passwrd[RAP_UPASSWD_LEN];
- uint32 pwage;
- uint16 priv;
- char * home_dir;
- char * comment;
- uint16 userflags;
- char * logon_script;
-} RAP_USER_INFO_1;
-
-typedef struct rap_service_info_2
-{
- char service_name[RAP_SRVCNAME_LEN];
- uint16 status;
- uint32 installcode;
- uint16 process_num;
- char * comment;
-} RAP_SERVICE_INFO_2;
-
-
-typedef struct rap_share_info_0
-{
- char share_name[RAP_SHARENAME_LEN];
-} RAP_SHARE_INFO_0;
-
-typedef struct rap_share_info_1
-{
- char share_name[RAP_SHARENAME_LEN];
- char reserved1;
- uint16 share_type;
- char * comment;
-} RAP_SHARE_INFO_1;
-
-typedef struct rap_share_info_2
-{
- char share_name[RAP_SHARENAME_LEN];
- char reserved1;
- uint16 share_type;
- char * comment;
- uint16 perms;
- uint16 maximum_users;
- uint16 active_users;
- char * path;
- char password[RAP_SPASSWD_LEN];
- char reserved2;
-} RAP_SHARE_INFO_2;
-
-#endif /* _RAP_H_ */