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

  man pages->Tru64 Unix man pages -> t_open (3)              
Title
Content
Arch
Section
 

t_open(3)

Contents


NAME    [Toc]    [Back]

       t_open - Establishes a transport endpoint

SYNOPSIS    [Toc]    [Back]

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

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

LIBRARY    [Toc]    [Back]

       XTI Library (libxti.a)

STANDARDS    [Toc]    [Back]

       Interfaces  documented  on  this reference page conform to
       industry standards as follows:

       t_open():  XNS4.0, XNS5.0

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

PARAMETERS    [Toc]    [Back]

       The  following table summarizes the relevance of input and
       output parameters before and after the  t_open()  function
       is called:

       ------------------------------------------
       Parameter        Before Call   After Call
       ------------------------------------------
       name             y             n
       oflag            y             n
       info->addr       n             y
       info->options    n             y
       info->tsdu       n             y
       info->etsdu      n             y
       info->connect    n             y
       info->discon     n             y
       info->servtype   n             y
       info->options    n             y
       ------------------------------------------

       Notes  to  Table: This is a meaningful parameter.  This is
       not a meaningful parameter.

       Identifies the transport provider.  The transport provider
       must  define  the  type of transport service (protocol) to
       associate with the opened transport endpoint.

              [Tru64 UNIX]  This implementation of XTI uses pathnames
 to device special files to identify transport
              providers.  The device special files  corresponding
              to  TCP  or  UDP  transport providers reside in the
              /dev/streams/xtiso directory.  If you use a different
  transport  provider, see its documentation for
              the correct device name.  The  oflag  parameter  is
              similar  to the oflag parameter of the open() function
 and is used in the same  way.   Use  oflag  to
              establish  synchronous  or  asynchronous  operating
              modes of the transport provider pointed to  by  the
              name  parameter.   Specify  O_RDWR to indicate that
              the endpoint supports reading and writing by  functions
  and  blocks  on them, or specify the bitwise
              inclusive OR of O_RDWR and O_NONBLOCK  to  indicate
              that  the endpoint supports the reading and writing
              by functions but does not  block  on  them.   These
              options  are  defined in the <fcntl.h> header file.
              Points to a type t_info structure.  The location of
              a  type  t_info  structure  is returned to the info
              parameter when the t_open()  function  successfully
              executes.   Members of the t_info structure specify
              default characteristics of the underlying transport
              protocol pointed to by the name parameter.

              If  a transport user sets the info parameter to the
              null pointer value, the function  does  not  return
              any protocol information.

              When  a transport user must preserve protocol independence,
 you can access the data  length  information
  defined  by members of the type t_info structure
 to determine how large data buffers must be to
              hold exchanged data.  If the transport user exceeds
              the allowed data size during any data exchange, you
              receive  an  error.  Alternatively, you can use the
              t_alloc()  function  to  allocate  necessary   data
              buffers.  This structure has the following members:
              Permitted number of bytes in the protocol  address.
              A  value  greater  than  zero indicates the maximum
              number of permitted bytes in a protocol address.  A
              value of -1 specifies that there is no limit on the
              protocol address size.  A  value  of  -2  specifies
              that  the  transport  provider  does not permit the
              transport user access to  the  protocol  addresses.
              Permitted  number  of  bytes  of  options.  A value
              greater than zero indicates the maximum  number  of
              bytes of protocol-specific options supported by the
              transport provider.  A value of -1  specifies  that
              there  is  no limit to the number of options bytes.
              A value of -2 specifies that the transport provider
              does  not  permit  a transport user to set options.
              Permitted number of bytes in  a  Transport  Service
              Data Unit (TSDU).  A value greater than zero specifies
 the maximum number of bytes in a TSDU message.
              A  value  of  zero  specifies  that  the  transport
              provider does  not  support  TSDU  data  exchanges,
              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 to
              the number of bytes in a  TSDU  data  exchange.   A
              value  of  -2 specifies that the transfer of normal
              data is not supported by  the  transport  provider.
              Permitted number of bytes in an Expedited Transport
              Service Data Unit (ETSDU).  A  value  greater  than
              zero  specifies  the  maximum number of bytes in an
              ETSDU data exchange.  A  value  of  zero  specifies
              that  the transport provider does not support ETSDU
              data exchanges, 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 number
 of bytes in an ETSDU data exchange.  A value of
              -2 specifies that the transfer of expedited data is
              not supported by the transport provider.  Permitted
              number  of  bytes  of  data  in connect request.  A
              value greater than zero specifies the maximum  number
  of  data bytes that may be exchanged using the
              t_connect() and t_rcvconnect() functions.  A  value
              of  -2  specifies  that the transport provider does
              not permit data to be sent  when  a  connection  is
              established.   Permitted number of bytes of data in
              a disconnect request.  A value  greater  than  zero
              specifies the maximum number of data bytes that may
              be exchanged using the  t_snddis()  and  t_rcvdis()
              functions. A value of -1 specifies that there is no
              limit to the number of data bytes that may be  sent
              when  a  connection  is closed using these abortive
              release functions.  A value of  -2  specifies  that
              the  transport  provider does not permit data to be
              sent with an abortive release function.  This  member
  specifies  only  one of the following types of
              service supported by the  transport  provider:  The
              transport provider supports connection-mode service
              but does not support the optional  orderly  release
              facility.   The transport provider supports connection-mode
 service with the optional orderly release
              facility.   The transport provider supports connectionless-mode
 service.  For this service type, this
              function  returns  the value -2 for the etsdu, connect,
  and  discon  parameters.   Specifies   other
              information  about  the transport provider.  If the
              T_SENDZERO bit is set in flags, this indicates  the
              underlying  transport provider supports the sending
              of zero-length TSDUs.

DESCRIPTION    [Toc]    [Back]

       The t_open() XTI function must be  the  first  one  called
       when  initializing  a  transport  endpoint.   Two modes of
       operation may be specified, synchronous and  asynchronous.
       In  synchronous  mode, a transport user must wait for some
       specific event to occur before control is returned  (refer
       to the t_look() function).  In asynchronous mode, a transport
 user is not required to wait for the event to  occur;
       control is returned immediately.

       The  t_open()  function establishes the transport endpoint
       by supplying a transport provider identifier  that  specifies
  a particular transport protocol.  A file descriptor,
       which must subsequently always be  used  to  identify  the
       established endpoint, is returned by this function.

RETURN VALUES    [Toc]    [Back]

       Upon  successful completion, the t_open() function returns
       a file descriptor, a nonnegative  integer.   Otherwise,  a
       value of -1 is returned and t_errno is set to indicate the
       error.

ERRORS    [Toc]    [Back]

       If the t_open() function fails, t_errno may be set to  one
       of  the  following values: An invalid option is specified.
       Invalid transport provider name.  A system error  occurred
       during  execution  of this function.  This error indicates
       that a communication problem has been detected between XTI
       and  the  transport  provider  for which there is no other
       suitable XTI(t_errno).






VALID STATES    [Toc]    [Back]

       The t_open() function can be called in the T_UNINIT transport
 provider state only.

SEE ALSO    [Toc]    [Back]

      
      
       Functions: open(2)

       Standards: standards(5)

       Network Programmer's Guide



                                                        t_open(3)
[ Back ]
 Similar pages
Name OS Title
t_open IRIX establish a transport endpoint
t_close Tru64 Close a transport endpoint.
t_unbind HP-UX disable a transport endpoint
t_unbind Tru64 Disable a transport endpoint.
t_close IRIX close a transport endpoint
t_unbind IRIX disable a transport endpoint
t_close HP-UX close a transport endpoint
t_open HP-UX establish a transport endpoint
t_look Tru64 Look at the current event on a transport endpoint.
t_bind HP-UX bind an address to a transport endpoint
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service