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

⟦2ae234f4c⟧ Ada Source

    Length: 14336 (0x3800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Log, pragma Module_Name 4 3218, pragma Subsystem Input_Output, seg_001b7a

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 Io;
with Diana;
with Directory;
with Error_Messages;
with Machine;
with Profile;
with Simple_Status;
package Log is

    subtype Name is String;  -- an unambiguous string name

    procedure Set_Log (To_Be  : Name               := ">>FILE NAME<<";
                       Filter : Profile.Log_Filter := Profile.Filter);
    -- Set Current_Output to To_Be, changing the profile to direct log
    -- output to Use_Current_Output.  Change the Log_Filter to Filter.
    -- If To_Be cannot be created, Current_Output is not redirected, but
    -- no exception is raised.

    procedure Reset_Log (Filter : Profile.Log_Filter := Profile.Filter);
    -- Equivalent to IO.Reset_..., but changes Log_Filter


    procedure Put_System_Messages
                 (Response : Profile.Response_Profile := Profile.Get);
    -- Copy contents of the message log for the current job into Current_Output

    procedure Put_Job_Messages
                 (For_Job  : Machine.Job_Id;
                  Response : Profile.Response_Profile := Profile.Get);
    -- Copy contents of the message log for specified job into Current_Output


    procedure Put_Condition
                 (Status   : Simple_Status.Condition;
                  Response : Profile.Response_Profile := Profile.Get);

    -- Display contents of Status in Current_Output.
    procedure Put_Line (Message  : String;
                        Kind     : Profile.Msg_Kind         := Profile.Note_Msg;
                        Response : Profile.Response_Profile := Profile.Get);
    -- Appends the Message to the end of the Current_Output as described by
    -- the given response profile. If Profile.Includes (Kind, Response) is
    -- true, then the messages is generated as described below; otherwise
    -- the Put_line call returns immediately.

    -- The Time, Date and Symbol prefixes are printed first, in the order
    -- and format specified by the Profile.Prefixes (Response) array.
    -- If the Profile.Symbols prefix is requested, a unique three-character
    -- string is generated for each possible vale of Kind:

    --   -- KIND --   Symbol            Excplanation

    --  Position_Msg    >>>
    --       Identifies the location in a file or program
    --       to which subsequent messages refer.
    --  Sharp_Msg       ### \
    --  Dollar_Msg      $$$  + Available for user-defined purposes
    --  At_Msg          @@@ /
    --  Debug_Msg       ???
    --  Auxiliary_Msg   :::
    --  Note_Msg        ---
    --       Supplemental information.
    --  Positive_Msg    +++
    --       Indicates that a major step in the process has
    --       completed successfully. e.g. a unit has been
    --       compiled, or generation of an output file is
    --       complete.
    --  Warning_Msg     !!!
    --       Indicates a minor problem in processing a major
    --       step of the process.  Warnings generally do not
    --       lead to negative messages (see below).
    --  Negative_Msg    ++*
    --       Indicates that a major step in the process has
    --       completed unsuccessfully. e.g. a unit has failed
    --       to compile, or generation of an output file is
    --       could not be accomplished.
    --  Error_Msg       ***
    --       Indicates a significant problem within a major
    --       step of the process that has been detected by
    --       the command.  Error messages will
    --       frequently be followed by negative messges
    --  Exception_Msg   %%%
    --       Indicates that a command caught an unexpected
    --       exception.

    -- The text of the message follows the prefixes.  If the message line
    -- exceeds Profile.Width (Response), it is continued on the next line.
    -- Each continuation line starts with the same prefixes as the first
    -- line, except that the three-character string "..." is used instead
    -- of the symbols in the table above.  (If no Symbols prefix is
    -- requested by the Profile.Prefixes (Response), the symbol string
    -- "... " is inserted between the rightmost prefix and the message text.)

    procedure Copy (Log_File    : Name               := "<IMAGE>";
                    Destination : Name               := "";
                    Filter      : Profile.Log_Filter := Profile.Filter);
    -- Once a log file has been generated with symbol prefixes, the
    -- following procedures may be used to copy the file while filtering
    -- out unwanted messages.  The default destination is Current_Output


    procedure Filter (Log_File    : Name    := "<IMAGE>";
                      Destination : Name    := "";
                      Auxiliaries : Boolean := True;
                      Diagnostics : Boolean := True;
                      Notes       : Boolean := True;
                      Positives   : Boolean := True;
                      Negatives   : Boolean := True;
                      Positions   : Boolean := True;
                      Warnings    : Boolean := True;
                      Errors      : Boolean := True;
                      Exceptions  : Boolean := True;
                      Sharps      : Boolean := True;
                      Dollars     : Boolean := True;
                      Ats         : Boolean := True);

    procedure Summarize (Log_File    : Name    := "<IMAGE>";
                         Destination : Name    := "";
                         Auxiliaries : Boolean := True;
                         Diagnostics : Boolean := True;
                         Notes       : Boolean := False;
                         Positives   : Boolean := True;
                         Negatives   : Boolean := True;
                         Positions   : Boolean := False;
                         Warnings    : Boolean := False;
                         Errors      : Boolean := False;
                         Exceptions  : Boolean := False;
                         Sharps      : Boolean := False;
                         Dollars     : Boolean := False;
                         Ats         : Boolean := False) renames Filter;

    procedure Filter_Errors (Log_File    : Name    := "<IMAGE>";
                             Destination : Name    := "";
                             Auxiliaries : Boolean := True;
                             Diagnostics : Boolean := True;
                             Notes       : Boolean := False;
                             Positives   : Boolean := False;
                             Negatives   : Boolean := True;
                             Positions   : Boolean := False;
                             Warnings    : Boolean := True;
                             Errors      : Boolean := True;
                             Exceptions  : Boolean := False;
                             Sharps      : Boolean := False;
                             Dollars     : Boolean := False;
                             Ats         : Boolean := False) renames Filter;

    procedure Set_Error  (To_Be : Name := ">>FILE NAME<<");
    procedure Set_Input  (To_Be : Name := "<REGION>") renames Io.Set_Input;
    procedure Set_Output (To_Be : Name := ">>FILE NAME<<");
    -- Set_Output and Set_Error deal with interaction with profiles that
    -- direct Log output to streams other than Current_Output.

    procedure Pop_Error  renames Io.Pop_Error;
    procedure Pop_Input  renames Io.Pop_Input;
    procedure Pop_Output renames Io.Pop_Output;

    procedure Reset_Error  renames Io.Reset_Error;
    procedure Reset_Input  renames Io.Reset_Input;
    procedure Reset_Output renames Io.Reset_Output;

    procedure Flush (Response : Profile.Response_Profile := Profile.Get);
    -- force any log output into the log file

    procedure Save (Response : Profile.Response_Profile := Profile.Get);
    -- make the current contents of the log file permanent; calls flush

    generic
        type Object_Type is private;
        with function Full   (Object : Object_Type) return String;
        with function Simple (Object : Object_Type) return String;
        with function Is_Nil (Object : Object_Type) return Boolean;
        with function Nil                           return Object_Type;

    procedure Put_Line_Generic
                 (Object1  : Object_Type;
                  Message  : String                   := "";
                  Object2  : Object_Type              := Nil;
                  Kind     : Profile.Msg_Kind         := Profile.Note_Msg;
                  Response : Profile.Response_Profile := Profile.Get);

    procedure Put_Line (Object1  : Directory.Object;
                        Message  : String                   := "";
                        Object2  : Directory.Object         := Directory.Nil;
                        Kind     : Profile.Msg_Kind         := Profile.Note_Msg;
                        Response : Profile.Response_Profile := Profile.Get);

    procedure Put_Line (Object1  : Directory.Version;
                        Message  : String                   := "";
                        Object2  : Directory.Version        := Directory.Nil;
                        Kind     : Profile.Msg_Kind         := Profile.Note_Msg;
                        Response : Profile.Response_Profile := Profile.Get);

    procedure Put_Line (Object1  : Diana.Tree;
                        Message  : String                   := "";
                        Object2  : Diana.Tree               := Diana.Empty;
                        Kind     : Profile.Msg_Kind         := Profile.Note_Msg;
                        Response : Profile.Response_Profile := Profile.Get);

    -- Enters a message into the log, if messages of the Kind specified
    -- are to be included.

    -- If the message does go into the log, the name of the specified
    -- object(s) is computed and inserted into the text of the message.
    -- The location for the name of the first object is indicated by the
    -- symbol "<1>"; if this string is not found in the message, the
    -- name of the object is placed at the beginning of the message.
    -- The location for the name of the object object is indicated by the
    -- symbol "<2>"; if this string is not found in the message, the
    -- name of the object, if not nil, is placed at the end of the message.

    -- Directory.Naming.Unique_Full_Name is used to generate the name of
    -- the object when the symbols given above are used or if no symbols
    -- are found.  The symbols "<<1>>" and "<<2>>" cause the value of
    -- Directory.Naming.Get_Simple_Name to be used instead.

    procedure Put_Errors (Errors   : Error_Messages.Errors;
                          Response : Profile.Response_Profile := Profile.Get);

    -- Enter the Error messages into the log.

    function Image (Kind : Profile.Msg_Kind) return String;

    -- Returns the three-letter prefix used for the indicated Msg_Kind.

    pragma Subsystem (Input_Output);
    pragma Module_Name (4, 3218);
end Log;

E3 Meta Data

    nblk1=d
    nid=0
    hdr6=1a
        [0x00] rec0=1d rec1=00 rec2=01 rec3=04e
        [0x01] rec0=13 rec1=00 rec2=02 rec3=088
        [0x02] rec0=18 rec1=00 rec2=03 rec3=01e
        [0x03] rec0=13 rec1=00 rec2=04 rec3=044
        [0x04] rec0=13 rec1=00 rec2=05 rec3=00a
        [0x05] rec0=12 rec1=00 rec2=06 rec3=05c
        [0x06] rec0=11 rec1=00 rec2=07 rec3=070
        [0x07] rec0=15 rec1=00 rec2=08 rec3=086
        [0x08] rec0=14 rec1=00 rec2=0d rec3=032
        [0x09] rec0=00 rec1=00 rec2=09 rec3=046
        [0x0a] rec0=13 rec1=00 rec2=0a rec3=018
        [0x0b] rec0=13 rec1=00 rec2=0b rec3=046
        [0x0c] rec0=05 rec1=00 rec2=0c rec3=000
    tail 0x20100efe67da18d49ad57 0x42a00088462065003