Name
x25, PF_X25 — ITU-T X.25 / ISO-8208 protocol
interface.
Synopsis
x25_socket = socket( |
|
PF_X25, |
| |
|
SOCK_SEQPACKET, |
| |
|
0); |
DESCRIPTION
X25 sockets provide an interface to the X.25 packet layer
protocol. This allows applications to communicate over a
public X.25 data network as standardised by International
Telecommunication Union's recommendation X.25 (X.25 DTE-DCE
mode). X25 sockets can also be used for communication without
an intermediate X.25 network (X.25 DTE-DTE mode) as described
in ISO-8208.
Message boundaries are preserved — a read(2) from a socket will
retrieve the same chunk of data as output with the
corresponding write(2) to the peer
socket. When necessary, the kernel takes care of segmenting
and re-assembling long messages by means of the X.25 M-bit.
There is no hard-coded upper limit for the message size.
However, re-assembling of a long message might fail if there
is a temporary lack of system resources or when other
constraints (such as socket memory or buffer size limits)
become effective. If that occurs, the X.25 connection will be
reset.
Socket Addresses
The AF_X25 socket address
family uses the struct
sockaddr_x25 for representing network addresses
as defined in ITU-T recommendation X.121.
| struct |
sockaddr_x25 { |
|
|
sa_family_t |
|
sx25_family; |
/* must be AF_X25 */ |
|
|
x25_address |
|
sx25_addr; |
/* X.121 Address */ |
| }; |
sx25_addr
contains a char array x25_addr[] to be
interpreted as a null-terminated string. sx25_addr.x25_addr[]
consists of up to 15 (not counting the terminating 0) ASCII
characters forming the X.121 address. Only the decimal
digit characters from `0' to `9' are allowed.
Socket Options
The following X.25 specific socket options can be set by
using setsockopt(2) and read
with getsockopt(2) with the
level parameter set to SOL_X25.
X25_QBITINCL
-
Controls whether the X.25 Q-bit (Qualified Data
Bit) is accessible by the user. It expects an integer
argument. If set to 0 (default), the Q-bit is never
set for outgoing packets and the Q-bit of incoming
packets is ignored. If set to 1, an additional first
byte is prepended to each message read from or
written to the socket. For data read from the socket,
a 0 first byte indicates that the Q-bits of the
corresponding incoming data packets were not set. A
first byte with value 1 indicates that the Q-bit of
the corresponding incoming data packets was set. If
the first byte of the data written to the socket is 1
the Q-bit of the corresponding outgoing data packets
will be set. If the first byte is 0 the Q-bit will
not be set.
VERSIONS
The PF_X25 protocol family is a new feature of Linux
2.2.
BUGS
Plenty, as the X.25 PLP implementation is CONFIG_EXPERIMENTAL.
This man page is incomplete.
There is no dedicated application programmer's header file
yet; you need to include the kernel header file <linux/x25.h>.
CONFIG_EXPERIMENTAL might also
imply that future versions of the interface are not binary
compatible.
X.25 N-Reset events are not propagated to the user process
yet. Thus, if a reset occurred, data might be lost without
notice.
SEE ALSO
socket(2), socket(7)
Jonathan Simon Naylor: “The
Re-Analysis and Re-Implementation of X.25”. The
URL is
This man page is Copyright (C) 1998 Heiner Eisen.
Permission is granted to distribute possibly modified copies
of this page provided the header is included verbatim,
and in case of nontrivial modification author and date
of the modification is added to the header.
$Id: x25.7,v 1.4 1999/05/18 10:35:12 freitag Exp $
|