X25(7)

NOME
x25, PF_X25 - X.25 ITU-T / interface do protocolo ISO-8208.

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

x25_socket = socket(PF_X25, SOCK_SEQPACKET, 0);

DESCRIÇÃO
Os sockets X25 fornecem uma interface para o protocolo de camada de pacotes X.25. Isto permite que aplicações se comuniquem sobre uma rede pública X.25 como padronizada pela recomendação X.25 da International Telecommunication Union (X.25 modo DTE-DCE). Os sockets também podem ser usados para comunicação sem uma rede X.25 intermediária (X.25 modo DTE-DTE) como descrito na ISO-8208.

Limites de mensagens são preservados - um read(2) de um socket recuperará a mesma quantidade de dados que o write(2) correspondente para o socket do peer. Quando necessário, o kernel cuida da segmentação e remontagem de mensagens longas através do significado do bit M do X.25. Não há limite superior definido para o tamanho da mensagem. Porém, a remontagem de uma mensagem longa pode falhar se houver uma falta temporária de recursos no sistema, ou quando outras limitações (como limites de memória de sockets ou tamanho de buffer) tornam-se efetivos. Se isso ocorrer, a conexão X.25 será resetada.

ENDEREÇOS DE SOCKET
A família de endereços de socket AF_X25 usa o struct sockaddr_x25 para representar endereços de rede, como definido na recomendação X.121 da ITU-T.

    struct sockaddr_x25 {
    	sa_family_t	sx25_family;	/* deve ser AF_X25 */
    	x25_address	sx25_addr;	/* Endereço X.121 */
    };

sx25_addr contém uma matriz de caracteres x25_addr[] a ser interpretada como uma string terminada em caractere nulo. sx25_addr.x25_addr[] consiste de até 15 (não incluindo o 0 terminal) caracteres ASCII formando o endereço X.121. Somente os dígitos decimais de '0' a '9' são permitidos.

OPÇÕES DE SOCKET
As seguintes opções de socket específicas do X.25 podem ser setadas usando-se setsockopt(2) e lidas com getsockopt(2) com o parâmetro de nível setado em SOL_X25.

X25_QBITINCL
    Controla se o bit Q do X.25 (Bit de Dados Qualificados) é acessível pelo usuário. Ele espera um argumento inteiro. Se ele for setado em 0 (padrão), o bit Q nunca é setado para pacotes de saída, e o bit Q dos pacotes de entrada é ignorado. Se for setado em 1, um primeiro byte adicional precederá cada mensagem lida ou escrita no socket. Para dados lidos do socket, o primeiro byte 0 indica que os bits Q dos pacotes de dados de entrada correspondentes não foram setados. Um byte com valor 1 indica que o bit Q dos pacotes de dados de entrada correspondentes foram setados. Se o primeiro byte dos dados escritos no socket é 1, o bit Q dos pacotes de dados de saída correspondentes serão setados. Se o primeiro bit é 0, o bit Q não será setado.

PROBLEMAS
Muitos, pois a implementação do PLP do X.25 é CONFIG_EXPERIMENTAL.

Esta página de manual está incompleta.

Ainda não há nenhum arquivo-cabeçalho de programador dedicado à aplicação; você precisa incluir o arquivo-cabeçalho do kernel <linux/x25.h>. CONFIG_EXPERIMENTAL também pode implicar que versões futuras da interface não serão compatíveis com o binário.

Os eventos N-Reset do X.25 ainda não são propagados para o processo do usuário. Portanto, se ocorreu um erro, os dados podem ser perdidos sem notificação.

VEJA TAMBÉM
socket(7), socket(2).

Jonathan Simon Naylor: “A Re-Análise e Re-Implementação do X.25.” A URL é ftp://ftp.pspt.fi/pub/ham/linux/ax25/x25doc.tgz

VERSÕES
A família de protocolo PF_X25 é uma nova implementação do Linux 2.2.

TRADUZIDO POR LDP-BR em 21/08/2000.
Rubens de Jesus Nogueira <darkseid99@usa.net> (tradução) André L. Fassone Canova <lonelywolf@blv.com.br> (revisão)