Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-4.1.3)
Apropos / Subsearch:
optional field

T_RCVDIS(3N)                                                      T_RCVDIS(3N)

       t_rcvdis - retrieve information from disconnect

       #include <&lt;tiuser.h>&gt;

       t_rcvdis(fd, discon)
       int fd;
       struct t_discon *discon;

       t_rcvdis()  is  used  to  identify  the  cause  of a disconnect, and to
       retrieve any user data sent with the  disconnect.   fd  identifies  the
       local  transport  endpoint  where  the  connection  existed, and discon
       points to a t_discon structure defined in <&lt;nettli/tiuser.>&gt; as:

              struct t_discon {
                     struct netbuf udata;          /* user data */
                     int reason;              /* reason code */
                     int sequence;            /* sequence number */

       The maxlen, len, and buf members of the netbuf structure are  described
       in  t_accept(3N).   reason  specifies  the  reason  for  the disconnect
       through a protocol-dependent reason code,  udata  identifies  any  user
       data  that  was  sent with the disconnect, and sequence may identify an
       outstanding connect indication with which the disconnect is associated.
       sequence  is  only  meaningful  when  t_rcvdis() is issued by a passive
       transport user who has executed one or more t_listen(3N) functions  and
       is processing the resulting connect indications.  If a disconnect indi-
       cation occurs, sequence can be used to identify which of the  outstand-
       ing connect indications is associated with the disconnect.

       If  a user does not care if there is incoming data and does not need to
       know the value of reason or sequence, discon may be NULL and  any  user
       data  associated  with the disconnect will be discarded.  However, if a
       user has retrieved more than one outstanding connect indication  (using
       t_listen(3N))  and  discon is NULL, the user will be unable to identify
       with which connect indication the disconnect is associated.

       t_rcvdis() returns:

       0      on success.

       -1     on failure and sets t_errno to indicate the error.

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

       TBUFOVFLW           The  number of bytes allocated for incoming data is
                           not sufficient to store the data.   The  provider's
                           state,  as  seen by the user, will change to T_IDLE
                           and the disconnect  indication  information  to  be
                           returned in discon will be discarded.

       TNODIS              No  disconnect  indication  currently exists on the
                           specified transport endpoint.

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

       TSYSERR             The  function  failed due to a system error and set
                           errno to indicate the error.

       intro(3), t_connect(3N), t_listen(3N), t_open(3N), t_snddis(3N)

                                21 January 1990                   T_RCVDIS(3N)