Provided by: manpages-pt-br_4.27.0-1_all bug

NOME

       ddp - Implementação do protocolo Linux AppleTalk

SINOPSE

       #include <sys/socket.h>
       #include <netatalk/at.h>

       ddp_socket = socket(AF_APPLETALK, SOCK_DGRAM, 0);
       raw_socket = socket(AF_APPLETALK, SOCK_RAW, protocolo);

DESCRIÇÃO

       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.

   Formato de endereço
       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.

   Opções de socket
       Nenhuma opção de 'socket' específica de protocolo é suportada.

   Interfaces /proc
       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/.

       aarp-expiry-time
              O intervalo de tempo (em segundos) antes de uma entrada de cache AARP expirar.

       aarp-resolve-time
              O intervalo de tempo (em segundos) antes de uma entrada de cache AARP ser resolvida.

       aarp-retransmit-limit
              O número de retransmissões de uma pesquisa AARP antes que o nó seja declarado morto.

       aarp-tick-time
              A taxa do temporizador (em segundos) para o temporizador que controla o AARP.

       Os valores padrão casam com a especificação e nunca deveriam ser alterados.

   Ioctls
       Todos os ioctls descritos em socket(7) aplicam-se ao DDP.

ERROS

       EACCES O  usuário  tentou  executar  uma  operação sem as permissões necessárias. Isso inclui envios a um
              endereço de broadcast sem ter a flag de broadcast setada, e tentativas de executar um bind em  uma
              porta reservada sem um ID efetivo de usuário igual a 0 ou CAP_NET_BIND_SERVICE.

       EADDRINUSE
              Tentativa de fazer uma ligação a um endereço já em uso.

       EADDRNOTAVAIL
              Uma interface não existente foi requerida, ou o endereço de origem requerido não era local.

       EAGAIN Uma operação sobre um socket não bloqueante causaria bloqueio.

       EALREADY
              Uma operação de conexão sobre um socket não bloqueante já está em progresso.

       ECONNABORTED
              Uma conexão foi fechada durante um accept(2).

       EHOSTUNREACH
              Nenhuma entrada da tabela de roteamento encontrou o endereço de destino.

       EINVAL Foi passado um argumento inválido.

       EISCONN
              connect(2) foi chamado em um 'socket' já conectado.

       EMSGSIZE
              O datagrama é maior que o MTU DDP.

       ENODEV O dispositivo de rede não está disponível, ou não é capaz de enviar IP.

       ENOENT SIOCGSTAMP foi chamado em um 'socket' onde nenhum pacote chegou.

       ENOMEM e ENOBUFS
              Não há memória disponível.

       ENOPKG Um subsistema do kernel não foi configurado.

       ENOPROTOOPT e EOPNOTSUPP
              Uma opção de 'socket' inválida foi passada.

       ENOTCONN
              A operação só é definida em 'sockets' conectados 'socket', mas o 'socket' não é conectado.

       EPERM  Usuário  não  tem permissão de setar alta prioridade, fazer uma mudança de configuração, ou enviar
              sinais para um processo ou grupo requerido.

       EPIPE  A conexão foi fechada ou derrubada inesperadamente pela outra extremidade.

       ESOCKTNOSUPPORT
              O 'socket' foi desconfigurado, ou um tipo de 'socket' desconhecido foi requerido.

VERSÕES

       Appletalk é suportado pelo Linux versão 2.0 ou superior. As interfaces proc existem desde o Linux 2.2.

NOTAS

       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'.

   Compatibilidade
       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.

BUGS

       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.

VEJA TAMBÉM

       recvmsg(2), sendmsg(2), capabilities(7), socket(7)

TRADUÇÃO

       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.

Linux man-pages 6.9.1                              2 maio 2024                                            ddp(7)