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

⟦e61167888⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Transport_Route, pragma Module_Name 4 3224, pragma Subsystem Input_Output, seg_00638e

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 Transport_Defs;

package Transport_Route is

    -- The system maintains a table used for routing Transport
    -- packets.  At this time the routing table is used only
    -- for IP packets, including TCP/IP and UDP/IP packets.
    -- When sending a packet to a machine on some other network
    -- (e.g. Ether), it must be routed first to a gateway, not the
    -- destination machine.  Some gateways do not respond to ARP
    -- queries for destination machines whose traffic they carry,
    -- so this machine must know the address of the gateway in
    -- order to transmit packets to it.

    -- The routing table contains a list of entries.  Each entry
    -- contains a route (i.e. the Internet address of a gateway)
    -- with a destination that can be reached by way of it.  The
    -- destination may be a specific Host_Id (Internet address), or
    -- the network number of a network (signifying all hosts in that
    -- network), or the Null_Host_ID (signifying any remote host).
    -- There may be multiple entries for each route, identifying
    -- multiple hosts or networks accessible by way of that route.
    -- The table entries are searched in order when deciding where
    -- to send an outgoing packet.  The table is kept ordered with
    -- all host-specific entries followed by all network-specific
    -- entries, followed by the default entry.  Within each group,
    -- entries are maintained in order they were defined.

    procedure Show (Route : String := "";
                    Destination : String := "";
                    Network : Transport_Defs.Network_Name := "";
                    Response : String := "<PROFILE>");
    -- Create a text listing of entries matching the given values,
    -- and write it to the current output file.  "" is a wildcard
    -- for each parameter.  That is, if Route = "", show entries
    -- for all routes; if Destination = "", show entries for all
    -- destinations; and if Network = "", show entries for all
    -- networks.  Route and/or Destination may be a Host_Id in
    -- decimal dotted notation (e.g. "89.32") or a machine name
    -- (e.g. "Fred").  In the latter case, the name is resolved
    -- to a Host_Id using Transport_Name.Host_to_Host_Id.

    procedure Load (Table : String := "!machine.transport_routes";
                    Form : String := "";
                    Response : String := "<PROFILE>");
    -- Read the object named by Table, using package Text_Io.
    -- Pass the specified Form to Text_Io.Open.  In the resulting text,
    -- each text line should contain the Host_ID or name of a route,
    -- followed by the Host_ID or name of a destination, followed by
    -- a Network_Name.  If the Network_Name is omitted, "IP" is assumed.
    -- If the destination Host_ID is omitted, the Null_Host_ID is assumed.
    -- For each line in the Table, call the Define procedure (below)
    -- with parameter values parsed from the line.  The overall
    -- effect is to copy the information from the object named by
    -- Table into the system's routing table.

    procedure Define (Route : String;
                      Destination : String := "";
                      Network : Transport_Defs.Network_Name := "IP";
                      Response : String := "<PROFILE>");
    -- Add one entry to the routing table, with the given values.
    -- If there is already such an entry in the table, do nothing.
    -- Route and/or Destination can be a Host_Id, in decimal dotted
    -- notation (e.g. "89.32"), or else a host name (e.g. "Fred").
    -- If Route or Destination is a symbolic name, resolve it to
    -- a Host_ID using Transport_Name.Host_to_Host_Id.  If Route
    -- or Destination = "", this means Transport_Defs.Null_Host_Id.

    procedure Undefine (Route : String;
                        Destination : String := "";
                        Network : Transport_Defs.Network_Name := "IP";
                        Response : String := "<PROFILE>");
    -- Delete the entry with the given values from the routing table.
    -- If there is no such entry in the table, do nothing.
    -- Route and/or Destination can be a Host_Id, in decimal dotted
    -- notation (e.g. "89.32"), or else a host name (e.g. "Fred").
    -- If Route or Destination is a symbolic name, resolve it to
    -- a Host_ID using Transport_Name.Host_to_Host_Id.  If Route
    -- or Destination = "", this means Transport_Defs.Null_Host_Id.

    pragma Subsystem (Input_Output);
    pragma Module_Name (4, 3224);

end Transport_Route;

E3 Meta Data

    nblk1=5
    nid=0
    hdr6=a
        [0x00] rec0=15 rec1=00 rec2=01 rec3=058
        [0x01] rec0=11 rec1=00 rec2=02 rec3=03a
        [0x02] rec0=10 rec1=00 rec2=03 rec3=062
        [0x03] rec0=13 rec1=00 rec2=04 rec3=00e
        [0x04] rec0=0d rec1=00 rec2=05 rec3=000
    tail 0x21501408c81bf80764f00 0x42a00088462060003