X25(7)                    (2017-09-15)                     X25(7)

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

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

          x25_socket = socket(AF_X25, SOCK_SEQPACKET, 0);

          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 with-
          out 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 cor-
          responding write(2) to the peer socket.  When necessary, the
          kernel takes care of segmenting and reassembling long mes-
          sages 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 aq0aq to aq9aq 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.

     Page 1                        Linux             (printed 5/22/22)

     X25(7)                    (2017-09-15)                     X25(7)

               Controls whether the X.25 Q-bit (Qualified Data Bit) is
               accessible by the user.  It expects an integer argu-
               ment.  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 corre-
               sponding outgoing data packets will be set.  If the
               first byte is 0, the Q-bit will not be set.

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

          Plenty, as the X.25 PLP implementation is

          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

          socket(2), socket(7)

          Jonathan Simon Naylor: lqThe Re-Analysis and Re-
          Implementation of X.25.rq The URL is

          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/.

     Page 2                        Linux             (printed 5/22/22)