| ddp(7) | Miscellaneous Information Manual | ddp(7) |
ddp - Implementação do protocolo Linux AppleTalk
#include <sys/socket.h> #include <netatalk/at.h>
ddp_socket = socket(AF_APPLETALK, SOCK_DGRAM, 0); raw_socket = socket(AF_APPLETALK, SOCK_RAW, protocolo);
Linux implementa os protocolos AppleTalk descritos em Inside AppleTalk. Somente a camada DDP e o AARP estão presentes no kernel. Eles são projetados para serem usados nas bibliotecas do protocolo netatalk. Esta página documenta a interface para aqueles que desejam ou precisam usar a camada DDP diretamente.
A comunicação entre AppleTalk e o programa do usuário funciona usando uma interface de 'socket' compatível com BSD. Para mais informações sobre 'sockets', veja socket(7).
Um 'socket' AppleTalk é criado chamando-se a função socket(2) com um argumento AF_APPLETALK da família de 'socket'. Tipos de 'sockets' válidos são SOCK_DGRAM para abrir um 'socket' ddp ou SOCK_RAW para abrir um 'socket' direto. protocol é um protocolo AppleTalk para ser recebido ou enviado. Para SOCK_RAW Você deve especificar ATPROTO_DDP.
Os 'sockets' diretos só podem ser abertos por um processo com um ID efetivo de usuário igual a 0, ou quando o processo tem a propriedade CAP_NET_RAW.
Um endereço de 'socket' AppleTalk é definido como uma combinação de um número de rede, um número de nó e um número de porta.
struct at_addr {
unsigned short s_net;
unsigned char s_node;
};
struct sockaddr_atalk {
sa_family_t sat_family; /* address family */
unsigned char sat_port; /* port */
struct at_addr sat_addr; /* net/node */
};
sat_family é sempre definido para AF_APPLETALK. sat_port contém a porta. Os números de porta abaixo de 129 são conhecidos como portas reservadas. Apenas os processos com ID efetivo de usuário igual a 0, ou com a capacidade CAP_NET_BIND_SERVICE podem realizar bind(2) com esses 'sockets'. sat_addr é o endereço do host. O membro net de struct at_addr contém a rede do host, em ordem de byte da rede. O valor de AT_ANYNET é um curinga, e também significa “esta rede”. O membro node de struct at_addr contém o número do nó do host. O valor de AT_ANYNODE é um curinga, e também significa “este nó”. O valor de ATADDR_BCAST é um endereço local de 'broadcast' do enlace.
Nenhuma opção de 'socket' específica de protocolo é suportada.
O IP suporta um conjunto de interfaces /proc para configurar alguns parâmetros globais do AppleTalk. Os parâmetros podem ser acessados lendo ou gravando arquivos no diretório /proc/sys/net/atalk/.
Os valores padrão casam com a especificação e nunca deveriam ser alterados.
Todos os ioctls descritos em socket(7) aplicam-se ao DDP.
Appletalk é suportado pelo Linux versão 2.0 ou superior. As interfaces proc existem desde o Linux 2.2.
Seja muito cuidadoso com a opção SO_BROADCAST; ela não é privilegiada em Linux. É fácil sobrecarregar a rede com transmissões descuidadas para endereços de 'broadcast'.
A interface básica do 'socket' AppleTalk é compatível com netatalk em sistemas derivados do BSD. Muitos sistemas BSD falham na checagem de SO_BROADCAST quando enviam quadros de broadcast; isto pode levar a problemas de compatibilidade.
O modo de 'socket' direto é único em Linux e existe para suportar o pacote alternativo CAP e as ferramentas de monitoramento AppleTalk mais facilmente.
Há muitos valores de erro inconsistentes.
Os ioctls usados para configurar tabelas de roteamento, dispositivos, tabelas AARP e outros dispositivos ainda não foram descritos.
A tradução para português brasileiro desta página man foi criada por Rubens de Jesus Nogueira <darkseid99@usa.net>, André Luiz Fassone <lonely_wolf@ig.com.br> e Rafael Fontenelle <rafaelff@gnome.org>.
Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.
Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores.
| 2 maio 2024 | Linux man-pages 6.9.1 |