Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ t_accept(3N) — DG/UX 4.30

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)               DG/UX 4.30                TACCEPT(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 tlisten 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 taccept or tsnddis).  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



     Licensed material--property of copyright holder(s)         Page 1





     TACCEPT(3N)               DG/UX 4.30                TACCEPT(3N)



          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
          topen or tgetinfo.  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.

          [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).

     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.





     Licensed material--property of copyright holder(s)         Page 2



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