Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ t_open(3N) — Amiga System V Release 4 Version 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

open(2)



t_open(3N)              NETWORK FUNCTIONS              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  initializa-
     tion  of  a transport endpoint.  This function establishes a
     transport endpoint by opening a UNIX 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/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 tran-
     sport endpoint.

     This function also returns various  default  characteristics
     of  the  underlying  transport protocol by setting fields in
     the tinfo structure.  This  argument  points  to  a  tinfo
     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 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  indi-
                   cates 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



            Last change: Networking Support Utilities           1





t_open(3N)              NETWORK FUNCTIONS              t_open(3N)



                   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  max-
                   imum  size  of  a  transport service data unit
                   (TSDU); a value of  zero  specifies  that  the
                   transport  provider  does not support the con-
                   cept of TSDU, although  it  does  support  the
                   sending of a data stream with no logical boun-
                   daries 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 sup-
                   ported by the transport provider.

     etsdu         A value greater than zero specifies  the  max-
                   imum  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  con-
                   nection; 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  pro-
                   vider.

     connect       A value greater than or equal to  zero  speci-
                   fies  the  maximum  amount of data that may be
                   associated with connection establishment func-
                   tions;  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 estab-
                   lishment functions.

     discon        A value greater than or equal to  zero  speci-
                   fies  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 abor-
                   tive release functions.




            Last change: Networking Support Utilities           2





t_open(3N)              NETWORK FUNCTIONS              t_open(3N)



     servtype      This field specifies  the  service  type  sup-
                   ported 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.  Alterna-
     tively,  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:

     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,  con-
                   nect, 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 topen.  On failure, terrno may
     be set to the following:

     [TSYSERR]           A system error has occurred during  exe-
                         cution of this function.

     [TBADFLAG]          An invalid flag is specified.

SEE ALSO
     open(2).
     UNIX System V Network Programmer's Guide.

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









            Last change: Networking Support Utilities           3



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