Manual page for TCPTLI(4P)
tcptli - TLI-Conforming TCP Stream-Head
tfd = t_open("/dev/tcp", O_RDWR, tinfo);
struct t_info *tinfo;
provides access to TCP service via the Transport Library
Interface (TLI). Prior to this release, TCP access was only
possible via the socket programming interface. Programmers
have the choice of using either the socket or TLI programming
interface for their application.
is implemented in STREAMS conforming to the Transport
Provider Interface (TPI) specification as
a TCP Transport Provider to a TLI
application. It utilizes the existing underlying
socket and TCP support in the SunOS kernel to communicate
over the network.
It is also a clone driver, see
for more characteristics pertaining to a clone STREAMS driver.
The notion of an address is the same as the socket address
(struct sockaddr_in) defined in <netinet/in.h>.
maintains transport state information for
each outstanding connection
and the current state of the provider
may be retrieved via the
for a list of possible states.
A server usually starts up with the
call followed by
to bind an address that it
listens for incoming connection. It may call
to retrieve an indication of a connect
request from another transport user, and then calls
if it is willing to provide its service. TLI allows
a server to accept connection on the same file descriptor
it is listening on, or a different file descriptor (as
in the sense of socket's
A client usually calls
and followed by
a call to
Then it calls
to the address of a server advertized for providing
service. Once the connection is established, it may
to receive and send data.
is used to terminate the
An TLI operation may fail if one of the
following error conditions is encountered. They
are returned by the TLI user level library.
Incorrect/invalid address format supplied by the user.
Illegal transport file descriptor.
Could not allocate address
The transport is in an incorrect state.
Incorrect sequence number.
A system error, i.e. below the transport level (see list below) is encountered.
An event requires attention.
Illegal amount of data
Buffer not large enough.
Flow control problem.
No discon_ind is found on the queue.
Unit data not found.
No orderly release request found on queue.
Protocol/primitive is not supported.
State is in the process of changing.
The following errors are returned by TCPTLI. However
they may be translated to the above TLI errors
by the user level library (
Invalid device or address, out of range.
Request device is busy or not ready.
Not enough memory for transmitting data, non fatal.
The operation encountered an underlying protocol.
The operation would block as normally the file descriptors
are set with non-blocking flag.
The system ran out of memory for internal (network) data structures.
Only TCP (i.e. connection oriented) protocol is supported, no
UDP. The maximum network connection is 32 by default. A
new kernel has to be configured if an increase of such limit
is desired: by changing the entry
in the kernel config file to
Created by unroff & hp-tools.
© by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 21/April/97