t_sndvudata man page on DigitalUNIX

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

t_sndvudata(3)							t_sndvudata(3)

NAME
       t_sndvudata - Send a data unit from one or more non-contiguous buffers

SYNOPSIS
       #include <xti.h>

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

LIBRARY
       XTI Library (libxti.a)

STANDARDS
       Interfaces  documented on this reference page conform to industry stan‐
       dards as follows:

       t_sndvudata():  XNS5.0

       Refer to the standards(5) reference page	 for  more  information	 about
       industry standards and associated tags.

PARAMETERS
       The following table summarizes the relevance of input and output param‐
       eters before and after t_sndvudata() is called:

       ───────────────────────────────────────────────────
       Parameters		 Before Call   After Call
       ───────────────────────────────────────────────────
       fd			 y	       n
       unitdata->addr.maxlen	 n	       e
       unitdata->addr.len	 y	       e
       unitdata->addr.buf	 y(y)	       e(e)
       unitdata->opt.maxlen	 n	       e
       unitdata->opt.len	 y	       e
       unitdata->opt.buf	 o(o)	       e(e)
       unitdata->udata.maxlen	 n	       e
       unitdata->udata.len	 n	       e
       unitdata->udata.buf	 n	       e
       iov[0].iov_base		 y(y)	       e(e)
       iov[0].iov_len		 y	       e
	...
       iov[iov‐			 y(y)	       e(e)
       count-1].iov_base
       iov[iovcount-1].iov_len	 y	       e
       iovcount			 y	       n
       ───────────────────────────────────────────────────

       Notes  to  Table:  This	is a meaningful parameter.  The content of the
       object pointed to by  y	is  meaningful.	  This	is  a  meaningful  but
       optional parameter.  The content of the object pointed to by o is mean‐
       ingful.	The parameter value after the call is the same as  before  the
       call.   The content of the object pointed to by e is the same as before
       the call.  This is not a meaningful parameter.	Identifies  the	 local
       transport  endpoint  through  which  data  is  sent.   Points to a type
       t_unitdata structure used to specify a data unit being sent through the
       transport  endpoint  specified  by  the	fd  parameter.	The t_unitdata
       structure has the following members: References a buffer	 for  protocol
       address	information  of	 the  remote  transport user.  The type netbuf
       structure referenced by this member is defined  in  the	xti.h  include
       file  and has the following members: Specifies a maximum byte length of
       the data buffer.	 Specifies the actual byte length of the data  written
       to the buffer.  Points to the buffer location.  Identifies options that
       the user wants associated with this request.  The user may  choose  not
       to  specify  what  protocol options are associated with the transfer by
       setting the len field of opt to zero. In this case,  the	 provider  may
       use  default  options.  Specifies the user data unit that is being sent
       to the remote transport user. (Not used) Points to the data to be sent.
       Contains	 the  number of non-contiguous udata buffers, which is limited
       to T_IOV_MAX (16).

DESCRIPTION
       The t_sndvudata() function is an XTI connectionless service

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

					Note

       The limit on the total number of bytes available in all buffers	passed
       (that  is,  iov(0).iov_len + ... + iov(iovcount-1).iov_len) may be con‐
       strained 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 functions.

       By  default,  t_sndvudata()  operates  in synchronous mode and waits if
       flow control restrictions prevent the data from being accepted  by  the
       local  transport	 provider at the time of the call.  However, if O_NON‐
       BLOCK is set (via t_open() or fcntl()), t_sndvudata() executes in asyn‐
       chronous mode and fails under such conditions.  The process can arrange
       to be notified of the clearance	of  a  flow  control  restriction  via
       either t_look() or the EM interface.

       If  the	amount	of  data  specified  in iov[0] through iov[iovcount-1]
       exceeds the TSDU size as returned in the tsdu field of the  info	 argu‐
       ment  of t_open() or t_getinfo(), 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(3)),  the  data
       unit may be discarded.

       If the transport provider cannot immediately detect the conditions that
       cause the [TBADDADDR] and [TBADOPT] errors, these errors will  alterna‐
       tively  be  returned by t_rcvuderr().  An application must therefore be
       prepared to receive these errors in both of these ways.

ERRORS
       If the t_sndvudata() function fails, t_errno may be set to one  of  the
       following  values:  The	specified protocol address was in an incorrect
       format or contained illegal information.	  An  attempt  to  send	 once,
       specifying  a  TSDU  (ETSDU) greater than that specified by the current
       value in the info argument,  or	an  attempt  to	 send  zero-byte  TSDU
       (ETSDU) is not supported by the provider.

	      The iovcount parameter is greater than T_IOV_MAX.	 File descrip‐
	      tor (fd) is not  a  valid	 transport  endpoint.	The  specified
	      options  were in an incorrect format or contained illegal infor‐
	      mation.  Asynchronous mode is indicated because  O_NONBLOCK  was
	      set,  but	 the transport provider cannot accept the data because
	      of flow-control restrictions.  An asynchronous event occurred on
	      this  transport endpoint and requires immediate attention.  This
	      function is not supported by the underlying transport  provider.
	      The  communications  endpoint referenced by fd is not in a valid
	      state in which a call to this function.  A communication problem
	      has  been	 detected  between  XTI and the transport provider for
	      which there is no other suitable XTI error (t_errno).  A	system
	      error occurred during execution of this function.

VALID STATES
       The  t_sndvudata()  function can be called only in the T_IDLE transport
       provider state.

RETURN VALUE
       Upon successful completion, t_sndvudata() returns a value of 0  (zero).
       Otherwise,  it  returns	a value of -1 and sets t_errno to indicate the
       error.

SEE ALSO
       Functions: fcntl(2),  t_alloc(3),  t_open(3),  t_rcvudata(3),  t_rcvud‐
       err(3), t_rcvvudata(3), t_sndudata(3).

       Standards: standards(5)

       Network Programmer's Guide

								t_sndvudata(3)
[top]

List of man pages available for DigitalUNIX

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