X25(7) Linux Programmer's Manual X25(7)
NAME
x25 - ITU-T X.25 / ISO-8208 protocol interface
SYNOPSIS
#include <sys/socket.h>
#include <linux/x25.h>
x25_socket = socket(AF_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 standardized by International Telecommunication Union's recommenda-
tion X.25 (X.25 DTE-DCE mode). X25 sockets can also be used for commu-
nication 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 re-
trieve the same chunk of data as output with the corresponding write(2)
to the peer socket. When necessary, the kernel takes care of segment-
ing and reassembling long messages by means of the X.25 M-bit. There
is no hard-coded upper limit for the message size. However, reassem-
bling of a long message might fail if there is a temporary lack of sys-
tem resources or when other constraints (such as socket memory or buf-
fer 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 rep-
resenting 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 null byte) ASCII characters forming the X.121
address. Only the decimal digit characters from '0' to '9' are al-
lowed.
Socket options
The following X.25-specific socket options can be set by using setsock-
opt(2) and read with getsockopt(2) with the level argument set to
SOL_X25.
X25_QBITINCL
Controls whether the X.25 Q-bit (Qualified Data Bit) is accessi-
ble 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 addi-
tional 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 AF_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_EXPERI-
MENTAL 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 <ftp://ftp.pspt.fi/pub/ham/linux/ax25/x25doc.tgz>.
COLOPHON
This page is part of release 5.07 of the Linux man-pages project. A
description of the project, information about reporting bugs, and the
latest version of this page, can be found at
https://www.kernel.org/doc/man-pages/.
Linux 2017-09-15 X25(7)