inet_pton(3)

NOME
inet_pton - cria uma estrutura de endereço de rede

SINÓPSE
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>

int inet_pton(int af, const char *src, void *dst);

DESCRIÇÃO
Esta função converte a seqüencia de caracteres src em uma estrutura de endereço de rede na família de endereço af e então copia a estrutura de endereço de rede para dst.

inet_pton(3) estende a função inet_addr(3) para suportar múltiplas famílias de endereço; inet_addr(3) é agora considerada a ser depreciada em favor de inet_pton(3). As seguintes famílias de endereço são atualmente suportadas:

AF_INET
    src aponta para uma seqüencia de caracteres contendo um endereço de rede IPv4 no formato da quadra pontuada, "ddd.ddd.ddd.ddd". O endereço é convertido para uma struct in_addr e copiado para dst, que deve ter comprimento de sizeof(struct in_addr) bytes.

AF_INET6
    src aponta para uma seqüencia de caracteres contendo um endereço de rede IPv6 em qualquer formato de endereço IPv6 permitido. O endereço é convertido para uma struct in6_addr e copiado para dst, que deve ter comprimento de sizeof(struct in6_addr) bytes.

Certos formatos hexadecimais e octais de legado de endereços AF_INET não são suportados por inet_pton, que os rejeita.

VALORES RETORNADOS
inet_pton retorna um valor negativo e define errno para EAFNOSUPPORT se af não contiver uma família válida de endereço. 0 é retornado se src não contiver uma seqüencia de caracteres representando uma endereço de rede válido na família de endereço especificada. Um valor positivo é retornado se o endereço de rede foi convertido com sucesso.

VEJA TAMBÉM
inet_ntop(3).

PROBLEMAS
AF_INET6 não reconhece endereços IPv4. Um endereço IPv4 explicitamente mapeado para IPv6 deve ser fornecido em src em vez disso.

TRADUZIDO POR LDP-BR em 10/06/2001.

  Tradução:
Marcelo M. de Abreu <mmabreu@terra.com.br>

  Revisão.:
André Luiz Fassone <lonely_wolf@ig.com.br>