Provided by: manpages_3.54-1ubuntu1_all bug

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

       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_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 ⟨ftp://ftp.pspt.fi
       /pub/ham/linux/ax25/x25doc.tgz⟩.

COLOPHON

       This page is part of release 3.54 of the Linux man-pages project.  A  description  of  the  project,  and
       information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.