t_sync(3) CLIX t_sync(3)
NAME
t_sync - Synchronize transport library
LIBRARY
The Transport Layer Interface (TLI) Library (libnsl_s.a)
SYNOPSIS
#include <tiuser.h>
int t_sync(
int fd );
PARAMETERS
fd Specifies the transport endpoint.
DESCRIPTION
For the transport endpoint specified by fd, the t_sync() function
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 with open(), dup(), or as a result
of a fork() and exec()) 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() call 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. The t_sync() function 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() call is
issued.
If the provider is undergoing a state transition when t_sync() is called,
the function will fail.
RETURN VALUES
The t_sync() function returns the state of the transport provider on
2/94 - Intergraph Corporation 1
t_sync(3) CLIX t_sync(3)
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.
RELATED INFORMATION
Functions: dup(2), exec(2), fork(2), open(2)
AT&T UNIX System V Network Programmer's Guide
2 Intergraph Corporation - 2/94