ddp(7) Miscellaneous Information Manual ddp(7) NOME ddp - Implementacao do protocolo Linux AppleTalk SINOPSE #include #include ddp_socket = socket(AF_APPLETALK, SOCK_DGRAM, 0); raw_socket = socket(AF_APPLETALK, SOCK_RAW, protocolo); DESCRICAO Linux implementa os protocolos AppleTalk descritos em Inside AppleTalk. Somente a camada DDP e o AARP estao presentes no kernel. Eles sao projetados para serem usados nas bibliotecas do protocolo netatalk. Esta pagina documenta a interface para aqueles que desejam ou precisam usar a camada DDP diretamente. A comunicacao entre AppleTalk e o programa do usuario funciona usando uma interface de 'socket' compativel com BSD. Para mais informacoes sobre 'sockets', veja socket(7). Um 'socket' AppleTalk e criado chamando-se a funcao socket(2) com um argumento AF_APPLETALK da familia de 'socket'. Tipos de 'sockets' validos sao SOCK_DGRAM para abrir um 'socket' ddp ou SOCK_RAW para abrir um 'socket' direto. protocol e um protocolo AppleTalk para ser recebido ou enviado. Para SOCK_RAW Voce deve especificar ATPROTO_DDP. Os 'sockets' diretos so podem ser abertos por um processo com um ID efetivo de usuario igual a 0, ou quando o processo tem a propriedade CAP_NET_RAW. Formato de endereco Um endereco de 'socket' AppleTalk e definido como uma combinacao de um numero de rede, um numero de no e um numero 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 e sempre definido para AF_APPLETALK. sat_port contem a porta. Os numeros de porta abaixo de 129 sao conhecidos como portas reservadas. Apenas os processos com ID efetivo de usuario igual a 0, ou com a capacidade CAP_NET_BIND_SERVICE podem realizar bind(2) com esses 'sockets'. sat_addr e o endereco do host. O membro net de struct at_addr contem a rede do host, em ordem de byte da rede. O valor de AT_ANYNET e um curinga, e tambem significa "esta rede". O membro node de struct at_addr contem o numero do no do host. O valor de AT_ANYNODE e um curinga, e tambem significa "este no". O valor de ATADDR_BCAST e um endereco local de 'broadcast' do enlace. Opcoes de socket Nenhuma opcao de 'socket' especifica de protocolo e suportada. Interfaces /proc O IP suporta um conjunto de interfaces /proc para configurar alguns parametros globais do AppleTalk. Os parametros podem ser acessados lendo ou gravando arquivos no diretorio /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 numero de retransmissoes de uma pesquisa AARP antes que o no seja declarado morto. aarp-tick-time A taxa do temporizador (em segundos) para o temporizador que controla o AARP. Os valores padrao casam com a especificacao e nunca deveriam ser alterados. Ioctls Todos os ioctls descritos em socket(7) aplicam-se ao DDP. ERROS EACCES O usuario tentou executar uma operacao sem as permissoes necessarias. Isso inclui envios a um endereco de broadcast sem ter a flag de broadcast setada, e tentativas de executar um bind em uma porta reservada sem um ID efetivo de usuario igual a 0 ou CAP_NET_BIND_SERVICE. EADDRINUSE Tentativa de fazer uma ligacao a um endereco ja em uso. EADDRNOTAVAIL Uma interface nao existente foi requerida, ou o endereco de origem requerido nao era local. EAGAIN Uma operacao sobre um socket nao bloqueante causaria bloqueio. EALREADY Uma operacao de conexao sobre um socket nao bloqueante ja esta em progresso. ECONNABORTED Uma conexao foi fechada durante um accept(2). EHOSTUNREACH Nenhuma entrada da tabela de roteamento encontrou o endereco de destino. EINVAL Foi passado um argumento invalido. EISCONN connect(2) foi chamado em um 'socket' ja conectado. EMSGSIZE O datagrama e maior que o MTU DDP. ENODEV O dispositivo de rede nao esta disponivel, ou nao e capaz de enviar IP. ENOENT SIOCGSTAMP foi chamado em um 'socket' onde nenhum pacote chegou. ENOMEM ENOBUFS Nao ha memoria disponivel. ENOPKG Um subsistema do kernel nao foi configurado. ENOPROTOOPT EOPNOTSUPP Uma opcao de 'socket' invalida foi passada. ENOTCONN A operacao so e definida em 'sockets' conectados 'socket', mas o 'socket' nao e conectado. EPERM Usuario nao tem permissao de setar alta prioridade, fazer uma mudanca de configuracao, ou enviar sinais para um processo ou grupo requerido. EPIPE A conexao foi fechada ou derrubada inesperadamente pela outra extremidade. ESOCKTNOSUPPORT O 'socket' foi desconfigurado, ou um tipo de 'socket' desconhecido foi requerido. VERSOES Appletalk e suportado pelo Linux versao 2.0 ou superior. As interfaces proc existem desde o Linux 2.2. NOTAS Seja muito cuidadoso com a opcao SO_BROADCAST; ela nao e privilegiada em Linux. E facil sobrecarregar a rede com transmissoes descuidadas para enderecos de 'broadcast'. Compatibilidade A interface basica do 'socket' AppleTalk e compativel 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 e unico em Linux e existe para suportar o pacote alternativo CAP e as ferramentas de monitoramento AppleTalk mais facilmente. BUGS Ha muitos valores de erro inconsistentes. Os ioctls usados para configurar tabelas de roteamento, dispositivos, tabelas AARP e outros dispositivos ainda nao foram descritos. VEJA TAMBEM recvmsg(2), sendmsg(2), capabilities(7), socket(7) TRADUCAO A traducao para portugues brasileiro desta pagina man foi criada por Rubens de Jesus Nogueira , Andre Luiz Fassone e Rafael Fontenelle . Esta traducao e uma documentacao livre; leia a Licenca Publica Geral GNU Versao 3 ou posterior para as condicoes de direitos autorais. Nenhuma responsabilidade e aceita. Se voce encontrar algum erro na traducao desta pagina de manual, envie um e-mail para a lista de discussao de tradutores . Linux man-pages 6.12 28 junho 2024 ddp(7)