Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  T_OPEN(3N)        (Networking Support Utilities)       T_OPEN(3N)



  NAME
       t_open - establish a transport endpoint

  SYNOPSIS
       #include <tiuser.h>

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

  DESCRIPTION
       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 file that
       identifies a particular transport provider (i.e.  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)].  t_open returns a
       file descriptor that will be used by all subsequent
       functions 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 structure.  This argument points to a t_info
       which contains the following members:

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


  Page 1                                                   May 1989


















  T_OPEN(3N)        (Networking Support Utilities)       T_OPEN(3N)



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


  Page 2                                                   May 1989


















  T_OPEN(3N)        (Networking Support Utilities)       T_OPEN(3N)



                     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.

       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:



  Page 3                                                   May 1989


















  T_OPEN(3N)        (Networking Support Utilities)       T_OPEN(3N)



       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 ULL by the transport user, no protocol
       information is returned by t_open.

       On failure, t_errno may be set to the following:

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

  SEE ALSO
       open(2).
       Network Programmer's Guide, Vol. 1.

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











  Page 4                                                   May 1989
















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