Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       getipnodebyname, getipnodebyaddr, freehostent - Obtenir les adresses réseau et noms d'hôte

SYNOPSIS

       #include <sys/types.h>
       #include <sys/socket.h>
       #include <netdb.h>

       struct hostent *getipnodebyname(const char *name, int af,
                                       int flags, int *error_num);

       struct hostent *getipnodebyaddr(const void *addr, size_t len,
                                       int af, int *error_num);

       void freehostent(struct hostent *ip);

DESCRIPTION

       Ces  fonctions  sont  déconseillées  (et  ne sont pas disponibles dans la glibc). Utilisez
       getaddrinfo(3) et getnameinfo(3) à la place.

       Les fonctions getipnodebyname() et getipnodebyaddr() renvoient le nom et l'adresse  réseau
       d'un hôte. Ces fonctions renvoient un pointeur sur une structure définie comme suit :

           struct hostent {
               char  *h_name;
               char **h_aliases;
               int    h_addrtype;
               int    h_length;
               char **h_addr_list;
           };

       Ces  fonctions  remplacent  les  fonctions  gethostbyname(3)  et  gethostbyaddr(3)  qui ne
       pouvaient  qu'accéder  aux  adresses  réseau   de   la   famille   IPv4.   Les   fonctions
       getipnodebyname()   et   getipnodebyaddr()  peuvent  fonctionner  avec  diverses  familles
       d'adresses réseau.

       Contrairement aux fonctions du type gethostby, ces routines renvoient  des  pointeurs  sur
       des  zones de mémoires allouées dynamiquement. La fonction freehostent() sert à libérer la
       zone de mémoire allouée dynamiquement une fois que les informations se  trouvant  dans  la
       structure hostent ne sont plus nécessaires.

   Paramètres de getipnodebyname()
       La  fonction  getipnodebyname()  recherche  l'adresse  réseau  de  l'hôte indiqué dans son
       argument name. Le paramètre af prend l'une des valeurs suivantes :

       AF_INET
              Le paramètre name représente une adresse décimale pointée IPv4, ou le nom d'un hôte
              sur un réseau IPv4.

       AF_INET6
              Le paramètre name représente une adresse hexadécimale IPv6, ou le nom d'un hôte sur
              un réseau IPv6.

       Le paramètre flags indique des options supplémentaires.  Plusieurs  options  peuvent  être
       indiquées  en  les  groupant  avec un OU binaire. flags doit être mis à 0 si aucune option
       n'est souhaitée.

       AI_V4MAPPED
              Cet attribut est utilisé avec AF_INET6 pour demander de rechercher une adresse IPv4
              plutôt  qu'une  IPv6.  L'adresse  IPv4  devra toutefois être projetée dans l'espace
              IPv6.

       AI_ALL Cet attribut est utilisé avec AI_V4MAPPED pour demander  une  recherche  simultanée
              d'adresses  IPv4  et  IPv6.  Toute adresse IPv4 trouvée sera projetée dans l'espace
              IPv6.

       AI_ADDRCONFIG
              Cet attribut est utilisé avec AF_INET6 pour indiquer que les  requêtes  ultérieures
              d'adresses IPv6 n'auront pas lieu à moins que le système n'ait au moins une adresse
              IPv6 affectée à une interface réseau. Symétriquement, les requêtes d'adresses  IPv4
              n'auront  lieu que si le système dispose au moins d'une adresse IPv4 affectée à une
              interface réseau. Cet attribut peut être utilisé seul ou avec AI_V4MAPPED.

       AI_DEFAULT
              Cet attribut est équivalent à (AI_ADDRCONFIG | AI_V4MAPPED).

   Paramètres de getipnodebyaddr()
       La fonction getipnodebyaddr() recherche  le  nom  d'un  hôte  dont  l'adresse  réseau  est
       indiquée par l'argument addr. Le paramètre af prend l'une des valeurs suivantes :

       AF_INET
              Le  paramètre  addr  pointe  vers  une  structure struct in_addr et len doit valoir
              sizeof(struct in_addr).

       AF_INET6
              Le paramètre addr pointe vers une structure struct  in6_addr  et  len  doit  valoir
              sizeof(struct in6_addr).

VALEUR RENVOYÉE

       En  cas  d'erreur,  un pointeur NULL est renvoyé, et error_num contiendra un code d'erreur
       parmi les suivants :

       HOST_NOT_FOUND
              Le nom d'hôte ou l'adresse réseau n'ont pas été trouvés.

       NO_ADDRESS
              Le serveur de noms reconnaît l'adresse réseau ou le nom, mais  n'a  pas  fourni  de
              réponse.  Cela  peut se produire si l'hôte n'a que des adresses IPv4, et que seules
              des informations IPv6 ont été demandées, ou l'inverse.

       NO_RECOVERY
              Le serveur de noms a renvoyé une erreur définitive.

       TRY_AGAIN
              Le serveur de noms a renvoyé une erreur temporaire. Réessayez plus tard.

       Une recherche couronnée de succès renvoie un pointeur sur une structure hostent  contenant
       les champs suivants :

       h_name Nom officiel de l'hôte.

       h_aliases
              Table de pointeurs vers des alias non officiels du même hôte. La table est terminée
              par un pointeur NULL.

       h_addrtype
              Il s'agit d'une copie du paramètre af de  getipnodebyname()  ou  getipnodebyaddr().
              h_addrtype  sera toujours AF_INET si le paramètre af était AF_INET. h_addrtype sera
              toujours AF_INET6 si le paramètre af était AF_INET6.

       h_length
              Ce champ sera défini  à  sizeof(struct  in_addr)  si  h_addrtype  est  AF_INET,  et
              sizeof(struct in6_addr) si h_addrtype vaut AF_INET6.

       h_addr_list
              Il  s'agit  d'une  table  de  pointeurs vers les structures d'adresse de l'hôte. La
              table est terminée par un pointeur NULL.

CONFORMITÉ

       RFC 2553

NOTES

       Ces fonctions étaient présentes dans  la  glibc  2.1.91-95,  mais  en  ont  été  retirées.
       Plusieurs  systèmes  de  type  UNIX  les  supportent,  mais  tous  les  considèrent  comme
       déconseillées.

VOIR AUSSI

       getaddrinfo(3), getnameinfo(3), inet_ntop(3), inet_pton(3)

COLOPHON

       Cette page fait partie de la publication 3.65 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <http://po4a.alioth.debian.org/>  par l'équipe de traduction francophone au sein du projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Christophe   Blaess   <http://www.blaess.fr/christophe/>   (1996-2003),    Alain    Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Florentin  Duneau  et  l'équipe francophone de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>   ou   par   un  rapport  de  bogue  sur  le  paquet
       manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document  en  utilisant  la
       commande « man -L C <section> <page_de_man> ».