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)