Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  T_ACCEPT(3N)      (Networking Support Utilities)     T_ACCEPT(3N)



  NAME
       t_accept - accept a connect request

  SYNOPSIS
       #include <tiuser.h>

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

  DESCRIPTION
       This function is issued by a transport user to accept a
       connect request.  Fd identifies the local transport endpoint
       where the connect indication arrived, resfd specifies the
       local transport endpoint where the connection is to be
       established, and call contains information required by the
       transport provider to complete the 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 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 than 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 t_accept or t_snddis).  For this
       condition, t_accept will fail and set t_errno to TBADF.


  Page 1                                                   May 1989


















  T_ACCEPT(3N)      (Networking Support Utilities)     T_ACCEPT(3N)



       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 t_accept
       is issued.

       For both types of endpoints, t_accept 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
       limits supported by the transport provider as returned by
       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
                          referenced 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.



  Page 2                                                   May 1989


















  T_ACCEPT(3N)      (Networking Support Utilities)     T_ACCEPT(3N)



       [TBADDATA]         The amount of user data specified was not
                          within the bounds allowed by the
                          transport 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
                          execution of this function.

  SEE ALSO
       intro(3), t_connect(3N), t_getstate(3N), t_listen(3N),
       t_open(3N), t_rcvconnect(3N).
       Network Programmer's Guide, Vol. 1.

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

















  Page 3                                                   May 1989
















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