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

⟦ff54d4544⟧ Ada Source

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

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=b
    nid=0
    hdr6=16
        [0x00] rec0=1e rec1=00 rec2=01 rec3=010
        [0x01] rec0=13 rec1=00 rec2=02 rec3=036
        [0x02] rec0=17 rec1=00 rec2=03 rec3=05c
        [0x03] rec0=13 rec1=00 rec2=04 rec3=082
        [0x04] rec0=14 rec1=00 rec2=05 rec3=04c
        [0x05] rec0=14 rec1=00 rec2=06 rec3=02c
        [0x06] rec0=12 rec1=00 rec2=07 rec3=074
        [0x07] rec0=17 rec1=00 rec2=08 rec3=01e
        [0x08] rec0=14 rec1=00 rec2=09 rec3=030
        [0x09] rec0=12 rec1=00 rec2=0a rec3=03a
        [0x0a] rec0=13 rec1=00 rec2=0b rec3=000
    tail 0x2150d8b7482b0813e7112 0x42a00088462060003