DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦d05281d48⟧ TextFile

    Length: 4530 (0x11b2)
    Types: TextFile
    Names: »V«

Derivation

└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
    └─ ⟦fc9b38f02⟧ »DATA« 
        └─⟦9b46a407a⟧ 
            └─⟦12c68c704⟧ 
                └─⟦this⟧ 
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS 
    └─ ⟦91c658230⟧ »DATA« 
        └─⟦458657fb6⟧ 
            └─⟦220843204⟧ 
                └─⟦this⟧ 

TextFile

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;