Provided by: manpages-fr-dev_4.27.0-1_all bug

NOM

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

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

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

       [[obsolète]] struct hostent *getipnodebyname(const char *name, int af,
                                                   int flags, int *error_num);
       [[obsolète]] struct hostent *getipnodebyaddr(const void addr[.len],
                                                   size_t len, int af,
                                                   int *error_num);
       [[obsolète]] 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.

STANDARDS

       Aucune.

HISTORIQUE

       RFC 2553.

       Présentes  dans  la  glibc  2.1.91-95, mais elle en ont été retirées. Plusieurs systèmes de type UNIX les
       prennent en charge, mais tous les considèrent comme déconseillées.

VOIR AUSSI

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

TRADUCTION

       La  traduction  française   de   cette   page   de   manuel   a   été   créée   par   Christophe   Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>, François Micaux, Alain Portal  <aportal@univ-montp2.fr>,  Jean-Philippe  Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,     Thomas     Huriaux      <thomas.huriaux@gmail.com>,      Nicolas      François
       <nicolas.francois@centraliens.net>,     Florentin     Duneau    <fduneau@gmail.com>,    Simon    Paillard
       <simon.paillard@resel.enst-bretagne.fr>,    Denis    Barbier    <barbier@debian.org>,    David     Prévot
       <david@tilapin.org> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,  veuillez  envoyer  un  message  à
       debian-l10n-french@lists.debian.org.

Pages du manuel de Linux 6.9.1                     2 mai 2024                                 getipnodebyname(3)