NOMBRE
x25, PF_X25 − interfaz del protocolo ITU-T X.25 / ISO-8208.
SINOPSIS
#include
<sys/socket.h>
#include <linux/x25.h>
x25_socket = socket(PF_X25, SOCK_SEQPACKET, 0);
DESCRIPCIÓN
Los conectores (sockets) X25 proporcionan una interfaz al protocolo de la capa de paquetes X.25. Éstos permiten a las aplicaciones comunicarse a través de una red pública de datos X.25 según establece la recomendación X.25 de la International Telecommunication Union (X.25 modo DTE-DCE). Los conectores X25 también se pueden usar para comunicarse sin una red X.25 intermedia (X.25 modo DTE-DTE) como se describe en ISO-8208.
Se conservan los límites de los mensajes (una operación read(2) de un conector recuperará la misma cantidad de datos que la salida producida con la correspondiente operación write(2) en el conector asociado del otro extremo). Cuando es necesario, el núcleo se preocupa de segmentar y reensamblar los mensajes largos mediante el bit M de X.25. No existe un límite superior fijo para el tamaño de mensaje. Sin embargo, el reensamblaje de un mensaje largo puede fallar si se produce una escasez temporal de recursos del sistema o cuando se ponen de manifiesto otras limitaciones (como la memoria de los conectores o los límites de los tamaños de los buffers). En tal caso, se reiniciará la conexión X.25.
DIRECCIONES DE LOS CONECTORES
La familia de direcciones de los conectores AF_X25 usa la estructura struct sockaddr_x25 para representar las direcciones de red tal y como se definen en la recomendación X.121 del ITU-T.
struct sockaddr_x25 {
sa_family_t |
sx25_family; | ||
/* debe ser AF_X25 */ | |||
x25_address |
sx25_addr; | ||
/* Dirección X.121 */ |
};
sx25_addr contiene un array de caracteres, x25_addr[], que se interpreta como una cadena terminada en un carácter nulo. sx25_addr.x25_addr[] consiste de hasta 15 caracteres ASCII (sin contar el 0 del final) que forman la dirección X.121. Sólo se permiten los caracteres del ’0’ al ’9’.
OPCIONES DE LOS CONECTORES
Las siguientes
opciones específicas de los conectores X.25 se pueden
configurar usando setsockopt(2) y se pueden leer con
getsockopt(2), asignándole al parámetro
de nivel el valor SOL_X25.
X25_QBITINCL
Controla si el usuario puede acceder al bit Q de X.25 (Qualified Data Bit, bit de datos acreditados). Se espera un argumento entero. Si es 0 (valor por defecto), nunca se activa el bit Q para los paquetes de salida y se ignora el bit Q de los paquetes de entrada. Si es 1, se añade un primer byte adicional a cada mensaje leído de o escrito en el conector. Para los datos leídos del conector, un primer byte 0 indica que no estaba activo el bit Q de los paquetes de datos de entrada correspondientes. Un primer byte con valor 1 indica que estaba activo el bit Q de los paquetes de datos de entrada correspondientes. Si el primer byte de los datos escritos en el conector es 1, se activa el bit Q de los paquetes de datos de salida correspondientes. Si el primer byte es 0, no se activará el bit Q.
FALLOS
Bastantes, ya que la implementación X.25 PLP es CONFIG_EXPERIMENTAL.
Esta página de manual está incompleta.
Todavía no existe un fichero cabecera específico para el programador de aplicaciones. Necesita incluir el fichero cabecera <linux/x25.h> del núcleo. CONFIG_EXPERIMENTAL también implica que la versiones futuras de la interfaz podrían no ser compatibles a nivel binario.
Los eventos N-Reset de X.25 todavía no se propagan al proceso de usuario. Por eso, si se produce un reinicio, se podrían perder datos sin darse cuenta.
VÉASE TAMBIÉN
Jonathan Simon Naylor: “Reanálisis y reimplementación de X.25.” La URL es:
ftp://ftp.pspt.fi/pub/ham/linux/ax25/x25doc.tgz
VERSIONES
La familia de procotolo PF_X25 es una nueva característica de la versión 2.2 de Linux.