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¶
socket(7),
socket(2)
Jonathan Simon Naylor: “Reanálisis y reimplementación de
X.25.” La URL es:
VERSIONES¶
La familia de procotolo PF_X25 es una nueva característica de la
versión 2.2 de Linux.