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

NAME
       t_open - establish a transport endpoint

SYNOPSIS
       #include <xti.h>
       #include <fcntl.h>

       int t_open(const char *name, int oflag, struct t_info *info);

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.

       The t_open() function must be called as the first step in the  initial‐
       ization	of a transport endpoint. This function establishes a transport
       endpoint by supplying a transport provider identifier that indicates  a
       particular transport provider, that is, transport protocol, and return‐
       ing a file descriptor that identifies that endpoint.

       The argument name points to a transport provider identifier  and	 oflag
       identifies  any	open flags, as in open(2).  The argument oflag is con‐
       structed from  O_RDWR optionally bitwise inclusive-OR'ed	 with	O_NON‐
       BLOCK.  These  flags  are  defined  by  the  header <fcntl.h>. The file
       descriptor returned by t_open() will be used by	all  subsequent	 func‐
       tions to identify the particular local transport endpoint.

       This  function  also  returns  various  default	characteristics of the
       underlying transport protocol by setting fields in  the	t_info	struc‐
       ture.  This  argument  points  to a t_info which contains the following
       members:

       t_scalar_t addr;	       /* max size of the transport protocol address */
       t_scalar_t options;     /* max number of bytes of  */
				    /* protocol-specific options  */
       t_scalar_t tsdu;	       /* max size of a transport service data	*/
				    /* unit (TSDU)  */
       t_scalar_t etsdu;       /* max size of an expedited transport  */
				    /* service data unit (ETSDU)  */
       t_scalar_t connect;     /* max amount of data allowed on	 */
			       /* connection establishment functions  */
       t_scalar_t discon;      /* max amount of data allowed on	 */
			       /* t_snddis() and t_rcvdis() functions  */
       t_scalar_t servtype;    /* service type supported by the	 */
				    /* transport provider  */
       t_scalar_t flags;       /* other info about the transport provider  */

       The values of the fields have the following meanings:

       addr	       A value greater than zero (T_NULL) indicates the	 maxi‐
		       mum size of a transport protocol address and a value of
		       -2 (T_INVALID) specifies that  the  transport  provider
		       does  not  provide  user	 access	 to transport protocol
		       addresses.

       options	       A value greater than zero (T_NULL) indicates the	 maxi‐
		       mum  number  of bytes of protocol-specific options sup‐
		       ported by the provider, and a value of  -2  (T_INVALID)
		       specifies  that the transport provider does not support
		       user-settable options.

       tsdu	       A value greater than zero (T_NULL specifies the maximum
		       size  of	 a transport service data unit (TSDU); a value
		       of zero (T_NULL) specifies that the transport  provider
		       does  not support the concept of TSDU, although it does
		       support the sending of a data stream  with  no  logical
		       boundaries preserved across a connection; a value of -1
		       (T_INFINITE) specifies that there is no	limit  to  the
		       size of a TSDU; and a value of -2 (T_INVALID) specifies
		       that the transfer of normal data is  not	 supported  by
		       the transport provider.

       etsdu	       A  value greater than zero (T_NULL) specifies the maxi‐
		       mum size of an expedited transport  service  data  unit
		       (ETSDU);	 a  value  of zero (T_NULL) specifies that the
		       transport provider does	not  support  the  concept  of
		       ETSDU, although it does support the sending of an expe‐
		       dited data stream with no logical boundaries  preserved
		       across a connection; a value of -1 (T_INFINITE)	speci‐
		       fies that there is no limit on the size	of  an	ETSDU;
		       and a value of -2 (T_INVALID) specifies that the trans‐
		       fer of expedited data is not supported by the transport
		       provider. Note that the semantics of expedited data may
		       be quite different for different transport providers.

       connect	       A value greater than zero (T_NULL) specifies the	 maxi‐
		       mum  amount of data that may be associated with connec‐
		       tion  establishment  functions,	and  a	value  of   -2
		       (T_INVALID)  specifies that the transport provider does
		       not allow data to be sent with connection establishment
		       functions.

       discon	       If  the	 T_ORDRELDATA  bit  in flags is clear, a value
		       greater than zero (T_NULL) specifies the maximum amount
		       of  data that may be associated with the t_snddis(3NSL)
		       and  t_rcvdis(3NSL)  functions,	and  a	value  of   -2
		       (T_INVALID)  specifies that the transport provider does
		       not allow data to be sent  with	the  abortive  release
		       functions.  If the  T_ORDRELDATA bit is set in flags, a
		       value greater than zero (T_NULL) specifies the  maximum
		       number of octets that may be associated with the
			t_sndreldata(),	  t_rcvreldata(),  t_snddis(3NSL)  and
		       t_rcvdis(3NSL) functions.

       servtype	       This field specifies the service type supported by  the
		       transport provider, as described below.

       flags	       This  is	 a bit field used to specify other information
		       about the  communications provider.  If the   T_ORDREL‐
		       DATA  bit  is set, the communications provider supports
		       user data to be sent with an orderly  release.  If  the
		       T_SENDZERO  bit	is  set	 in  flags, this indicates the
		       underlying transport provider supports the  sending  of
		       zero-length TSDUs.

       If  a transport user is concerned with protocol independence, the above
       sizes may be accessed to determine how large the	 buffers  must	be  to
       hold  each piece of information. Alternatively, the t_alloc(3NSL) func‐
       tion may be used to allocate these buffers. An error will result	 if  a
       transport user exceeds the allowed data size on any function.

       The  servtype  field  of	 info specifies one of the following values on
       return:

       T_COTS	       The transport provider supports a connection-mode  ser‐
		       vice  but does not support the optional orderly release
		       facility.

       T_COTS_ORD      The transport provider supports a connection-mode  ser‐
		       vice with the optional orderly release facility.

       T_CLTS	       The  transport  provider supports a connectionless-mode
		       service. For this service type, t_open() will return -2
		       (T_INVALID) for etsdu, connect and discon.

       A  single transport endpoint may support only one of the above services
       at one time.

       If info is set to a null pointer by the	transport  user,  no  protocol
       information is returned by t_open().

RETURN VALUES
       A valid file descriptor is returned upon successful completion.	Other‐
       wise, a value of -1 is returned and  t_errno  is	 set  to  indicate  an
       error.

VALID STATES
       T_UNINIT.

ERRORS
       On failure, t_errno is set to the following:

       TBADFLAG	       An invalid flag is specified.

       TBADNAME	       Invalid transport provider name.

       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 xti.h TLI interfaces should not use this
       header.	They should use the header:

		 #include <tiuser.h>

   Error Description Values
       The t_errno values TPROTO and TBADNAME can be set by the XTI  interface
       but cannot be set by the TLI interface.

   Notes
       For  TLI	 , the t_info structure referenced by info lacks the following
       structure member:

       t_scalar_t flags;    /* other info about the transport provider */

       This member was added to struct t_info in the XTI interfaces.

       When a value of -1 is observed as the return value  in  various	t_info
       structure  members, it signifies that the transport provider can handle
       an infinite length  buffer  for	a  corresponding  attribute,  such  as
       address	data, option data, TSDU (octet size), ETSDU (octet size), con‐
       nection data, and disconnection data. The corresponding structure  mem‐
       bers are addr, options, tsdu, estdu, connect, and discon, respectively.

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

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

SEE ALSO
       open(2), attributes(5)

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