Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ t_accept(3N) — svr4 — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(3)

t_connect(3N)

t_getstate(3N)

t_listen(3N)

t_open(3N)

t_rcvconnect(3N)



TACCEPT(3N-SVR4)   RISC/os Reference Manual    TACCEPT(3N-SVR4)



NAME
     t_accept - accept a connect request

SYNOPSIS
     #include <tiuser.h>

     int taccept ( int fd, int resfd, struct tcall *call);

DESCRIPTION
     This function is issued by a transport user to accept a con-
     nect request.  fd identifies the local transport endpoint
     where the connect indication arrived, resfd specifies the
     local transport endpoint where the connection is to be esta-
     blished, and call contains information required by the tran-
     sport provider to complete the connection.  call points to a
     t_call structure that contains the following members:

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

     netbuf is described in intro(3).  In call, addr is the
     address of the caller, opt indicates any protocol-specific
     parameters associated with the connection, udata points to
     any user data to be returned to the caller, and sequence is
     the value returned by t_listen that uniquely associates the
     response with a previously received connect indication.

     A transport user may accept a connection on either the same,
     or on a different, local transport endpoint from the one on
     which the connect indication arrived.  If the same endpoint
     is specified (i.e., resfd=fd), the connection can be
     accepted unless the following condition is true:  The user
     has received other indications on that endpoint but has not
     responded to them (with taccept or t_snddis).  For this
     condition, taccept will fail and set t_errno to TBADF.

     If a different transport endpoint is specified (resfd!=fd),
     the endpoint must be bound to a protocol address and must be
     in the T_IDLE state [see t_getstate(3N)] before the taccept
     is issued.

     For both types of endpoints, taccept will fail and set
     t_errno to TLOOK if there are indications (e.g., a connect
     or disconnect) waiting to be received on that endpoint.

     The values of parameters specified by opt and the syntax of
     those values are protocol specific.  The udata argument
     enables the called transport user to send user data to the
     caller and the amount of user data must not exceed the lim-
     its supported by the transport provider as returned in the



                        Printed 11/19/92                   Page 1





TACCEPT(3N-SVR4)   RISC/os Reference Manual    TACCEPT(3N-SVR4)



     connect field of the info argument of t_open or t_getinfo.
     If the len [see netbuf in intro(3)] field of udata is zero,
     no data will be sent to the caller.

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

     [TBADF]            The specified file descriptor does not
                        refer to a transport endpoint, or the
                        user is illegally accepting a connection
                        on the same transport endpoint on which
                        the connect indication arrived.

     [TOUTSTATE]        The function was issued in the wrong
                        sequence on the transport endpoint refer-
                        enced by fd, or the transport endpoint
                        referred to by resfd is not in the T_IDLE
                        state.

     [TACCES]           The user does not have permission to
                        accept a connection on the responding
                        transport endpoint or use the specified
                        options.

     [TBADOPT]          The specified options were in an
                        incorrect format or contained illegal
                        information.

     [TBADDATA]         The amount of user data specified was not
                        within the bounds allowed by the tran-
                        sport provider.

     [TBADSEQ]          An invalid sequence number was specified.

     [TLOOK]            An asynchronous event has occurred on the
                        transport endpoint referenced by fd and
                        requires immediate attention.

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

     [TSYSERR]          A system error has occurred during execu-
                        tion of this function.

SEE ALSO
     intro(3), t_connect(3N), t_getstate(3N), t_listen(3N),
     t_open(3N), t_rcvconnect(3N).

DIAGNOSTICS
     Upon successful completion, a value of 0 is returned.   Oth-
     erwise,  a  value  of  -1  is returned and t_errno is set to
     indicate the error.




 Page 2                 Printed 11/19/92



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