DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T ┃
Length: 38010 (0x947a) Types: TextFile Names: »TRL_HELP«
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS └─ ⟦91c658230⟧ »DATA« └─⟦f6fec0485⟧ └─⟦this⟧ └─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3 └─ ⟦fc9b38f02⟧ »DATA« └─⟦f95d63c89⟧ └─⟦this⟧
@node !Tools.Networking.Byte_Defs subtype Byte is System.Byte; subtype Byte_String is System.Byte_String; function "Mod" (X : Byte; Y : Byte) return Byte renames System."Mod"; function "Rem" (X : Byte; Y : Byte) return Byte renames System."Rem"; function ">" (X : Byte; Y : Byte) return Boolean renames System.">"; function ">" (X : Byte_String; Y : Byte_String) return Boolean renames System.">"; function "=" (X : Byte; Y : Byte) return Boolean renames System."="; function "=" (X : Byte_String; Y : Byte_String) return Boolean renames System."="; function ">=" (X : Byte; Y : Byte) return Boolean renames System.">="; function ">=" (X : Byte_String; Y : Byte_String) return Boolean renames System.">="; function "<" (X : Byte; Y : Byte) return Boolean renames System."<"; function "<" (X : Byte_String; Y : Byte_String) return Boolean renames System."<"; function "/" (X : Byte; Y : Byte) return Byte renames System."/"; function "*" (X : Byte; Y : Byte) return Byte renames System."*"; function "-" (X : Byte; Y : Byte) return Byte renames System."-"; function "<=" (X : Byte; Y : Byte) return Boolean renames System."<="; function "<=" (X : Byte_String; Y : Byte_String) return Boolean renames System."<="; function "+" (X : Byte; Y : Byte) return Byte renames System."+"; function "&" (X : Byte_String; Y : Byte_String) return Byte_String renames System."&"; function "&" (X : Byte; Y : Byte_String) return Byte_String renames System."&"; function "&" (X : Byte_String; Y : Byte) return Byte_String renames System."&"; function "&" (X : Byte; Y : Byte) return Byte_String renames System."&"; Renames the System.Byte, the System.Byte_String, and the standard operations defined on these types. The purpose of this package is to simplify porting applications software written on top of the Transport Layer to other (non- Rational) environments, where these types might be declared somewhere other than in package System. Networking software uses these definitions, not those in System. When porting, you need to modify only package Byte_Defs to make use of an alternative declaration. @node !Tools.Networking.Byte_Defs.Byte subtype Byte is System.Byte; Specifies an eight-bit byte. In portable Ada, this is declared as: Type Byte is range 0 .. 255; @node !Tools.Networking.Byte_Defs.Byte_String subtype Byte_String is System.Byte_String; Specifies an unconstrained array of bytes. In portable Ada, this is declared as: Type Byte_String is array (Integer range <>) of Byte; pragma Pack (Byte_String); @node !Tools.Networking.Byte_Defs."Mod" function "Mod" (X : Byte; Y : Byte) return Byte renames System."Mod"; Specifies the standard modulus operator. @node !Tools.Networking.Byte_Defs."Rem" function "Rem" (X : Byte; Y : Byte) return Byte renames System."Rem"; Specifies the standard remainder operator. @node !Tools.Networking.Byte_Defs."=" function "=" (X : Byte; Y : Byte) return Boolean renames System."="; function "=" (X : Byte_String; Y : Byte_String) return Boolean renames System."="; Specifies the standard equality operators. @node !Tools.Networking.Byte_Defs.">", "<", ">=", "<=" function ">" (X : Byte; Y : Byte) return Boolean renames System.">"; function ">" (X : Byte_String; Y : Byte_String) return Boolean renames System.">"; function "<" (X : Byte; Y : Byte) return Boolean renames System."<"; function "<" (X : Byte_String; Y : Byte_String) return Boolean renames System."<"; function ">=" (X : Byte; Y : Byte) return Boolean renames System.">="; function ">=" (X : Byte_String; Y : Byte_String) return Boolean renames System.">="; function "<=" (X : Byte; Y : Byte) return Boolean renames System."<="; function "<=" (X : Byte_String; Y : Byte_String) return Boolean renames System."<="; Specifies the standard comparison operators. @node !Tools.Networking.Byte_Defs."+" function "+" (X : Byte; Y : Byte) return Byte renames System."+"; Specifies the standard addition operator. @node !Tools.Networking.Byte_Defs."--" function "-" (X : Byte; Y : Byte) return Byte renames System."-"; Specifies the standard subtraction operator. @node !Tools.Networking.Byte_Defs."*" function "*" (X : Byte; Y : Byte) return Byte renames System."*"; Specifies the standard multiplication operator. @node !Tools.Networking.Byte_Defs."/" function "/" (X : Byte; Y : Byte) return Byte renames System."/"; Specifies the standard division operator. @node !Tools.Networking.Byte_Defs."&" function "&" (X : Byte_String; Y : Byte_String) return Byte_String renames System."&"; function "&" (X : Byte; Y : Byte_String) return Byte_String renames System."&"; function "&" (X : Byte_String; Y : Byte) return Byte_String renames System."&"; function "&" (X : Byte; Y : Byte) return Byte_String renames System."&"; Specifies the standard catenation operators. @node !Tools.Networking.Host_Id_Io Package Host_Id_Io provides commands that allow you to convert a Host_Id to a displayable string. The displayable string can be written either to Current_Output or to a specified file. The displayable output can be read from Current_Input or from a specified file and converted back into a Host_Id. For example, Host_Id (12,11,32,57) is converted to 12.11.32.57. @node !Tools.Networking.Host_Id_Io.Get function Get return Transport_Defs.Host_Id; Reads a Host_Id from the Current_Input file. The file should contain a Host_Id in symbolic form. The Host_Id is returned. @node !Tools.Networking.Host_Id_Io.Get function Get (File : Text_Io.File_Type) return Transport_Defs.Host_Id; Reads a Host_Id from the Current_Input file. The file should contain a Host_Id in symbolic form. The Host_Id is returned. @node !Tools.Networking.Host_Id_Io.Image function Image (Item : Transport_Defs.Host_Id) return String; Converts the item into a human-readable string. The format of the returned string is: ##.##.##.## @node !Tools.Networking.Host_Id_Io.Put procedure Put (Item : Transport_Defs.Host_Id); Displays a symbolic representation of the specified Host_Id. This procedure writes to the Current_Output file (usually an output window). @node !Tools.Networking.Host_Id_Io.Put procedure Put (File : Text_Io.File_Type; Item : Transport_Defs.Host_Id); Displays a symbolic representation of the specified Host_Id. This procedure writes the value of Item to the specified output file. @node !Commands.Network Package Network provides interactive commands en- tered through Command windows and allows user queries about the transport connections and hosts. @node !Commands.Network.Close_All procedure Close_All; Closes all open transport connections. This procedure calls the Transport.Close procedure on all currently open transport connections. A listing of the connections closed is written into the Current_Output file (using package !Io.Text_Io). For each connection, various key items of information (obtained from package Transport) are displayed. This is a fairly dangerous operation. If other people on your machine are using transport connections, their work will be rudely interrupted by calling this procedure. Use it with care. @node !Commands.Network.Show procedure Show; Shows all open transport connections. This procedure displays a listing of all currently open transport connections to the Current_Output file (using package !Io.Text_Io). For each connection, various key items of information (obtained from package Transport) are displayed. @node !Commands.Network.Show_Host procedure Show_Host (Host_Name : String := ""); Shows the address of the specified host. This procedure selects the host specified and displays various key items of information (obtained from package Transport_Name). @node !Commands.Network.Show_Hosts procedure Show_Hosts; Shows the names and addresses of all known hosts. This procedue iterates over all hosts in the database managed by package Transport_Name---that is, all hosts whose names are known by this system. For each host, various key items of information (obtained from package Transport_Name) are displayed. By default, the display is written to the current output window. @node !Commands.Network.Time procedure Time (From_Host : in String := ""); Displays the time of day, as reported by the given host. This procedure initiates a connection to the time server on the given host, receives the time of day, converts it to local time, and writes it into the Current_Output file (using package !Io.Text_Io). @node !Tools.Networking.Network_Product Package Network_Product provides a way to check whether the Transport Layer utilities have been installed on your machine. @node !Tools.Networking.Network_Product.Is_Installed function Is_Installed return Boolean; Returns true if the Transport Layer utilities have been installed on your machine. @node !Tools.Networking.Network_Product.Is_Not_Installed Is_Not_Installed : exception; Occurs when a Transport Layer subprogram is called if the Networking product is not installed on your machine. Procedure Tcp_Ip_Boot provides the Rational system the necessary information to boot the TCP/IP hardware controller board. @node !Tools.Networking.Tcp_Ip_Boot procedure Tcp_Ip_Boot (Use_Arp : Boolean := True; Enable_Link_Level : Boolean := True; Exos_Prefix : String := "!Tools.Network."; Host_Id_File : String := "!Machine.Tcp_Ip_Host_Id"; Ether_Id_File : String := "!Machine.Ethernet_Host_Id"; Use_Checksums : Boolean := True; Diagnostic : Boolean := False); Provides the Rational machine the necessary information to boot the TCP/IP board. Tcp_Ip_Boot @node !Tools.Networking.Transport This package provides reliable, connection-oriented data communication between machines. In terms of the International Standards Organization Open Systems Interconnection reference model, package Transport is the service interface to the Transport Layer. The underlying protocol is currently TCP/IP, running on an Ethernet local area network. In the future, this package may provide access to X.25 or other protocols that provide a transport service. Transport services are based on the notions of a connection and a socket. A connection is a reliable data pipe with two ends, usually in different machines. A socket is a location at which connections are established. Two programs must cooperate to form a connection. One program (the passive program) waits for incoming connections on some socket. The other program (the active program), usually on another machine, initiates a connection to the same socket. A connection thus is formed between the two programs, and they can transmit data to each other. Once connected, it does not matter which program was active and which was passive; either one can transmit data or disconnect the connection at any time. In each machine, only one program can be waiting for a passive connect on each socket at a time. There can be many programs simultaneously waiting on different sockets. In TCP/IP, both ends of each connection are associated with sockets. The two sockets do not have to be the same, and they usually are not. @node !Tools.Networking.Transport.Close procedure Close (Connection : Transport.Connection_Id); Closes the given connection. The underlying resources associated with the connection are released and made available for use by other connections. If the given connection is connected, it is disconnected. If the given connection is already closed or has never been opened, this procedure does nothing. @node !Tools.Networking.Transport.Close_All procedure Close_All (Owner : Machine.Job_Id); Closes all connections owned by a job. Each connection is owned by some job. When a job terminates, all connections owned by it are automatically closed (in effect, the Close_All procedure is called whenever a job terminates). @node !Tools.Networking.Transport.Connect procedure Connect (Connection : Transport.Connection_Id; Status : out Transport_Defs.Status_Code; Remote_Host : Transport_Defs.Host_Id; Remote_Socket : Transport_Defs.Socket_Id; Max_Wait : Duration := Duration'Last); procedure Connect (Connection : Transport.Connection_Id; Status : out Transport_Defs.Status_Code; Max_Wait : Duration := Duration'Last); Connects to some remote machine. The first form of this procedure (which specifies Remote_Host and Remote_Socket parameters) is an active connect; that is, it initiates a connection to a particular remote socket. The second form (which does not specify a Remote_Host or a Remote_Socket parameter) is a passive connect; that is, it waits for a connection to arrive on the local socket associated with the specified Connection_Id. @node !Tools.Networking.Transport.Connection_Id type Connection_Id is private; Specifies the resources in the machine associated with a transport connection. This type denotes various resources that are required to build and maintain a transport connection. @node !Tools.Networking.Transport.Connection_Id_Iterator type Connection_Id_Iterator is limited private; Denotes an iterator over all open Connection_Ids on all networks to which the local machine is currently connected. If you want Connection_Ids on only one network, you can determine the network associated with each Connection_Id produced by this iterator and ignore the ones you do not want. @node !Tools.Networking.Transport.Disconnect procedure Disconnect (Connection : Transport.Connection_Id); Disconnects the specified connection. If the specified connection is not connected, the Disconnect procedure does nothing. @node !Tools.Networking.Transport.Done function Done (Iter : Network_Name_Iterator) return Boolean; function Done (Iter : Connection_Id_Iterator) return Boolean; Indicates that the given iterator is done. An iterator is done when it has been moved past the last element in the collection over which it iterates. If function Done (Iter) is true, function Value (Iter) is undefined. @node !Tools.Networking.Transport.Get_Owner function Get_Owner (Connection : Transport.Connection_Id) return Machine.Job_Id; Returns the owner of the connection. Each connection is owned by some job. Whenever a job terminates, all connections owned by it are closed automatically. By default, a connection is owned by the job that opens it. @node !Tools.Networking.Transport.Hash function Hash (Connection : Transport.Connection_Id) return Natural; Calculates a number suitable for indexing into a hash table. The same connection always hashes to the same number. Different connections tend to hash to different numbers. @node !Tools.Networking.Transport.Init procedure Init (Iter : in out Network_Name_Iterator); procedure Init (Iter : in out Connection_Id_Iterator); Initializes an iterator to the first element of a collection. @node !Tools.Networking.Transport.Is_Connected function Is_Connected (Connection : Transport.Connection_Id) return Boolean; Determines whether the specified connection is connected. If the connection is closed or has never been opened, a value of false is returned. @node !Tools.Networking.Transport.Is_Connecting_Active function Is_Connecting_Active (Connection : Transport.Connection_Id) return Boolean; Determines whether the specified connection is in the process of establishing an active connection. @node !Tools.Networking.Transport.Is_Connecting_Passive function Is_Connecting_Passive (Connection : Transport.Connection_Id) return Boolean; Determines whether the specified connection is in the process of establishing a passive connection. @node !Tools.Networking.Transport.Is_Open function Is_Open (Connection : Transport.Connection_Id) return Boolean; Determines whether the specified connection is currently open. If the connection is closed or has never been opened, a value of false is returned. @node !Tools.Networking.Transport.Local_Host function Local_Host (Connection : Transport.Connection_Id) return Transport_Defs.Host_Id; function Local_Host (Network : Transport_Defs.Network_Name) return Transport_Defs.Host_Id; Returns the Host_Id associated with the local end of the connection. If the specified connection is not connected, the Null_Host_Id is returned. @node !Tools.Networking.Transport.Local_Socket function Local_Socket (Connection : Transport.Connection_Id) return Transport_Defs.Socket_Id; Returns the Socket_Id associated with the end of the specified connection. If the connection is not open, the Null_Socket_Id is returned. @node !Tools.Networking.Transport.Network function Network (Connection : Transport.Connection_Id) return Transport_Defs.Network_Name; Returns the name of the network associated with the given connection. If the connection is not open, the Null_Network_Name is returned. @node !Tools.Networking.Transport.Network_Name_Iterator type Network_Name_Iterator is limited private; Specifies an iterator over the names of all networks known to the local system. @node !Tools.Networking.Transport.Next procedure Next (Iter : in out Network_Name_Iterator); procedure Next (Iter : in out Connection_Id_Iterator); Moves the iterator to the next value. @node !Tools.Networking.Transport.Null_Connection_Id Null_Connection_Id : constant Connection_Id; Denotes no particular connection. The function Is_Open (Null_Connection_Id) is false. @node !Tools.Networking.Transport.Open procedure Open (Connection : out Transport.Connection_Id; Status : out Transport_Defs.Status_Code; Network : Transport_Defs.Network_Name; Local_Socket : Transport_Defs.Socket_Id := Transport_Defs.Null_Socket_Id); Allocates the resources required to form a connection. The Network and Local_Socket parameters must be specified when the connection is opened. Once opened, the connection can be connected and disconnected many times. It continues to be associated with the same Network and Local_Socket parameters. @node !Tools.Networking.Transport.Receive procedure Receive (Connection : Transport.Connection_Id; Status : out Transport_Defs.Status_Code; Data : out Byte_Defs.Byte_String; Count : out Natural; Max_Wait : Duration := Duration'Last); Receives some data. This procedure does not wait to fill the data buffer. As soon as any data are received, the procedure returns the data. The transport service can store received data in its own buffer before you call the Receive procedure. If there is a lot of received data in this buffer when you call the Receive procedure, you get as much of the buffered data as will fit in the buffer you supply. @node !Tools.Networking.Transport.Remote_Host function Remote_Host (Connection : Transport.Connection_Id) return Transport_Defs.Host_Id; Returns the Host_Id of the machine at the other end of the specified connection. If the connection is not connected, the Null_Host_Id is returned. @node !Tools.Networking.Transport.Remote_Socket function Remote_Socket (Connection : Transport.Connection_Id) return Transport_Defs.Socket_Id; Returns the Socket_Id of the socket at the other end of the specified connection. If the connection is not connected, the Null_Socket_Id is returned. @node !Tools.Networking.Transport.Set_Owner procedure Set_Owner (Connection : Transport.Connection_Id; Owner : Machine.Job_Id); Sets the owner of a connection. If the connection is not open, do nothing. Each connection is owned by some job. When a job terminates, all connections owned by it are closed automatically. By default, a connection is owned by the job that opens it. The Set_Owner procedure can be used to give a connection to some job other than the one that opened it. @node !Tools.Networking.Transport.Transmit procedure Transmit (Connection : Transport.Connection_Id; Status : out Transport_Defs.Status_Code; Data : Byte_Defs.Byte_String; Count : out Natural; Max_Wait : Duration := Duration'Last; More : Boolean := False); Transmits data on a connection. The Transmit procedure returns when any of the following occur: o Transmit has transmitted the data you supplied. o Transmit has stored the data you supplied in its own buffers and has taken responsibility for delivering it. o The timeout (Max_Wait parameter) you specified has expired. You can determine how many bytes were transmitted or buffered from the Count parameter. @node !Tools.Networking.Transport.Value function Value (Iter : Network_Name_Iterator) return Transport_Defs.Network_Name; function Value (Iter : Connection_Id_Iterator) return Connection_Id; Returns the current value of the iterator. @node !Tools.Networking.Transport_Defs Package Transport_Defs provides types that are used by package Transport and by other networking software. Package Transport_Defs also provides a few simple utility operations on those types---for example, hash functions and normalization functions. @node !Tools.Networking.Transport_Defs.Hash function Hash (Value : Network_Name) return Natural; function Hash (Value : Host_Id) return Natural; function Hash (Value : Socket_Id) return Natural; Produces a value suitable for indexing into a hash table. The argument need not be normalized; it is normalized before the hash value is computed. So, if two values have the same normalized form, they will hash to the same place. @node !Tools.Networking.Transport_Defs.Host_Id type Host_Id is new Byte_Defs.Byte_String; Denotes a computer system that may be accessible via some network. Essentially, this address is the network address of a machine. The interpretation of a Host_Id depends on the network. For a TCP/IP network, the Host_Id is an Internet address. It should be four bytes long and should contain the bytes of the Internet address, beginning with the most significant byte---that is, the first byte of the network number. Host_Ids that are shorter than four bytes are right-justified and zero-padded to form an Internet address. Host_Ids that are longer than four bytes are truncated, retaining the first four bytes. @node !Tools.Networking.Transport_Defs.Image function Image (Status : Status_Code) return String; Converts a status code into a printable string. @node !Tools.Networking.Transport_Defs.Network_Name type Network_Name is new String; Denotes one of several networks to which this machine can be attached. Only TCP/IP is currently defined. TCP/IP is the U.S. Department of Defense TCP and IP protocols, running on an IEEE 802.3 (Ethernet) local area network. @node !Tools.Networking.Transport_Defs.Normalize function Normalize (Value : Network_Name) return Network_Name; function Normalize (Value : Host_Id) return Host_Id; function Normalize (Value : Socket_Id) return Socket_Id; Converts the given value to an equivalent normalized form. Normalization removes nonsignificant filler (for example, leading zeros or blanks) and converts characters to a single case. Two values are equivalent when their normalized forms are equal. @node !Tools.Networking.Transport_Defs.Null_Host_Id Null_Host_Id : constant Host_Id (1 .. 0) := (others => 0); Specifies a value of Host_Id type that denotes no particular host. @node !Tools.Networking.Transport_Defs.Null_Network_Name Null_Network_Name : constant Network_Name := ""; Specifies a value of Network_Name type that denotes no particular network. @node !Tools.Networking.Transport_Defs.Null_Socket_Id Null_Socket_Id : constant Socket_Id (1 .. 0) := (others => 0); Specifies a value of Socket_Id type that denotes no particular socket. @node !Tools.Networking.Transport_Defs.Socket_Id type Socket_Id is new Byte_Defs.Byte_String; Denotes a socket within the context of a machine. A socket is an abstract object, defined by the transport service. Conceptually, it is the location at which a connection is established. When a program does a passive connect, it must supply a Socket_Id and is said to wait or listen on that socket. When a program does an active connect, it must supply a Host_Id and a Socket_Id and is said to call that socket. Two such programs are connected to each other when the caller calls the same socket on which the waiter is waiting. Many connections can be established on each socket. However, only one program can be waiting on each socket at a time. There can be many programs simultaneously waiting on different sockets. The interpretation of a Socket_Id depends on the network. For TCP/IP, the Socket_Id is a TCP port number. It should be two bytes long and should contain the bytes of the port number, beginning with the most significant byte. Socket_Ids that are shorter than two bytes are right-justified and zero-padded to form a port number. Socket_Ids that are longer than two bytes are truncated, retaining the first two bytes. @node !Tools.Networking.Transport_Defs.Status_Code type Status_Code is new Integer; Describes the outcome of a transport operation. The meaningful values of this type are declared as constants. They are: o Access_Denied: The operation failed because the caller was not authorized to perform it. o Connection_Broken: The operation failed because the given connection was disconnected by a failure somewhere in the network. o Connection_Refused: The operation failed because the specified host refused the connect request. This usually means that there is no program waiting on the specified socket in the specified host. o Disconnected: The operation failed because the given connection was disconnected by the other host. o No_Free_Connections: The operation failed because it was not possible to obtain a local connection (specified by Transport.Connection_Id). o No_Free_Memory: The operation failed because it was not possible to obtain memory space. o No_Free_Sockets: The operation failed because it was not possible to obtain a socket. o No_Hardware: The operation failed because the networking hardware is not installed in this machine. o No_Local_Resources: The operation failed because it was not possible to obtain some local resource---for example, memory space or a control block. o No_Such_Host: The operation failed because there is no known host denoted by the given Host_Id. The specified host may in fact exist but may be unreachable. o No_Such_Network: The operation failed because there is no known network denoted by the given Network_Name. o Not_Connected: The operation failed because the given Connection_Id denoted a connection that was not connected. o Not_Downloaded: The operation failed because the networking hardware in this machine has not been successfully downloaded. o Not_Initialized: The operation failed because the networking hardware and software on this machine have not been initialized. o Not_Open: The operation failed because the given Connection_Id denoted a connection that was not open. o Not_Registered: The operation failed because the calling task was not registered to perform it. o Ok: The operation completed normally. o Socket_In_Use: The operation failed because the specified socket is already in use by another task. o Timed_Out: The operation did not complete because the specified Max_Wait period expired. This is not necessarily an error; if the Max_Wait period is short or zero, it may simply indicate that the desired event has not yet occurred. o Too_Many_Clients: The operation failed because some other task was simultaneously attempting to do the same operation. @node !Tools.Networking.Transport_Name Package Transport_Name defines a mapping from machine names (strings) to machine addresses (Transport_Defs.Network_Names and Transport_Defs.Host_Ids). For users who prefer to refer to machines by their mnemonic names rather than their addresses, this package is useful for building user-interface programs. This package does not provide a way to update the database of names. Currently, the Transport_Name database is a text file named !Machine.Transport_Name_Map. Each line of the file contains the network name, the host identifier, the host name, and the machine type. For example: TCP/IP 89.4.27.1 aspen R1000 TCP/IP 89.4.8.43 oak VMS To change the database, change this file. Any tool will do, including the Rational Editor, !Commands.Library.Copy, !Commands.Archive.Restore, or FTP. @node !Tools.Networking.Transport_Name.Done function Done (Iter : Host_Iterator) return Boolean; Indicates that the given iterator is done. An iterator is done when it has been moved past the last element in the collection over which it iterates. If function Done (Iter) is true, function Value (Iter) is undefined. @node !Tools.Networking.Transport_Name.Host_Id_To_Host function Host_Id_To_Host (Network : Transport_Defs.Network_Name; Host : Transport_Defs.Host_Id) return String; function Host_Id_To_Host (Host : Transport_Defs.Host_Id) return String; Converts a host address to a string name. @node !Tools.Networking.Transport_Name.Host_Iterator type Host_Iterator is limited private; Specifies an iterator over all named hosts on all networks. If you want hosts on only one network, you can determine the network associated with each host name produced by this iterator and ignore the ones that you do not want. @node !Tools.Networking.Transport_Name.Host_To_Host_Id function Host_To_Host_Id (Host_Name : String) return Transport_Defs.Host_Id; Converts a string name to a Host_Id. @node !Tools.Networking.Transport_Name.Host_To_Machine_Type function Host_To_Machine_Type (Host_Name : String) return String; Reads the name of a machine and returns a string specifying the type of machine. @node !Tools.Networking.Transport_Name.Host_To_Network_Name function Host_To_Network_Name (Host_Name : String) return Transport_Defs.Network_Name; Converts a string name to a Network_Name. @node !Tools.Networking.Transport_Name.Init procedure Init (Iter : in out Host_Iterator); Initializes an iterator. @node !Tools.Networking.Transport_Name.Local_Host_Name function Local_Host_Name (Network : Transport_Defs.Network_Name) return String; Reads the name of the network and returns the name of the machine in which the caller is running. @node !Tools.Networking.Transport_Name.Next procedure Next (Iter : in out Host_Iterator); Moves the iterator to the next value. @node !Tools.Networking.Transport_Name.Undefined Undefined : exception; Indicates that the caller has tried to resolve a mapping that is not defined (not in the database). @node !Tools.Networking.Transport_Name.Value function Value (Iter : Host_Iterator) return String; Returns the current value of the iterator. @node !Commands.Transport_Route The Rational system maintains a table used for routing IP packets, including TCP/IP and UDP/IP packets. When a packet is sent to a machine on some other network, the packet must be routed through a gateway and not directly to the destination machine. Some gateways do not respond to ARP (Address Resolution Protocol) queries for destination machines whose traffic they carry; therefore, the sending machine must know the Internet address of the gateway in order to transmit packets to it. The routing table contains a list of entries, each containing a route (the Internet address of a gateway) with a destination that can be reached by the route. The destination may be a specific Host_Id (Internet address), a network number (signifying all hosts in that network), or the Null_Host_Id (signifying any remote host). There can be multiple entries for each route, identifying multiple hosts or networks accessible by way of the specified route. The table is kept ordered, starting with all host-specific entries, followed by all network-specific entries, followed by the default entry. Within each group, entries are maintained in the order in which they were defined. When the host is deciding where to send an outgoing packet, it searches the table entries in order. The specification of the procedures in package Transport_Route follows: with Transport_Defs; package Transport_Route is procedure Show (Route : String := ""; Destination : String := ""; Network : Transport_Defs.Network_Name := ""; Response : String := "<PROFILE>"); procedure Load (Table : String := "!Machine.Transport_Routes"; Form : String := ""; Response : String := "<PROFILE>"); procedure Define (Route : String; Destination : String := ""; Network : Transport_Defs.Network_Name := "IP"; Response : String := "<PROFILE>"); procedure Undefine (Route : String; Destination : String := ""; Network : Transport_Defs.Network_Name := "IP"; Response : String := "<PROFILE>"); end Transport_Route; @node !Commands.Transport_Route.Define procedure Define (Route : String; Destination : String := ""; Network : Transport_Defs.Network_Name := "IP"; Response : String := "<PROFILE>"); Adds one entry to the routing table, with the given values. If there is already such an entry in the table, the procedure does nothing. @node !Commands.Transport_Route.Load procedure Load (Table : String := "!Machine.Transport_Routes"; Form : String := ""; Response : String := "<PROFILE>"); Loads routing information from the named table into the system's routing table. The procedure reads the object named by the Table parameter, using package !Io.Text_Io, and passes the specified form to Text_Io.Open. For each line in the table, the Load procedure calls the Define procedure with parameter values parsed from the line. @node !Commands.Transport_Route.Show procedure Show (Route : String := ""; Destination : String := ""; Network : Transport_Defs.Network_Name := ""; Response : String := "<PROFILE>"); Creates a text listing of routing table entries and writes it to the Current_Output file. Only entries that match the given Route, Destination, and Network values are listed. In each case, the value "" is a wildcard that matches all entries. @node !Commands.Transport_Route.Undefine procedure Undefine (Route : String; Destination : String := ""; Network : Transport_Defs.Network_Name := "IP"; Response : String := "<PROFILE>"); Deletes the entry with the given values from the routing table. If there is no such entry in the table, the procedure does nothing.