t_sndvudata man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

t_sndvudata(3NSL)    Networking Services Library Functions   t_sndvudata(3NSL)

NAME
       t_sndvudata - send a data unit from one or more noncontiguous buffers

SYNOPSIS
       #include <xti.h>

       int  t_sndvudata(int  fd,  struct  t_unitdata *unitdata, struct t_iovec
       *iov, unsigned int iovcount);

DESCRIPTION
       This function is used in connectionless mode to send  a	data  unit  to
       another	transport  user.  The argument	fd identifies the local trans‐
       port endpoint through which data will be sent,  iovcount	 contains  the
       number  of non-contiguous  udata buffers and is limited to an implemen‐
       tation-defined value given by  T_IOV_MAX which  is  at  least  16,  and
       unitdata	 points	 to  a	 t_unitdata structure containing the following
       members:

       struct netbuf addr;
       struct netbuf opt;
       struct netbuf udata;

       If the limit on	iovcount is exceeded, the function  fails  with	 TBAD‐
       DATA.

       In   unitdata,  addr  specifies the protocol address of the destination
       user, and  opt identifies options that the user wants  associated  with
       this request. The  udata field is not used.  The user may choose not to
       specify what protocol options are associated with the transfer by  set‐
       ting  the   len	field of  opt to zero.	In this case, the provider may
       use default options.

       The data to be sent is identified by  iov[0] through iov [iovcount-1].

       Note that the limit on the total number of bytes available in all  buf‐
       fers passed:

       iov(0).iov_len + . . + iov(iovcount-1).iov_len

       may  be	constrained  by	 implementation limits. If no other constraint
       applies, it will be limited by INT_MAX. In practice,  the  availability
       of  memory  to  an application is likely to impose a lower limit on the
       amount of data that can be sent or received using scatter/gather	 func‐
       tions.

       By default,  t_sndvudata() 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
       O_NONBLOCK is set by means of  t_open(3NSL) or  fcntl(2), t_sndvudata()
       executes in asynchronous mode and will fail under such conditions.  The
       process can arrange to be notified of the clearance of a	 flow  control
       restriction by means of either  t_look(3NSL) or the EM interface.

       If  the	amount	of  data  specified  in	 iov0 through iov [iovcount-1]
       exceeds the TSDU size as returned in the	 tsdu field of the  info argu‐
       ment of
	t_open(3NSL)  or   t_getinfo(3NSL),  or	 is  zero  and sending of zero
       octets is not supported by the underlying transport service, a TBADDATA
       error is generated.  If	t_sndvudata() is called before the destination
       user has activated its transport endpoint (see  t_bind(3NSL)), the data
       unit may be discarded.

       If  it is not possible for the transport provider to immediately detect
       the conditions that cause  the  errors  TBADDADDR  and  TBADOPT,	 these
       errors will alternatively be returned by	 t_rcvuderr(3NSL). An applica‐
       tion must therefore be prepared to receive  these  errors  in  both  of
       these ways.

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_IDLE.

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

       TBADADDR	       The specified protocol address was in an incorrect for‐
		       mat or contained illegal information.

       TBADDATA	       Illegal amount of data.

			 ·  A  single  send  was  attempted  specifying a TSDU
			    greater than that specified in the info  argument,
			    or	a send of a zero byte TSDU is not supported by
			    the provider.

			 ·  iovcount is greater than  T_IOV_MAX.

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

       TBADOPT	       The  specified  options were in an incorrect  format or
		       contained illegal information.

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

       TLOOK	       An asynchronous event has occurred  on  this  transport
		       endpoint.

       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
       In the TLI interface definition, no counterpart	of  this  routine  was
       defined.

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

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT Level		     │Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       fcntl(2),   t_alloc(3NSL),   t_open(3NSL),  t_rcvudata(3NSL),  t_rcvvu‐
       data(3NSL) t_rcvuderr(3NSL), t_sndudata(3NSL), attributes(5)

SunOS 5.10			  23 Aug 2001		     t_sndvudata(3NSL)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net