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

⟦1978aaec6⟧ TextFile

    Length: 4626 (0x1212)
    Types: TextFile
    Names: »V«

Derivation

└─⟦bad92a95e⟧ Bits:30000535 8mm tape, Rational 1000, RPC 1_0_2
    └─ ⟦bb34fe6e2⟧ »DATA« 
        └─⟦15d8b76c6⟧ 
            └─⟦this⟧ 

TextFile

with Byte_Defs;
with Transport_Defs;

package Transport is


    type Connection_Id is private;
    -- Identifies the local resources associated with a connection.

    Null_Connection_Id : constant 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;

    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.



private

    type Connection_Info;

    type Connection_Id is access Connection_Info;
    Null_Connection_Id : constant Connection_Id := null;
end Transport;