SINOPSIS
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
const char *inet_ntop(int af, const void *src,
char *dst, size_t cnt);
DESCRIPCIÓN
Esta función convierte la estructura de dirección de red src en la familia de direcciones af en una cadena de caracteres, que es copiada a un buffer de caracteres dst, el cual tiene cnt bytes de longitud.inet_ntop(3) extiende la función inet_ntoa(3) para soportar múltiples familias de direcciones, inet_ntoa(3) es considerada obsoleta en la actualidad en favor de inet_ntop(3). Las siguientes familias de direcciones de red están actualmente soportadas:
- AF_INET
- src apunta a una estructura in_addr (en orden de bytes de la red) que es convertida a una dirección de red IPv4 en el formato decimal con puntos, "ddd.ddd.ddd.ddd". El buffer dst debe tener al menos INET_ADDRSTRLEN bytes de longitud.
- AF_INET6
- src apunta a una estructura struct in6_addr (en orden de bytes de la red) que es convertida a una representación de esta dirección en el formato de dirección de red IPv6 más apropiado para dicha dirección. El buffer dst debe tener al menos INET6_ADDRSTRLEN bytes de longitud.
VALOR DEVUELTO
inet_ntop devuelve un puntero distinto de null a dst. Se devuelve NULL cuando hubo un error, y se asigna a errno el valor EAFNOSUPPORT si af no contiene una familia de direcciones válida, o el valor ENOSPC si la cadena con la dirección convertida sobrepasa el tamaño de dst dado por el argumento cnt.FALLOS
AF_INET6 convierte direcciones IPv4 traducidas a IPv6 a un formato IPv6.