Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ t_sync(3N) — sys5 — Apollo Domain/OS SR10.3.5

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dup(2)

exec(2)

fork(2)

open(2)

T_SYNC(3N)                           SysV                           T_SYNC(3N)



NAME
     t_sync - synchronize transport library

SYNOPSIS
     #include <tiuser.h>

     int t_sync(fd)
     int fd;

DESCRIPTION
     For the transport endpoint specified by fd, t_sync synchronizes the data
     structures managed by the transport library with information from the
     underlying transport provider.  In doing so, it can convert a raw file
     descriptor (obtained via open(2), dup(2), or as a result of a fork(2) and
     exec(2)) to an initialized transport endpoint, assuming that file
     descriptor referenced a transport provider.  This function also allows
     two cooperating processes to synchronize their interaction with a
     transport provider.

     For example, if a process forks a new process and issues an exec, the new
     process must issue a t_sync to build the private library data structure
     associated with a transport endpoint and to synchronize the data
     structure with the relevant provider information.

     It is important to remember that the transport provider treats all users
     of a transport endpoint as a single user.  If multiple processes are
     using the same endpoint, they should coordinate their activities so as
     not to violate the state of the provider.  t_sync returns the current
     state of the provider to the user, thereby enabling the user to verify
     the state before taking further action.  This coordination is only valid
     among cooperating processes; it is possible that a process or an incoming
     event could change the provider's state after a t_sync is issued.

     If the provider is undergoing a state transition when t_sync is called,
     the function will fail.

DIAGNOSTICS
     t_sync returns the state of the transport provider on successful
     completion and -1 on failure and t_errno is set to indicate the error.
     The state returned may be one of the following:

     T_UNBND            unbound

     T_IDLE             idle

     T_OUTCON           outgoing connection pending

     T_INCON            incoming connection pending

     T_DATAXFER         data transfer

     T_OUTREL           outgoing orderly release (waiting for an orderly
                        release indication)

     T_INREL            incoming orderly release (waiting for an orderly
                        release request)

ERRORS
     On failure, t_errno may be set to one of the following:

     [TBADF]            The specified file descriptor is a valid open file
                        descriptor but does not refer to a transport endpoint.

     [TSTATECHNG]       The transport provider is undergoing a state change.

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

SEE ALSO
     dup(2), exec(2), fork(2), open(2)
     Programming with the SysV Transport Interface

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