|
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: 17408 (0x4400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package Transport, pragma Module_Name 4 2509, pragma Subsystem Network, seg_0128f1
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Byte_Defs; with Machine; with Transport_Defs; package Transport is pragma Subsystem (Network, Private_Part => Closed); pragma Module_Name (4, 2509); type Connection_Id is private; -- Identifies the local resources associated with a connection. Null_Connection_Id : constant Connection_Id; function Local_Host (Network : Transport_Defs.Network_Name) return Transport_Defs.Host_Id; -- The ID which identifies your machine in the given NETWORK. -- All defined network_names can be scanned: type Network_Name_Iterator is limited private; procedure Init (Iter : in out Network_Name_Iterator); procedure Next (Iter : in out Network_Name_Iterator); function Done (Iter : Network_Name_Iterator) return Boolean; function Value (Iter : Network_Name_Iterator) return Transport_Defs.Network_Name; -- All open connection_id's can be scanned: type Connection_Id_Iterator is limited private; procedure Init (Iter : in out Connection_Id_Iterator); procedure Next (Iter : in out Connection_Id_Iterator); function Done (Iter : Connection_Id_Iterator) return Boolean; function Value (Iter : Connection_Id_Iterator) return Connection_Id; 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); -- Allocate the local resources required to establish a -- connection. Any subsequent connection which may be -- established will be via the given NETWORK, using the given -- LOCAL_SOCKET. If LOCAL_SOCKET = NULL_SOCKET_ID, the -- transport service will invent a socket_id which is not -- currently in use, and assign it to this connection. procedure Close (Connection : Transport.Connection_Id); -- Deallocate local resources. -- If the connection is connected, disconnect it. -- If the connection is not open, do nothing. 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); -- Initiate a connection to the specified remote host and socket. -- The CONNECTION must be open. procedure Connect (Connection : Transport.Connection_Id; Status : out Transport_Defs.Status_Code; Max_Wait : Duration := Duration'Last); -- Wait for a connection initiated by some other task. -- The CONNECTION must be open. procedure Disconnect (Connection : Transport.Connection_Id); -- Break a connection. -- If the CONNECTION is not connected, do nothing. function Is_Open (Connection : Transport.Connection_Id) return Boolean; function Is_Connected (Connection : Transport.Connection_Id) return Boolean; -- function is_connecting_passive -- (connection : transport.connection_id) -- return Boolean; -- function is_connecting_active -- (connection : transport.connection_id) -- return Boolean; function Network (Connection : Transport.Connection_Id) return Transport_Defs.Network_Name; function Local_Host (Connection : Transport.Connection_Id) return Transport_Defs.Host_Id; function Local_Socket (Connection : Transport.Connection_Id) return Transport_Defs.Socket_Id; function Remote_Host (Connection : Transport.Connection_Id) return Transport_Defs.Host_Id; function Remote_Socket (Connection : Transport.Connection_Id) return Transport_Defs.Socket_Id; 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); -- Transmit some data. The CONNECTION must be connected. -- STATUS is returned OK, unless the connection is broken. -- DATA is the data to be transmitted. COUNT is returned the -- number of bytes actually transmitted. This may differ -- from DATA'LENGTH if the connection breaks, or if the -- operation times out. -- MAX_WAIT is the maximum amount of time to spend trying to -- transmit the data. The operation completes when all the -- DATA bytes have been transmitted, or when MAX_WAIT -- expires, whichever comes first. -- MORE indicates that the service may hold the data in its -- local buffers, to be combined with more data which the -- client is about to transmit. This is a performance hint -- only: the service is free to ignore it and transmit all -- data as soon as it gets it. -- This operation may simply store data in a local buffer, -- and actually transmit it at some future opportunity. If -- buffering is involved, the service assumes responsibility -- for transmitting the buffered data. 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); -- Receive some data. The CONNECTION must be connected. -- STATUS is returned OK, unless the connection is broken. -- DATA is the buffer into which to store received data. -- COUNT is returned the number of bytes actually stored. -- This may be less than DATA'LENGTH. -- MAX_WAIT is the maximum amount of time to spend waiting -- to receive some data. The operation completes when one -- or more DATA bytes have been received, or when MAX_WAIT -- expires, whichever comes first. -- This procedure does not wait to fill up the DATA buffer. -- As soon as ANY data are received, it returns them. function Hash (Connection : Transport.Connection_Id) return Natural; -- Calculate a value suitable for hashing. -- Each connection is owned by some job. -- By default, a connection is owned by the job which opens it. -- Whenever a job terminates, all connections owned by it are -- automatically closed. procedure Set_Owner (Connection : Transport.Connection_Id; Owner : Machine.Job_Id); -- Set the owner of the connection. This procedure allows -- a connection to be given away to some other job. function Get_Owner (Connection : Transport.Connection_Id) return Machine.Job_Id; -- Return the owner of the connection. procedure Close_All (Owner : Machine.Job_Id); -- Close all connections owned by the given Owner. -- This happens automatically when the Owner terminates. function Is_Connecting_Passive (Connection : Transport.Connection_Id) return Boolean; function Is_Connecting_Active (Connection : Transport.Connection_Id) return Boolean; pragma Consume_Offset (4); -- The following 3 operations were invented to support AX25. -- Set_ and Get_Options allow the user to select values of -- various protocol parameters (for example, packet size, -- window size, timeouts). Get_Statistics allows the user -- to monitor the operation of the protocol. -- For AX25, the Context string is the 'image (ASCII decimal) -- of the port number of a port used for AX25 communication. function Set_Options (Network : Transport_Defs.Network_Name; Context : String := ""; Options : String := "") -- new option values return String; -- The Options string is a sequence of option name/value -- pairs, using the option parser syntax "<name>=<value>,...". -- The return value is "" if the operation succeeded. -- A non-null value is an error message, which may contain -- ASCII.LF's to indicate line breaks. function Get_Options (Network : Transport_Defs.Network_Name; Context : String := "") return String; -- all option values -- The return value is a list of all current options -- and their current values, in the same syntax as -- Set_Options.Options. A null value indicates that -- the Network/Context pair is not defined or has no -- options. function Get_Statistics (Network : Transport_Defs.Network_Name; Context : String := "") return String; -- The return value is a list of all current statistics and -- their values, in a syntax similar to Set_Options.Options. -- A null value indicates that the Network/Context pair is -- not defined or has no statistics. package Route is -- A table of 4-tuples, used for Transport level routing. -- See package Transport_Route for background information. procedure Define (Network : Transport_Defs.Network_Name; Destination : Transport_Defs.Host_Id; Subnet_Mask : Transport_Defs.Host_Id; Route : Transport_Defs.Host_Id; Status : out Transport_Defs.Status_Code); procedure Undefine (Network : Transport_Defs.Network_Name; Destination : Transport_Defs.Host_Id; Subnet_Mask : Transport_Defs.Host_Id; Route : Transport_Defs.Host_Id; Status : out Transport_Defs.Status_Code); type Iterator is private; procedure Init (Iter : out Iterator); procedure Next (Iter : in out Iterator); function Done (Iter : Iterator) return Boolean; function Network (Iter : Iterator) return Transport_Defs.Network_Name; function Destination (Iter : Iterator) return Transport_Defs.Host_Id; function Subnet_Mask (Iter : Iterator) return Transport_Defs.Host_Id; function Route (Iter : Iterator) return Transport_Defs.Host_Id; end Route; end Transport;
nblk1=10 nid=0 hdr6=20 [0x00] rec0=21 rec1=00 rec2=01 rec3=000 [0x01] rec0=01 rec1=00 rec2=10 rec3=00a [0x02] rec0=12 rec1=00 rec2=02 rec3=052 [0x03] rec0=00 rec1=00 rec2=0f rec3=00a [0x04] rec0=19 rec1=00 rec2=03 rec3=044 [0x05] rec0=16 rec1=00 rec2=04 rec3=048 [0x06] rec0=00 rec1=00 rec2=0e rec3=01e [0x07] rec0=13 rec1=00 rec2=05 rec3=036 [0x08] rec0=01 rec1=00 rec2=0d rec3=000 [0x09] rec0=15 rec1=00 rec2=06 rec3=038 [0x0a] rec0=18 rec1=00 rec2=07 rec3=002 [0x0b] rec0=1a rec1=00 rec2=08 rec3=080 [0x0c] rec0=14 rec1=00 rec2=09 rec3=032 [0x0d] rec0=15 rec1=00 rec2=0a rec3=05a [0x0e] rec0=11 rec1=00 rec2=0b rec3=058 [0x0f] rec0=07 rec1=00 rec2=0c rec3=000 tail 0x2150d91c282b0831d2db4 0x42a00088462065003