t_accept 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_accept(3NSL)	     Networking Services Library Functions	t_accept(3NSL)

NAME
       t_accept - accept a connection request

SYNOPSIS
       #include <xti.h>

       int t_accept(int fd, int resfd, const struct t_call *call);

DESCRIPTION
       This  routine  is  part of the XTI interfaces that 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,  a  different
       header  file,  tiuser.h,	 must be used.	Refer to the TLI COMPATIBILITY
       section for a description of differences between the two interfaces.

       This function is issued by a transport  user  to	 accept	 a  connection
       request.	  The  parameter  fd  identifies  the local transport endpoint
       where the connection indication	arrived;  resfd	 specifies  the	 local
       transport  endpoint where the connection is to be established, and call
       contains information required by the transport provider to complete the
       connection.  The parameter call points to a t_call structure which con‐
       tains the following members:

       struct netbuf addr;
       struct netbuf opt;
       struct netbuf udata;
       int sequence;

       In call, addr is the protocol address of the  calling  transport	 user,
       opt  indicates any options associated with the connection, udata points
       to any user data to be returned to the  caller,	and  sequence  is  the
       value  returned by t_listen(3NSL) that uniquely associates the response
       with a previously received connection indication.  The address  of  the
       caller,	addr may be null (length zero). Where addr is not null then it
       may optionally be checked by XTI.

       A transport user may accept a connection on either the same,  or	 on  a
       different,  local  transport endpoint than the one on which the connec‐
       tion indication arrived.	 Before the connection can be accepted on  the
       same endpoint (resfd==fd), the user must have responded to any previous
       connection indications received on that transport endpoint by means  of
       t_accept()  or  t_snddis(3NSL). Otherwise, t_accept() will fail and set
       t_errno to TINDOUT.

       If a different transport endpoint is specified  (resfd!=fd),  then  the
       user  may  or may not choose to bind the endpoint before the t_accept()
       is issued.
	If the endpoint is not bound prior to the   t_accept(),	 the  endpoint
       must be in the  T_UNBND state before the	 t_accept() is issued, and the
       transport provider will automatically bind it to	 an  address  that  is
       appropriate  for	 the protocol concerned. If the transport user chooses
       to bind the endpoint it must be bound to a protocol address with a qlen
       of  zero	 and  must  be	in  the	 T_IDLE state before the t_accept() is
       issued.

       Responding endpoints should be supplied to   t_accept()	in  the	 state
       T_UNBND.

       The call to  t_accept() may fail with t_errno set to TLOOK if there are
       indications (for example connect or disconnect) waiting to be  received
       on endpoint  fd. Applications should be prepared for such a failure.

       The  udata argument enables the called transport user to send user data
       to the caller and the amount of user data must not  exceed  the	limits
       supported by the transport provider as returned in the connect field of
       the info argument of t_open(3NSL) or t_getinfo(3NSL). If the len	 field
       of  udata  is zero, no data will be sent to the caller.	All the maxlen
       fields are meaningless.

       When the user does not indicate any option (call→opt.len = 0) the  con‐
       nection	shall be accepted with the option values currently set for the
       responding endpoint  resfd.

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
       fd: T_INCON

       resfd (fd!=resfd): T_IDLE, T_UNBND

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

       TACCES		       The  user  does not have permission to accept a
			       connection on the responding transport endpoint
			       or to use the specified options.

       TBADADDR		       The specified protocol address was in an incor‐
			       rect format or contained illegal information.

       TBADDATA		       The amount  of  user  data  specified  was  not
			       within  the  bounds  allowed  by	 the transport
			       provider.

       TBADF		       The file descriptor fd or resfd does not	 refer
			       to a transport endpoint.

       TBADOPT		       The specified options were in an incorrect for‐
			       mat or contained illegal information.

       TBADSEQ		       Either an invalid sequence  number  was	speci‐
			       fied,  or a valid sequence number was specified
			       but the connection request was aborted  by  the
			       peer.  In  the  latter  case, its  T_DISCONNECT
			       event will be received on  the  listening  end‐
			       point.

       TINDOUT		       The  function  was  called  with	 fd==resfd but
			       there are outstanding connection indications on
			       the  endpoint.	Those other connection indica‐
			       tions must be handled either by rejecting  them
			       by  means  of  t_snddis(3NSL) or accepting them
			       on a different endpoint by means of  t_accept.

       TLOOK		       An  asynchronous	 event	has  occurred  on  the
			       transport   endpoint   referenced   by  fd  and
			       requires immediate attention.

       TNOTSUPPORT	       This function is not supported by the  underly‐
			       ing transport provider.

       TOUTSTATE	       The  communications  endpoint referenced by  fd
			       or  resfd is not in one of the states in	 which
			       a call to this function is valid.

       TPROTO		       This error indicates that a communication prob‐
			       lem has	been  detected	between	 XTI  and  the
			       transport  provider for which there is no other
			       suitable XTI error (t_errno).

       TPROVMISMATCH	       The file descriptors fd and resfd do not	 refer
			       to the same transport provider.

       TRESADDR		       This  transport	provider  requires both fd and
			       resfd to be bound to the same address.
				This error results if they are not.

       TRESQLEN		       The endpoint referenced by resfd	 (where	 resfd
			       !=  fd)	was bound to a protocol address with a
			       qlen that is greater than zero.

       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

       TINDOUT

       TPROVMISMATCH

       TRESADDR

       TRESQLEN

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

ATTRIBUTES
       See attributes(5)  for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT Level		     │Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       t_connect(3NSL),	  t_getinfo(3NSL),  t_getstate(3NSL),  t_listen(3NSL),
       t_open(3NSL),  t_optmgmt(3NSL),	 t_rcvconnect(3NSL),   t_snddis(3NSL),
       attributes(5)

WARNINGS
       There  may be transport provider-specific restrictions on address bind‐
       ing.

       Some transport providers do  not	 differentiate	between	 a  connection
       indication  and	the  connection itself.	 If the connection has already
       been  established  after	 a  successful	 return	  of   t_listen(3NSL),
       t_accept()  will	 assign	 the existing connection to the transport end‐
       point specified by resfd.

SunOS 5.10			  1 May 1998			t_accept(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