Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ t_rcvdis(NSL) — System V/386 Software Development System 3.2.2b

Media Vault

Software Library

Restoration Projects

Artifacts Sought

     Name
          t_rcvdis - retrieve information from disconnect

     Syntax
          #include <tiuser.h>

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

     Description
          This function 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
          containing the following members:

            struct netbuf udata;
            int reason;
            int sequence;

          netbuf is described in intro(NSL).  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 functions and is processing the resulting
          connect indications.  If a disconnect indication occurs,
          sequence can be used to identify which of the outstanding
          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 (via t_listen) and
          discon is NULL, the user will be unable to identify with
          which connect indication the disconnect is associated.

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

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

          [TNODIS]            No disconnect indication currently
                              exists on the specified 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.

          [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(NSL), t_connect(NSL), t_listen(NSL), t_open(NSL),
          t_snddis(NSL).
          Network Programmer's Guide.

     Diagnostics
          The t_rcvdis function returns 0 on success and -1 on
          failure, and t_errno is set to indicate the error.

     Standards Conformance
          t_rcvdis is conformant with:
          AT&T SVID Issue 2, Select Code 307-127.

                                                (printed 6/18/89)



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