Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ t_open(3N) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

open(2)



t_open(3N)        UNIX System V(Networking Support Utilities)        t_open(3N)


NAME
      topen - establish a transport endpoint

SYNOPSIS
      #include <tiuser.h>

      #include <fcntl.h>

      int topen (char path, int oflag, struct tinfo *info);

DESCRIPTION
      topen 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/isocots 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 ONDELAY
      or ONONBLOCK OR-ed with ORDWR.  These flags are defined in the header
      file <fcntl.h>.  topen returns a file descriptor that will be used by
      all subsequent functions to identify the particular local transport
      endpoint.

      topen also returns various default characteristics of the underlying
      transport protocol by setting fields in the tinfo structure.  The tinfo
      argument points to a tinfo 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 tsnddis and trcvdis
                    functions */
      long servtype;/* service type supported by the transport provider */

      The values of the fields have the following meanings:

      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


10/89                                                                    Page 1







t_open(3N)        UNIX System V(Networking Support Utilities)        t_open(3N)


                    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 tsnddis and
                    trcvdis 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.

      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 talloc 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:



Page 2                                                                    10/89







t_open(3N)        UNIX System V(Networking Support Utilities)        t_open(3N)


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

      TCOTSORD    The transport provider supports a connection-mode service
                    with the optional orderly release facility.

      TCLTS        The transport provider supports a connectionless-mode
                    service.  For this service type, topen 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 topen.

      On failure, terrno may be set to the following:

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

      TBADFLAG            An invalid flag is specified.

DIAGNOSTICS
      topen returns a valid file descriptor on success and -1 on failure and
      terrno is set to indicate the error.

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

SEE ALSO
      open(2)
      Programmer's Guide:  Networking Interfaces




















10/89                                                                    Page 3





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026