unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

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

T_SNDUDATA(3N)                                                  T_SNDUDATA(3N)



NAME
       t_sndudata - send a data unit

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

       int t_sndudata(fd, unitdata)
       int fd;
       struct t_unitdata *unitdata;

DESCRIPTION
       t_sndudata()  is  used  in  connectionless  mode to send a data unit to
       another transport user.  fd identifies  the  local  transport  endpoint
       through  which  data  will be sent, and unitdata points to a t_unitdata
       structure defined in <&lt;nettli/tiuser.h>&gt; as:
              struct t_unitdata {
                   struct netbuf addr;           /* address          */
                   struct netbuf opt;            /* options          */
                   struct netbuf udata;          /* user data        */
              };

       The maxlen, len, and buf members of the netbuf structure are  described
       in  t_accept(3N).   In unitdata, addr specifies the protocol address of
       the destination user, opt identifies protocol-specific options that the
       user  wants  associated with this request, and udata specifies the user
       data to be sent.  The user may choose  not  to  specify  what  protocol
       options  are  associated  with the transfer by setting the len field of
       opt to 0.  In this case, the provider may use default options.

       If the len field of udata is 0, no data unit  will  be  passed  to  the
       transport provider; t_sndudata() will not send zero-length data units.

       By  default,  t_sndudata() operates in synchronous mode and may wait if
       flow control restrictions prevent the data from being accepted  by  the
       local  transport  provider  at  the time the call is made.  However, if
       T_NDELAY is set (using t_open(3N) or fcntl()), t_sndudata()  will  exe-
       cute in asynchronous mode and will fail under such conditions.

       If  t_sndudata()  is  issued from an invalid state, or if the amount of
       data specified in udata exceeds the TSDU size as returned  by  t_open()
       or  t_getinfo(3N), the provider will generate an EPROTO protocol error.
       See TSYSERR below.

RETURN VALUES
       t_sndudata() returns:

       0      on success.

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

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

       TFLOW               T_NDELAY  was  set,  but the flow control mechanism
                           prevented the  transport  provider  from  accepting
                           data at this time.

       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.

SEE ALSO
       intro(3), t_rcvudata(3N), t_rcvuderr(3N)

                                21 January 1990                 T_SNDUDATA(3N)