t_rcvvudata 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_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
		       transport 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.10			  7 May 1998		     t_rcvvudata(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