|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
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_001b98
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
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;
nblk1=5 nid=0 hdr6=a [0x00] rec0=15 rec1=00 rec2=01 rec3=058 [0x01] rec0=10 rec1=00 rec2=02 rec3=028 [0x02] rec0=10 rec1=00 rec2=03 rec3=04a [0x03] rec0=11 rec1=00 rec2=04 rec3=04c [0x04] rec0=10 rec1=00 rec2=05 rec3=001 tail 0x20100f0c47da18d5799d6 0x42a00088462065003