DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦51ba35593⟧ Ada Source

    Length: 13312 (0x3400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Operator, pragma Module_Name 4 3926, pragma Subsystem Os_Commands, seg_001b80

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with System_Utilities;
with Terminal;

package Operator is

    procedure Disk_Space;

    procedure Create_User (User     : String  := ">>USER NAME<<";
                           Password : String  := "";
                           Volume   : Natural := 0;
                           Response : String  := "<PROFILE>");
    -- create a user with the given password on volume (0 => Most Available)

    procedure Delete_User (User     : String := ">>USER NAME<<";
                           Response : String := "<PROFILE>");
    -- delete user;  Operator capability is required (or privileged mode)

    procedure Change_Password (User         : String := ">>USER NAME<<";
                               Old_Password : String := "";
                               New_Password : String := "";
                               Response     : String := "<PROFILE>");

    procedure Create_Session (User     : String := ">>USER NAME<<";
                              Session  : String := ">>SESSION NAME<<";
                              Response : String := "<PROFILE>");

    procedure Create_Group (Group    : String := ">>GROUP NAME<<";
                            Response : String := "<PROFILE>");
    -- Create the named group.  It must currently not exist.  It has
    -- no initial members.

    procedure Delete_Group (Group    : String := ">>GROUP NAME<<";
                            Response : String := "<PROFILE>");
    -- Delete the named group.  This operation cannot be used to delete the
    -- group with the same name as an existent user.  Delete_User will
    -- get rid of the group associated with a user.  Acl entries
    -- that refer to a deleted group become inoperative and will be
    -- reclaimed during the next access list compaction.

    procedure Add_To_Group (User     : String := ">>USER NAME<<";
                            Group    : String := ">>GROUP NAME<<";
                            Response : String := "<PROFILE>");
    -- Add the specified user to the specified group.
    -- Operator privilege is required to execute this operation.

    procedure Remove_From_Group (User     : String := ">>USER NAME<<";
                                 Group    : String := ">>GROUP NAME<<";
                                 Response : String := "<PROFILE>");
    -- Remove the specified user to the specified group.
    -- Operator privilege is required to execute this operation.

    procedure Display_Group (Group    : String := ">>GROUP NAME<<";
                             Response : String := "<PROFILE>");
    -- Display the names of users in the specified group on Current_Output.

    procedure Enable_Privileges (Enable : Boolean := True);
    function  Privileged_Mode return Boolean;
    -- If the caller is a member of the predefined group "privileged",
    -- calling this procedure actually enables or disables the
    -- extra capabilities that such a job can have.  General usageis
    -- to not enable privileged mode unless it is really needed so
    -- as to avoid accidently doing something that would normally be
    -- stopped by access control.  All tasks in the job become
    -- privileged when the mode is enabled.  No output is produced
    -- by any of these procedures.  Failure to acquire privileged mode
    -- is indicated only by the absence of the privileges.  Privileged_Mode
    -- returns false in this case.


    procedure Enable_Terminal  (Physical_Line : Terminal.Port;
                                Response      : String := "<PROFILE>");
    procedure Disable_Terminal (Physical_Line : Terminal.Port;
                                Response      : String := "<PROFILE>");
    -- (Dis)allow login on the specified terminal port

    procedure Force_Logoff (Physical_Line  : Terminal.Port;
                            Commit_Buffers : Boolean := True;
                            Response       : String  := "<PROFILE>");
    -- Force a user off of the specified terminal.
    -- Try to commit modified buffers if Commit_Buffers is true.
    -- Each of these operations requires operator capability.

    procedure Set_System_Time (To_Be    : String := ">>TIME<<";
                               Response : String := "<PROFILE>");
    -- Requires operator capability.

    procedure Shutdown_Warning (Interval : Duration := 3600.0);
    -- Note that Interval is rounded to the nearest minute.  Less than
    -- 30.0 is rounded to 0.

    function Get_Shutdown_Interval return Duration;

    procedure Archive_On_Shutdown (On : Boolean := True);
    function  Get_Archive_On_Shutdown return Boolean;
    -- Archive_On_Shutdown causes the next shutdown to store internal
    -- state in "archive" form, allowing upgrades and conversion of
    -- internal data structures.  It typically takes several hours to
    -- complete a shutdown or restart with archive conversions.

    procedure Show_Shutdown_Setting;
    procedure Cancel_Shutdown;

    procedure Shutdown (Reason      : String :=
                           "COPS";           -- Customer operations
                        Explanation : String := "Cause not entered");

    -- Shutdown the machine.  Enter the cause and explanation in the system
    -- log, wait for the Shutdown interval to expire, then log users
    -- off and shutdown the machine.
    -- Enter Reason = "?" to get list of reasons.  The shutdown will not
    -- happen unless Reason is a legal value.


    procedure Explain_Crash;
    -- Reads a shutdown cause and explanation from current input and enters
    -- these in the machine's error log.  Corresponds to the information
    -- entered by shutdown.

    procedure Limit_Login (Sessions : Positive := Positive'Last);
    procedure Show_Login_Limit;
    function  Get_Login_Limit return Positive;
    -- Control over the number of simultaneously active user sessions

    procedure InternalSystem_Diagnosis;
    -- Requires Operator capability

    subtype Days is Positive;

    procedure Set_Password_Policy
                 (Minimum_Length  : Natural := 0;
                  Change_Warning  : Days    := Operator.Days'Last;
                  Change_Deadline : Days    := Operator.Days'Last);
    -- Passwords must be at least Minimum_Length characters long.
    -- Passwords must be changed periodically.  Change_Warning days after the
    -- last change, the user will be notified at login that the account
    -- password should be changed.  Change_Deadline days after the last change,
    -- the user will be unable to login without changing the password.
    -- The default values introduce no restrictions.
    -- Requires Operator capability.

    procedure Show_Password_Policy
                 (For_User : String := System_Utilities.User_Name);
    -- Show the current policy along with the expiration dates for the user(s)
    -- specified.

    function Get_Minimum_Password_Length return Natural;
    function Get_Password_Warning        return Days;
    function Get_Password_Deadline       return Days;
    -- Return the values last set by Set_Password_Policy.

    function Get_User_Warning
                (For_User : String := System_Utilities.User_Name) return String;
    function Get_User_Deadline
                (For_User : String := System_Utilities.User_Name) return String;
    -- Return the image of the date on which the Warning (Deadline) for
    -- changing the password will be reached.  Can be processed by
    -- Time_Utilities if necessary to have numeric value.  Format is mm/dd/yy.

    pragma Subsystem (Os_Commands);
    pragma Module_Name (4, 3926);

end Operator;

E3 Meta Data

    nblk1=c
    nid=0
    hdr6=18
        [0x00] rec0=19 rec1=00 rec2=01 rec3=046
        [0x01] rec0=12 rec1=00 rec2=02 rec3=066
        [0x02] rec0=12 rec1=00 rec2=03 rec3=084
        [0x03] rec0=00 rec1=00 rec2=0c rec3=002
        [0x04] rec0=13 rec1=00 rec2=04 rec3=010
        [0x05] rec0=00 rec1=00 rec2=0b rec3=004
        [0x06] rec0=15 rec1=00 rec2=05 rec3=046
        [0x07] rec0=00 rec1=00 rec2=0a rec3=002
        [0x08] rec0=18 rec1=00 rec2=06 rec3=02c
        [0x09] rec0=00 rec1=00 rec2=09 rec3=002
        [0x0a] rec0=16 rec1=00 rec2=07 rec3=012
        [0x0b] rec0=11 rec1=00 rec2=08 rec3=000
    tail 0x20100f0107da18d4c323c 0x42a00088462065003