TSYNC(3N) DG/UX 4.30 TSYNC(3N)
NAME
t_sync - synchronize transport library
SYNOPSIS
#include <tiuser.h>
int tsync(fd)
int fd;
DESCRIPTION
For the transport endpoint specified by fd, tsync
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 tsync 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. tsync 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 tsync is issued.
If the provider is undergoing a state transition when tsync
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
execution of this function.
Licensed material--property of copyright holder(s) Page 1
TSYNC(3N) DG/UX 4.30 TSYNC(3N)
SEE ALSO
dup(2), exec(2), fork(2), open(2).
DIAGNOSTICS
tsync 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)
Licensed material--property of copyright holder(s) Page 2