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

⟦0f2bc6f2a⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, seg_02964c

Derivation

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

E3 Source Code



WITH Io;
WITH Messages;
WITH Mailboxes;
WITH Destinations;
WITH Command_Utilities;
WITH System_Utilities;

PROCEDURE Run_Mail (User_Name : String := "<Current_User>") IS

   PACKAGE Cu RENAMES Command_Utilities;

   Mailbox      : Mailboxes.Mailbox := Mailboxes.Make;
   Command      : Cu.Command;
   Message      : Messages.Message;
   Current_User : Destinations.User;

   FUNCTION Get_User (Name : String) RETURN String;

   FUNCTION Get_User (Name : String) RETURN String IS
   BEGIN
      IF Name = "<Current_User>" THEN
         RETURN System_Utilities.User_Name;
      ELSE
         RETURN Name;
      END IF;
   END Get_User;

BEGIN

   BEGIN
      Current_User := Destinations.Lookup (Get_User (User_Name));
   EXCEPTION
      WHEN Destinations.Undefined =>
         Io.Put_Line ("Sorry, can only run simulation for current user.");
         RETURN;
   END;

   LOOP
      Command := Cu.Get_Command;
      CASE Command.Kind IS

         WHEN Cu.Headers =>
            Cu.Display_Headers (Mailbox);

         WHEN Cu.Read =>
            Cu.Display_Message (Mailboxes.Get_Message
                                   (Command.Message, Mailbox));
            Mailboxes.Set_Read_Flag (Command.Message, True, Mailbox);

         WHEN Cu.Send =>
            BEGIN
               Message := Cu.Get_Message;
               Messages.Set_From (Current_User, Message);
               Mailboxes.Add (Message, Mailbox);
               Cu.Notify_Of_Receipt (Current_User, Messages.Get_To (Message));
            EXCEPTION
               WHEN Destinations.Undefined =>
                  Io.Put_Line ("Sorry, undefined user name entered.");
            END;

         WHEN Cu.Delete =>
            Mailboxes.Delete_Message (Command.Message, Mailbox);

         WHEN Cu.Quit =>
            EXIT;

         WHEN Cu.Unknown =>
            Io.Put_Line ("Unknown command entered.  Please try again.");
            Io.Put ("Legal commands are: ");
            FOR I IN Cu.Headers .. Cu.Quit LOOP
               Io.Put (Cu.Command_Kind'Image (I));
               Io.Put (' ');
            END LOOP;
            Io.New_Line;

      END CASE;
   END LOOP;

END Run_Mail;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=29 rec1=00 rec2=01 rec3=034
        [0x01] rec0=02 rec1=00 rec2=04 rec3=014
        [0x02] rec0=1b rec1=00 rec2=02 rec3=02c
        [0x03] rec0=0b rec1=00 rec2=03 rec3=000
    tail 0x21722f69c83d36a084f52 0x489e0066482863001