x25(7) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | VERSIONS | BUGS | SEE ALSO | COLOPHON

X25(7)                  Linux Programmer's Manual                 X25(7)

NAME         top

       x25 - ITU-T X.25 / ISO-8208 protocol interface

SYNOPSIS         top

       #include <sys/socket.h>
       #include <linux/x25.h>

       x25_socket = socket(AF_X25, SOCK_SEQPACKET, 0);

DESCRIPTION         top

       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 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 reassembling long messages by means of the
       X.25 M-bit.  There is no hard-coded upper limit for the message
       size.  However, reassembling 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 null byte) 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 argument
       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         top

       The AF_X25 protocol family is a new feature of Linux 2.2.

BUGS         top

       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         top

       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         top

       This page is part of release 5.10 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)

Pages that refer to this page: bind(2)socket(2)address_families(7)