*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> t_open (3n)              
Title
Content
Arch
Section
 

Contents


t_open(3N)							    t_open(3N)


NAME    [Toc]    [Back]

     t_open - establish	a transport endpoint

SYNOPSIS    [Toc]    [Back]

     #ifdef _XOPEN_SOURCE
     #include <xti.h>
     #else
     #include <tiuser.h>
     #endif

     #include <fcntl.h>

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

DESCRIPTION    [Toc]    [Back]

     t_open must be called as the first	step in	the initialization of a
     transport endpoint.  This function	establishes a transport	endpoint by
     opening a UNIX file that identifies a particular transport	provider (that
     is, transport protocol) and returning a file descriptor that identifies
     that endpoint.  For example, opening the file /dev/iso_cots identifies an
     OSI connection-oriented transport layer protocol as the transport
     provider.

     path points to the	path name of the file to open, and oflag identifies
     any open flags [as	in open(2)].  oflag may	be constructed from O_NDELAY
     or	O_NONBLOCK OR-ed with O_RDWR.  These flags are defined in the header
     file <fcntl.h>.  t_open returns a file descriptor that will be used by
     all subsequent functions to identify the particular local transport
     endpoint.

     t_open also returns various default characteristics of the	underlying
     transport protocol	by setting fields in the t_info	structure.  The	t_info
     argument points to	a t_info structure that	contains the following
     members:

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

     #ifdef _XOPEN_SOURCE
     long flags;/* other info about the	transport provider */
     #endif

     The values	of the fields have the following meanings:





									Page 1






t_open(3N)							    t_open(3N)



     addr	   A value greater than	or equal to zero indicates the maximum
		   size	of a transport protocol	address; a value of -1
		   specifies that there	is no limit on the address size; and a
		   value of -2 specifies that the transport provider does not
		   provide user	access to transport protocol addresses.

     options	   A value greater than	or equal to zero indicates the maximum
		   number of bytes of protocol-specific	options	supported by
		   the provider; a value of -1 specifies that there is no
		   limit on the	option size; and a value of -2 specifies that
		   the transport provider does not support user-settable
		   options.

     tsdu	   A value greater than	zero specifies the maximum size	of a
		   transport service data unit (TSDU); a value of zero
		   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 specifies that there is no	limit
		   on the size of a TSDU; and a	value of -2 specifies that the
		   transfer of normal data is not supported by the transport
		   provider.

     etsdu	   A value greater than	zero specifies the maximum size	of an
		   expedited transport service data unit (ETSDU); a value of
		   zero	specifies that the transport provider does not support
		   the concept of ETSDU, although it does support the sending
		   of an expedited data	stream with no logical boundaries
		   preserved across a connection; a value of -1	specifies that
		   there is no limit on	the size of an ETSDU; and a value of
		   -2 specifies	that the transfer of expedited data is not
		   supported by	the transport provider.

     connect	   A value greater than	or equal to zero specifies the maximum
		   amount of data that may be associated with connection
		   establishment functions; a value of -1 specifies that there
		   is no limit on the amount of	data sent during connection
		   establishment; and a	value of -2 specifies that the
		   transport provider does not allow data to be	sent with
		   connection establishment functions.

     discon	   A value greater than	or equal to zero specifies the maximum
		   amount of data that may be associated with the t_snddis and
		   t_rcvdis functions; a value of -1 specifies that there is
		   no limit on the amount of data sent with these abortive
		   release functions; and a value of -2	specifies that the
		   transport provider does not allow data to be	sent with the
		   abortive release functions.

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




									Page 2






t_open(3N)							    t_open(3N)



     flags	   If _XOPEN_SOURCE is defined,	then this structure element
		   will	exist.	This is	a bit field used to specify other
		   information about the transport provider.  If the
		   T_SENDZERO bit is set in flags, this	indicates that the
		   underlying transport	provider supports the sending of
		   zero-length TSDUs.  Following is a dicussion	of the
		   separate issue of zero-length fragments within a TSDU.
		   Sending data	of zero	octets:

		   The transport service definition, both in connectionoriented
 mode and in	connectionless mode, does not permit
		   sending a TSDU of zero octets.  So, in connectionless mode,
		   if the len parameter	is set to zero,	the t_sndudata() call
		   will	always return unsuccessfully with -1 and t_errno set
		   to TBADDATA.	 In connection-oriented	mode, if the nbytes
		   parameter is	set to zero, the t_snd() call will return with
		   -1 and t_errno set to TBADDATA if either the	T_MORE flag is
		   set or the T_MORE flag is not set and the preceding t_snd()
		   call	completed a TSDU or ETSDU (that	is, the	call has
		   requested sending a zero byte TSDU or ETSDU.

     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 function 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	may specify one	of the following values	on
     return:

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

     T_COTS_ORD	   The transport provider supports a connection-mode service
		   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 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 NULL by the transport user, no protocol information is
     returned by t_open.

     This function resides within both the X/Open compliant libxnet and	the
     SVR4 compliant libnsl Network Services libraries.	Network	Services
     applications which	require	X/Open compliance must link-load with -lxnet.
     Network Services applications which require SVR4 compliance must linkload
 with -lnsl.




									Page 3






t_open(3N)							    t_open(3N)



     On	failure, t_errno may be	set to the following:

     TSYSERR		 A system error	has occurred during execution of this
			 function.

     TBADFLAG		 An invalid flag is specified.

     TBADNAME		 If _XOPEN_SOURCE is defined, then when	an invalid
			 transport provider name is encountered, this value is
			 returned within t_errno.

DIAGNOSTICS    [Toc]    [Back]

     t_open returns a valid file descriptor on success and -1 on failure and
     t_errno is	set to indicate	the error.

NOTES    [Toc]    [Back]

     If	t_open is used on a non-TLI-conforming STREAMS device, unpredictable
     events may	occur.

SEE ALSO    [Toc]    [Back]

      
      
     open(2)


									PPPPaaaaggggeeee 4444
[ Back ]
 Similar pages
Name OS Title
t_connect IRIX establish a connection with another transport user
t_connect Tru64 Establish a connection with another transport user
t_connect HP-UX establish a connection with another transport user
t_unbind HP-UX disable a transport endpoint
t_close IRIX close a transport endpoint
t_unbind Tru64 Disable a transport endpoint.
t_close Tru64 Close a transport endpoint.
t_open Tru64 Establishes a transport endpoint
t_unbind IRIX disable a transport endpoint
t_close HP-UX close a transport endpoint
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service