DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦f12e0aa3a⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, seg_013d8f

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



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;

E3 Meta Data

    nblk1=6
    nid=0
    hdr6=c
        [0x00] rec0=1e rec1=00 rec2=01 rec3=00c
        [0x01] rec0=19 rec1=00 rec2=02 rec3=032
        [0x02] rec0=15 rec1=00 rec2=03 rec3=066
        [0x03] rec0=00 rec1=00 rec2=06 rec3=00a
        [0x04] rec0=15 rec1=00 rec2=04 rec3=064
        [0x05] rec0=1b rec1=00 rec2=05 rec3=000
    tail 0x2150ea89c830c6c9da546 0x489e0066482863c01