t_sndvudata man page on SmartOS

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

T_SNDVUDATA(3NSL)					     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.

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

			  o	 iovcount is greater than  T_IOV_MAX.

       TBADF
		      The specified file descriptor does not refer to a trans‐
		      port 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)

				 Aug 23, 2001		     T_SNDVUDATA(3NSL)
[top]

List of man pages available for SmartOS

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