T_SYNC(3N) INTERACTIVE UNIX System 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 synchron-
izes 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 ver-
ify the state before taking further action. This coordina-
tion is only valid among cooperating processes; it is possi-
ble 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.
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 execu-
tion of this function.
SEE ALSO
Rev. Networking Support Utilities Page 1
T_SYNC(3N) INTERACTIVE UNIX System T_SYNC(3N)
dup(2), exec(2), fork(2), open(2).
Programmer's Guide.
DIAGNOSTICS
The t_sync function returns the state of the transport pro-
vider 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).
Rev. Networking Support Utilities Page 2