x25(7)



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)

Man(1) output converted with man2html
list of all man pages