From 8b287b92fda1ad7439191edd9b417e31e90a9230 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Mon, 26 Apr 2010 13:19:56 +0200 Subject: rap: add rap idl. Guenther --- librpc/idl/rap.idl | 473 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 473 insertions(+) create mode 100644 librpc/idl/rap.idl diff --git a/librpc/idl/rap.idl b/librpc/idl/rap.idl new file mode 100644 index 0000000000..3ba1ad544f --- /dev/null +++ b/librpc/idl/rap.idl @@ -0,0 +1,473 @@ +#include "idl_types.h" + +/* + rap interface definition +*/ + +[ + pointer_default(unique) +] +interface rap +{ + const int RAP_WshareEnum = 0; + const int RAP_WshareGetInfo = 1; + const int RAP_WshareSetInfo = 2; + const int RAP_WshareAdd = 3; + const int RAP_WshareDel = 4; + const int RAP_NetShareCheck = 5; + const int RAP_WsessionEnum = 6; + const int RAP_WsessionGetInfo = 7; + const int RAP_WsessionDel = 8; + const int RAP_WconnectionEnum = 9; + const int RAP_WfileEnum = 10; + const int RAP_WfileGetInfo = 11; + const int RAP_WfileClose = 12; + const int RAP_WserverGetInfo = 13; + const int RAP_WserverSetInfo = 14; + const int RAP_WserverDiskEnum = 15; + const int RAP_WserverAdminCommand = 16; + const int RAP_NetAuditOpen = 17; + const int RAP_WauditClear = 18; + const int RAP_NetErrorLogOpen = 19; + const int RAP_WerrorLogClear = 20; + const int RAP_NetCharDevEnum = 21; + const int RAP_NetCharDevGetInfo = 22; + const int RAP_WCharDevControl = 23; + const int RAP_NetCharDevQEnum = 24; + const int RAP_NetCharDevQGetInfo = 25; + const int RAP_WCharDevQSetInfo = 26; + const int RAP_WCharDevQPurge = 27; + const int RAP_WCharDevQPurgeSelf = 28; + const int RAP_WMessageNameEnum = 29; + const int RAP_WMessageNameGetInfo = 30; + const int RAP_WMessageNameAdd = 31; + const int RAP_WMessageNameDel = 32; + const int RAP_WMessageNameFwd = 33; + const int RAP_WMessageNameUnFwd = 34; + const int RAP_WMessageBufferSend = 35; + const int RAP_WMessageFileSend = 36; + const int RAP_WMessageLogFileSet = 37; + const int RAP_WMessageLogFileGet = 38; + const int RAP_WServiceEnum = 39; + const int RAP_WServiceInstall = 40; + const int RAP_WServiceControl = 41; + const int RAP_WAccessEnum = 42; + const int RAP_WAccessGetInfo = 43; + const int RAP_WAccessSetInfo = 44; + const int RAP_WAccessAdd = 45; + const int RAP_WAccessDel = 46; + const int RAP_WGroupEnum = 47; + const int RAP_WGroupAdd = 48; + const int RAP_WGroupDel = 49; + const int RAP_WGroupAddUser = 50; + const int RAP_WGroupDelUser = 51; + const int RAP_WGroupGetUsers = 52; + const int RAP_WUserEnum = 53; + const int RAP_WUserAdd = 54; + const int RAP_WUserDel = 55; + const int RAP_WUserGetInfo = 56; + const int RAP_WUserSetInfo = 57; + const int RAP_WUserPasswordSet = 58; + const int RAP_WUserGetGroups = 59; + const int RAP_WWkstaSetUID = 62; + const int RAP_WWkstaGetInfo = 63; + const int RAP_WWkstaSetInfo = 64; + const int RAP_WUseEnum = 65; + const int RAP_WUseAdd = 66; + const int RAP_WUseDel = 67; + const int RAP_WUseGetInfo = 68; + const int RAP_WPrintQEnum = 69; + const int RAP_WPrintQGetInfo = 70; + const int RAP_WPrintQSetInfo = 71; + const int RAP_WPrintQAdd = 72; + const int RAP_WPrintQDel = 73; + const int RAP_WPrintQPause = 74; + const int RAP_WPrintQContinue = 75; + const int RAP_WPrintJobEnum = 76; + const int RAP_WPrintJobGetInfo = 77; + const int RAP_WPrintJobSetInfo_OLD = 78; + const int RAP_WPrintJobDel = 81; + const int RAP_WPrintJobPause = 82; + const int RAP_WPrintJobContinue = 83; + const int RAP_WPrintDestEnum = 84; + const int RAP_WPrintDestGetInfo = 85; + const int RAP_WPrintDestControl = 86; + const int RAP_WProfileSave = 87; + const int RAP_WProfileLoad = 88; + const int RAP_WStatisticsGet = 89; + const int RAP_WStatisticsClear = 90; + const int RAP_NetRemoteTOD = 91; + const int RAP_WNetBiosEnum = 92; + const int RAP_WNetBiosGetInfo = 93; + const int RAP_NetServerEnum = 94; + const int RAP_I_NetServerEnum = 95; + const int RAP_WServiceGetInfo = 96; + const int RAP_WPrintQPurge = 103; + const int RAP_NetServerEnum2 = 104; + const int RAP_WAccessGetUserPerms = 105; + const int RAP_WGroupGetInfo = 106; + const int RAP_WGroupSetInfo = 107; + const int RAP_WGroupSetUsers = 108; + const int RAP_WUserSetGroups = 109; + const int RAP_WUserModalsGet = 110; + const int RAP_WUserModalsSet = 111; + const int RAP_WFileEnum2 = 112; + const int RAP_WUserAdd2 = 113; + const int RAP_WUserSetInfo2 = 114; + const int RAP_WUserPasswordSet2 = 115; + const int RAP_I_NetServerEnum2 = 116; + const int RAP_WConfigGet2 = 117; + const int RAP_WConfigGetAll2 = 118; + const int RAP_WGetDCName = 119; + const int RAP_NetHandleGetInfo = 120; + const int RAP_NetHandleSetInfo = 121; + const int RAP_WStatisticsGet2 = 122; + const int RAP_WBuildGetInfo = 123; + const int RAP_WFileGetInfo2 = 124; + const int RAP_WFileClose2 = 125; + const int RAP_WNetServerReqChallenge = 126; + const int RAP_WNetServerAuthenticate = 127; + const int RAP_WNetServerPasswordSet = 128; + const int RAP_WNetAccountDeltas = 129; + const int RAP_WNetAccountSync = 130; + const int RAP_WUserEnum2 = 131; + const int RAP_WWkstaUserLogon = 132; + const int RAP_WWkstaUserLogoff = 133; + const int RAP_WLogonEnum = 134; + const int RAP_WErrorLogRead = 135; + const int RAP_NetPathType = 136; + const int RAP_NetPathCanonicalize = 137; + const int RAP_NetPathCompare = 138; + const int RAP_NetNameValidate = 139; + const int RAP_NetNameCanonicalize = 140; + const int RAP_NetNameCompare = 141; + const int RAP_WAuditRead = 142; + const int RAP_WPrintDestAdd = 143; + const int RAP_WPrintDestSetInfo = 144; + const int RAP_WPrintDestDel = 145; + const int RAP_WUserValidate2 = 146; + const int RAP_WPrintJobSetInfo = 147; + const int RAP_TI_NetServerDiskEnum = 148; + const int RAP_TI_NetServerDiskGetInfo = 149; + const int RAP_TI_FTVerifyMirror = 150; + const int RAP_TI_FTAbortVerify = 151; + const int RAP_TI_FTGetInfo = 152; + const int RAP_TI_FTSetInfo = 153; + const int RAP_TI_FTLockDisk = 154; + const int RAP_TI_FTFixError = 155; + const int RAP_TI_FTAbortFix = 156; + const int RAP_TI_FTDiagnoseError = 157; + const int RAP_TI_FTGetDriveStats = 158; + const int RAP_TI_FTErrorGetInfo = 160; + const int RAP_NetAccessCheck = 163; + const int RAP_NetAlertRaise = 164; + const int RAP_NetAlertStart = 165; + const int RAP_NetAlertStop = 166; + const int RAP_NetAuditWrite = 167; + const int RAP_NetIRemoteAPI = 168; + const int RAP_NetServiceStatus = 169; + const int RAP_NetServerRegister = 170; + const int RAP_NetServerDeregister = 171; + const int RAP_NetSessionEntryMake = 172; + const int RAP_NetSessionEntryClear = 173; + const int RAP_NetSessionEntryGetInfo = 174; + const int RAP_NetSessionEntrySetInfo = 175; + const int RAP_NetConnectionEntryMake = 176; + const int RAP_NetConnectionEntryClear = 177; + const int RAP_NetConnectionEntrySetInfo = 178; + const int RAP_NetConnectionEntryGetInfo = 179; + const int RAP_NetFileEntryMake = 180; + const int RAP_NetFileEntryClear = 181; + const int RAP_NetFileEntrySetInfo = 182; + const int RAP_NetFileEntryGetInfo = 183; + const int RAP_AltSrvMessageBufferSend = 184; + const int RAP_AltSrvMessageFileSend = 185; + const int RAP_wI_NetRplWkstaEnum = 186; + const int RAP_wI_NetRplWkstaGetInfo = 187; + const int RAP_wI_NetRplWkstaSetInfo = 188; + const int RAP_wI_NetRplWkstaAdd = 189; + const int RAP_wI_NetRplWkstaDel = 190; + const int RAP_wI_NetRplProfileEnum = 191; + const int RAP_wI_NetRplProfileGetInfo = 192; + const int RAP_wI_NetRplProfileSetInfo = 193; + const int RAP_wI_NetRplProfileAdd = 194; + const int RAP_wI_NetRplProfileDel = 195; + const int RAP_wI_NetRplProfileClone = 196; + const int RAP_wI_NetRplBaseProfileEnum = 197; + const int RAP_WIServerSetInfo = 201; + const int RAP_WPrintDriverEnum = 205; + const int RAP_WPrintQProcessorEnum = 206; + const int RAP_WPrintPortEnum = 207; + const int RAP_WNetWriteUpdateLog = 208; + const int RAP_WNetAccountUpdate = 209; + const int RAP_WNetAccountConfirmUpdate = 210; + const int RAP_WConfigSet = 211; + const int RAP_WAccountsReplicate = 212; + const int RAP_SamOEMChgPasswordUser2_P = 214; + const int RAP_NetServerEnum3 = 215; + const int RAP_WprintDriverGetInfo = 250; + const int RAP_WprintDriverSetInfo = 251; + const int RAP_WaliasAdd = 252; + const int RAP_WaliasDel = 253; + const int RAP_WaliasGetInfo = 254; + const int RAP_WaliasSetInfo = 255; + const int RAP_WaliasEnum = 256; + const int RAP_WuserGetLogonAsn = 257; + const int RAP_WuserSetLogonAsn = 258; + const int RAP_WuserGetAppSel = 259; + const int RAP_WuserSetAppSel = 260; + const int RAP_WappAdd = 261; + const int RAP_WappDel = 262; + const int RAP_WappGetInfo = 263; + const int RAP_WappSetInfo = 264; + const int RAP_WappEnum = 265; + const int RAP_WUserDCDBInit = 266; + const int RAP_WDASDAdd = 267; + const int RAP_WDASDDel = 268; + const int RAP_WDASDGetInfo = 269; + const int RAP_WDASDSetInfo = 270; + const int RAP_WDASDEnum = 271; + const int RAP_WDASDCheck = 272; + const int RAP_WDASDCtl = 273; + const int RAP_WuserRemoteLogonCheck = 274; + const int RAP_WUserPasswordSet3 = 275; + const int RAP_WCreateRIPLMachine = 276; + const int RAP_WDeleteRIPLMachine = 277; + const int RAP_WGetRIPLMachineInfo = 278; + const int RAP_WSetRIPLMachineInfo = 279; + const int RAP_WEnumRIPLMachine = 280; + const int RAP_I_ShareAdd = 281; + const int RAP_AliasEnum = 282; + const int RAP_WaccessApply = 283; + const int RAP_WPrt16Query = 284; + const int RAP_WPrt16Set = 285; + const int RAP_WUserDel100 = 286; + const int RAP_WUserRemoteLogonCheck2 = 287; + const int RAP_WRemoteTODSet = 294; + const int RAP_WprintJobMoveAll = 295; + const int RAP_W16AppParmAdd = 296; + const int RAP_W16AppParmDel = 297; + const int RAP_W16AppParmGet = 298; + const int RAP_W16AppParmSet = 299; + const int RAP_W16RIPLMachineCreate = 300; + const int RAP_W16RIPLMachineGetInfo = 301; + const int RAP_W16RIPLMachineSetInfo = 302; + const int RAP_W16RIPLMachineEnum = 303; + const int RAP_W16RIPLMachineListParmEnum = 304; + const int RAP_W16RIPLMachClassGetInfo = 305; + const int RAP_W16RIPLMachClassEnum = 306; + const int RAP_W16RIPLMachClassCreate = 307; + const int RAP_W16RIPLMachClassSetInfo = 308; + const int RAP_W16RIPLMachClassDelete = 309; + const int RAP_W16RIPLMachClassLPEnum = 310; + const int RAP_W16RIPLMachineDelete = 311; + const int RAP_W16WSLevelGetInfo = 312; + const int RAP_WserverNameAdd = 313; + const int RAP_WserverNameDel = 314; + const int RAP_WserverNameEnum = 315; + const int RAP_I_WDASDEnum = 316; + const int RAP_WDASDEnumTerminate = 317; + const int RAP_WDASDSetInfo2 = 318; + const int MAX_API = 318; + + /* sizes of fixed-length fields, including null terminator */ + const int RAP_GROUPNAME_LEN = 21; + const int RAP_USERNAME_LEN = 21; + const int RAP_SHARENAME_LEN = 13; + const int RAP_UPASSWD_LEN = 16; /* user password */ + const int RAP_SPASSWD_LEN = 9; /* share password */ + const int RAP_MACHNAME_LEN = 16; + const int RAP_SRVCNAME_LEN = 16; + const int RAP_SRVCCMNT_LEN = 64; + const int RAP_DATATYPE_LEN = 10; + + typedef struct { + uint8 group_name[21]; + char reserved1; + [string,charset(DOS)] uint8 *comment; + } rap_group_info_1; + + typedef struct { + uint8 user_name[21]; + char reserved1; + uint8 passwrd[16]; + uint32 pwage; + uint16 priv; + [string,charset(DOS)] uint8 *home_dir; + [string,charset(DOS)] uint8 *comment; + uint16 userflags; + [string,charset(DOS)] uint8 *logon_script; + } rap_user_info_1; + + typedef struct { + uint8 service_name[16]; + uint16 status; + uint32 installcode; + uint16 process_num; + [string,charset(DOS)] uint8 *comment; + } rap_service_info_2; + + typedef struct { + uint8 share_name[13]; + } rap_share_info_0; + + typedef struct { + uint8 share_name[13]; + char reserved1; + uint16 share_type; + [string,charset(DOS)] uint8 *comment; + } rap_share_info_1; + + typedef struct { + uint8 share_name[13]; + char reserved1; + uint16 share_type; + [string,charset(DOS)] uint8 *comment; + uint16 perms; + uint16 maximum_users; + uint16 active_users; + [string,charset(DOS)] uint8 *path; + uint8 password[9]; + char reserved2; + } rap_share_info_2; + + typedef [nodiscriminant] union { + [case(0)] rap_share_info_0 info0; + [case(1)] rap_share_info_1 info1; + [case(2)] rap_share_info_2 info2; + } rap_share_info; + + [public] void rap_NetShareEnum( + [in] uint16 level, + [in] uint16 bufsize, + [out] uint16 status, + [out] uint16 convert, + [out] uint16 count, + [out] uint16 available, + [out,switch_is(level)] rap_share_info *info + ); + + typedef struct { + uint8 name[16]; + } rap_server_info_0; + + typedef struct { + uint8 name[16]; + uint8 version_major; + uint8 version_minor; + uint32 servertype; + [string,charset(DOS)] uint8 *comment; + } rap_server_info_1; + + typedef [nodiscriminant] union { + [case(0)] rap_server_info_0 info0; + [case(1)] rap_server_info_1 info1; + } rap_server_info; + + [public] void rap_NetServerEnum2( + [in] uint16 level, + [in] uint16 bufsize, + [in] uint32 servertype, + [in] [string,charset(DOS)] uint8 *domain, + [out] uint16 status, + [out] uint16 convert, + [out] uint16 count, + [out] uint16 available, + [out,switch_is(level)] rap_server_info *info + ); + + [public] void rap_WserverGetInfo( + [in] uint16 level, + [in] uint16 bufsize, + [out] uint16 status, + [out] uint16 convert, + [out] uint16 available, + [out,switch_is(level)] rap_server_info info + ); + + /* Parameter description strings for RAP calls */ + /* Names are defined name for RAP call with _REQ */ + /* appended to end. */ + + const string RAP_WFileEnum2_REQ = "zzWrLehb8g8"; + const string RAP_WFileGetInfo2_REQ = "DWrLh"; + const string RAP_WFileClose2_REQ = "D"; + + const string RAP_NetGroupEnum_REQ = "WrLeh"; + const string RAP_NetGroupAdd_REQ = "WsT"; + const string RAP_NetGroupDel_REQ = "z"; + const string RAP_NetGroupAddUser_REQ = "zz"; + const string RAP_NetGroupDelUser_REQ = "zz"; + const string RAP_NetGroupGetUsers_REQ = "zWrLeh"; + const string RAP_NetGroupSetUsers_REQ = "zWsTW"; + + const string RAP_NetUserAdd2_REQ = "WsTWW"; + const string RAP_NetUserEnum_REQ = "WrLeh"; + const string RAP_NetUserEnum2_REQ = "WrLDieh"; + const string RAP_NetUserGetGroups_REQ = "zWrLeh"; + const string RAP_NetUserSetGroups_REQ = "zWsTW"; + const string RAP_NetUserPasswordSet_REQ = "zb16b16w"; + const string RAP_NetUserPasswordSet2_REQ = "zb16b16WW"; + const string RAP_SAMOEMChgPasswordUser2_REQ = "B516B16"; + const string RAP_NetUserValidate2_REQ = "Wb62WWrLhWW"; + + const string RAP_NetServerEnum2_REQ = "WrLehDz"; + const string RAP_WserverGetInfo_REQ = "WrLh"; + const string RAP_NetWkstatGetInfo = "WrLh"; + + const string RAP_WShareAdd_REQ = "WsT"; + const string RAP_WShareEnum_REQ = "WrLeh"; + const string RAP_WShareDel_REQ = "zW"; + const string RAP_WWkstaGetInfo_REQ = "WrLh"; + + const string RAP_NetPrintQEnum_REQ = "WrLeh"; + const string RAP_NetPrintQGetInfo_REQ = "zWrLh"; + + const string RAP_NetServerAdminCommand_REQ = "zhrLeh"; + const string RAP_NetServiceEnum_REQ = "WrLeh"; + const string RAP_NetServiceControl_REQ = "zWWrL"; + const string RAP_NetServiceInstall_REQ = "zF88sg88T"; + const string RAP_NetServiceGetInfo_REQ = "zWrLh"; + const string RAP_NetSessionEnum_REQ = "WrLeh"; + const string RAP_NetSessionGetInfo_REQ = "zWrLh"; + const string RAP_NetSessionDel_REQ = "zW"; + + const string RAP_NetConnectionEnum_REQ = "zWrLeh"; + + const string RAP_NetWkstaUserLogoff_REQ = "zzWb38WrLh"; + + /* Description strings for returned data in RAP calls */ + /* I use all caps here in part to avoid accidental */ + /* name collisions */ + + const string RAP_FILE_INFO_L2 = "D"; + const string RAP_FILE_INFO_L3 = "DWWzz"; + const string RAP_GROUP_INFO_L0 = "B21"; + const string RAP_GROUP_INFO_L1 = "B21Bz"; + const string RAP_GROUP_USERS_INFO_0 = "B21"; + const string RAP_GROUP_USERS_INFO_1 = "B21BN"; + + const string RAP_USER_INFO_L0 = "B21"; + const string RAP_USER_INFO_L1 = "B21BB16DWzzWz"; + + const string RAP_SERVER_INFO_L0 = "B16"; + const string RAP_SERVER_INFO_L1 = "B16BBDz"; + const string RAP_SERVER_INFO_L2 = "B16BBDzDDDWWzWWWWWWWB21BzWWWWWWWWWWWWWWWWWWWWWWz"; + const string RAP_SERVER_INFO_L3 = "B16BBDzDDDWWzWWWWWWWB21BzWWWWWWWWWWWWWWWWWWWWWWzDWz"; + const string RAP_SERVICE_INFO_L0 = "B16"; + const string RAP_SERVICE_INFO_L2 = "B16WDWB64"; + const string RAP_SHARE_INFO_L0 = "B13"; + const string RAP_SHARE_INFO_L1 = "B13BWz"; + const string RAP_SHARE_INFO_L2 = "B13BWzWWWzB9B"; + + const string RAP_PRINTQ_INFO_L2 = "B13BWWWzzzzzWN"; + const string RAP_SMB_PRINT_JOB_L1 = "WB21BB16B10zWWzDDz"; + + const string RAP_SESSION_INFO_L2 = "zzWWWDDDz"; + const string RAP_CONNECTION_INFO_L1 = "WWWWDzz"; + + const string RAP_USER_LOGOFF_INFO_L1 = "WDW"; + + const string RAP_WKSTA_INFO_L1 = "WDzzzzBBDWDWWWWWWWWWWWWWWWWWWWzzWzzW"; + const string RAP_WKSTA_INFO_L10 = "zzzBBzz"; +}; -- cgit