Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ t_rcvconnect(3N) — sys5 — Apollo Domain/OS SR10.4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(3)

t_accept(3N)

t_bind(3N)

t_connect(3N)

t_listen(3N)

t_open(3N)

T_RCVCONNECT(3N)                     SysV                     T_RCVCONNECT(3N)



NAME
     t_rcvconnect - receive the confirmation from a connect request

SYNOPSIS
     #include <tiuser.h>

     int t_rcvconnect(fd, call)
     int fd;
     struct t_call *call;

DESCRIPTION
     This function enables a calling transport user to determine the status of
     a previously sent connect request and is used in conjunction with
     t_connect to establish a connection in asynchronous mode.  The connection
     will be established on successful completion of the function.

     fd identifies the local transport endpoint where communication will be
     established, and call contains information associated with the newly
     established connection.  call points to a t_call structure which contains
     the following members:

          struct netbuf addr;
          struct netbuf opt;
          struct netbuf udata;
          int sequence;

     netbuf is described in intro(3).  In call, addr returns the protocol
     address associated with the responding transport endpoint, opt presents
     any protocol-specific information associated with the connection, udata
     points to optional user data that may be returned by the destination
     transport user during connection establishment, and sequence has no
     meaning for this function.

     The maxlen (see netbuf in intro(3)) field of each argument must be set
     before issuing this function to indicate the maximum size of the buffer
     for each.  However, call may be NULL, in which case no information is
     given to the user on return from t_rcvconnect.  By default, t_rcvconnect
     executes in synchronous mode and waits for the connection to be
     established before returning.  On return, the addr, opt, and udata fields
     reflect values associated with the connection.

     If O_NDELAY is set (via t_open or fcntl), t_rcvconnect executes in
     asynchronous mode, and reduces to a poll for existing connect
     confirmations.  If none are available, t_rcvconnect fails and returns
     immediately without waiting for the connection to be established.  (See
     TNODATA below.)  t_rcvconnect must be re-issued at a later time to
     complete the connection establishment phase and retrieve the information
     returned in call.

DIAGNOSTICS
     t_rcvconnect returns 0 on success and -1 on failure and t_errno is set to
     indicate the error.

ERRORS
     On failure, t_errno may be set to one of the following:

     [TBADF]             The specified file descriptor does not refer to a
                         transport endpoint.

     [TBUFOVFLW]         The number of bytes allocated for an incoming
                         argument is not sufficient to store the value of that
                         argument and the connect information to be returned
                         in call will be discarded.  The provider's state, as
                         seen by the user, will be changed to DATAXFER.

     [TNODATA]           O_NDELAY was set, but a connect confirmation has not
                         yet arrived.

     [TLOOK]             An asynchronous event has occurred on this transport
                         connection and requires immediate attention.

     [TNOTSUPPORT]       This function is not supported by the underlying
                         transport provider.

     [TSYSERR]           A system error has occurred during execution of this
                         function.

SEE ALSO
     intro(3), t_accept(3N), t_bind(3N), t_connect(3N), t_listen(3N),
     t_open(3N)
     Programming with the SysV Transport Interface

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026