1. NOM

x25 - Interface du protocole ITU-T X.25 / ISO-8208

2. SYNOPSIS

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

x25_socket = socket(AF_X25, SOCK_SEQPACKET, 0);

3. DESCRIPTION

Les sockets X25 fournissent une interface pour le protocole par paquets X.25. Elles permettent aux applications de communiquer sur un réseau X.25 public normalisé par la recommandation de l'International Telecommunication Union (X.25 mode DTE-DCE). Les sockets X25 peuvent aussi servir à communiquer sans réseau intermédiaire X.25 (X.25 mode DTE-DTE) décrit par ISO-8208.

Les frontières de message sont préservées un read(2) sur la socket retrouvera le même bloc de donnée que celui du write(2) sur la socket correspondante. Si nécessaire, le noyau prend soin de segmenter et réassembler les messages longs par le biais du bit M de X.25. Il n'y a pas de limite maximale pour la taille du message, toutefois le réassemblage d'un long message peut échouer si on manque temporairement de ressource système ou si d'autres contraintes (taille mémoire, limite de tampon) entre en jeu. Si cela se produit, la connexion X.25 sera réinitialisée.

3.1. Adresses de socket

L'adresse d'une socket de la famille AF_X25 utilise une struct sockaddr_x25 pour représenter les adresses réseau définies par la recommandation X.121 de l'ITU-T.

 
Sélectionnez
struct sockaddr_x25 {
    sa_family_t	sx25_family;   /* doit être AF_X25 */
    x25_address	sx25_addr;     /* adresse X.121    */
};

sx25_addr contient une table de caractères x25_addr[] à interpréter comme une chaîne terminée par un caractère nul. sx25_addr.x25_addr[] contient jusqu'à 15 caractères ASCII (sans compter l'octet NULL final) formant l'adresse X.121. Seuls les chiffres décimaux de 0 à 9 sont autorisés.

3.2. Options de sockets

Les options suivantes spécifiques aux sockets X.25 peuvent être définies avec setsockopt(2) et lues avec getsockopt(2) en utilisant un paramètre level valant SOL_X25.

  • X25_QBITINCL
        Contrôle si le bit Q X.25 (Qualified Data Bit) est accessible par l'utilisateur. Il attend un argument entier. S'il est nul (par défaut), le bit Q n'est jamais mis pour les paquets sortants et le bit Q des paquets entrants est ignoré. S'il vaut 1, un premier octet supplémentaire est accolé à chaque message lus ou écrits sur la socket. Pour les données lues depuis la socket, un premier octet nul indique que le bit Q des données correspondantes n'était pas actif. Un premier octet avec une valeur 1 indique que le bit Q était validé. Si le premier octet des donnés écrites sur la socket est 1, le bit Q sera activé ; si le premier octet est 0, le bit Q sera inhibé.

4. VERSIONS

La famille de protocole AF_X25 est une nouveauté avec Linux 2.2.

5. BOGUES

Beaucoup, l'implémentation X.25 PLP est considérée comme CONFIG_EXPERIMENTAL.

Cette page de manuel est incomplète.

Il n'y a pas encore de fichier d'en-tête dédié pour les applications, il faut inclure l'en-tête du noyau <linux/x25.h>. CONFIG_EXPERIMENTAL implique aussi que les versions à venir seront peut-être incompatibles au niveau binaire.

Les événements N-Reset X.25 ne sont pas encore propagés au processus utilisateur. Ainsi, si une réinitialisation se produit, des données peuvent être perdues sans avertissement.

6. VOIR AUSSI

socket(2), socket(7)

Jonathan Simon Naylor: « The Re-Analysis and Re-Implementation of X.25. » L'URL est ftp://ftp.pspt.fi/pub/ham/linux/ax25/x25doc.tgz

7. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

8. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».