t_rcvconnect(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

t_rcvconnect(3c)

Standard C Library Functions                                  t_rcvconnect(3C)



NAME
       t_rcvconnect - receive the confirmation from a connection request

SYNOPSIS
       #include <xti.h>

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

DESCRIPTION
       This  routine  is part of the XTI interfaces which evolved from the TLI
       interfaces. XTI represents the future evolution  of  these  interfaces.
       However,  TLI  interfaces are supported for compatibility. When using a
       TLI routine that has the same name as  an  XTI  routine,  the  tiuser.h
       header file must be used. Refer to the TLI  COMPATIBILITY section for a
       description of differences between the two interfaces.


       This function enables a calling transport user to determine the  status
       of a previously sent connection request and is used in conjunction with
       t_connect(3C) to establish a connection in asynchronous  mode,  and  to
       complete  a  synchronous  t_connect(3C)  call that was interrupted by a
       signal. The connection will be established on successful completion  of
       this function.


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

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



       In call, addr returns the protocol address associated with the respond‐
       ing  transport  endpoint,  opt presents any options 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 field of each argument must be set before issuing this func‐
       tion  to  indicate  the  maximum  size of the buffer for each. However,
       maxlen can be set to zero, in which case no information  to  this  spe‐
       cific  argument is given to the user on the return from t_rcvconnect().
       If call is set to NULL, no information at all is returned. By  default,
       t_rcvconnect()  executes  in synchronous mode and waits for the connec‐
       tion to be established before returning. On return, the addr,  opt  and
       udata fields reflect values associated with the connection.


       If O_NONBLOCK is set by means of t_open(3C) or fcntl(2), t_rcvconnect()
       executes in asynchronous mode, and reduces to a poll for existing  con‐
       nection  confirmations. If none are available, t_rcvconnect() fails and
       returns immediately without waiting for the  connection  to  be  estab‐
       lished.  See TNODATA below. In this case, t_rcvconnect() must be called
       again to complete the connection establishment phase and  retrieve  the
       information returned in call.

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

VALID STATES
       T_OUTCON.

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

       TBADF          The specified file descriptor does not refer to a trans‐
                      port endpoint.


       TBUFOVFLW      The  number  of bytes allocated for an incoming argument
                      (maxlen) is greater than 0 but not sufficient  to  store
                      the  value of that argument, and the connection informa‐
                      tion to be returned  in  call  will  be  discarded.  The
                      provider's  state,  as seen by the user, will be changed
                      to T_DATAXFER.


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


       TNODATA        O_NONBLOCK  was  set,  but a connection confirmation has
                      not yet arrived.


       TNOTSUPPORT    This function is not supported by the underlying  trans‐
                      port provider.


       TOUTSTATE      The  communications  endpoint referenced by fd is not in
                      one of the states in which a call to  this  function  is
                      valid.


       TPROTO         This  error  indicates  that a communication problem has
                      been detected between XTI and the transport provider for
                      which there is no other suitable XTI error (t_errno).


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


TLI COMPATIBILITY
       The XTI and TLI interface definitions have common names but use differ‐
       ent  header files. This, and other semantic differences between the two
       interfaces are described in the subsections below.

   Interface Header
       The XTI interfaces use the header file, xti.h.  TLI  interfaces  should
       not use this header. They should use the header:
         #include <tiuser.h>

   Error Description Values
       The t_errno value TPROTO can be set by the XTI interface but not by the
       TLI interface.


       A t_errno value that this routine can return  under  different  circum‐
       stances  than its XTI counterpart is TBUFOVFLW. It can be returned even
       when the maxlen field of the corresponding buffer has been set to zero.

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ MT LevelSafe


SEE ALSO
       fcntl(2),  t_accept(3C), t_alloc(3C), t_bind(3C), t_connect(3C), t_lis‐
       ten(3C), t_open(3C), t_optmgmt(3C), attributes(7)



Oracle Solaris 11.4               17 Aug 2018                 t_rcvconnect(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3