.\" -*- nroff -*- .\" Não altere a primeira linha, ela diz ao man que tbl é necessário. .\"Esta página man tem Copyright (C) 1999 Andi Kleen . .\" Permissão é dada para a distribuição de possíveis cópias modificadas .\" of this page provided the header is included verbatim, .\" e em caso de modificações não-triviais, o autor e a data .\" da modificação são acrescentados ao cabeçalho. .\" $Id: netdevice.7,v 1.1 2000/10/20 13:05:11 ricardo Exp $ .TH NETDEVICE 7 "2/05/1999" "Página de Manual do Linux" "Manual do Programador Linux" .SH NOME netdevice \- Acesso de baixo nível a dispositivos de rede Linux. .SH SINOPSE .B "#include .B "#include " .SH DESCRIÇÃO Esta man page descreve a interface de sockets que é usada para configurar dispositivos de rede. O Linux suporta alguns ioctls padronizados para configurar dispositivos de rede. Eles podem ser usados em qualquer descritor de arquivos de socket, independente da família ou tipo. Eles passam uma estrutura .B ifreq : .nf .ta 4 20 42 struct ifreq { char ifr_name[IFNAMSIZ]; /* Nome da interface */ union { struct sockaddr ifr_addr; struct sockaddr ifr_dstaddr; struct sockaddr ifr_broadaddr; struct sockaddr ifr_netmask; struct sockaddr ifr_hwaddr; short ifr_flags; int ifr_ifindex; int ifr_metric; int ifr_mtu; struct ifmap ifr_map; char ifr_slave[IFNAMSIZ]; char ifr_newname[IFNAMSIZ]; char * ifr_data; }; } struct ifconf { int ifc_len; /* size of buffer */ union { char * ifc_buf; /* buffer address */ struct ifreq *ifc_req; /* array of structures */ }; }; .ta .fi Normalmente, o usuário especifica qual dispositivo será afetado pela seleção .B ifr_name to the name of the interface. Todos os outros membros da estrutura podem compartilhar memória. .SH IOCTLS Se um ioctl é marcado como privilegiado, então o seu uso requer um id efetivo de usuário, ou a propriedade .B CAP_NET_ADMIN. Se este não é o caso, .B EPERM será retornado. .TP .B SIOCGIFNAME Dado o .BR ifr_ifindex , returna o nome da interface em .BR ifr_name . Este é o único ioctl que retorna seu resultado em .BR ifr_name . .TP .B SIOCGIFINDEX Recupera o índice da interface para .BR ifr_ifindex . .TP .BR SIOCGIFFLAGS ", " SIOCSIFFLAGS Recebe ou seta a palavra de flag ativa do dispositivo. .B ifr_flags contém uma máscara de bits com os seguintes valores: .TS tab(:); c s l l. Sinalizadores do dispositivo IFF_UP:Interface está rodando. IFF_BROADCAST:Conjunto de endereço de broadcast válido. IFF_DEBUG:Flag de debugging interno. IFF_LOOPBACK:Interface é uma interface do tipo loopback. IFF_POINTOPOINT:Interface é um link do tipo ponto-a-ponto. IFF_RUNNING:Recursos alocados. IFF_NOARP:Nenhum protocolo arp. IFF_PROMISC:Interface está em modo promíscuo. IFF_NOTRAILERS:Evita uso de trailers. IFF_ALLMULTI:Recebe todos os pacotes multicast. IFF_MASTER:Mestre de um load balancing bundle. IFF_SLAVE:Escravo de um load balancing bundle. IFF_MULTICAST:Suporta multicast IFF_PORTSEL:É capaz de selecionar tipo de meio via ifmap. IFF_AUTOMEDIA:Auto-seleção ativa de meio. IFF_DYNAMIC:T{ Os endereços são perdidos quando a interface é fechada. T} .TE Ajustar a palavra de flag ativa é uma operação privilegiada, mas qualquer processo pode lê-la. .TP .BR SIOCGIFMETRIC ", " SIOCSIFMETRIC Recebe ou seta a métrica do dispositivo usando .BR ifr_metric . Isto não está implementado atualmente; ele seta .B ifr_metric em 0 se você tenta lê-lo e retorna .B EOPNOTSUPP se você tenta setá-lo. .TP .BR SIOCGIFMTU ", " SIOCSIFMTU Recebe ou seta o MTU (Maximum Transfer Unit - Unidade Máxima de Transferência) de um dispositivo, usando .BR ifr_mtu . Setar o MTU é uma operação privilegiada. Selecionando a MTU para valores baixos pode-se provocar erros no kernel. .TP .BR SIOCGIFHWADDR ", " SIOCSIFHWADDR Recebe ou seta o endereço de hardware de um dispositivo, usando .BR ifr_hwaddr . Setar o endereço de hardware é uma operação privilegiada. .TP .B SIOCSIFHWBROADCAST Seta o endereço de hardware de broadcast de um dispositivo, de .BR ifr_hwaddr . Esta é uma operação privilegiada. .TP .BR SIOCGIFMAP ", " SIOCSIFMAP Recebe ou seta os parâmetros de hardware da interface usando .BR ifr_map . Setar os parâmetros é uma operação privilegiada. .nf .ta 4 20 42 struct ifmap { unsigned long mem_start; unsigned long mem_end; unsigned short base_addr; unsigned char irq; unsigned char dma; unsigned char port; }; .ta .fi A interpretação de uma estrutura ifmap depende do driver de dispositivo e da arquitetura. .TP .BR SIOCADDMULTI ", " SIOCDELMULTI Acrescenta ou apaga um endereço dos filtros de multicast da camada de link do dispositivo, usando .BR ifr_hwaddr . Estas são operações privilegiadas. Veja também .BR packet (7) para uma alternativa. .TP .BR SIOCGIFTXQLEN ", " SIOCSIFTXQLEN Recebe ou seta o comprimento da fila de transmissão de um dispositivo, usando .BR ifr_qlen . Setar o comprimento da fila de transmissão é uma operação privilegiada. .TP .B SIOCSIFNAME Muda o nome da interface especificada em .BR ifr_ifindex para .BR ifr_newname . Esta é uma operação privilegiada. .TP .B SIOCGIFCONF Devolve uma listagem de endereços de interfaces (camada de transporte). Isto, atualmente, significa somente endereços da família AF_INET para compatibilidade. O usuários transmite uma estrutura .B ifconf como argumento para ioctl. Ele contém um ponteiro para uma array de estruturas .I ifreq dentro de .B ifc_req e o seu tamanho em bytes é .B ifc_len. O kernel enche as ifreqs com todos os atuais endereços L3 que estão sendo executados: .I ifr_name contém o nome da interface (eth0:1 etc.), .I ifr_addr é o endereço. O kernel retorno o tamanho atual dentro do .I ifc_len; se ele é igual ao tamanho original o usuário deve assumir que houve estouro e tenta novamente com um buffer maior. Quando não ocorrem erros d ioctl devolve 0; de outro modo -1. Estouro não é erro. \" XXX Slaving isn't supported in 2.2 .\" .TP .\" .BR SIOCGIFSLAVE ", " SIOCSIFSLAVE .\" Get or set the slave device using .\" .BR ifr_slave . .\" Setting the slave device is a privileged operation. .PP .\" XXX acrescenta material para rádioamadores. .PP Muitos protocolos suportam seus próprios ioctls para configurar opções de interface específicas do protocolo. Veja as páginas de manual de protocolos para uma descrição. Para configuração de endereços IP veja .BR ip (7). .PP Além disso, alguns dispositivos suportam ioctls privados. Estes não são descritos aqui. .SH NOTAS Vendo estritamente .B SIOCGIFCONF é específico o IP e faz parte do .BR ip (7). .SH NOTAS Os nomes das interfaces sem endereços ou que não tem um sinalizador .B IFF_RUNNING selecionado pode ser localizado através de .I /proc/net/dev. .SH "VEJA TAMBÉM" .BR ip "(7), " proc "(7)" .SH TRADUZIDO POR LDP-BR em 21/08/2000. \&\fr\&\f(CWRubens de Jesus Nogueira (tradução)\fR \&\fR\&\f(CWAndré L. Fassone Canova (revisão\fR