t_rcvudata 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_RCVUDATA(3NSL)					      T_RCVUDATA(3NSL)

NAME
       t_rcvudata - receive a data unit

SYNOPSIS
       #include <xti.h>

       int t_rcvudata(int fd, struct t_unitdata *unitdata, int *flags);

DESCRIPTION
       This  routine  is part of the XTI interfaces which evolved from the TLI
       interfaces. XTI represents the future evolution	of  these  interfaces.
       However,	 TLI  interfaces are supported for compatibility. When using a
       TLI routine that has the same name as  an  XTI  routine,	 the  tiuser.h
       header  file must be used.  Refer to the	 TLI COMPATIBILITY section for
       a description of differences between the two interfaces.

       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, and flags is set on
       return to indicate that the complete data unit was  not	received.  The
       argument	 unitdata points to a t_unitdata structure containing the fol‐
       lowing members:

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

       The maxlen field of addr, opt and udata must be set before calling this
       function	 to  indicate  the maximum size of the buffer for each. If the
       maxlen field of	addr or	  opt  is  set	to  zero,  no  information  is
       returned in the	buf field of 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 udata specifies the user data that was received.

       By default, t_rcvudata() operates in synchronous mode and will wait 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_rcvudata()
       will execute in asynchronous mode and will fail if no  data  units  are
       available.

       If  the	buffer	defined	 in  the  udata field of unitdata is not large
       enough to hold the current data unit, the buffer	 will  be  filled  and
       T_MORE  will be set in flags on return to indicate that another t_rcvu‐
       data() should be called to retrieve the rest of the data unit.	Subse‐
       quent  calls  to	 t_rcvudata()  will  return zero for the length of the
       address and options until the full data unit has been received.

       If the call is interrupted, t_rcvudata() will return EINTR and no data‐
       grams will have been removed from the endpoint.

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:

       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
       The XTI and TLI interface definitions have common names but use differ‐
       ent header files. This, and other semantic differences between the  two
       interfaces are described in the subsections below.

   Interface Header
       The  XTI	 interfaces  use the header file, xti.h. TLI interfaces should
       not use this header.  They should use the header:
	 #include<tiuser.h>

   Error Description Values
       The t_errno values that can be set by the XTI interface and  cannot  be
       set by the TLI interface are:
	 TPROTO
	 TOUTSTATE

       A  t_errno  value  that this routine can return under different circum‐
       stances than its XTI counterpart is TBUFOVFLW. It can be returned  even
       when the maxlen field of the corresponding buffer has been set to zero.

   Option Buffers
       The format of the options in an opt buffer is dictated by the transport
       provider. Unlike the XTI interface, the TLI interface does not fix  the
       buffer format.

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_rcvuderr(3NSL),  t_sndu‐
       data(3NSL), attributes(5)

				  May 7, 1998		      T_RCVUDATA(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