INET(3)

NOM
inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_lnaof, inet_netof - Routines de manipulation d'adresses Internet

SYNOPSIS
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int inet_aton (const char *cp, struct in_addr *inp);

in_addr_t inet_addr (const char * cp);

in_addr_t inet_network (const char * cp);

char * inet_ntoa (struct in_addr in);

struct in_addr inet_makeaddr (int net, int host);

in_addr_t inet_lnaof (struct in_addr in);

in_addr_t inet_netof (struct in_addr in);

Exigences de macros de test de fonctionalités pour la glibc (voir feature_test_macros(7)) :

inet_aton(), inet_ntoa() : _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION
inet_aton() convertit l'adresse Internet de l'hôte cp depuis la notation standard avec nombres et points en une donnée binaire, et la stocke dans la structure pointée par inp. inet_aton() renvoie une valeur non nulle si l'adresse est valide, et zéro sinon.

La fonction inet_addr() convertit l'adresse Internet de l'hôte cp depuis la notation standard avec nombres et points en une donnée binaire dans l'ordre des octets du réseau. Si l'adresse est invalide, INADDR_NONE (généralement -1) est renvoyé. Ceci est une interface obsolète pour la fonction inet_aton(), décrite ci-dessus, car -1 est une adresse valide (255.255.255.255), et inet_aton() utilise un renvoi d'erreur plus propre.

La fonction inet_network() extrait la partie réseau de l'adresse cp fournie dans la notation avec nombres et points, et renvoie cette valeur dans l'ordre des octets de l'hôte. Si l'adresse est invalide, -1 est renvoyé.

La fonction inet_ntoa() convertit l'adresse Internet de l'hôte in donne dans l'ordre des octets du réseau en une chaîne de caractères dans la notation avec nombres et points. La chaîne est renvoyée dans un tampon alloué statiquement, qui est donc écrasé à chaque appel.

La fonction inet_makeaddr() crée une adresse d'hôte Internet dans l'ordre des octets du réseau, en combinant le numéro du réseau net et l'adresse locale host, chacun d'eux étant donné dans l'ordre des octets de l'hôte.

La fonction inet_lnaof() renvoie la partie adresse locale extraite d'une adresse Internet in. L'adresse locale est renvoyée dans l'ordre des octets de l'hôte.

La fonction inet_netof() renvoie la partie adresse réseau extraite d'une adresse Internet in. Le numéro de réseau est renvoyé dans l'ordre des octets de l'hôte.

La structure in_addr utilisée dans inet_ntoa(), inet_makeaddr(), inet_lnaof() et inet_netof() est définie ainsi dans <netinet/in.h> :

    typedef uint32_t in_addr_t;
    struct in_addr {
        in_addr_t s_addr;
    }

Notez que l'ordre des octets des i80x86 est LSB (poids faible en premier ou petit boutiste), alors que l'ordre des octets sur l'Internet est MSB (poids fort en premier ou gros boutiste).

CONFORMITÉ
BSD 4.3. inet_addr(), inet_aton() et inet_ntoa() sont specifiées dans POSIX.1-2001.

NOTES
Lorsque vous utilisez la notation numérique pour les adresses, ayez conscience que chaque nombre sera interprété en octal s'il est précédé par un 0 et en hexadécimal s'il est précédé par 0x. Par exemple, inet_aton("226.000.000.037", &t) interprétera l'adresse comme 226.0.0.31 et non 226.0.0.37.

VOIR AUSSI
gethostbyname(3), getnetent(3), inet_ntop(3), inet_pton(3), hosts(5), networks(5)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 4 novembre 1996 et révisée le 19 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 inet ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.