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

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)