Man page - getipnodebyname(3)

Packages contains this manual

Available languages:

en fr es pl ja ru ro

Manual

getipnodebyname

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
ParamĂštres de getipnodebyname()
ParamĂštres de getipnodebyaddr()
VALEUR RENVOYÉE
STANDARDS
HISTORIQUE
VOIR AUSSI
TRADUCTION

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 .