s3-rap: add rap_NetRemoteTOD to IDL.
[samba.git] / librpc / idl / rap.idl
index 604ed64904277f11f8c24ffe54a0f9901d48299d..780951c7503489ccfd5770d646aa3f63d3ef572c 100644 (file)
@@ -754,6 +754,239 @@ interface rap
                [out,switch_is(level)] rap_printdest_info info
        );
 
+       [public] void rap_NetUserPasswordSet2(
+               [in] astring UserName,
+               [in] uint8 OldPassword[16],
+               [in] uint8 NewPassword[16],
+               [in] uint16 EncryptedPassword,
+               [in] uint16 RealPasswordLength,
+               [out] rap_status status,
+               [out] uint16 convert
+       );
+
+       /* not documented in MS-RAP */
+       [public] void rap_NetOEMChangePassword(
+               [in] astring UserName,
+               [in] uint8 crypt_password[516],
+               [in] uint8 password_hash[16],
+               [out] rap_status status,
+               [out] uint16 convert
+       );
+
+       typedef struct {
+               [charset(DOS)] uint8 Name[21];
+       } rap_NetUserInfo0;
+
+       typedef [public] enum {
+               USER_PRIV_GUEST = 0,
+               USER_PRIV_USER  = 1,
+               USER_PRIV_ADMIN = 2
+       } rap_UserPriv;
+
+       typedef struct {
+               [charset(DOS)] uint8 Name[21];
+               uint8 Pad;
+               uint8 Password[16];
+               time_t PasswordAge;
+               rap_UserPriv Priv;
+               [relative_short] astring *HomeDir;
+               uint16 HomeDirHigh;
+               [relative_short] astring *Comment;
+               uint16 CommentHigh;
+               uint16 Flags; /* FIXME */
+               [relative_short] astring *ScriptPath;
+               uint16 ScriptPathHigh;
+       } rap_NetUserInfo1;
+
+       typedef [public,v1_enum] enum {
+               AF_OP_PRINT     = 0,
+               AF_OP_COMM      = 1,
+               AF_OP_SERVER    = 2,
+               AF_OP_ACCOUNTS  = 3
+       } rap_AuthFlags;
+
+       typedef [public] struct {
+               uint8 LogonHours[21];
+       } rap_LogonHours;
+
+       typedef struct {
+               [charset(DOS)] uint8 Name[21];
+               uint8 Pad;
+               uint8 Password[16];
+               time_t PasswordAge;
+               rap_UserPriv Priv;
+               [relative_short] astring *HomeDir;
+               uint16 HomeDirHigh;
+               [relative_short] astring *Comment;
+               uint16 CommentHigh;
+               uint16 Flags; /* FIXME */
+               [relative_short] astring *ScriptPath;
+               uint16 ScriptPathHigh;
+               rap_AuthFlags AuthFlags;
+               [relative_short] astring *FullName;
+               uint16 FullNameHigh;
+               [relative_short] astring *UsrComment;
+               uint16 UsrCommentHigh;
+               [relative_short] astring *pParms;
+               uint16 pParmsHigh;
+               [relative_short] astring *WorkStations;
+               uint16 WorkStationsHigh;
+               time_t LastLogon;
+               time_t LastLogOff;
+               time_t AcctExpires;
+               uint32 MaxStorage;
+               uint16 UnitsPerWeek;
+               [relative_short] rap_LogonHours *LogonHours;
+               uint16 LogonHoursHigh;
+               uint16 BadPwCount;
+               uint16 NumLogons;
+               [relative_short] astring *LogonServer;
+               uint16 LogonServerHigh;
+               uint16 CountryCode;
+               uint16 CodePage;
+       } rap_NetUserInfo2;
+
+       typedef struct {
+               [charset(DOS)] uint8 Name[21];
+               uint8 Pad;
+               [relative_short] astring *Comment;
+               uint16 CommentHigh;
+               [relative_short] astring *UsrComment;
+               uint16 UsrCommentHigh;
+               [relative_short] astring *FullName;
+               uint16 FullNameHigh;
+       } rap_NetUserInfo10;
+
+       typedef struct {
+               [charset(DOS)] uint8 Name[21];
+               uint8 Pad;
+               [relative_short] astring *Comment;
+               uint16 CommentHigh;
+               [relative_short] astring *UsrComment;
+               uint16 UsrCommentHigh;
+               [relative_short] astring *FullName;
+               uint16 FullNameHigh;
+               rap_UserPriv Priv;
+               rap_AuthFlags AuthFlags;
+               time_t PasswordAge;
+               [relative_short] astring *HomeDir;
+               uint16 HomeDirHigh;
+               [relative_short] astring *Parms;
+               uint16 ParmsHigh;
+               time_t LastLogon;
+               time_t LastLogOff;
+               uint16 BadPWCount;
+               uint16 NumLogons;
+               [relative_short] astring *LogonServer;
+               uint16 LogonServerHigh;
+               uint16 CountryCode;
+               [relative_short] astring *WorkStations;
+               uint16 WorkStationsHigh;
+               uint32 MaxStorage;
+               uint16 UnitsPerWeek;
+               [relative_short] rap_LogonHours *LogonHours;
+               uint16 LogonHoursHigh;
+               uint16 CodePage;
+       } rap_NetUserInfo11;
+
+       typedef [public,nodiscriminant] union {
+               [case(0)] rap_NetUserInfo0 info0;
+               [case(1)] rap_NetUserInfo1 info1;
+               [case(2)] rap_NetUserInfo2 info2;
+               [case(10)] rap_NetUserInfo10 info10;
+               [case(11)] rap_NetUserInfo11 info11;
+       } rap_netuser_info;
+
+       [public] void rap_NetUserGetInfo(
+               [in] astring UserName,
+               [in] uint16 level,
+               [in] uint16 bufsize,
+               [out] rap_status status,
+               [out] uint16 convert,
+               [out] uint16 available,
+               [out,switch_is(level)] rap_netuser_info info
+       );
+
+       typedef struct {
+               [relative_short] astring *ComputerName;
+               uint16 ComputerNameHigh;
+               [relative_short] astring *UserName;
+               uint16 UserNameHigh;
+               uint16 num_conns;
+               uint16 num_opens;
+               uint16 num_users;
+               uint32 sess_time;
+               uint32 idle_time;
+               uint32 user_flags;
+               [relative_short] astring *CliTypeName;
+               uint16 CliTypeNameHigh;
+       } rap_session_info_2;
+
+       typedef [public,nodiscriminant] union {
+               [case(2)] rap_session_info_2 info2;
+       } rap_session_info;
+
+       /* not documented in MS-RAP */
+       [public] void rap_NetSessionEnum(
+               [in] uint16 level,
+               [in] uint16 bufsize,
+               [out] rap_status status,
+               [out] uint16 convert,
+               [out] uint16 count,
+               [out] uint16 available,
+               [out,switch_is(level)] rap_session_info info[count]
+       );
+
+       /* not documented in MS-RAP */
+       [public] void rap_NetSessionGetInfo(
+               [in] astring SessionName,
+               [in] uint16 level,
+               [in] uint16 bufsize,
+               [out] rap_status status,
+               [out] uint16 convert,
+               [out] uint16 available,
+               [out,switch_is(level)] rap_session_info info
+       );
+
+       /* not documented in MS-RAP */
+       [public] void rap_NetUserAdd(
+               [in] uint16 level,
+               [in] uint16 bufsize,
+               [in] uint16 pwdlength,
+               [in] uint16 unknown,
+               [in,switch_is(level)] rap_netuser_info info,
+               [out] rap_status status,
+               [out] uint16 convert
+       );
+
+       /* not documented in MS-RAP */
+       [public] void rap_NetUserDelete(
+               [in] astring UserName,
+               [out] rap_status status,
+               [out] uint16 convert
+       );
+
+       typedef [public] struct {
+               uint32 TimeSinceJan11970;
+               uint32 TimeSinceBoot;
+               uint8 Hours;
+               uint8 Minutes;
+               uint8 Seconds;
+               uint8 Hundreds;
+               uint16 TimeZone;
+               uint16 ClockFrequency;
+               uint8 Day;
+               uint8 Month;
+               uint16 Year;
+               uint8 Weekday;
+       } rap_TimeOfDayInfo;
+
+       [public] void rap_NetRemoteTOD(
+               [in] uint16 bufsize,
+               [out] rap_status status,
+               [out] uint16 convert,
+               [out] rap_TimeOfDayInfo tod
+       );
 
        /* Parameter description strings for RAP calls   */
        /* Names are defined name for RAP call with _REQ */