t_rcvvudata man page on OpenIndiana

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

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

NAME
       t_rcvvudata  -  receive a data unit into one or more noncontiguous buf‐
       fers

SYNOPSIS
       #include <xti.h>

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

DESCRIPTION
       This function is used in connectionless mode to	receive	 a  data  unit
       from  another  transport	 user.	 The argument  fd identifies the local
       transport endpoint through which data will be received,	unitdata holds
       information  associated with the received data unit,  iovcount contains
       the  number  of	non-contiguous	udata  buffers	which  is  limited  to
       T_IOV_MAX, which is an implementation-defined value of at least 16, and
       flags is set on return to indicate that the complete data unit was  not
       received.   If  the  limit on  iovcount is exceeded, the function fails
       with TBADDATA.  The argument  unitdata points to a   t_unitdata	struc‐
       ture containing the following members:

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

       The   maxlen  field  of	 addr and  opt must be set before calling this
       function to indicate the maximum size  of  the  buffer  for  each.  The
       udata  field  of	  t_unitdata  is  not  used. The  iov_len and iov_base
       fields of "iov0" through	 iov [iovcount-1] must be set  before  calling
       t_rcvvudata()  to  define the buffer where the userdata will be placed.
       If the maxlen field of  addr or	opt is set to zero then no information
       is returned in the  buf field for this parameter.

       On  return  from this call,  addr specifies the protocol address of the
       sending user,  opt identifies options that were	associated  with  this
       data  unit, and	iov[0].iov_base through iov [iovcount-1].iov_base con‐
       tains the user data that was received. The return  value	 of   t_rcvvu‐
       data() is the number of bytes of user data given to the user.

       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_rcvvudata() operates in synchronous mode and waits for a
       data  unit  to  arrive  if  none	 is  currently available.  However, if
       O_NONBLOCK is set by means of t_open(3NSL) or  fcntl(2),	 t_rcvvudata()
       executes in asynchronous mode and fails if no data units are available.

       If the buffers defined in the  iov[] array are not large enough to hold
       the current data unit, the buffers will be filled and  T_MORE  will  be
       set  in	flags on return to indicate that another  t_rcvvudata() should
       be called to retrieve the rest of the data unit.	 Subsequent  calls  to
       t_rcvvudata()  will  return  zero  for  the  length  of the address and
       options, until the full data unit has been received.

RETURN VALUES
       On successful completion,  t_rcvvudata() returns the  number  of	 bytes
       received.  Otherwise,  it  returns  -1 on failure and t_errno is set to
       indicate the error.

VALID STATES
       T_IDLE.

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

       TBADDATA	      iovcount is greater than	T_IOV_MAX.

       TBADF	      The specified file descriptor does not refer to a trans‐
		      port endpoint.

       TBUFOVFLW      The  number of bytes allocated for the incoming protocol
		      address or options (maxlen) is greater than  0  but  not
		      sufficient  to  store  the  information.	 The unit data
		      information to be returned  in  unitdata	will  be  dis‐
		      carded.

       TLOOK	      An  asynchronous	event  has  occurred on this transport
		      endpoint and requires immediate attention.

       TNODATA	      O_NONBLOCK was set, but  no  data	 units	are  currently
		      available from the transport provider.

       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_rcvud‐
       err(3NSL), t_sndudata(3NSL), t_sndvudata(3NSL), attributes(5)

SunOS 5.11			  7 May 1998		     t_rcvvudata(3NSL)
[top]

List of man pages available for OpenIndiana

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