intro(3xti) intro(3xti)
Name
intro - introduction to the X/Open Transport Interface (XTI)
Description
The X/Open Transport Interface defines a transport service interface that is independent of any specific transport provider. The interface
is provided by way of a set of library functions for the C programming language.
Transport Providers
The transport layer can comprise one or more transport providers at the same time. The transport provider identifier parameter passed to
the function determines the required transport provider.
Transport Endpoints
A transport endpoint specifies a communication path between a transport user and a specific transport provider, which is identified by a
local file descriptor (fd). When a user opens a transport provider identifier, a local file descriptor fd is returned that identifies the
transport endpoint.
Synchronizing Endpoints
One process can simultaneously open several fds. In synchronous mode, however the process must manage the different actions of the associ-
ated transport connections sequentially. Conversely, several processes can share the same fd (by or operations) but they have to synchro-
nize themselves so as not to issue a function that is unsuitable to the current state of the transport endpoint.
Modes Of Service
The transport service interface supports two modes of service: connection mode and connectionless mode. A single transport endpoint cannot
support both modes of service simultaneously.
The connection-mode transport service is circuit-oriented and enables data to be transferred over an established connection in a reliable,
sequential manner. In contrast, the connectionless-mode transport service is message-oriented and supports data transfer in self-contained
units with no logical relationship required among multiple units.
Error Handling
Two levels of error are defined for the transport interface. The first is the library error level. Each library function has one or more
error returns. A return of -1 indicates a failure. An external integer, t_errno, which is defined in the header file <xti.h>, holds the
specific error number when such a failure occurs. This value is set when errors occur but is not cleared on successful library calls, so it
should be tested only after an error has been indicated. If implemented, a diagnostic function, t_error, prints out information on the cur-
rent transport error. The state of the transport provider may change if a transport error occurs.
The second level of error is the operating system service routine level. A special library level error number has been defined called [TSY-
SERR], which is generated by each library function when the operating system service routine fails or some general error occurs. When a
function sets t_errno to [TSYSERR], the specific system error can be accessed through the external variable errno.
Key For Parameter Arrays
Each XTI function description, includes an array that summarizes the content of the input and output parameter. The key is as follows:
-------------------------------------------------------------
Key Description
-------------------------------------------------------------
x The parameter value is meaningful (input parameter
must be set before the call and output parameter must
be read after the call).
(x) The content of the object pointed by the x pointer is
meaningful.
? The parameter value is meaningful, but the parameter
is optional.
(?) The content of the object pointed by the ? pointer is
optional.
/ The parameter value is meaningless.
= After the call, the parameter keeps the same value as
before the call.
-------------------------------------------------------------
intro(3xti)