perkamon - en to fr translation catalogue (1738 entries)

note: type: TH
en: 2008-11-25
fr: 25 novembre 2008

note: type: TH
en: Linux Programmer's Manual
fr: Manuel du programmeur Linux

note: type: SH
en: NAME
fr: NOM

note: type: Plain text
en: arp - Linux ARP kernel module.
fr: arp - Module ARP du noyau Linux

note: type: Plain text
en: This kernel protocol module implements the Address Resolution Protocol defined in RFC\ 826.  It is used to convert between Layer2 hardware addresses and IPv4 protocol addresses on directly connected networks.  The user normally doesn't interact directly with this module except to configure it; instead it provides a service for other protocols in the kernel.
fr: Ce module du noyau implémente le protocole de résolution d'adresse ARP tel qu'il est décrit dans le document RFC\ 826. Il sert à la conversion entre les adresses matérielles de niveau 2 et les adresses du protocole IPv4 sur les réseaux connectés en direct. L'utilisateur n'a normalement pas d'interactions avec ce module sauf pour le configurer. En fait, ce module fournit des services aux autres protocoles du noyau.

note: type: Plain text
en: A user process can receive ARP packets by using B<packet>(7)  sockets.  There is also a mechanism for managing the ARP cache in user-space by using B<netlink>(7)  sockets.  The ARP table can also be controlled via B<ioctl>(2)  on any B<AF_INET> socket.
fr: Un processus utilisateur peut recevoir les paquets ARP en utilisant les sockets de type B<packet>(7). Il y a aussi un mécanisme pour gérer le cache ARP dans l'espace utilisateur avec des sockets B<netlink>(7). La table ARP peut être contrôlée par le biais d'un B<ioctl>(2) sur n'importe quelle socket B<AF_INET>.

note: type: Plain text
en: The ARP module maintains a cache of mappings between hardware addresses and protocol addresses.  The cache has a limited size so old and less frequently used entries are garbage-collected.  Entries which are marked as permanent are never deleted by the garbage-collector.  The cache can be directly manipulated by the use of ioctls and its behavior can be tuned by the I</proc> interfaces described below.
fr: Le module ARP maintient un cache des correspondances entre les adresses matérielles et les adresses logiques. Le cache a une taille limitée, ainsi les entrées anciennes et utilisées moins fréquemment sont récupérées. Les entrées qui sont marquées comme permanentes ne sont jamais effacées. Le cache peut être manipulé directement par l'intermédiaire des B<ioctl>s et son comportement peut être ajusté à l'aide des interfaces I</proc> décrites plus bas.

note: type: Plain text
en: When there is no positive feedback for an existing mapping after some time (see the I</proc> interfaces below), a neighbor cache entry is considered stale.  Positive feedback can be gotten from a higher layer; for example from a successful TCP ACK.  Other protocols can signal forward progress using the B<MSG_CONFIRM> flag to B<sendmsg>(2).  When there is no forward progress, ARP tries to reprobe.  It first tries to ask a local arp daemon B<app_solicit> times for an updated MAC address.  If that fails and an old MAC address is known, a unicast probe is sent B<ucast_solicit> times.  If that fails too, it will broadcast a new ARP request to the network.  Requests are sent only when there is data queued for sending.
fr: Lorsqu'il n'y a pas de retour positif pour une correspondance existante après un certain temps (voir les interfaces I</proc> ci-dessous), l'entrée est considérée comme gelée. Un retour positif peut être obtenu d'un niveau supérieur, par exemple un ACK TCP réussi. D'autres protocoles peuvent signaler des avancées en utilisant l'attribut B<MSG_CONFIRM> de B<sendmsg>(2). Pour envoyer à nouveau des données à cette cible, l'ARP essaye d'abord d'interroger un démon arp local au maximum B<app_solicit> fois, afin d'obtenir une adresse MAC à jour. Si ça échoue, et si une ancienne adresse MAC est connue, une tentative unicast est envoyée B<ucast_solicit> fois. Si cela échoue encore, il enverra une requête ARP en broadcast sur le réseau. Les requêtes ne sont envoyées que s'il y a des données en attente d'émission.

note: type: Plain text
en: Linux will automatically add a nonpermanent proxy arp entry when it receives a request for an address it forwards to and proxy arp is enabled on the receiving interface.  When there is a reject route for the target, no proxy arp entry is added.
fr: Linux ajoutera automatiquement une entrée arp proxy non permanente lorsqu'il reçoit une requête pour une adresse à laquelle il envoie des données, si le proxy arp est validé sur l'interface réceptrice. Aucune entrée n'est ajoutée s'il y a une route de rejet pour la cible.

note: type: Plain text
en: Three ioctls are available on all B<AF_INET> sockets.  They take a pointer to a I<struct arpreq> as their argument.
fr: Trois ioctls sont disponibles pour les sockets B<AF_INET>. Elles prennent un pointeur sur une I<struct arpreq> comme paramètre.

note: type: Plain text
en: struct arpreq {
        struct sockaddr arp_pa;      /* protocol address */
        struct sockaddr arp_ha;      /* hardware address */
        int             arp_flags;   /* flags */
        struct sockaddr arp_netmask; /* netmask of protocol address */
        char            arp_dev[16];
    };
fr: struct arpreq {
        struct sockaddr arp_pa;      /* adresse protocole */
        struct sockaddr arp_ha;      /* adresse matérielle */
        int             arp_flags;   /* attributs */
        struct sockaddr arp_netmask; /* masque réseau du protocole */
        char            arp_dev[16];
    };

note: type: Plain text
en: B<SIOCSARP>, B<SIOCDARP> and B<SIOCGARP> respectively set, delete and get an ARP mapping.  Setting and deleting ARP maps are privileged operations and may be performed only by a process with the B<CAP_NET_ADMIN> capability or an effective UID of 0.
fr: B<SIOCSARP>, B<SIOCDARP> et B<SIOCGARP> ajoute, supprime, et consulte respectivement une correspondance ARP. L'ajout et la suppression de correspondance ARP sont des opérations privilégiées ne pouvant être réalisées que par un processus avec la capacité B<CAP_NET_ADMIN> ou un UID effectif nul.

note: type: Plain text
en: I<arp_pa> must be an B<AF_INET> address and I<arp_ha> must have the same type as the device which is specified in I<arp_dev>.  I<arp_dev> is a zero-terminated string which names a device.
fr: I<arp_pa> doit être une adresse B<AF_INET> et I<arp_ha> doit être du même type que le périphérique indiqué dans I<arp_dev>. I<arp_dev> est une chaîne terminée par un caractère nul, contenant le nom d'un périphérique.

note: type: tbl table
en: flag:meaning
fr: attribut:signification

note: type: tbl table
en: ATF_COM:Lookup complete
fr: ATF_COM:Recherche complète

note: type: tbl table
en: ATF_PERM:Permanent entry
fr: ATF_PERM:Entrée permanente

note: type: tbl table
en: ATF_PUBL:Publish entry
fr: ATF_PUBL:Entrée publique

note: type: tbl table
en: ATF_USETRAILERS:Trailers requested
fr: ATF_USETRAILERS:Demande trailer

note: type: tbl table
en: ATF_NETMASK:Use a netmask
fr: ATF_NETMASK:Utiliser le masque réseau

note: type: tbl table
en: ATF_DONTPUB:Don't answer
fr: ATF_DONTPUB:Ne pas répondre

note: type: Plain text
en: If the B<ATF_NETMASK> flag is set, then I<arp_netmask> should be valid.  Linux 2.2 does not support proxy network ARP entries, so this should be set to 0xffffffff, or 0 to remove an existing proxy arp entry.  B<ATF_USETRAILERS> is obsolete and should not be used.
fr: Si l'attribut B<ATF_NETMASK> est activé, alors le membre I<arp_netmask> doit être valable. Linux 2.2 ne prend pas en charge les entrées ARP proxy réseau. Ainsi, il doit être configuré avec 0xFFFFFFFF ou 0 pour supprimer une entrée arp proxy existante. B<ATF_USETRAILERS> est obsolète et ne doit pas être utilisé.

note: type: SS
en: /proc interfaces
fr: Interfaces /proc

note: type: Plain text
en: ARP supports a range of I</proc> interfaces to configure parameters on a global or per-interface basis.  The interfaces can be accessed by reading or writing the I</proc/sys/net/ipv4/neigh/*/*> files.  Each interface in the system has its own directory in I</proc/sys/net/ipv4/neigh/>.  The setting in the "default" directory is used for all newly created devices.  Unless otherwise specified, time-related interfaces are specified in seconds.
fr: ARP prend en charge une série d'interface I</proc> pour configurer les paramètres sur une base globale ou interface par interface. Les interfaces sont accessibles en lisant ou en écrivant dans les fichiers I</proc/sys/net/ipv4/neigh/*/*>. Chaque interface dans le système a son propre répertoire dans I</proc/sys/net/ipv4/neigh/>. La configuration dans le répertoire «\ default\ » sert pour tous les nouveaux périphériques. Sauf mention contraire, les durées sont en secondes.

note: type: TP
en: I<anycast_delay> (since Linux 2.2)
fr: I<anycast_delay> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: The maximum number of jiffies to delay before replying to a IPv6 neighbor solicitation message.  Anycast support is not yet implemented.  Defaults to 1 second.
fr: Le nombre maximal de jiffies à attendre avant de répondre à un message de sollicitation IPv6 du voisinage. La prise en charge anycast n'est pas encore implémentée. Par défaut, le délai est 1 seconde.

note: type: TP
en: I<app_solicit> (since Linux 2.2)
fr: I<app_solicit> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: The maximum number of probes to send to the user space ARP daemon via netlink before dropping back to multicast probes (see I<mcast_solicit>).  Defaults to 0.
fr: Le nombre maximal d'essais d'envoi au démon ARP de l'espace utilisateur par netlink avant de basculer en tentatives multicast (consultez I<mcast_solicit>). La valeur par défaut est 0.

note: type: TP
en: I<base_reachable_time> (since Linux 2.2)
fr: I<base_reachable_time> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: Once a neighbor has been found, the entry is considered to be valid for at least a random value between I<base_reachable_time>/2 and 3*I<base_reachable_time>/2.  An entry's validity will be extended if it receives positive feedback from higher level protocols.  Defaults to 30 seconds.  This file is now obsolete in favor of I<base_reachable_time_ms>.
fr: Une fois qu'un voisin a été trouvé, l'entrée est considérée comme valable pendant, au moins, une durée aléatoire entre I<base_reachable_time>/2 et 3*I<base_reachable_time>/2. La validité d'une entrée sera étendue si un retour positif est reçu des protocoles de plus haut niveau. La valeur par défaut est 30 secondes. Ce fichier est maintenant obsolète et remplacé par I<base_reachable_time_ms>.

note: type: TP
en: I<base_reachable_time_ms> (since Linux 2.6.12)
fr: I<base_reachable_time_ms> (depuis Linux 2.6.12)

note: type: Plain text
en: As for I<base_reachable_time>, but measures time in milliseconds.  Defaults to 30000 milliseconds.
fr: Comme pour I<base_reachable_time>, mais le temps est mesuré en millisecondes. La valeur par défaut est 30000 millisecondes.

note: type: TP
en: I<delay_first_probe_time> (since Linux 2.2)
fr: I<delay_first_probe_time> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: Delay before first probe after it has been decided that a neighbor is stale.  Defaults to 5 seconds.
fr: Délai avant la première tentative multicast après avoir décidé qu'un voisin est gelé. La valeur par défaut est 5 secondes.

note: type: TP
en: I<gc_interval> (since Linux 2.2)
fr: I<gc_interval> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: How frequently the garbage collector for neighbor entries should attempt to run.  Defaults to 30 seconds.
fr: Fréquence de vérification les entrées valables. La valeur par défaut est 30 secondes.

note: type: TP
en: I<gc_stale_time> (since Linux 2.2)
fr: I<gc_stale_time> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: Determines how often to check for stale neighbor entries.  When a neighbor entry is considered stale, it is resolved again before sending data to it.  Defaults to 60 seconds.
fr: Fréquence de vérification d’une entrée de voisinage gelée. Lorsqu'une correspondance est considérée comme gelée, elle sera à nouveau redéterminée avant d'y envoyer des données. La valeur par défaut est 60 secondes.

note: type: TP
en: I<gc_thresh1> (since Linux 2.2)
fr: I<gc_thresh1> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: The minimum number of entries to keep in the ARP cache.  The garbage collector will not run if there are fewer than this number of entries in the cache.  Defaults to 128.
fr: Le nombre minimal d'entrées à conserver dans le cache ARP. Le récupérateur ne sera pas déclenché s'il y a moins d'entrées que cette valeur. La valeur par défaut est 128.

note: type: TP
en: I<gc_thresh2> (since Linux 2.2)
fr: I<gc_thresh2> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: The soft maximum number of entries to keep in the ARP cache.  The garbage collector will allow the number of entries to exceed this for 5 seconds before collection will be performed.  Defaults to 512.
fr: La limite maximale souple d'entrées à conserver dans le cache ARP. Le récupérateur autorisera un dépassement de cette valeur pendant 5 secondes avant de lancer une véritable récupération. La valeur par défaut est 512 entrées.

note: type: TP
en: I<gc_thresh3> (since Linux 2.2)
fr: I<gc_thresh3> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: The hard maximum number of entries to keep in the ARP cache.  The garbage collector will always run if there are more than this number of entries in the cache.  Defaults to 1024.
fr: La limite maximale d'entrées à conserver dans le cache ARP. Le récupérateur sera immédiatement déclenché si cette valeur est dépassée. La valeur par défaut est 1024.

note: type: TP
en: I<locktime> (since Linux 2.2)
fr: I<locktime> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: The minimum number of jiffies to keep an ARP entry in the cache.  This prevents ARP cache thrashing if there is more than one potential mapping (generally due to network misconfiguration).  Defaults to 1 second.
fr: Le nombre minimal de jiffies pendant lesquels une entrée ARP est conservée dans le cache. Cela évite la dégradation du cache s'il y a plusieurs correspondances possibles (généralement à cause d'une mauvaise configuration du réseau). La valeur par défaut est 1 seconde.

note: type: TP
en: I<mcast_solicit> (since Linux 2.2)
fr: I<mcast_solicit> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: The maximum number of attempts to resolve an address by multicast/broadcast before marking the entry as unreachable.  Defaults to 3.
fr: Le nombre maximal de tentatives de résolution d'une adresse par le multicast et le broadcast avant de marquer l'entrée comme inaccessible. La valeur par défaut est 3.

note: type: TP
en: I<proxy_delay> (since Linux 2.2)
fr: I<proxy_delay> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: When an ARP request for a known proxy-ARP address is received, delay up to I<proxy_delay> jiffies before replying.  This is used to prevent network flooding in some cases.  Defaults to 0.8 seconds.
fr: Lorsqu'une requête arrive pour une adresse proxy-ARP, I<proxy_delay> jiffies sont attendues avant de répondre. Cela permet d'éviter des saturations du réseau dans certains cas. La valeur par défaut est 0,8 secondes.

note: type: TP
en: I<proxy_qlen> (since Linux 2.2)
fr: I<proxy_qlen> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: The maximum number of packets which may be queued to proxy-ARP addresses.  Defaults to 64.
fr: Le nombre maximal de paquets qui peuvent être gardés en file d’attente pour des adresses proxy-ARP. La valeur par défaut est 64.

note: type: TP
en: I<retrans_time> (since Linux 2.2)
fr: I<retrans_time> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: The number of jiffies to delay before retransmitting a request.  Defaults to 1 second.  This file is now obsolete in favor of I<retrans_time_ms>.
fr: Le nombre de jiffies à attendre avant de retransmettre une requête. La valeur par défaut est 1 seconde. Ce fichier est maintenant obsolète et remplacé par I<retrans_time_ms>.

note: type: TP
en: I<retrans_time_ms> (since Linux 2.6.12)
fr: I<retrans_time_ms> (depuis Linux 2.6.12)

note: type: Plain text
en: The number of milliseconds to delay before retransmitting a request.  Defaults to 1000 milliseconds.
fr: Le nombre de millisecondes à attendre avant de retransmettre une requête. La valeur par défaut est 1000 millisecondes.

note: type: TP
en: I<ucast_solicit> (since Linux 2.2)
fr: I<ucast_solicit> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: The maximum number of attempts to send unicast probes before asking the ARP daemon (see I<app_solicit>).  Defaults to 3.
fr: Le nombre maximal de tentatives d'envoi unicast avant d'interroger le démon ARP (consultez I<app_solicit>). La valeur par défaut est 3.

note: type: TP
en: I<unres_qlen> (since Linux 2.2)
fr: I<unres_qlen> (depuis Linux 2.2)

note: Precisely: 2.1.79 type: Plain text
en: The maximum number of packets which may be queued for each unresolved address by other network layers.  Defaults to 3.
fr: Le nombre maximal de paquets qui peuvent être gardés en file d’attente pour chaque adresse non résolue par les autres couches réseau. La valeur par défaut est 3.

note: type: Plain text
en: The I<struct arpreq> changed in Linux 2.0 to include the I<arp_dev> member and the ioctl numbers changed at the same time.  Support for the old ioctls was dropped in Linux 2.2.
fr: La structure I<arpreq> a changé dans Linux 2.0 pour inclure le membre I<arp_dev> et les numéros d'ioctl ont changé en même temps. La prise en charge pour les anciens ioctl a été abandonnée dans Linux 2.2.

note: type: Plain text
en: Support for proxy arp entries for networks (netmask not equal 0xffffffff)  was dropped in Linux 2.2.  It is replaced by automatic proxy arp setup by the kernel for all reachable hosts on other interfaces (when forwarding and proxy arp is enabled for the interface).
fr: La prise en charge pour les entrées proxy ARP concernant des réseaux (netmask différent de 0xFFFFFFF) a été supprimée de Linux 2.2. Elle est remplacée par une configuration proxy ARP automatique dans le noyau pour tous les hôtes accessibles sur les autres interfaces (en faisant du forwarding avec le proxy ARP activé sur l'interface).

note: type: Plain text
en: The I<neigh/*> interfaces did not exist before Linux 2.2.
fr: Les interfaces I<neigh/*> n'existaient pas avant Linux 2.2.

note: type: SH
en: BUGS
fr: BOGUES

note: type: Plain text
en: Some timer settings are specified in jiffies, which is architecture- and kernel version-dependent; see B<time>(7).
fr: Certaines temporisations sont exprimées en jiffies, qui dépendent de l'architecture et de la version du noyau\ ; consultez B<time>(7).

note: type: Plain text
en: There is no way to signal positive feedback from user space.  This means connection-oriented protocols implemented in user space will generate excessive ARP traffic, because ndisc will regularly reprobe the MAC address.  The same problem applies for some kernel protocols (e.g., NFS over UDP).
fr: Il n'y a pas de moyen d'envoyer une réponse positive de l'espace utilisateur. Ça signifie que les protocoles orientés connexion implémentés dans l'espace utilisateur engendreront un trafic ARP excessif, car ndisc revérifiera régulièrement les adresses MAC. Le même problème se pose pour certains protocoles du noyau (par exemple NFS sur UDP).

note: type: Plain text
en: This man page mashes together functionality that is IPv4-specific with functionality that is shared between IPv4 and IPv6.
fr: Cette page de manuel mélange les fonctionnalités spécifiques à IPv4 et les fonctionnalités communes à IPv4 et IPv6.

note: type: SH
en: SEE ALSO
fr: VOIR AUSSI

note: type: Plain text
en: RFC\ 826 for a description of ARP.  RFC\ 2461 for a description of IPv6 neighbor discovery and the base algorithms used.  Linux 2.2+ IPv4 ARP uses the IPv6 algorithms when applicable.
fr: RFC\ 826 pour une description d'ARP. RFC\ 2461 pour une description de l'exploration du voisinage IPv6 et des algorithmes de base employés. L'ARP IPv4 de Linux 2.2 et version ultérieures utilise l'algorithme IPv6 lorsque c'est possible.

note: type: Plain text
en: This page is part of release 3.65 of the Linux I<man-pages> project.  A description of the project, and information about reporting bugs, can be found at \%http://www.kernel.org/doc/man-pages/.
fr: Cette page fait partie de la publication 3.65 du projet I<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/.

note: type: TH
en: 2014-04-08
fr: 8 avril 2014

note: type: Plain text
en: htonl, htons, ntohl, ntohs - convert values between host and network byte order
fr: htonl, htons, ntohl, ntohs - Convertir des données entre l'ordre des octets de l'hôte et du réseau

note: type: Plain text
en: The B<htonl>()  function converts the unsigned integer I<hostlong> from host byte order to network byte order.
fr: La fonction B<htonl>() convertit l'entier non signé I<hostlong> depuis l'ordre des octets de l'hôte vers celui du réseau.

note: type: Plain text
en: The B<htons>()  function converts the unsigned short integer I<hostshort> from host byte order to network byte order.
fr: La fonction B<htons>() convertit l'entier court non signé I<hostshort> depuis l'ordre des octets de l'hôte vers celui du réseau.

note: type: Plain text
en: The B<ntohl>()  function converts the unsigned integer I<netlong> from network byte order to host byte order.
fr: La fonction B<ntohl>() convertit l'entier non signé I<netlong> depuis l'ordre des octets du réseau vers celui de l'hôte.

note: type: Plain text
en: The B<ntohs>()  function converts the unsigned short integer I<netshort> from network byte order to host byte order.
fr: La fonction B<ntohs>() convertit un entier court non signé I<netshort> depuis l'ordre des octets du réseau vers celui de l'hôte.

note: type: Plain text
en: On the i386 the host byte order is Least Significant Byte first, whereas the network byte order, as used on the Internet, is Most Significant Byte first.
fr: Sur les i386, l'ordre des octets de l'hôte est LSB («\ Least Significant Byte first\ »), c'est-à-dire l'octet de poids faible en premier, alors que sur les réseaux, notamment internet, l'ordre est MSB («\ Most Significant Byte first\ ») octet de poids fort en premier.

note: type: SH
en: ATTRIBUTES
fr: ATTRIBUTS

note: type: SS
en: Multithreading (see pthreads(7))
fr: Multithreading (voir pthreads(7))

note: type: Plain text
en: The B<htonl>(), B<htons>(), B<ntohl>(), and B<ntohs>()  functions are thread-safe.
fr: Les fonctions B<htonl>(), B<htons>(), B<ntohl>() et B<ntohs>() sont sûres dans un contexte multithread.

note: type: SH
en: CONFORMING TO
fr: CONFORMITÉ

note: type: Plain text
en: Some systems require the inclusion of I<E<lt>netinet/in.hE<gt>> instead of I<E<lt>arpa/inet.hE<gt>>.
fr: Certains systèmes nécessitent d'inclure I<E<lt>netinet/in.hE<gt>> au lieu de I<E<lt>arpa/inet.hE<gt>>.

note: type: TH
en: 2008-11-20
fr: 20 novembre 2008

note: type: Plain text
en: CMSG_ALIGN, CMSG_SPACE, CMSG_NXTHDR, CMSG_FIRSTHDR - access ancillary data
fr: CMSG_ALIGN, CMSG_SPACE, CMSG_NXTHDR, CMSG_FIRSTHDR - Accéder aux informations de service

note: type: Plain text
en: struct cmsghdr {
        socklen_t cmsg_len;    /* data byte count, including header */
        int       cmsg_level;  /* originating protocol */
        int       cmsg_type;   /* protocol-specific type */
        /* followed by unsigned char cmsg_data[]; */
    };
fr: struct cmsghdr {
        socklen_t cmsg_len;    /* Nombre d'octets de données, incluant l'en-tête */
        int       cmsg_level;  /* Protocole d'origine */
        int       cmsg_type;   /* Type spécifique au protocole */
        /* suivi par unsigned char cmsg_data[]; */
    };

note: type: Plain text
en: These macros are used to create and access control messages (also called ancillary data) that are not a part of the socket payload.  This control information may include the interface the packet was received on, various rarely used header fields, an extended error description, a set of file descriptors or UNIX credentials.  For instance, control messages can be used to send additional header fields such as IP options.  Ancillary data is sent by calling B<sendmsg>(2)  and received by calling B<recvmsg>(2).  See their manual pages for more information.
fr: Ces macros sont utilisées pour créer et accéder aux messages de contrôle (aussi appelé informations de service) qui ne font pas partie du trafic normal des sockets. Ces informations de contrôle peuvent inclure l'interface sur laquelle le paquet a été reçu, des champs d'en-tête rarement employés, des descriptions d'erreur approfondies, un ensemble de descripteurs de fichiers ou des identificateurs UNIX. Par exemple, les messages de contrôle peuvent être utilisés pour envoyer des champs d'en-tête supplémentaires tels que des options IP. Les données de service sont émises avec B<sendmsg>(2) et reçues avec B<recvmsg>(2). Reportez-vous à leur page de manuel respective pour plus d'informations.

note: type: Plain text
en: Ancillary data is a sequence of I<struct cmsghdr> structures with appended data.  This sequence should be accessed using only the macros described in this manual page and never directly.  See the specific protocol man pages for the available control message types.  The maximum ancillary buffer size allowed per socket can be set using I</proc/sys/net/core/optmem_max>; see B<socket>(7).
fr: Une information de service est une séquence de structures I<cmsghdr> avec des données ajoutées. Cette séquence ne doit être manipulée qu'au moyen des macros décrites dans cette page de manuel, et jamais directement. Consultez les pages relatives aux protocoles des types de message de commande disponibles. La taille maximale d'un tampon de service par socket peut être définie à l'aide de I</proc/sys/net/core/optmem_max>. Consultez B<socket>(7).

note: type: Plain text
en: B<CMSG_FIRSTHDR>()  returns a pointer to the first I<cmsghdr> in the ancillary data buffer associated with the passed I<msghdr>.
fr: B<CMSG_FIRSTHDR>() renvoie un pointeur sur la première I<cmsghdr> du tampon de données de service associé au I<msghdr> passé.

note: type: Plain text
en: B<CMSG_NXTHDR>()  returns the next valid I<cmsghdr> after the passed I<cmsghdr>.  It returns NULL when there isn't enough space left in the buffer.
fr: B<CMSG_NXTHDR>() renvoie le prochain I<cmsghdr> valable suivant après le I<cmsghdr> transmis. Elle renvoie NULL s'il n'y a plus assez de place dans le tampon.

note: type: Plain text
en: B<CMSG_ALIGN>(), given a length, returns it including the required alignment.  This is a constant expression.
fr: B<CMSG_ALIGN>(), avec comme argument une longueur, renvoie l'alignement nécessaire. C'est une expression constante.

note: type: Plain text
en: B<CMSG_SPACE>()  returns the number of bytes an ancillary element with payload of the passed data length occupies.  This is a constant expression.
fr: B<CMSG_SPACE>() renvoie le nombre d'octets d'un élément de service avec la charge utile de la longueur passée en paramètre. C'est une expression constante.

note: type: Plain text
en: B<CMSG_DATA>()  returns a pointer to the data portion of a I<cmsghdr>.
fr: B<CMSG_DATA>() renvoie un pointeur sur une partie des données d'un I<cmsghdr>.

note: type: Plain text
en: B<CMSG_LEN>()  returns the value to store in the I<cmsg_len> member of the I<cmsghdr> structure, taking into account any necessary alignment.  It takes the data length as an argument.  This is a constant expression.
fr: B<CMSG_LEN>() renvoie la valeur à stocker dans le membre I<cmsg_len> de la structure I<cmsghdr>, en tenant compte des alignements. Elle prend en paramètre la longueur des données. C'est une expression constante.

note: type: Plain text
en: To create ancillary data, first initialize the I<msg_controllen> member of the I<msghdr> with the length of the control message buffer.  Use B<CMSG_FIRSTHDR>()  on the I<msghdr> to get the first control message and B<CMSG_NXTHDR>()  to get all subsequent ones.  In each control message, initialize I<cmsg_len> (with B<CMSG_LEN>()), the other I<cmsghdr> header fields, and the data portion using B<CMSG_DATA>().  Finally, the I<msg_controllen> field of the I<msghdr> should be set to the sum of the B<CMSG_SPACE>()  of the length of all control messages in the buffer.  For more information on the I<msghdr>, see B<recvmsg>(2).
fr: Pour créer des données de service, il faut tout d'abord initialiser le membre I<msg_controllen> de la structure I<msghdr> avec la longueur du message de contrôle. Utilisez B<CMSG_FIRSTHDR>() sur la structure I<msghdr> pour obtenir le premier message de contrôle, puis B<CMSG_NXTHDR>() pour obtenir les suivants. Dans chaque message de contrôle, initialisez I<cmsg_len> (avec B<CMSG_LEN>()), les autres champs d'en-tête de I<cmsghdr>, et la partie de données avec B<CMSG_DATA>(). Enfin, il faut définir le membre I<msg_controllen> de la structure I<msghdr> avec la somme de tous les messages de contrôle dans le tampon renvoyé par B<CMSG_SPACE>().Pour plus d'informations sur I<msghdr>, consultez B<recvmsg>(2).

note: type: Plain text
en: When the control message buffer is too short to store all messages, the B<MSG_CTRUNC> flag is set in the I<msg_flags> member of the I<msghdr>.
fr: Lorsque le tampon de message de contrôle est trop petit pour stocker tous les messages, le drapeau B<MSG_CTRUNC> du membre I<msg_flags> de I<msghdr> est activé.

note: type: Plain text
en: This ancillary data model conforms to the POSIX.1g draft, 4.4BSD-Lite, the IPv6 advanced API described in RFC\ 2292 and the SUSv2.  B<CMSG_ALIGN>()  is a Linux extension.
fr: Le modèle des données de service est conforme à POSIX.1g draft, BSD\ 4.4-Lite, «\ IPv6 advanced API\ » décrite dans la RFC\ 2292 et SUSv2. B<CMSG_ALIGN>() est une extension Linux.

note: type: Plain text
en: For portability, ancillary data should be accessed using only the macros described here.  B<CMSG_ALIGN>()  is a Linux extension and should not be used in portable programs.
fr: Pour des questions de portabilité, les données de service ne doivent être manipulées qu'avec les macros décrites ici. B<CMSG_ALIGN>() est une extension Linux et ne doit pas être utilisée dans un programme portable.

note: type: Plain text
en: In Linux, B<CMSG_LEN>(), B<CMSG_DATA>(), and B<CMSG_ALIGN>()  are constant expressions (assuming their argument is constant); this could be used to declare the size of global variables.  This may not be portable, however.
fr: Sous Linux, B<CMSG_LEN>(), B<CMSG_DATA>(), et B<CMSG_ALIGN>() sont des expressions constantes (si leur argument est une constante) ; elles peuvent donc être utilisées pour déclarer la taille de variables globales. Cela peut néanmoins ne pas être portable.

note: type: SH
en: EXAMPLE
fr: EXEMPLE

note: type: Plain text
en: This code looks for the B<IP_TTL> option in a received ancillary buffer:
fr: Ce code recherche l'option B<IP_TTL> dans un tampon de service reçu\ :

note: type: Plain text
en: The code below passes an array of file descriptors over a UNIX domain socket using B<SCM_RIGHTS>:
fr: Ce code, ci-dessous, passe une table de descripteurs de fichier au travers d'une socket de domaine UNIX avec B<SCM_RIGHTS>\ :

note: type: Plain text
en: ddp - Linux AppleTalk protocol implementation
fr: ddp - Implémentation Linux du protocole AppleTalk

note: type: Plain text
en: I<raw_socket>B< = socket(AF_APPLETALK, SOCK_RAW, >I<protocol>B<);>
fr: I<raw_socket>B< = socket(AF_APPLETALK, SOCK_RAW, >I<protocole>B<);>

note: type: Plain text
en: Linux implements the Appletalk protocols described in I<Inside Appletalk>.  Only the DDP layer and AARP are present in the kernel.  They are designed to be used via the B<netatalk> protocol libraries.  This page documents the interface for those who wish or need to use the DDP layer directly.
fr: Linux implémente le protocole AppleTalk décrit dans le document I<Inside Appletalk>. Seuls le niveau DDP et l'AARP sont présents dans le noyau, ils sont conçus pour être utilisés à l’aide des bibliothèques du protocole B<netatalk>. Cette page documente l'interface pour ceux qui ont envie (ou besoin) d'utiliser directement le niveau DDP.

note: type: Plain text
en: The communication between Appletalk and the user program works using a BSD-compatible socket interface.  For more information on sockets, see B<socket>(7).
fr: La communication entre Appletalk et le programme utilisateur fonctionne en utilisant une interface compatible avec les sockets BSD. Consultez B<socket>(7).

note: type: Plain text
en: An AppleTalk socket is created by calling the B<socket>(2)  function with a B<AF_APPLETALK> socket family argument.  Valid socket types are B<SOCK_DGRAM> to open a B<ddp> socket or B<SOCK_RAW> to open a B<raw> socket.  I<protocol> is the Appletalk protocol to be received or sent.  For B<SOCK_RAW> you must specify B<ATPROTO_DDP>.
fr: Une socket AppleTalk est créée en appelant la fonction B<socket>(2) avec un argument B<AF_APPLETALK> en famille de socket. Les types valables sont B<SOCK_DGRAM> pour ouvrir une socket B<ddp> ou B<SOCK_RAW> pour ouvrir une socket B<raw>. I<protocole> est le protocole Appletalk pour envoyer ou recevoir des données. Pour le type B<SOCK_RAW> il faut indiquer B<ATPROTO_DDP>.

note: type: Plain text
en: Raw sockets may be opened only by a process with effective user ID 0 or when the process has the B<CAP_NET_RAW> capability.
fr: Les sockets raw peuvent seulement être ouvertes par un processus ayant UID effectif nul ou ayant la capacité B<CAP_NET_RAW>.

note: type: SS
en: Address format
fr: Format d'adresse

note: type: Plain text
en: An Appletalk socket address is defined as a combination of a network number, a node number, and a port number.
fr: Une socket AppleTalk est définie comme la combinaison d'un numéro de réseau, d'un numéro de nœud et d'un numéro de port.

note: type: Plain text
en: struct sockaddr_atalk {
        sa_family_t    sat_family;    /* address family */
        unsigned char  sat_port;      /* port */
        struct at_addr sat_addr;      /* net/node */
    };
fr: struct sockaddr_atalk {
        sa_family_t    sat_family;    /* Famille d'adresse */
        unsigned char  sat_port;      /* Port              */
        struct at_addr sat_addr;      /* Réseau / Noeud    */
    };

note: FIXME this doesn't make sense [johnl] type: Plain text
en: I<sat_family> is always set to B<AF_APPLETALK>.  I<sat_port> contains the port.  The port numbers below 129 are known as I<reserved ports>.  Only processes with the effective user ID 0 or the B<CAP_NET_BIND_SERVICE> capability may B<bind>(2)  to these sockets.  I<sat_addr> is the host address.  The I<net> member of I<struct at_addr> contains the host network in network byte order.  The value of B<AT_ANYNET> is a wildcard and also implies \(lqthis network.\(rq The I<node> member of I<struct at_addr> contains the host node number.  The value of B<AT_ANYNODE> is a wildcard and also implies \(lqthis node.\(rq The value of B<ATADDR_BCAST> is a link local broadcast address.
fr: I<sat_family> doit toujours être rempli avec B<AF_APPLETALK>. I<sat_port> contient le numéro de port. Les numéros inférieurs à 129 sont I<réservés>. Seuls les processus ayant un UID effectif nul ou la capacité B<CAP_NET_BIND_SERVICE> peut appeler B<bind>(2) sur ces sockets. I<sat_addr> est l'adresse de l'hôte. Le membre I<net> de la structure I<at_addr> contient le numéro de réseau dans l'ordre des octets du réseau («\ network byte order\ »). La valeur B<AT_ANYNET> est générique et correspond aussi à «\ ce réseau\ ». Le membre I<node> de la structure I<at_addr> contient le numéro d'hôte. La valeur B<AT_ANYNODE> est générique, et correspond aussi à «\ cet hôte\ ». La valeur B<ATADDR_BCAST> est une adresse broadcast locale.

note: type: SS
en: Socket options
fr: Options de sockets

note: type: Plain text
en: No protocol-specific socket options are supported.
fr: Il n'y a pas d'options spécifiques au protocole sur les sockets.

note: type: Plain text
en: IP supports a set of I</proc> interfaces to configure some global AppleTalk parameters.  The parameters can be accessed by reading or writing files in the directory I</proc/sys/net/atalk/>.
fr: IP prend en charge une série d'interfaces I</proc> pour configurer certains paramètres AppleTalk globaux. Ils sont accessibles en lisant ou écrivant les fichiers du répertoire I</proc/sys/net/atalk/>.

note: type: Plain text
en: The time interval (in seconds) before an AARP cache entry expires.
fr: L'intervalle de temps (en secondes) avant qu'une entrée du cache AARP expire.

note: type: Plain text
en: The time interval (in seconds) before an AARP cache entry is resolved.
fr: L'intervalle de temps (en secondes) avant qu'une entrée du cache AARP soit résolue.

note: type: Plain text
en: The number of retransmissions of an AARP query before the node is declared dead.
fr: Le nombre de retransmissions d'une demande AARP avant de déclarer le nœud mort.

note: type: Plain text
en: The timer rate (in seconds) for the timer driving AARP.
fr: La période (en secondes) de la temporisation dirigeant l'AARP.

note: type: Plain text
en: The default values match the specification and should never need to be changed.
fr: Les valeurs par défaut correspondent aux spécifications et ne doivent normalement pas être modifiées.

note: FIXME Add a section about multicasting type: Plain text
en: All ioctls described in B<socket>(7)  apply to DDP.
fr: Toutes les ioctls décrits dans B<socket>(7) s'appliquent à DDP.

note: type: SH
en: ERRORS
fr: ERREURS

note: type: Plain text
en: The user tried to execute an operation without the necessary permissions.  These include sending to a broadcast address without having the broadcast flag set, and trying to bind to a reserved port without effective user ID 0 or B<CAP_NET_BIND_SERVICE>.
fr: L'utilisateur a essayé d'exécuter une opération sans avoir les permissions adéquates. Cela inclut l'envoi vers une adresse broadcast sans avoir l'attribut correspondant, ou la tentative d'utilisation de port réservé sans UID effectif nul et sans la capacité B<CAP_NET_BIND_SERVICE>.

note: type: Plain text
en: Tried to bind to an address already in use.
fr: Tentative d'attachement à une adresse déjà utilisée.

note: type: Plain text
en: A nonexistent interface was requested or the requested source address was not local.
fr: Une interface inexistante a été demandée, ou l'adresse d'émission demandée n'était pas locale.

note: type: Plain text
en: Operation on a nonblocking socket would block.
fr: L'opération sur une socket non bloquante devrait bloquer.

note: type: Plain text
en: A connection operation on a nonblocking socket is already in progress.
fr: Une connexion est déjà en cours sur la socket non bloquante.

note: type: Plain text
en: A connection was closed during an B<accept>(2).
fr: Une connexion a été fermée durant un appel à B<accept>(2).

note: type: Plain text
en: No routing table entry matches the destination address.
fr: Aucune entrée dans la table de routage ne correspond à l'adresse de destination.

note: type: Plain text
en: Invalid argument passed.
fr: Un paramètre non valable a été fourni.

note: type: Plain text
en: B<connect>(2)  was called on an already connected socket.
fr: B<connect>(2) a été appelée sur une socket déjà connectée.

note: type: Plain text
en: Datagram is bigger than the DDP MTU.
fr: Le datagramme est plus grand que le MTU DDP.

note: type: Plain text
en: Network device not available or not capable of sending IP.
fr: Le périphérique réseau n'est pas disponible ou est incapable d'utiliser le protocole IP.

note: type: Plain text
en: B<SIOCGSTAMP> was called on a socket where no packet arrived.
fr: B<SIOCGSTAMP> a été appelé sur une socket qu'aucun paquet n'a atteint.

note: type: TP
en: B<ENOMEM> and B<ENOBUFS>
fr: B<ENOMEM> et B<ENOBUFS>

note: type: Plain text
en: Not enough memory available.
fr: Pas assez de mémoire.

note: type: Plain text
en: A kernel subsystem was not configured.
fr: Un sous-système du noyau n'est pas configuré.

note: type: TP
en: B<ENOPROTOOPT> and B<EOPNOTSUPP>
fr: B<ENOPROTOOPT> et B<EOPNOTSUPP>

note: type: Plain text
en: Invalid socket option passed.
fr: Passage d'une option de socket non valable.

note: type: Plain text
en: The operation is defined only on a connected socket, but the socket wasn't connected.
fr: L'opération n'est définie que sur une socket connectée, mais cette socket n'était pas connectée.

note: type: Plain text
en: User doesn't have permission to set high priority, make a configuration change, or send signals to the requested process or group.
fr: L'utilisateur n'a pas les permissions nécessaires.

note: type: Plain text
en: The connection was unexpectedly closed or shut down by the other end.
fr: La connexion a été fermée prématurément ou volontairement à l'autre extrémité.

note: type: Plain text
en: The socket was unconfigured, or an unknown socket type was requested.
fr: La socket n'est pas configurée ou un type inconnu a été demandé.

note: type: Plain text
en: Appletalk is supported by Linux 2.0 or higher.  The I</proc> interfaces exist since Linux 2.2.
fr: Appletalk est pris en charge par Linux 2.0 et ultérieurs. Les interfaces I</proc> existent depuis Linux 2.2.

note: type: Plain text
en: Be very careful with the B<SO_BROADCAST> option - it is not privileged in Linux.  It is easy to overload the network with careless sending to broadcast addresses.
fr: Soyez très prudents avec l'option B<SO_BROADCAST>, elle n'est pas privilégiée sous Linux. Il est facile de surcharger le réseau en écrivant sans faire attention vers des adresses broadcast.

note: type: SS
en: Compatibility
fr: Compatibilité

note: type: Plain text
en: The basic AppleTalk socket interface is compatible with B<netatalk> on BSD-derived systems.  Many BSD systems fail to check B<SO_BROADCAST> when sending broadcast frames; this can lead to compatibility problems.
fr: L'interface socket AppleTalk de base est compatible avec B<netatalk> sur les systèmes dérivés de BSD. Plusieurs systèmes BSD peuvent échouer à vérifier B<SO_BROADCAST> lorsqu'ils envoient des trames broadcast. Cela peut poser des problèmes de compatibilité.

note: type: Plain text
en: The raw socket mode is unique to Linux and exists to support the alternative CAP package and AppleTalk monitoring tools more easily.
fr: Le mode socket B<raw> est spécifique à Linux et existe pour prendre en charge le paquetage CAP et les outils de supervision AppleTalk plus facilement.

note: type: Plain text
en: There are too many inconsistent error values.
fr: Il y a trop de valeurs d'erreurs hétérogènes.

note: type: Plain text
en: The ioctls used to configure routing tables, devices, AARP tables and other devices are not yet described.
fr: Les ioctls utilisées pour configurer les tables de routage, les périphériques, et les tables AARP ne sont pas encore décrites.

note: type: TH
en: 2010-09-10
fr: 10 septembre 2010

note: type: Plain text
en: htobe16, htole16, be16toh, le16toh, htobe32, htole32, be32toh, le32toh, htobe64, htole64, be64toh, le64toh - convert values between host and big-/little-endian byte order
fr: htobe16, htole16, be16toh, le16toh, htobe32, htole32, be32toh, le32toh, htobe64, htole64, be64toh, le64toh - convertir des valeurs entre l'ordre des octets de l'hôte et l'ordre petit et gros boutiste

note: type: Plain text
en: B<#define _BSD_SOURCE>             /* See feature_test_macros(7) */
    B<#include E<lt>endian.hE<gt>>
fr: B<#define _BSD_SOURCE>             /* Consultez feature_test_macros(7) */
    B<#include E<lt>endian.hE<gt>>

note: type: Plain text
en: These functions convert the byte encoding of integer values from the byte order that the current CPU (the "host") uses, to and from little-endian and big-endian byte order.
fr: Ces fonctions convertissent l'encodage des octets de valeurs entières depuis l'ordre de l'hôte (l'ordre utilisé par le CPU), vers ou depuis l'ordre petit et gros boutiste.

note: type: Plain text
en: The number, I<nn>, in the name of each function indicates the size of integer handled by the function, either 16, 32, or 64 bits.
fr: Le nombre, I<nn>, dans le nom de chaque fonction indique la taille des entiers gérée par la fonction, soit 16, 32 ou 64 bits.

note: type: Plain text
en: The functions with names of the form "htobeI<nn>" convert from host byte order to big-endian order.
fr: Les fonctions dont le nom est de la forme « htobeI<nn> » convertissent depuis l'ordre des octets de l'hôte vers l'ordre gros boutiste.

note: type: Plain text
en: The functions with names of the form "htoleI<nn>" convert from host byte order to little-endian order.
fr: Les fonctions dont le nom est de la forme « htoleI<nn> » convertissent depuis l'ordre des octets de l'hôte vers l'ordre petit boutiste.

note: type: Plain text
en: The functions with names of the form "beI<nn>toh" convert from big-endian order to host byte order.
fr: Les fonctions dont le nom est de la forme « beI<nn>toh » convertissent depuis l'ordre gros boutiste vers l'ordre des octets de l'hôte.

note: type: Plain text
en: The functions with names of the form "leI<nn>toh" convert from little-endian order to host byte order.
fr: Les fonctions dont le nom est de la forme « leI<nn>toh » convertissent depuis l'ordre petit boutiste vers l'ordre des octets de l'hôte.

note: type: Plain text
en: These functions were added to glibc in version 2.9.
fr: Ces fonctions ont été ajoutées dans la version 2.9 de la glibc.

note: type: Plain text
en: These functions are nonstandard.  Similar functions are present on the BSDs, where the required header file is I<E<lt>sys/endian.hE<gt>> instead of I<E<lt>endian.hE<gt>>.  Unfortunately, NetBSD, FreeBSD, and glibc haven't followed the original OpenBSD naming convention for these functions, whereby the I<nn> component always appears at the end of the function name (thus, for example, in NetBSD, FreeBSD, and glibc, the equivalent of OpenBSDs "betoh32" is "be32toh").
fr: Ces fonctions ne sont pas standard. Des fonctions similaires sont présentes sur les systèmes BSD, où le fichier d'en-têtes est I<E<lt>sys/endian.hE<gt>> au lieu de I<E<lt>endian.hE<gt>>. Cependant, NetBSD, FreeBSD et la glibc n'ont pas suivi le nommage original d'OpenBSD où la composante I<nn> est placée à la fin du nom de la fonction (par exemple, sous NetBSD, FreeBSD et la glibc, l'équivalent OpenBSD de « betoh32 » est « be32toh »).

note: type: Plain text
en: These functions are similar to the older B<byteorder>(3)  family of functions.  For example, B<be32toh>()  is identical to B<ntohl>().
fr: Ces fonctions sont similaires à la vieille famille de fonctions B<byteorder>(3). Par exemple, B<be32toh>() est identique à B<ntohl>().

note: type: Plain text
en: The advantage of the B<byteorder>(3)  functions is that they are standard functions available on all UNIX systems.  On the other hand, the fact that they were designed for use in the context of TCP/IP means that they lack the 64-bit and little-endian variants described in this page.
fr: L'avantage des fonctions de B<byteorder>(3) est que ce sont des fonctions standard disponibles sur tous les systèmes UNIX. D'autre part, elles ont été créées pour être utilisées dans un contexte TCP/IP, ce qui signifie qu'elles ne gèrent pas les architectures 64 bits et les variantes petit boutistes vues dans cette page.

note: type: Plain text
en: The program below display the results of converting an integer from host byte order to both little-endian and big-endian byte order.  Since host byte order is either little-endian or big-endian, only one of these conversions will have an effect.  When we run this program on a little-endian system such as x86-32, we see the following:
fr: Le programme ci-dessous affiche les résultats des conversions d'un entier depuis l'ordre des octets de l'hôte vers l'ordre petit et gros boutiste. Puisque l'ordre de l'hôte est soit petit boutiste ou soit gros boutiste, seule une de ces conversions a un effet. Lorsque vous exécutez ce programme sur un système petit boutiste comme x86-32, vous avez :

note: type: SS
en: Program source
fr: Source du programme

note: type: Plain text
en:     x.arr[0] = 0x11;	/* Lowest-address byte */
        x.arr[1] = 0x22;
        x.arr[2] = 0x33;
        x.arr[3] = 0x44;	/* Highest-address byte */
fr:     x.arr[0] = 0x11;	/* octet d'adresse basse */
        x.arr[1] = 0x22;
        x.arr[2] = 0x33;
        x.arr[3] = 0x44;	/* octet d'adresse haute */

note: type: TH
en: 2013-07-04
fr: 4 juillet 2013

note: type: Plain text
en: ether_aton, ether_ntoa, ether_ntohost, ether_hostton, ether_line, ether_ntoa_r, ether_aton_r - Ethernet address manipulation routines
fr: ether_aton, ether_ntoa, ether_ntohost, ether_hosttonn, ether_line, ether_ntoa_r, ether_aton_r - Routines de manipulation d'adresses Ethernet

note: type: Plain text
en: /* GNU extensions */
fr: /* Extensions GNU */

note: type: Plain text
en: B<ether_aton>()  converts the 48-bit Ethernet host address I<asc> from the standard hex-digits-and-colons notation into binary data in network byte order and returns a pointer to it in a statically allocated buffer, which subsequent calls will overwrite.  B<ether_aton>()  returns NULL if the address is invalid.
fr: B<ether_aton>() convertit une adresse d'hôte Ethernet sur 48-bits I<asc> de la notation «\ standard hexadécimal et séparateurs deux-points\ » en données binaire dans l'ordre des octets du réseau et renvoie un pointeur dans un tampon alloué de manière statique, que les appels ultérieurs écraseront. B<ether_aton>() renvoie NULL si l'adresse n’est pas valable.

note: type: Plain text
en: The B<ether_ntoa>()  function converts the Ethernet host address I<addr> given in network byte order to a string in standard hex-digits-and-colons notation, omitting leading zeros.  The string is returned in a statically allocated buffer, which subsequent calls will overwrite.
fr: La fonction B<ether_ntoa>() convertit l'adresse d'hôte Ethernet I<addr> dans l'ordre des octets du réseau en une chaîne dans la notation standard «\ hexadécimal et deux-points\ », en omettant les zéros en tête. La chaîne est renvoyée dans un tampon alloué statiquement, que les appels ultérieurs écraseront.

note: type: Plain text
en: The B<ether_ntohost>()  function maps an Ethernet address to the corresponding hostname in I</etc/ethers> and returns nonzero if it cannot be found.
fr: La fonction B<ether_ntohost>() met en correspondance une adresse Ethernet avec un nom d'hôte trouvé dans I</etc/ethers> et renvoie une valeur non nulle si elle ne trouve rien.

note: type: Plain text
en: The B<ether_hostton>()  function maps a hostname to the corresponding Ethernet address in I</etc/ethers> and returns nonzero if it cannot be found.
fr: La fonction B<ether_hostton>() met en correspondance un nom d'hôte et une adresse Ethernet de I</etc/ethers> et renvoie une valeur non nulle si elle ne trouve aucune correspondance.

note: type: Plain text
en: The B<ether_line>()  function parses a line in I</etc/ethers> format (ethernet address followed by whitespace followed by hostname; \(aq#\(aq introduces a comment) and returns an address and hostname pair, or nonzero if it cannot be parsed.  The buffer pointed to by I<hostname> must be sufficiently long, for example, have the same length as I<line>.
fr: La fonction B<ether_line>() examine une ligne dans le format de I</etc/ethers> (adresse Ethernet suivi de blancs et d'un nom d'hôte\ ; «\ #\ » introduit un commentaire) et renvoie une paire adresse et nom d'hôte, ou une valeur non nulle si le fichier ne peut être lu. Le tampon pointé par I<hostname> doit être assez grand, par exemple avoir la même longueur que la ligne I<line>.

note: type: Plain text
en: The functions B<ether_ntoa_r>()  and B<ether_aton_r>()  are reentrant thread-safe versions of B<ether_ntoa>()  and B<ether_aton>()  respectively, and do not use static buffers.
fr: Les fonctions B<ether_ntoa_r>() et B<ether_aton_r>() sont les versions réentrantes et multithread sûres de B<ether_ntoa>() et B<ether_aton>() respectivement, et n'utilisent pas de tampons statiques.

note: type: Plain text
en: The structure I<ether_addr> is defined in I<E<lt>net/ethernet.hE<gt>> as:
fr: La structure I<ether_addr> est définie dans I<E<lt>net/ethernet.hE<gt>> ainsi\ :

note: type: Plain text
en: The B<ether_aton>()  and B<ether_ntoa>()  functions are not thread-safe.
fr: Les fonctions B<ether_aton>() et B<ether_ntoa>() ne sont pas sûres dans un contexte multithread.

note: type: Plain text
en: The B<ether_ntohost>(), B<ether_hostton>(), B<ether_line>(), B<ether_ntoa_r>()  and B<ether_aton_r>()  functions are thread-safe.
fr: Les fonctions B<ether_ntohost>(), B<ether_hostton>(), B<ether_line>(), B<ether_ntoa_r>() et B<ether_aton_r>() sont sûres dans un contexte multithread.

note: type: Plain text
en: The glibc 2.2.5 implementation of B<ether_line>()  is broken.
fr: L'implémentation de B<ether_line>() dans la glibc 2.2.5 est erronée.

note: type: TH
en: 2013-02-13
fr: 13 février 2013

note: type: Plain text
en: gai.conf - getaddrinfo(3) configuration file
fr: gai.conf - Fichier de configuration pour getaddrinfo(3)

note: type: Plain text
en: A call to B<getaddrinfo>(3)  might return multiple answers.  According to RFC\ 3484 these answers must be sorted so that the answer with the highest success rate is first in the list.  The RFC provides an algorithm for the sorting.  The static rules are not always adequate, though.  For this reason, the RFC also requires that system administrators should have the possibility to dynamically change the sorting.  For the glibc implementation, this can be achieved with the I</etc/gai.conf> file.
fr: Un appel à B<getaddrinfo>(3) peut renvoyer plusieurs réponses. D'après la RFC\ 3484, ces réponses doivent être triées de telle sorte que celles possédant une plus grande probabilité de succès apparaissent en premier dans la liste. La RFC fournit un algorithme pour le tri. Mais les règles statiques ne sont pas toujours adéquates. Pour cette raison, la RFC demande également à ce que les administrateurs système aient une chance de modifier dynamiquement le tri. Pour l'implémentation de la glibc, cela peut être fait avec le fichier B</etc/gai.conf>.

note: type: Plain text
en: Each line in the configuration file consists of a keyword and its parameters.  White spaces in any place are ignored.  Lines starting with \(aq#\(aq are comments and are ignored.
fr: Chaque ligne du fichier de configuration consiste en un mot clé et ses paramètres. Les espaces sont ignorés. Les lignes qui commencent par un « # » sont des commentaires et sont ignorés.

note: type: Plain text
en: The keywords currently recognized are:
fr: Les mots clés reconnus à l'heure actuelle sont :

note: type: TP
en: B<label> I<netmask> I<precedence>
fr: B<label> I<masque_réseau> I<priorité>

note: type: Plain text
en: The value is added to the label table used in the RFC\ 3484 sorting.  If any B<label> definition is present in the configuration file is present, the default table is not used.  All the label definitions of the default table which are to be maintained have to be duplicated.  Following the keyword, the line has to contain a network mask and a label value.
fr: La valeur est ajoutée à la table des étiquettes utilisée par le tri de la RFC\ 3484. Si une définition de type B<label> est présente dans le fichier de configuration, la table par défaut n'est pas utilisée. Toutes les définitions des étiquettes de la table par défaut qui doivent être conservées doivent être dupliquées. Après le mot clé, un masque réseau et la priorité doivent suivre sur la ligne.

note: type: TP
en: B<precedence> I<netmask> I<precedence>
fr: B<precedence> I<masque_réseau> I<priorité>

note: type: Plain text
en: This keyword is similar to B<label>, but instead the value is added to the precedence table as specified in RFC\ 3484.  Once again, the presence of a single B<precedence> line in the configuration file causes the default table to not be used.
fr: Ce mot clé est similaire à B<label> mais la valeur est ajoutée à la table des priorités (« precedence ») spécifiée dans la RFC\ 3484. De même, la définition de B<precedence> dans le fichier de configuration fera que la table par défaut ne sera pas utilisée.

note: type: Plain text
en: This keyword controls whether a process checks whether the configuration file has been changed since the last time it was read.  If the value is "B<yes>", the file is reread.  This might cause problems in multithreaded applications and is generally a bad idea.  The default is "B<no>".
fr: Ce mot clé permet de vérifier si le fichier de configuration a été modifié depuis sa dernière lecture. Si la valeur est « B<yes> », le fichier sera relu. Cela peut causer des problèmes dans les applications multithreads et est généralement une mauvaise idée. La valeur par défaut est « B<no> ».

note: type: TP
en: B<scopev4> I<mask> I<value>
fr: B<scopev4> I<masque> I<valeur>

note: type: Plain text
en: Add another rule to the RFC\ 3484 scope table for IPv4 address.  By default, the scope IDs described in section 3.2 in RFC\ 3438 are used.  Changing these defaults should hardly ever be necessary.
fr: Ajouter une autre règle à la table de scope RFC\ 3484 pour les adresses IPv4. Par défaut les identifiants de scope décrits en section 3.2 de la RFC\ 3438 sont utilisés. La modification de ces valeurs par défaut ne devrait guère être nécessaire

note: type: SH
en: FILES
fr: FICHIERS

note: type: Plain text
en: The default table according to RFC\ 3484 would be specified with the following configuration file:
fr: La table par défaut d'après la RFC\ 3484 correspond au fichier de configuration suivant :

note: type: TH
en: 2014-04-06
fr: 6 avril 2014

note: type: Plain text
en: getaddrinfo, freeaddrinfo, gai_strerror - network address and service translation
fr: getaddrinfo, freeaddrinfo, gai_strerror - Traduction d'adresses et de services réseau

note: type: Plain text
en: Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):
fr: Exigences de macros de test de fonctionnalités pour la glibc (consultez B<feature_test_macros>(7)) :

note: type: Plain text
en: B<getaddrinfo>(), B<freeaddrinfo>(), B<gai_strerror>():
fr: B<getaddrinfo>(), B<freeaddrinfo>(), B<gai_strerror>() :

note: .BR getipnodebyname (3), .BR getipnodebyaddr (3), type: Plain text
en: Given I<node> and I<service>, which identify an Internet host and a service, B<getaddrinfo>()  returns one or more I<addrinfo> structures, each of which contains an Internet address that can be specified in a call to B<bind>(2)  or B<connect>(2).  The B<getaddrinfo>()  function combines the functionality provided by the B<gethostbyname>(3)  and B<getservbyname>(3)  functions into a single interface, but unlike the latter functions, B<getaddrinfo>()  is reentrant and allows programs to eliminate IPv4-versus-IPv6 dependencies.
fr: Étant donnés I<node> et I<service>, qui identifient un hôte Internet et un service, B<getaddrinfo>() renvoie une ou plusieurs structure I<addrinfo>, chacune d'entre elles contenant une adresse Internet qui puisse être indiquée dans un appel à B<bind>(2) ou B<connect>(2). La fonction B<getaddrinfo>() combine la fonctionnalité fournie par les fonctions B<gethostbyname>(3) et B<getservbyname>(3) en une interface unique, mais à l'inverse de ces fonctions, B<getaddrinfo>() est réentrante et permet aux programmes d'éliminer la dépendance envers IPv4 ou IPv6.

note: type: Plain text
en: The I<addrinfo> structure used by B<getaddrinfo>()  contains the following fields:
fr: La structure I<addrinfo> utilisée par B<getaddrinfo>() contient les membres suivants\ :

note: type: Plain text
en: The I<hints> argument points to an I<addrinfo> structure that specifies criteria for selecting the socket address structures returned in the list pointed to by I<res>.  If I<hints> is not NULL it points to an I<addrinfo> structure whose I<ai_family>, I<ai_socktype>, and I<ai_protocol> specify criteria that limit the set of socket addresses returned by B<getaddrinfo>(), as follows:
fr: Le paramètre I<hints> pointe sur une structure I<addrinfo> qui indique les critères de sélection des structures d'adresses de sockets renvoyées dans la liste pointée par I<res>. Si I<hints> n'est pas NULL, il doit pointer sur une structure I<addrinfo> dont les membres I<ai_family>, I<ai_socktype>, et I<ai_protocol> indiquent les critères limitant l'ensemble d'adresses de sockets renvoyées par B<getaddrinfo>(), de la façon suivante :

note: type: Plain text
en: This field specifies the desired address family for the returned addresses.  Valid values for this field include B<AF_INET> and B<AF_INET6>.  The value B<AF_UNSPEC> indicates that B<getaddrinfo>()  should return socket addresses for any address family (either IPv4 or IPv6, for example) that can be used with I<node> and I<service>.
fr: Ce champ indique la famille d'adresse désirée des adresses renvoyées. B<AF_INET> et B<AF_INET6> font partie des valeurs valables pour ce champ. La valeur B<AF_UNSPEC> indique que B<getaddrinfo>() doit renvoyer les adresses de socket de n'importe quelle famille d'adresses (par exemple, IPv4 ou IPv6) pouvant être utilisées avec I<node> et I<service>.

note: type: Plain text
en: This field specifies the preferred socket type, for example B<SOCK_STREAM> or B<SOCK_DGRAM>.  Specifying 0 in this field indicates that socket addresses of any type can be returned by B<getaddrinfo>().
fr: Ce champ indique le type préféré de socket, par exemple B<SOCK_STREAM> ou B<SOCK_DGRAM>. Mettre 0 dans ce champ indique que B<getaddrinfo>() peut renvoyer n'importe quel type d'adresse de socket.

note: type: Plain text
en: This field specifies the protocol for the returned socket addresses.  Specifying 0 in this field indicates that socket addresses with any protocol can be returned by B<getaddrinfo>().
fr: Ce champ indique le protocole des adresses de socket renvoyées. Mettre 0 dans ce champ indique que B<getaddrinfo>() peut renvoyer des adresses de socket de n'importe quel type.

note: type: Plain text
en: This field specifies additional options, described below.  Multiple flags are specified by bitwise OR-ing them together.
fr: Ce champ indique des options supplémentaires, décrites ci-dessous. Plusieurs attributs peuvent être indiqués en les groupant par un OU binaire.

note: type: Plain text
en: All the other fields in the structure pointed to by I<hints> must contain either 0 or a null pointer, as appropriate.
fr: Tous les autres membres de la structure pointée par I<hints> doivent contenir 0 ou être des pointeurs NULL.

note: type: Plain text
en: Specifying I<hints> as NULL is equivalent to setting I<ai_socktype> and I<ai_protocol> to 0; I<ai_family> to B<AF_UNSPEC>; and I<ai_flags> to B<(AI_V4MAPPED\ |\ AI_ADDRCONFIG)>.  (POSIX specifies different defaults for I<ai_flags>; see NOTES.)  I<node> specifies either a numerical network address (for IPv4, numbers-and-dots notation as supported by B<inet_aton>(3); for IPv6, hexadecimal string format as supported by B<inet_pton>(3)), or a network hostname, whose network addresses are looked up and resolved.  If I<hints.ai_flags> contains the B<AI_NUMERICHOST> flag, then I<node> must be a numerical network address.  The B<AI_NUMERICHOST> flag suppresses any potentially lengthy network host address lookups.
fr: Spécifier I<hints> à NULL est équivalent à définir I<ai_socktype> et I<ai_protocol> à 0, I<ai_family> à B<AF_UNSPEC> et I<ai_flags> à B<(AI_V4MAPPED\ |\ AI_ADDRCONFIG)>. (POSIX spécifie d'autres valeurs par défaut pour I<ai_flags> ; consultez les NOTES.) I<node> indique soit une adresse réseau en format numérique (décimal pointé pour l'IPv4, comme prise en charge par B<inet_aton>(3) ; hexadécimal pour l'IPv6, comme prise en charge par B<inet_pton>(3)), soit un nom d'hôte, dont l'adresse réseau est alors résolue. Si le membre I<hints.ai_flags> contient l'attribut B<AI_NUMERICHOST> alors I<node> devra être une adresse réseau numérique. L'attribut B<AI_NUMERICHOST> empêche toute tentative, éventuellement longue, de résolution de nom d'hôte.

note: type: Plain text
en: If the B<AI_PASSIVE> flag is specified in I<hints.ai_flags>, and I<node> is NULL, then the returned socket addresses will be suitable for B<bind>(2)ing a socket that will B<accept>(2)  connections.  The returned socket address will contain the "wildcard address" (B<INADDR_ANY> for IPv4 addresses, B<IN6ADDR_ANY_INIT> for IPv6 address).  The wildcard address is used by applications (typically servers)  that intend to accept connections on any of the hosts's network addresses.  If I<node> is not NULL, then the B<AI_PASSIVE> flag is ignored.
fr: Si l'attribut B<AI_PASSIVE> est indiqué dans I<hints.ai_flags>, et si I<node> est NULL, les adresses de socket renvoyées seront pertinentes pour lier (B<bind>(2)) une socket qui acceptera (B<accept>(2)) les connexions. Les adresses de socket renvoyées contiendront l'« adresse joker » (wildcard adress) (B<INADDR_ANY> pour les adresses IPv4, B<IN6ADDR_ANY_INIT> pour les adresses IPv6). L'« adresse joker » est utilisée par des applications (typiquement des serveurs) qui ont l'intention d'accepter des connexions de n'importe quel hôte. Si I<node> n'est pas NULL, l'attribut B<AI_PASSIVE> est ignoré.

note: type: Plain text
en: If the B<AI_PASSIVE> flag is not set in I<hints.ai_flags>, then the returned socket addresses will be suitable for use with B<connect>(2), B<sendto>(2), or B<sendmsg>(2).  If I<node> is NULL, then the network address will be set to the loopback interface address (B<INADDR_LOOPBACK> for IPv4 addresses, B<IN6ADDR_LOOPBACK_INIT> for IPv6 address); this is used by applications that intend to communicate with peers running on the same host.
fr: Si l'attribut B<AI_PASSIVE> n'est pas positionné dans I<hints.ai_flags>, les adresses de socket renvoyées seront pertinentes pour être utilisées avec B<connect>(2), B<sendto>(2) ou B<sendmsg>(2). Si I<node> est NULL, l'adresse réseau sera définie avec l'adresse de l'interface de boucle (loopback) (B<INADDR_LOOPBACK> pour les adresses IPv4, B<IN6ADDR_LOOPBACK_INIT> pour les adresses IPv6) ; cela est utilisé par les applications qui doivent communiquer avec des correspondants s'exécutant sur la même machine.

note: type: Plain text
en: I<service> sets the port in each returned address structure.  If this argument is a service name (see B<services>(5)), it is translated to the corresponding port number.  This argument can also be specified as a decimal number, which is simply converted to binary.  If I<service> is NULL, then the port number of the returned socket addresses will be left uninitialized.  If B<AI_NUMERICSERV> is specified in I<hints.ai_flags> and I<service> is not NULL, then I<service> must point to a string containing a numeric port number.  This flag is used to inhibit the invocation of a name resolution service in cases where it is known not to be required.
fr: I<service> définit le port dans chacune des structures d'adresses renvoyées. Si cet argument est un nom de service (consultez B<services>(5)), il est convertit en son numéro de port correspondant. Cet argument peut également être indiqué sous forme décimale, qui est simplement converti en binaire. Si I<service> est NULL, le numéro de port des adresses de socket renvoyées n'est pas initialisé. Si B<AI_NUMERICSERV> est indiqué dans I<hints.ai_flags> et si I<service> n'est pas NULL, I<service> doit pointer vers une chaîne contenant une valeur numérique de port. Cet attribut est utilisé pour inhiber l'invocation du service de résolution des noms dans les cas où l'on sait qu'il n'est pas nécessaire.

note: type: Plain text
en: Either I<node> or I<service>, but not both, may be NULL.
fr: I<node> ou I<service> peuvent être NULL, mais pas les deux à la fois.

note: type: Plain text
en: The B<getaddrinfo>()  function allocates and initializes a linked list of I<addrinfo> structures, one for each network address that matches I<node> and I<service>, subject to any restrictions imposed by I<hints>, and returns a pointer to the start of the list in I<res>.  The items in the linked list are linked by the I<ai_next> field.
fr: La fonction B<getaddrinfo>() alloue et initialise une liste chaînée de structures I<addrinfo>, une pour chaque adresse réseau correspondant à I<node> et I<service>, soumise aux restrictions imposées par l'argument I<hints>, et renvoie dans I<res> un pointeur sur le début de la liste. Les éléments de la liste sont chaînés par le champ I<ai_next>.

note: type: Plain text
en: There are several reasons why the linked list may have more than one I<addrinfo> structure, including: the network host is multihomed, accessible over multiple protocols (e.g., both B<AF_INET> and B<AF_INET6>); or the same service is available from multiple socket types (one B<SOCK_STREAM> address and another B<SOCK_DGRAM> address, for example).  Normally, the application should try using the addresses in the order in which they are returned.  The sorting function used within B<getaddrinfo>()  is defined in RFC\ 3484; the order can be tweaked for a particular system by editing I</etc/gai.conf> (available since glibc 2.5).
fr: Il y a plusieurs raisons pour lesquelles la liste chaînée peut avoir plus d'une structure I<addrinfo>\ : l'hôte réseau est « multihomed » ; le même service est accessible depuis plusieurs protocoles (par exemple B<AF_INET> et B<AF_INET6>) ou accessible depuis plusieurs types de socket (par exemple une adresse de type B<SOCK_STREAM> et une autre de type B<SOCK_DGRAM>). Normalement, l'application essaie d'utiliser les adresses dans l'ordre où elles sont renvoyées. La fonction de tri utilisée dans B<getaddrinfo>() est définie dans la RFC\ 3484\ ; le tri peut être configuré pour un système particulier avec le fichier I</etc/gai.conf> (disponible depuis la glibc\ 2.5).

note: In glibc prior to 2.3.4, the ai_canonname of each addrinfo structure was set pointing to the canonical name; that was more than POSIX.1-2001 specified, or other implementations provided. MTK, Aug 05 type: Plain text
en: If I<hints.ai_flags> includes the B<AI_CANONNAME> flag, then the I<ai_canonname> field of the first of the I<addrinfo> structures in the returned list is set to point to the official name of the host.
fr: Si I<hints.ai_flags> contient l'attribut B<AI_CANONNAME>, le champ I<ai_canonname> de la première structure I<addrinfo> de la liste renvoyée est défini pour pointer vers le nom officiel de l'hôte.

note: type: Plain text
en: The remaining fields of each returned I<addrinfo> structure are initialized as follows:
fr: Les champs restants de chaque structure I<addrinfo> renvoyée sont initialisés de la façon suivante :

note: type: Plain text
en: The I<ai_family>, I<ai_socktype>, and I<ai_protocol> fields return the socket creation parameters (i.e., these fields have the same meaning as the corresponding arguments of B<socket>(2)).  For example, I<ai_family> might return B<AF_INET> or B<AF_INET6>; I<ai_socktype> might return B<SOCK_DGRAM> or B<SOCK_STREAM>; and I<ai_protocol> returns the protocol for the socket.
fr: Les champs I<ai_family>, I<ai_socktype> et I<ai_protocol> renvoient les paramètres de création de la socket (c'est-à-dire que ces champs ont la même signification que les paramètres correspondants de B<socket>(2)). Par exemple, I<ai_family> pourrait renvoyer B<AF_INET> ou B<AF_INET6> ; I<ai_socktype> pourrait renvoyer B<SOCK_DGRAM> ou B<SOCK_STREAM> ; et I<ai_protocol> renvoie le protocole de la socket.

note: type: Plain text
en: A pointer to the socket address is placed in the I<ai_addr> field, and the length of the socket address, in bytes, is placed in the I<ai_addrlen> field.
fr: Un pointeur vers l'adresse de la socket est placé dans le champ I<ai_addr>, et la longueur de l'adresse de la socket, en octets, est inscrite dans le champ I<ai_addrlen> de la structure.

note: type: Plain text
en: If I<hints.ai_flags> includes the B<AI_ADDRCONFIG> flag, then IPv4 addresses are returned in the list pointed to by I<res> only if the local system has at least one IPv4 address configured, and IPv6 addresses are returned only if the local system has at least one IPv6 address configured.  The loopback address is not considered for this case as valid as a configured address.  This flag is useful on, for example, IPv4-only systems, to ensure that B<getaddrinfo>()  does not return IPv6 socket addresses that would always fail in B<connect>(2)  or B<bind>(2).
fr: Si I<hints.ai_flags> inclut l'attribut B<AI_ADDRCONFIG>, alors des adresses IPv4 sont renvoyées dans la liste pointée par I<res> seulement si le système local possède au moins une adresse IPv4 configurée. Des adresses IPv6 sont seulement renvoyées si le système local possède au moins une adresse IPv6 configurée. Dans ce cas, l'adresse de boucle n'est pas considérée comme une adresse configurée valable. Cet attribut est par exemple utile sur les systèmes uniquement en IPv4, pour s’assurer que B<getaddrinfo>() ne renvoie pas d’adresse de socket IPv6 qui échouerait toujours dans B<connect>(2) ou B<bind>(2).

note: type: Plain text
en: If I<hints.ai_flags> specifies the B<AI_V4MAPPED> flag, and I<hints.ai_family> was specified as B<AF_INET6>, and no matching IPv6 addresses could be found, then return IPv4-mapped IPv6 addresses in the list pointed to by I<res>.  If both B<AI_V4MAPPED> and B<AI_ALL> are specified in I<hints.ai_flags>, then return both IPv6 and IPv4-mapped IPv6 addresses in the list pointed to by I<res>.  B<AI_ALL> is ignored if B<AI_V4MAPPED> is not also specified.
fr: Si I<hints.ai_flags> indique le drapeau B<AI_V4MAPPED>, et si I<hints.ai_family> a été indiqué avec B<AF_INET6> et qu'aucune adresse IPv6 correspondante n'a pu être trouvée, alors des adresses IPv4 au format IPv6 sont renvoyées dans la liste pointée par I<res>. Si B<AI_V4MAPPED> et B<AI_ALL> sont indiqués dans I<hints.ai_flags>, des adresses IPv6 et des adresses IPv4 au format IPv6 sont renvoyées dans la liste pointée par I<res>. B<AI_ALL> est ignoré si B<AI_V4MAPPED> n'est pas aussi indiqué.

note: type: Plain text
en: The B<freeaddrinfo>()  function frees the memory that was allocated for the dynamically allocated linked list I<res>.
fr: La fonction B<freeaddrinfo>() libère la mémoire qui a été allouée dynamiquement pour la liste chaînée I<res>.

note: type: SS
en: Extensions to getaddrinfo() for Internationalized Domain Names
fr: Extensions de getaddrinfo() pour les noms de domaines internationalisés

note: type: Plain text
en: Starting with glibc 2.3.4, B<getaddrinfo>()  has been extended to selectively allow the incoming and outgoing hostnames to be transparently converted to and from the Internationalized Domain Name (IDN) format (see RFC 3490, I<Internationalizing Domain Names in Applications (IDNA)>).  Four new flags are defined:
fr: Depuis la glibc\ 2.3.4, B<getaddrinfo>() a été modifié pour sélectivement permettre que les noms d'hôtes entrant et sortant soient convertis vers ou depuis le format des noms de domaines internationalisés (IDN). Consultez la RFC\ 3490, I<Internationalizing Domain Names in Applications (IDNA)>. Quatre nouveaux attributs ont été ajoutés\ :

note: type: Plain text
en: If this flag is specified, then the node name given in I<node> is converted to IDN format if necessary.  The source encoding is that of the current locale.
fr: Si cet attribut est défini, alors le nom du nœud contenu dans I<node> est converti dans le format IDN si nécessaire. Le format d'encodage choisi est celui de la locale du système.

note: Implementation Detail: To minimize effects on system performance the implementation might want to check whether the input string contains any non-ASCII characters.  If there are none the IDN step can be skipped completely. On systems which allow not-ASCII safe encodings for a locale this might be a 
en: If the input name contains non-ASCII characters, then the IDN encoding is used.  Those parts of the node name (delimited by dots) that contain non-ASCII characters are encoded using ASCII Compatible Encoding (ACE)  before being passed to the name resolution functions.
fr: Si le nom du nœud contient des caractères non ASCII, alors le format IDN est utilisé. Ces parties du nom du nœud (séparées par des points) qui contiennent des caractères non ASCI sont encodées avec «\ ASCII Compatible Encoding (ACE)\ » avant d'être transférées aux fonctions de résolution de noms.

note: type: Plain text
en: After a successful name lookup, and if the B<AI_CANONNAME> flag was specified, B<getaddrinfo>()  will return the canonical name of the node corresponding to the I<addrinfo> structure value passed back.  The return value is an exact copy of the value returned by the name resolution function.
fr: À la suite d'une résolution de nom réussie et si B<AI_CANONNAME> a été indiqué, B<getaddrinfo>() retournera le nom canonique du nœud correspondant à la valeur de la structure I<addrinfo> passée. La valeur renvoyée est une copie exacte de la valeur retournée par la fonction de résolution de noms.

note: Implementation Detail: If no component of the returned name starts with xn\-\- the IDN step can be skipped, therefore avoiding unnecessary slowdowns. type: Plain text
en: If the name is encoded using ACE, then it will contain the I<xn--> prefix for one or more components of the name.  To convert these components into a readable form the B<AI_CANONIDN> flag can be passed in addition to B<AI_CANONNAME>.  The resulting string is encoded using the current locale's encoding.
fr: Si le nom est encodé avec ACE, alors une ou plusieurs composantes de son nom sont préfixées par I<xn-->. Pour convertir ces composantes dans un format lisible, l'attribut B<AI_CANONIDN> peut être utilisé en plus de B<AI_CANONNAME>. La chaîne résultante est encodée selon la locale du système.

note: type: Plain text
en: Setting these flags will enable the IDNA_ALLOW_UNASSIGNED (allow unassigned Unicode code points) and IDNA_USE_STD3_ASCII_RULES (check output to make sure it is a STD3 conforming hostname)  flags respectively to be used in the IDNA handling.
fr: Utiliser ces attributs permet d'activer respectivement les attributs «\ IDNA_ALLOW_UNASSIGNED\ » (permettre des caractères Unicode non assignés) et «\ IDNA_USE_STD3_ASCII_RULES\ » (vérifier la sortie pour être sûr que le nom d'hôte est conforme à STD3) utilisés dans la gestion de l'IDNA.

note: type: SH
en: RETURN VALUE
fr: VALEUR RENVOYÉE

note: FIXME glibc defines the following additional errors, some which can probably be returned by getaddrinfo(); they need to be documented. #ifdef __USE_GNU #define EAI_INPROGRESS  -100  /* Processing request in progress.  */ #define EAI_CANCELED    -101  /* Request canceled.  */ #define EAI_NOTCANCELED 
en: B<getaddrinfo>()  returns 0 if it succeeds, or one of the following nonzero error codes:
fr: B<getaddrinfo>() renvoie 0 si elle réussit, ou l'un des codes d'erreur non nuls suivants\ :

note: Not in SUSv3 type: Plain text
en: The specified network host does not have any network addresses in the requested address family.
fr: L'hôte indiqué n'a pas d'adresse dans la famille réseau demandée.

note: type: Plain text
en: The name server returned a temporary failure indication.  Try again later.
fr: Le serveur de noms a renvoyé une erreur temporaire. Réessayez plus tard.

note: type: Plain text
en: I<hints.ai_flags> contains invalid flags; or, I<hints.ai_flags> included B<AI_CANONNAME> and I<name> was NULL.
fr: I<hints.ai_flags> contient des drapeaux incorrects ; ou I<hints.ai_flags> inclut B<AI_CANONNAME> et I<name> est NULL.

note: type: Plain text
en: The name server returned a permanent failure indication.
fr: Le serveur de noms a renvoyé une erreur définitive.

note: type: Plain text
en: The requested address family is not supported.
fr: La famille d'adresse réclamée n'est pas supportée.

note: type: Plain text
en: Out of memory.
fr: Plus de mémoire disponible.

note: Not in SUSv3 type: Plain text
en: The specified network host exists, but does not have any network addresses defined.
fr: L'hôte existe mais n'a pas d'adresse réseau définie.

note: type: Plain text
en: The I<node> or I<service> is not known; or both I<node> and I<service> are NULL; or B<AI_NUMERICSERV> was specified in I<hints.ai_flags> and I<service> was not a numeric port-number string.
fr: I<node> ou I<service> sont inconnus ou ils sont tous les deux NULL\ ; ou B<AI_NUMERICSERV> a été indiqué dans I<hints.ai_flags> mais I<service> n'est pas un numéro de port.

note: type: Plain text
en: The requested service is not available for the requested socket type.  It may be available through another socket type.  For example, this error could occur if I<service> was "shell" (a service available only on stream sockets), and either I<hints.ai_protocol> was B<IPPROTO_UDP>, or I<hints.ai_socktype> was B<SOCK_DGRAM>; or the error could occur if I<service> was not NULL, and I<hints.ai_socktype> was B<SOCK_RAW> (a socket type that does not support the concept of services).
fr: Le service demandé n'est pas disponible pour le type de socket demandé. Il est probablement disponible avec un autre type de socket. Par exemple, cette erreur peut se produire si I<service> est «\ shell\ » (un service uniquement disponible avec les sockets de type flux), et soit si I<hints.ai_protocol> est égal à B<IPPROTO_UDP> ou soit si I<hints.ai_socktype> est égal à B<SOCK_DGRAM>. L'erreur peut aussi se produire si I<service> est non NULL et I<hints.ai_socktype> est égal à B<SOCK_RAW> (un type de socket qui ne gère pas le concept de service).

note: type: Plain text
en: The requested socket type is not supported.  This could occur, for example, if I<hints.ai_socktype> and I<hints.ai_protocol> are inconsistent (e.g., B<SOCK_DGRAM> and B<IPPROTO_TCP>, respectively).
fr: Le type de socket demandé n'est pas géré. Cela peut se produire, par exemple si I<hints.ai_socktype> et I<hints.ai_protocol> sont inconsistants (par exemple, B<SOCK_DGRAM> et B<IPPROTO_TCP>, respectivement).

note: type: Plain text
en: Other system error, check I<errno> for details.
fr: Autre erreur système, voir I<errno> pour plus de détails.

note: type: Plain text
en: The B<gai_strerror>()  function translates these error codes to a human readable string, suitable for error reporting.
fr: La fonction B<gai_strerror>() traduit ces codes d'erreur en une chaîne de caractères compréhensible, utilisable pour rendre compte du problème.

note: type: Plain text
en: POSIX.1-2001.  The B<getaddrinfo>()  function is documented in RFC\ 2553.
fr: POSIX.1-2001. La fonction B<getaddrinfo>() est documentée dans la RFC\ 2553.

note: type: Plain text
en: B<getaddrinfo>()  supports the I<address>B<%>I<scope-id> notation for specifying the IPv6 scope-ID.
fr: B<getaddrinfo>() gère la notation I<address>B<%>I<scope-id> pour indiquer l'identifiant scope de IPv6.

note: type: Plain text
en: B<AI_ADDRCONFIG>, B<AI_ALL>, and B<AI_V4MAPPED> are available since glibc 2.3.3.  B<AI_NUMERICSERV> is available since glibc 2.3.4.
fr: B<AI_ADDRCONFIG>, B<AI_ALL> et B<AI_V4MAPPED> sont disponibles depuis la glibc\ 2.3.3. B<AI_NUMERICSERV> est disponible depuis glibc\ 2.3.4.

note: type: Plain text
en: According to POSIX.1-2001, specifying I<hints> as NULL should cause I<ai_flags> to be assumed as 0.  The GNU C library instead assumes a value of B<(AI_V4MAPPED\ |\ AI_ADDRCONFIG)> for this case, since this value is considered an improvement on the specification.
fr: Selon POSIX.1-2001, définir I<hints> comme NULL devrait supposer que I<ai_flags> soit égal à 0. La bibliothèque C de GNU suppose à la place que I<ai_flags> est égal à B<(AI_V4MAPPED\ |\ AI_ADDRCONFIG)> dans ce cas, puisque cette valeur est considérée comme une amélioration de la spécification.

note: getnameinfo.3 refers to this example socket.2 refers to this example bind.2 refers to this example connect.2 refers to this example recvfrom.2 refers to this example sendto.2 refers to this example type: Plain text
en: The following programs demonstrate the use of B<getaddrinfo>(), B<gai_strerror>(), B<freeaddrinfo>(), and B<getnameinfo>(3).  The programs are an echo server and client for UDP datagrams.
fr: Le programme suivant explique l'utilisation de B<getaddrinfo>(), B<gai_strerror>(), B<freeaddrinfo>(), et B<getnameinfo>(3). Les programmes sont des clients et serveurs

note: type: SS
en: Server program
fr: Programme du serveur

note: type: SS
en: Client program
fr: Programme du client

note: type: TH
en: 2010-09-27
fr: 27 septembre 2010

note: type: Plain text
en: getaddrinfo_a, gai_suspend, gai_error, gai_cancel - asynchronous network address and service translation
fr: getaddrinfo_a, gai_suspend, gai_error, gai_cancel - Traduction asynchrone d'adresses et de services réseau

note: type: Plain text
en: B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */
    B<#include E<lt>netdb.hE<gt>>
fr: B<#define _GNU_SOURCE>         /* Consultez feature_test_macros(7) */
    B<#include E<lt>netdb.hE<gt>>

note: type: Plain text
en: Link with I<-lanl>.
fr: Effectuez l'édition des liens avec l'option I<-lanl>.

note: type: Plain text
en: The B<getaddrinfo_a>()  function performs the same task as B<getaddrinfo>(3), but allows multiple name look-ups to be performed asynchronously, with optional notification on completion of look-up operations.
fr: La fonction B<getaddrinfo_a>() effectue la même opération que B<getaddrinfo>(3), mais permet d'effectuer plusieurs résolutions de manière asynchrone et de recevoir une notification à chaque résolution effectuée.

note: type: Plain text
en: The I<mode> argument has one of the following values:
fr: Le champ I<mode> peut prendre une des valeurs suivantes\ :

note: type: Plain text
en: Perform the look-ups synchronously.  The call blocks until the look-ups have completed.
fr: Effectue les résolutions de manière synchrone. L'appel bloque tant que les résolutions ne sont pas terminées.

note: type: Plain text
en: Perform the look-ups asynchronously.  The call returns immediately, and the requests are resolved in the background.  See the discussion of the I<sevp> argument below.
fr: Effectue les résolutions de manière asynchrone. L'appel s'achève immédiatement et les requêtes sont résolues en arrière-plan. Consultez la description du paramètre I<sevp> ci-dessous.

note: type: Plain text
en: The array I<list> specifies the look-up requests to process.  The I<nitems> argument specifies the number of elements in I<list>.  The requested look-up operations are started in parallel.  NULL elements in I<list> are ignored.  Each request is described by a I<gaicb> structure, defined as follows:
fr: Le tableau I<list> indique les requêtes de recherche à traiter. Le paramètre I<nitems> indique le nombre d'éléments dans I<list>. Les opérations de recherche demandées sont lancées en parallèle. Les éléments égal à NULL de I<list> sont ignorés. Chaque requête est décrite par une structure I<gaicb> définie ci-dessous\ :

note: type: Plain text
en: The elements of this structure correspond to the arguments of B<getaddrinfo>(3).  Thus, I<ar_name> corresponds to the I<node> argument and I<ar_service> to the I<service> argument, identifying an Internet host and a service.  The I<ar_request> element corresponds to the I<hints> argument, specifying the criteria for selecting the returned socket address structures.  Finally, I<ar_result> corresponds to the I<res> argument; you do not need to initialize this element, it will be automatically set when the request is resolved.  The I<addrinfo> structure referenced by the last two elements is described in B<getaddrinfo>(3).
fr: Les éléments de cette structure correspondent aux paramètres de B<getaddrinfo>(3). Ainsi, I<ar_name> correspond au paramètre I<node> et I<ar_service> au paramètre I<service>, identifiant respectivement un hôte et un service Internet. L'élément I<ar_request> correspond au paramètre I<hints>, indiquant le critère de sélection des structures d'adresse de socket renvoyées. Enfin, I<ar_result> correspond au paramètre I<res>\ ; vous n'avez pas besoin d'initialiser ce paramètre, il sera automatiquement défini lorsque la requête sera résolue. La structure I<addrinfo> référencée par les deux derniers éléments est décrite dans B<getaddrinfo>(3).

note: type: Plain text
en: When I<mode> is specified as B<GAI_NOWAIT>, notifications about resolved requests can be obtained by employing the I<sigevent> structure pointed to by the I<sevp> argument.  For the definition and general details of this structure, see B<sigevent>(7).  The I<sevp-E<gt>sigev_notify> field can have the following values:
fr: Lorsque I<mode> est défini à B<GAI_NOWAIT>, les notifications des requêtes résolues peuvent être obtenues avec la structure I<sigevent> pointée par le paramètre I<sevp>. Pour la définition et les détails généraux de cette structure, consultez B<sigevent>(7). Le champ I<sevp-E<gt>sigev_notify> peut prendre l'une des valeurs suivantes\ :

note: type: Plain text
en: Don't provide any notification.
fr: Ne fournit pas de notification.

note: si_pid and si_uid are also set, to the values of the calling process, which doesn't provide useful information, so we'll skip mentioning it. type: Plain text
en: When a look-up completes, generate the signal I<sigev_signo> for the process.  See B<sigevent>(7)  for general details.  The I<si_code> field of the I<siginfo_t> structure will be set to B<SI_ASYNCNL>.
fr: Lorsqu'une recherche se termine, générer le signal I<sigev_signo> à destination du processus. Consultez B<sigevent>(7) pour plus de détails. Le champ I<si_code> de la structure I<siginfo_t> sera défini à B<SI_ASYNCNL>.

note: type: Plain text
en: When a look-up completes, invoke I<sigev_notify_function> as if it were the start function of a new thread.  See B<sigevent>(7)  for details.
fr: Lors d'une résolution, invoquer I<sigev_notify_function> comme si c'était la fonction de création d'un nouveau processus léger. Consultez B<sigevent>(7) pour plus détails.

note: type: Plain text
en: For B<SIGEV_SIGNAL> and B<SIGEV_THREAD>, it may be useful to point I<sevp-E<gt>sigev_value.sival_ptr> to I<list>.
fr: Pour B<SIGEV_SIGNAL> et B<SIGEV_THREAD>, il peut être utile de faire pointer I<sevp-E<gt>sigev_value.sival_ptr> vers I<list>.

note: type: Plain text
en: The B<gai_suspend>()  function suspends execution of the calling thread, waiting for the completion of one or more requests in the array I<list>.  The I<nitems> argument specifies the size of the array I<list>.  The call blocks until one of the following occurs:
fr: La fonction B<gai_suspend>() suspend l'exécution du processus léger appelant, attendant la fin d'une ou plusieurs requêtes du tableau I<list>. L'argument I<nitems> indique la taille du tableau I<list>. L'appel est bloquant tant que l'un des événements suivants ne se produisent :

note: type: Plain text
en: One or more of the operations in I<list> completes.
fr: Une ou plusieurs des opérations de I<list> se sont terminées.

note: type: Plain text
en: The call is interrupted by a signal that is caught.
fr: L'appel a été interrompu par un signal qui a été interrompu.

note: type: Plain text
en: The time interval specified in I<timeout> elapses.  This argument specifies a timeout in seconds plus nanoseconds (see B<nanosleep>(2)  for details of the I<timespec> structure).  If I<timeout> is NULL, then the call blocks indefinitely (until one of the events above occurs).
fr: L'intervalle de temps indiqué dans I<timeout> s'est écoulé. Ce paramètre indique un délai en seconds plus nanosecondes (consultez B<nanosleep>(2) pour plus de détails sur la structure I<timespec>). Si I<timeout> est NULL, alors l'appel est bloqué indéfiniment (à moins que l'un des événement ci-dessus se produisent).

note: type: Plain text
en: No explicit indication of which request was completed is given; you must determine which request(s) have completed by iterating with B<gai_error>()  over the list of requests.
fr: Aucune indication explicite sur la requête qui s'est terminée est fournie\ ; vous devez déterminer quelle requête s'est terminée en parcourant avec B<gai_error>() la liste des requête (il peut y avoir plusieurs requêtes).

note: type: Plain text
en: The B<gai_error>()  function returns the status of the request I<req>: either B<EAI_INPROGRESS> if the request was not completed yet, 0 if it was handled successfully, or an error code if the request could not be resolved.
fr: La fonction B<gai_error>() renvoie l'état de la requête I<req>\ : soit B<EAI_INPROGRESS> si la requête ne s'est pas encore terminée, soit 0 si elle s'est terminé correctement ou soit un code d'erreur si elle ne peut pas être résolue.

note: type: Plain text
en: The B<gai_cancel>()  function cancels the request I<req>.  If the request has been canceled successfully, the error status of the request will be set to B<EAI_CANCELLED> and normal asynchronous notification will be performed.  The request cannot be canceled if it is currently being processed; in that case, it will be handled as if B<gai_cancel>()  has never been called.  If I<req> is NULL, an attempt is made to cancel all outstanding requests that the process has made.
fr: La fonction B<gai_cancel>() annule la requête I<req>. Si la requête a été annulée avec succès, le statut d'erreur de la requête sera défini à B<EAI_CANCELLED> et un notification asynchrone normale sera exécutée. La requête ne peut pas être annulée si elle est en cours d'utilisation\ ; dans ce cas, elle continuera comme si B<gai_cancel>() n'avait jamais été appelée. Si I<req> est NULL, une tentative d'annulation de toutes les requêtes en cours que le processus a fait sera exécutée.

note: type: Plain text
en: The B<getaddrinfo_a>()  function returns 0 if all of the requests have been enqueued successfully, or one of the following nonzero error codes:
fr: La fonction B<getaddrinfo_a>() renvoie 0 si toutes les requêtes ont été mises en file d'attente avec succès, ou un des codes d'erreur non nuls suivants\ :

note: type: Plain text
en: The resources necessary to enqueue the look-up requests were not available.  The application may check the error status of each request to determine which ones failed.
fr: Les ressources nécessaires pour mettre en file d'attente les requêtes de recherche ne sont pas disponibles. L'application devrait vérifier le statut d'erreur de chaque requête pour déterminer laquelle a échoué.

note: type: Plain text
en: I<mode> is invalid.
fr: I<mode> est non valable.

note: type: Plain text
en: The B<gai_suspend>()  function returns 0 if at least one of the listed requests has been completed.  Otherwise, it returns one of the following nonzero error codes:
fr: La fonction B<gai_suspend>() renvoie 0 si au moins une des requêtes listées s'est terminée. Sinon, elle renvoie un des codes d'erreur non nuls suivants\ :

note: type: Plain text
en: The given timeout expired before any of the requests could be completed.
fr: Le délai d'attente a expiré avant que toute requête ne soit terminée.

note: type: Plain text
en: There were no actual requests given to the function.
fr: Il n'y a actuellement aucune requête fournie à la fonction.

note: type: Plain text
en: A signal has interrupted the function.  Note that this interruption might have been caused by signal notification of some completed look-up request.
fr: Un signal a interrompu la fonction. Notez que cette interruption pourrait avoir été causé par une notification de signal de fin de certaines requêtes de recherche.

note: type: Plain text
en: The B<gai_error>()  function can return B<EAI_INPROGRESS> for an unfinished look-up request, 0 for a successfully completed look-up (as described above), one of the error codes that could be returned by B<getaddrinfo>(3), or the error code B<EAI_CANCELLED> if the request has been canceled explicitly before it could be finished.
fr: La fonction B<gai_error>() peut renvoyer B<EAI_INPROGRESS> pour une requête de recherche non terminée, 0 pour une recherche terminée avec succès (cas décrit ci-dessus), un des codes d'erreur qui peut être renvoyé par B<getaddrinfo>(3), ou le code d'erreur B<EAI_CANCELLED> si la requête a été annulée explicitement avant quelle ne soit terminée.

note: type: Plain text
en: The B<gai_cancel>()  function can return one of these values:
fr: La fonction B<gai_cancel>() peut renvoyer une des valeurs suivantes :

note: type: Plain text
en: The request has been canceled successfully.
fr: La requête a été annulée avec succès.

note: type: Plain text
en: The request has not been canceled.
fr: La requête n'a pas été annulée.

note: type: Plain text
en: The request has already completed.
fr: La requête est déjà terminée.

note: type: Plain text
en: The B<gai_strerror>(3)  function translates these error codes to a human readable string, suitable for error reporting.
fr: La fonction B<gai_strerror>(3) traduit ces codes d'erreur en une chaîne de caractères compréhensible, utilisable pour rendre compte du problème.

note: type: Plain text
en: These functions are GNU extensions; they first appeared in glibc in version 2.2.3.
fr: Ces fonctions sont des extensions GNU. Elles ont été introduites dans la glibc dans sa version 2.1.1.

note: type: Plain text
en: The interface of B<getaddrinfo_a>()  was modeled after the B<lio_listio>(3)  interface.
fr: L'interface de B<getaddrinfo_a>() a été modifiée après l'interface B<lio_listio>(3).

note: type: Plain text
en: Two examples are provided: a simple example that resolves several requests in parallel synchronously, and a complex example showing some of the asynchronous capabilities.
fr: Deux exemples sont fournis\ : un simple exemple qui résout plusieurs requête en parallèle de façon synchrone et un exemple complexe montrant certaines des capacités asynchrones.

note: type: SS
en: Synchronous example
fr: Exemple synchrone

note: type: Plain text
en: The program below simply resolves several hostnames in parallel, giving a speed-up compared to resolving the hostnames sequentially using B<getaddrinfo>(3).  The program might be used like this:
fr: Le programme ci-dessous résout simplement plusieurs noms d'hôte en parallèle, améliorant le temps de résolution des noms d'hôtes comparé à des appels séquentiels à B<getaddrinfo>(3). Le programme peut être utilisé comme suit\ :

note: type: Plain text
en: Here is the program source code
fr: Voilà le code source du programme

note: type: SS
en: Asynchronous example
fr: Exemple asynchrone

note: type: Plain text
en: This example shows a simple interactive B<getaddrinfo_a>()  front-end.  The notification facility is not demonstrated.
fr: Cet exemple est une simple application interactive utilisant B<getaddrinfo_a>(). Les fonctionnalités de notification ne sont pas exploitées.

note: type: Plain text
en: An example session might look like this:
fr: Un exemple de session pourrait ressembler à ceci\ :

note: type: Plain text
en: The program source is as follows:
fr: Le code source du programme est\ :

note: type: TH
en: 2013-03-15
fr: 15 mars 2013

note: type: TH
en: User Commands
fr: Commandes de l'utilisateur

note: type: Plain text
en: getent - get entries from Name Service Switch libraries
fr: getent - Récupérer des entrées depuis les bibliothèques NSS

note: type: Plain text
en: B<getent> I<database> [I<key> ...]
fr: B<getent> I<base_de_données> [I<clé> ...]

note: type: Plain text
en: The B<getent> command displays entries from databases supported by the Name Service Switch libraries, which are configured in I</etc/nsswitch.conf>.  If one or more I<key> arguments are provided, then only the entries that match the supplied keys will be displayed.  Otherwise, if no I<key> is provided, all entries will be displayed (unless the database does not support enumeration).
fr: La commande B<getent> affiche les entrées des bases de données prises en charge par les bibliothèques du Name Service Switch (NSS), qui sont configurées dans I</etc/nsswitch.conf>. Si un ou plusieurs arguments I<clé> sont fournis, alors seules les entrées correspondantes aux clés fournies seront affichées. Sinon, si aucune I<clé> n'est fournie, toutes les entrées seront affichées (sauf si la base de données ne permet pas l'énumération).

note: type: Plain text
en: The I<database> may be any of those supported by the GNU C Library, listed below:
fr: La I<base_de_données> peut être n'importe laquelle des suivantes, prises en charge par la bibliothèque C de GNU.

note: type: Plain text
en: When no I<key> is provided, use B<sethostent>(3), B<gethostent>(3), and B<endhostent>(3)  to enumerate the hosts database.  This is identical to using B<hosts>.  When one or more I<key> arguments are provided, pass each I<key> in succession to B<getaddrinfo>(3)  with the address family B<AF_UNSPEC>, enumerating each socket address structure returned.
fr: Si aucune I<clé> n'est fournie, utiliser B<sethostent>(3), B<gethostent>(3) et B<endhostent>(3) pour énumérer la base de données d'hôtes. C'est identique à l'utilisation de B<hosts>. Si un ou plusieurs arguments I<clé> sont fournis, passer toutes les I<clé>s en enfilade à B<getaddrinfo>(3) avec la famille d'adresse B<AF_UNSPEC>, en énumérant chaque structure d'adresse de socket renvoyée.

note: type: Plain text
en: Same as B<ahosts>, but use the address family B<AF_INET>.
fr: Comme B<ahosts>, mais en utilisant la famille d'adresse B<AF_INET>.

note: type: Plain text
en: Same as B<ahosts>, but use the address family B<AF_INET6>.  The call to B<getaddrinfo>(3)  in this case includes the B<AI_V4MAPPED> flag.
fr: Comme B<ahosts>, mais en utilisant la famille d'adresse B<AF_INET6>. L'appel à B<getaddrinfo>(3) contient dans ce cas l'attribut B<AI_V4MAPPED>.

note: type: Plain text
en: When no I<key> is provided, use B<setaliasent>(3), B<getaliasent>(3), and B<endaliasent>(3)  to enumerate the aliases database.  When one or more I<key> arguments are provided, pass each I<key> in succession to B<getaliasbyname>(3)  and display the result.
fr: Si aucune I<clé> n'est fournie, utiliser B<setaliasent>(3), B<getaliasent>(3) et B<endaliasent>(3) pour énumérer la base de données d'alias. Si un ou plusieurs arguments I<clé> sont fournis, passer toutes les I<clé>s en enfilade à B<getaliasbyname>(3) et afficher le résultat.

note: type: Plain text
en: When one or more I<key> arguments are provided, pass each I<key> in succession to B<ether_aton>(3)  and B<ether_hostton>(3)  until a result is obtained, and display the result.  Enumeration is not supported on B<ethers>, so a I<key> must be provided.
fr: Si un ou plusieurs arguments I<clé> sont fournis, passer toutes les clés en enfilade à B<getaliasbyname>(3) et B<ether_hostton>(3) jusqu'à obtention d'un résultat, et l'afficher. L'énumération n'est pas possible avec B<ethers>, donc une I<clé> doit être fournie.

note: type: Plain text
en: When no I<key> is provided, use B<setgrent>(3), B<getgrent>(3), and B<endgrent>(3)  to enumerate the group database.  When one or more I<key> arguments are provided, pass each numeric I<key> to B<getgrgid>(3)  and each nonnumeric I<key> to B<getgrnam>(3)  and display the result.
fr: Si aucune I<clé> n'est fournie, utiliser B<setgrent>(3), B<getgrent>(3) et B<endgrent>(3) pour énumérer la base de données de groupe. Si un ou plusieurs arguments I<clé> sont fournis, passer toutes les I<clé>s numériques à B<getgrgid>(3) et toutes les I<clé>s non numériques à B<getgrnam>(3), et afficher le résultat.

note: type: Plain text
en: When no I<key> is provided, use B<setsgent>(3), B<getsgent>(3), and B<endsgent>(3)  to enumerate the gshadow database.  When one or more I<key> arguments are provided, pass each I<key> in succession to B<getsgnam>(3)  and display the result.
fr: Si aucune I<clé> n'est fournie, utiliser B<setsgent>(3), B<getsgent>(3) et B<endsgent>(3) pour énumérer la base de données gshadow. Si un ou plusieurs arguments I<clé> sont fournis, passer toutes les I<clé>s en enfilade à B<getsgnam>(3) et afficher le résultat.

note: type: Plain text
en: When no I<key> is provided, use B<sethostent>(3), B<gethostent>(3), and B<endhostent>(3)  to enumerate the hosts database.  When one or more I<key> arguments are provided, pass each I<key> to B<gethostbyaddr>(3)  or B<gethostbyname2>(3), depending on whether a call to B<inet_pton>(3)  indicates that the I<key> is an IPv6 or IPv4 address or not, and display the result.
fr: Si aucune I<clé> n'est fournie, utiliser B<sethostent>(3), B<gethostent>(3) et B<endhostent>(3) pour énumérer la base de données d'hôtes. Si un ou plusieurs arguments I<clé> sont fournis, passer toutes les I<clé>s à B<gethostbyaddr>(3) ou B<gethostbyname2>(3), suivant si un appel à B<inet_pton>(3) indique que la I<clé> est une adresse IPv6, IPv4 ou pas, et afficher le résultat.

note: type: Plain text
en: When one or more I<key> arguments are provided, pass each I<key> in succession to B<getgrouplist>(3)  and display the result.  Enumeration is not supported on B<initgroups>, so a I<key> must be provided.
fr: Si un ou plusieurs arguments I<clé> sont fournis, passer toutes les I<clé>s en enfilade à B<getgrouplist>(3) et afficher le résultat. L'énumération n'est pas possible avec B<initgroups>, donc une I<clé> doit être fournie.

note: type: Plain text
en: When one I<key> is provided, pass the I<key> to B<setnetgrent>(3)  and, using B<getnetgrent>(3)  display the resulting string triple (I<hostname>, I<username>, I<domainname>).  Alternatively, three I<keys> may be provided, which are interpreted as the I<hostname>, I<username> and I<domainname> to match to a netgroup name via B<innetgr>(3).  Enumeration is not supported on B<netgroup>, so either one or three I<keys> must be provided.
fr: Si une I<clé> est fournie, passer la I<clé> à B<setnetgrent>(3) et, en utilisant B<getnetgrent>(3), afficher le triplet chaîne résultat (I<nom_d_hôte>, I<identifiant>, I<nom_de_domaine>). Sinon, trois I<clé>s peuvent être fournies, interprétées comme I<nom_d_hôte>, I<identifiant> et I<nom_de_domaine> pour correspondre à un nom de groupe réseau à l'aide de B<innetgr>(3). L'énumération n'est pas possible avec B<netgroup>, donc soit une, soit trois I<clé>s doivent être fournies.

note: type: Plain text
en: When no I<key> is provided, use B<setnetent>(3), B<getnetent>(3), and B<endnetent>(3)  to enumerate the networks database.  When one or more I<key> arguments are provided, pass each numeric I<key> to B<getnetbyaddr>(3)  and each nonnumeric I<key> to B<getnetbyname>(3)  and display the result.
fr: Si aucune I<clé> n'est fournie, utiliser B<setnetent>(3), B<getnetent>(3) et B<endnetent>(3) pour énumérer la base de données de réseaux. Si un ou plusieurs arguments I<clé> sont fournis, passer toutes les I<clé>s numériques à B<getnetbyaddr>(3) et toutes les I<clé>s non numériques à B<getnetbyname>(3), et afficher le résultat.

note: type: Plain text
en: When no I<key> is provided, use B<setpwent>(3), B<getpwent>(3), and B<endpwent>(3)  to enumerate the passwd database.  When one or more I<key> arguments are provided, pass each numeric I<key> to B<getpwuid>(3)  and each nonnumeric I<key> to B<getpwnam>(3)  and display the result.
fr: Si aucune I<clé> n'est fournie, utiliser B<setpwent>(3), B<getpwent>(3) et B<endpwent>(3) pour énumérer la base de données de mot de passe. Si un ou plusieurs arguments I<clé> sont fournis, passer toutes les I<clé>s numériques à B<getpwuid>(3) et toutes les I<clé>s non numériques à B<getpwnam>(3), et afficher le résultat.

note: type: Plain text
en: When no I<key> is provided, use B<setprotoent>(3), B<getprotoent>(3), and B<endprotoent>(3)  to enumerate the protocols database.  When one or more I<key> arguments are provided, pass each numeric I<key> to B<getprotobynumber>(3)  and each nonnumeric I<key> to B<getprotobyname>(3)  and display the result.
fr: Si aucune I<clé> n'est fournie, utiliser B<setprotoent>(3), B<getprotoent>(3) et B<endprotoent>(3) pour énumérer la base de données de protocoles. Si un ou plusieurs arguments I<clé> sont fournis, passer toutes les I<clé>s numériques à B<getprotobynumber>(3) et toutes les I<clé>s non numériques à B<getprotobyname>(3), et afficher le résultat.

note: type: Plain text
en: When no I<key> is provided, use B<setrpcent>(3), B<getrpcent>(3), and B<endrpcent>(3)  to enumerate the rpc database.  When one or more I<key> arguments are provided, pass each numeric I<key> to B<getrpcbynumber>(3)  and each nonnumeric I<key> to B<getrpcbyname>(3)  and display the result.
fr: Si aucune I<clé> n'est fournie, utiliser B<setrpcent>(3), B<getrpcent>(3) et B<endrpcent>(3) pour énumérer la base de données RPC. Si un ou plusieurs arguments I<clé> sont fournis, passer toutes les I<clé>s numériques à B<getrpcbynumber>(3) et toutes les I<clé>s non numériques à B<getrpcbyname>(3), et afficher le résultat.

note: type: Plain text
en: When no I<key> is provided, use B<setservent>(3), B<getservent>(3), and B<endservent>(3)  to enumerate the services database.  When one or more I<key> arguments are provided, pass each numeric I<key> to B<getservbynumber>(3)  and each nonnumeric I<key> to B<getservbyname>(3)  and display the result.
fr: Si aucune I<clé> n'est fournie, utiliser B<setservent>(3), B<getservent>(3) et B<endservent>(3) pour énumérer la base de données de services. Si un ou plusieurs arguments I<clé> sont fournis, passer toutes les I<clé>s numériques à B<getservbynumber>(3) et toutes les I<clé>s non numériques à B<getservbyname>(3), et afficher le résultat.

note: type: Plain text
en: When no I<key> is provided, use B<setspent>(3), B<getspent>(3), and B<endspent>(3)  to enumerate the shadow database.  When one or more I<key> arguments are provided, pass each I<key> in succession to B<getspnam>(3)  and display the result.
fr: Si aucune I<clé> n'est fournie, utiliser B<setspent>(3), B<getspent>(3) et B<endspent>(3) pour énumérer la base de données de mots de passe cachés. Si un ou plusieurs arguments I<clé> sont fournis, passer toutes les I<clé>s en enfilade à B<getspnam>(3) et afficher le résultat.

note: type: SH
en: EXIT STATUS
fr: CODE DE RETOUR

note: type: Plain text
en: One of the following exit values can be returned by B<getent>:
fr: Un des codes de retour suivants peut être renvoyé par B<getent>.

note: type: Plain text
en: Command completed successfully.
fr: Commande terminée avec succès.

note: type: Plain text
en: Missing arguments, or I<database> unknown.
fr: Arguments manquants, ou I<base_de_données> inconnue.

note: type: Plain text
en: One or more supplied I<key> could not be found in the I<database>.
fr: Au moins une des I<clé>s fournie n'a pas été trouvée dans la I<base_de_données>.

note: type: Plain text
en: Enumeration not supported on this I<database>.
fr: Énumération impossible avec cette I<base_de_données>.

note: type: TH
en: 2014-03-11
fr: 11 mars 2014

note: type: Plain text
en: gethostbyname, gethostbyaddr, sethostent, gethostent, endhostent, h_errno, herror, hstrerror, gethostbyaddr_r, gethostbyname2, gethostbyname2_r, gethostbyname_r, gethostent_r - get network host entry
fr: gethostbyname, gethostbyaddr, sethostent, gethostent, endhostent, h_errno, herror, hstrerror, gethostbyaddr_r, gethostbyname2, gethostbyname2_r, gethostbyname_r, gethostent_r - Obtenir des informations concernant le réseau

note: type: Plain text
en: B<#include E<lt>sys/socket.hE<gt>>       /* for AF_INET */
    B<struct hostent *gethostbyaddr(const void *>I<addr>B<,>
    B<                              socklen_t >I<len>B<, int >I<type>B<);>
fr: B<#include E<lt>sys/socket.hE<gt>>       /* pour AF_INET */
    B<struct hostent *gethostbyaddr(const void *>I<addr>B<,>
    B<                              socklen_t >I<len>B<, int >I<type>B<);>

note: type: Plain text
en: /* System V/POSIX extension */
fr: /* Extension System V/POSIX */

note: type: Plain text
en: B<gethostbyname2>(), B<gethostent_r>(), B<gethostbyaddr_r>(), B<gethostbyname_r>(), B<gethostbyname2_r>():
fr: B<gethostbyname2>(), B<gethostent_r>(), B<gethostbyaddr_r>(), B<gethostbyname_r>(), B<gethostbyname2_r>() :

note: type: Plain text
en: B<herror>(), B<hstrerror>():
fr: B<herror>(), B<hstrerror>()\ :

note: type: TP
en: Since glibc 2.8:
fr: Depuis la glibc 2.8 :

note: type: TP
en: Before glibc 2.8:
fr: Avant la glibc 2.8 :

note: type: Plain text
en: none
fr: aucune

note: type: Plain text
en: B<h_errno>:
fr: B<h_errno> :

note: type: TP
en: Since glibc 2.12:
fr: Depuis la glibc 2.12 :

note: type: TP
en: Before glibc 2.12:
fr: Avant la glibc 2.12 :

note: type: Plain text
en: The B<gethostbyname*>(), B<gethostbyaddr*>(), B<herror>(), and B<hstrerror>()  functions are obsolete.  Applications should use B<getaddrinfo>(3), B<getnameinfo>(3), and B<gai_strerror>(3)  instead.
fr: B<gethostbyname*>(), B<gethostbyaddr*>(), B<herror>() et B<hstrerror>() sont déconseillées. Les applications devraient utiliser B<getaddrinfo>(3), B<getnameinfo>(3) et B<gai_strerror>(3) à la place.

note: type: Plain text
en: The B<gethostbyname>()  function returns a structure of type I<hostent> for the given host I<name>.  Here I<name> is either a hostname, or an IPv4 address in standard dot notation (as for B<inet_addr>(3)), or an IPv6 address in colon (and possibly dot) notation.  (See RFC\ 1884 for the description of IPv6 addresses.)  If I<name> is an IPv4 or IPv6 address, no lookup is performed and B<gethostbyname>()  simply copies I<name> into the I<h_name> field and its I<struct in_addr> equivalent into the I<h_addr_list[0]> field of the returned I<hostent> structure.  If I<name> doesn't end in a dot and the environment variable B<HOSTALIASES> is set, the alias file pointed to by B<HOSTALIASES> will first be searched for I<name> (see B<hostname>(7)  for the file format).  The current domain and its parents are searched unless I<name> ends in a dot.
fr: La fonction B<gethostbyname>() renvoie une structure de type I<hostent> pour l'hôte I<name>. La chaîne I<name> est soit un nom d'hôte, soit une adresse IPv4 en notation pointée standard (comme pour B<inet_addr>(3)), soit une adresse IPv6 avec la notation points-virgules et points (Cf RFC\ 1884 pour la description des adresses IPv6). Si I<name> est une adresse IPv4 ou IPv6, aucune recherche supplémentaire n'a lieu et B<gethostbyname>() copie simplement la chaîne I<name> dans le champ I<h_name> et le champ équivalent I<struct in_addr> dans le champ I<h_addr_list[0]> de la structure I<hostent> renvoyée. Si I<name> ne se termine pas par un point, et si la variable d'environnement B<HOSTALIASES> est configurée, le fichier d'alias pointé par B<HOSTALIASES> sera d'abord parcouru à la recherche de I<name> (consultez B<hostname>(7) pour le format du fichier). Le domaine courant et ses parents sont parcourus si I<name> ne se termine pas par un point.

note: type: Plain text
en: The B<gethostbyaddr>()  function returns a structure of type I<hostent> for the given host address I<addr> of length I<len> and address type I<type>.  Valid address types are B<AF_INET> and B<AF_INET6>.  The host address argument is a pointer to a struct of a type depending on the address type, for example a I<struct in_addr *> (probably obtained via a call to B<inet_addr>(3))  for address type B<AF_INET>.
fr: La fonction B<gethostbyaddr>() renvoie une structure du type I<hostent> pour l'hôte d'adresse I<addr>. Cette adresse est de longueur I<len> et du type I<type>. Les types d'adresse valables sont B<AF_INET> et B<AF_INET6>. L'argument adresse de l'hôte est un pointeur vers une structure de type dépendant du type de l'adresse, par exemple I<struct in_addr *> (probablement obtenu à l’aide d’un appel à B<inet_addr>(3)) pour une adresse de type B<AF_INET>.

note: type: Plain text
en: The B<sethostent>()  function specifies, if I<stayopen> is true (1), that a connected TCP socket should be used for the name server queries and that the connection should remain open during successive queries.  Otherwise, name server queries will use UDP datagrams.
fr: La fonction B<sethostent>() indique, si I<stayopen> est vrai (vaut 1), qu'une socket TCP connectée doit être utilisée pour interroger le serveur de noms et que la connexion doit rester ouverte durant les demandes successives. Sinon l'interrogation utilisera des datagrammes UDP.

note: type: Plain text
en: The B<endhostent>()  function ends the use of a TCP connection for name server queries.
fr: La fonction B<endhostent>() ferme la socket TCP connectée utilisée pour interroger le serveur de noms.

note: type: Plain text
en: The (obsolete)  B<herror>()  function prints the error message associated with the current value of I<h_errno> on I<stderr>.
fr: La fonction (obsolète) B<herror>() affiche le message d'erreur associé avec la valeur courante de I<h_errno> sur la sortie standard I<stderr>.

note: type: Plain text
en: The (obsolete)  B<hstrerror>()  function takes an error number (typically I<h_errno>) and returns the corresponding message string.
fr: La fonction (obsolète) B<hstrerror>() reçoit un numéro d'erreur en argument (typiquement I<h_errno>) et renvoie la chaîne de message d'erreur.

note: (See .BR resolv+ (8)). type: Plain text
en: The domain name queries carried out by B<gethostbyname>()  and B<gethostbyaddr>()  use a combination of any or all of the name server B<named>(8), a broken out line from I</etc/hosts>, and the Network Information Service (NIS or YP), depending upon the contents of the I<order> line in I</etc/host.conf>.  The default action is to query B<named>(8), followed by I</etc/hosts>.
fr: Les interrogations du serveur de noms effectuées par B<gethostbyname>() et B<gethostbyaddr>() utilisent les éléments suivants\ : le serveur de noms B<named>(8), les lignes de I</etc/hosts>, et l'annuaire Network Information Service (NIS ou YP), suivant le contenu de la ligne I<order> du fichier I</etc/host.conf>. L'action par défaut consiste à interroger B<named>(8), puis I</etc/hosts>.

note: type: Plain text
en: The I<hostent> structure is defined in I<E<lt>netdb.hE<gt>> as follows:
fr: La structure I<hostent> est définie ainsi dans I<E<lt>netdb.hE<gt>>\ :

note: type: Plain text
en: struct hostent {
        char  *h_name;            /* official name of host */
        char **h_aliases;         /* alias list */
        int    h_addrtype;        /* host address type */
        int    h_length;          /* length of address */
        char **h_addr_list;       /* list of addresses */
    }
    #define h_addr h_addr_list[0] /* for backward compatibility */
fr: struct hostent {
        char  *h_name;            /* Nom officiel de l'hôte */
        char **h_aliases;         /* Liste d'alias */
        int    h_addrtype;        /* Type d'adresse de l'hôte */
        int    h_length;          /* Longueur de l'adresse */
        char **h_addr_list;       /* Liste d'adresses */
    }
    #define h_addr h_addr_list[0] /* for backward compatibility */

note: type: Plain text
en: The members of the I<hostent> structure are:
fr: Les membres de la structure I<hostent> sont\ :

note: type: Plain text
en: The official name of the host.
fr: Nom officiel de l'hôte.

note: type: Plain text
en: An array of alternative names for the host, terminated by a null pointer.
fr: Un tableau, terminé par un pointeur NULL, d'alternatives au nom officiel de l'hôte.

note: type: Plain text
en: The type of address; always B<AF_INET> or B<AF_INET6> at present.
fr: Le type d'adresse\ : actuellement toujours B<AF_INET> ou B<AF_INET6>.

note: type: Plain text
en: The length of the address in bytes.
fr: La longueur, en octets, de l'adresse.

note: type: Plain text
en: An array of pointers to network addresses for the host (in network byte order), terminated by a null pointer.
fr: Un tableau, terminé par un pointeur NULL, d'adresses réseau pour l'hôte, avec l'ordre des octets du réseau.

note: type: Plain text
en: The first address in I<h_addr_list> for backward compatibility.
fr: La première adresse dans I<h_addr_list> pour respecter la compatibilité ascendante.

note: type: Plain text
en: The B<gethostbyname>()  and B<gethostbyaddr>()  functions return the I<hostent> structure or a null pointer if an error occurs.  On error, the I<h_errno> variable holds an error number.  When non-NULL, the return value may point at static data, see the notes below.
fr: Les fonctions B<gethostbyname>() et B<gethostbyaddr>() renvoient un pointeur vers la structure I<hostent>, ou un pointeur NULL si une erreur se produit, auquel cas I<h_errno> contient le code d'erreur. Lorsqu'elle n'est pas NULL, la valeur de retour peut pointer sur une donnée statique. Consultez les notes plus loin.

note: type: Plain text
en: The variable I<h_errno> can have the following values:
fr: La variable I<h_errno> peut prendre les valeurs suivantes\ :

note: type: Plain text
en: The specified host is unknown.
fr: L'hôte indiqué est inconnu.

note: type: TP
en: B<NO_ADDRESS> or B<NO_DATA>
fr: B<NO_ADDRESS> ou B<NO_DATA>

note: type: Plain text
en: The requested name is valid but does not have an IP address.
fr: Le nom est valable mais ne possède pas d'adresse IP.

note: type: Plain text
en: A nonrecoverable name server error occurred.
fr: Une erreur fatale du serveur de noms est survenue.

note: type: Plain text
en: A temporary error occurred on an authoritative name server.  Try again later.
fr: Une erreur temporaire d'un serveur de noms faisant autorité est survenue, essayez un peu plus tard.

note: type: Plain text
en: resolver configuration file
fr: Fichier de configuration de la résolution de noms.

note: type: Plain text
en: host database file
fr: Base de données des hôtes.

note: type: Plain text
en: name service switch configuration
fr: Configuration du service de noms.

note: type: Plain text
en: POSIX.1-2001 specifies B<gethostbyname>(), B<gethostbyaddr>(), B<sethostent>(), B<endhostent>(), B<gethostent>(), and I<h_errno>; B<gethostbyname>(), B<gethostbyaddr>(), and I<h_errno> are marked obsolescent in that standard.  POSIX.1-2008 removes the specifications of B<gethostbyname>(), B<gethostbyaddr>(), and I<h_errno>, recommending the use of B<getaddrinfo>(3)  and B<getnameinfo>(3)  instead.
fr: POSIX.1-2001 spécifie B<gethostbyname>(), B<gethostbyaddr>(), B<sethostent>(), B<endhostent>(), B<gethostent>() et I<h_errno>. B<gethostbyname>(), B<gethostbyaddr>(), et I<h_errno> sont marquées obsolètes dans ce standard. POSIX.1-2008 supprime les spécifications de B<gethostbyname>(), B<gethostbyaddr>() et I<h_errno> et recommande à la place l'utilisation de B<getaddrinfo>(3) et B<getnameinfo>(3).

note: type: Plain text
en: The functions B<gethostbyname>()  and B<gethostbyaddr>()  may return pointers to static data, which may be overwritten by later calls.  Copying the I<struct hostent> does not suffice, since it contains pointers; a deep copy is required.
fr: Les fonctions B<gethostbyname>() et B<gethostbyaddr>() peuvent renvoyer des pointeurs sur des données statiques susceptibles d'être écrasées d'un appel à l'autre. Copier la structure I<struct hostent> ne suffit pas car elle contient elle-même des pointeurs. Une copie en profondeur est indispensable.

note: type: Plain text
en: In the original BSD implementation the I<len> argument of B<gethostbyname>()  was an I<int>.  The SUSv2 standard is buggy and declares the I<len> argument of B<gethostbyaddr>()  to be of type I<size_t>.  (That is wrong, because it has to be I<int>, and I<size_t> is not.  POSIX.1-2001 makes it I<socklen_t>, which is OK.)  See also B<accept>(2).
fr: Dans l'implémentation BSD originale, l'argument I<len> de B<gethostbyname>() était un I<int>. Les spécifications SUS-v2 sont défectueuses et déclarent le paramètre I<len> de B<gethostbyaddr>() comme étant de type I<size_t> (c’est erroné car il doit obligatoirement être un I<int>, ce que I<size_t> n'est pas toujours. POSIX.1-2001 le déclare I<socklen_t>, ce qui est correct). Consultez également B<accept>(2).

note: type: Plain text
en: The BSD prototype for B<gethostbyaddr>()  uses I<const char\ *> for the first argument.
fr: Le prototype BSD pour B<gethostbyaddr>() utilise I<const char\ *> comme premier argument.

note: type: SS
en: System V/POSIX extension
fr: Extension System V/POSIX

note: e.g., Linux, FreeBSD, UnixWare, HP-UX e.g., FreeBSD, AIX type: Plain text
en: POSIX requires the B<gethostent>()  call, that should return the next entry in the host data base.  When using DNS/BIND this does not make much sense, but it may be reasonable if the host data base is a file that can be read line by line.  On many systems a routine of this name reads from the file I</etc/hosts>.  It may be available only when the library was built without DNS support.  The glibc version will ignore ipv6 entries.  This function is not reentrant, and glibc adds a reentrant version B<gethostent_r>().
fr: POSIX réclame l'appel B<gethostent>(), qui devrait renvoyer la prochaine entrée de la base de données des hôtes. Avec DNS/BIND, cela n'a pas plus de sens, mais cela peut être raisonnable si la base de données des hôtes est un fichier qui peut être lu ligne par ligne. Sur beaucoup de systèmes, une routine de ce nom lit le fichier I</etc/hosts>. Elle est disponible que lorsque la bibliothèque est construite sans la gestion DNS. L'équivalent de la glibc ignore les entrées IPv6. Cette fonction n'est pas réentrante, mais la glibc propose une version réentrante, B<gethostent_r>().

note: type: SS
en: GNU extensions
fr: Extensions GNU

note: type: Plain text
en: Glibc2 also has a B<gethostbyname2>()  that works like B<gethostbyname>(), but permits to specify the address family to which the address must belong.
fr: La glibc2 propose aussi une fonction B<gethostbyname2>() qui agit comme B<gethostbyname>(), qui permet de préciser la famille à laquelle l'adresse doit appartenir.

note: type: Plain text
en: Glibc2 also has reentrant versions B<gethostent_r>(), B<gethostbyaddr_r>(), B<gethostbyname_r>()  and B<gethostbyname2_r>().  The caller supplies a I<hostent> structure I<ret> which will be filled in on success, and a temporary work buffer I<buf> of size I<buflen>.  After the call, I<result> will point to the result on success.  In case of an error or if no entry is found I<result> will be NULL.  The functions return 0 on success and a nonzero error number on failure.  In addition to the errors returned by the nonreentrant versions of these functions, if I<buf> is too small, the functions will return B<ERANGE>, and the call should be retried with a larger buffer.  The global variable I<h_errno> is not modified, but the address of a variable in which to store error numbers is passed in I<h_errnop>.
fr: La glibc2 propose aussi les versions réentrantes B<gethostent_r>(), B<gethostbyaddr_r>(), B<gethostbyname_r>() et B<gethostbyname2_r>(). L'appelant fournit une structure I<hostent> à l’aide de I<ret> qui sera remplie en cas de succès et un tampon de travail temporaire I<buf> de taille I<buflen>. Après l'appel, I<result> pointera vers le résultat en cas de succès. En cas d'erreur ou si aucune entrée n'a été trouvée, I<result> vaudra NULL Les fonctions renvoient 0 en cas de succès et une valeur non nulle en cas d'erreur. En plus des erreurs renvoyées par ces fonctions réentrantes, si I<buf> est trop petit, les fonctions renvoient B<ERANGE> et l'appel devra être effectué par la suite avec un tampon plus grand. La variable I<h_errno> n'est pas modifiée, mais l'adresse d'une variable où est stocké le code d'erreur est transmise dans I<h_errnop>.

note: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=482973 type: Plain text
en: B<gethostbyname>()  does not recognize components of a dotted IPv4 address string that are expressed in hexadecimal.
fr: B<gethostbyname>() ne reconnaît pas les éléments d'une adresse IPv4 en notation pointée si ces éléments sont exprimés en hexadécimal.

note: type: TH
en: 2010-09-04
fr: 4 septembre 2010

note: type: Plain text
en: getipnodebyname, getipnodebyaddr, freehostent - get network hostnames and addresses
fr: getipnodebyname, getipnodebyaddr, freehostent - Obtenir les adresses réseau et noms d'hôte

note: type: Plain text
en: These functions are deprecated (and unavailable in glibc).  Use B<getaddrinfo>(3)  and B<getnameinfo>(3)  instead.
fr: Ces fonctions sont déconseillées (et ne sont pas disponibles dans la glibc). Utilisez B<getaddrinfo>(3) et B<getnameinfo>(3) à la place.

note: type: Plain text
en: The B<getipnodebyname>()  and B<getipnodebyaddr>()  functions return the names and addresses of a network host.  These functions return a pointer to the following structure:
fr: Les fonctions B<getipnodebyname>() et B<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\ :

note: type: Plain text
en: These functions replace the B<gethostbyname>(3)  and B<gethostbyaddr>(3)  functions, which could access only the IPv4 network address family.  The B<getipnodebyname>()  and B<getipnodebyaddr>()  functions can access multiple network address families.
fr: Ces fonctions remplacent les fonctions B<gethostbyname>(3) et B<gethostbyaddr>(3) qui ne pouvaient qu'accéder aux adresses réseau de la famille IPv4. Les fonctions B<getipnodebyname>() et B<getipnodebyaddr>() peuvent fonctionner avec diverses familles d'adresses réseau.

note: type: Plain text
en: Unlike the B<gethostby> functions, these functions return pointers to dynamically allocated memory.  The B<freehostent>()  function is used to release the dynamically allocated memory after the caller no longer needs the I<hostent> structure.
fr: Contrairement aux fonctions du type B<gethostby>, ces routines renvoient des pointeurs sur des zones de mémoires allouées dynamiquement. La fonction B<freehostent>() sert à libérer la zone de mémoire allouée dynamiquement une fois que les informations se trouvant dans la structure I<hostent> ne sont plus nécessaires.

note: type: SS
en: getipnodebyname() arguments
fr: Paramètres de getipnodebyname()

note: type: Plain text
en: The B<getipnodebyname>()  function looks up network addresses for the host specified by the I<name> argument.  The I<af> argument specifies one of the following values:
fr: La fonction B<getipnodebyname>() recherche l'adresse réseau de l'hôte indiqué dans son argument I<name>. Le paramètre I<af> prend l'une des valeurs suivantes\ :

note: type: Plain text
en: The I<name> argument points to a dotted-quad IPv4 address or a name of an IPv4 network host.
fr: Le paramètre I<name> représente une adresse décimale pointée IPv4, ou le nom d'un hôte sur un réseau IPv4.

note: type: Plain text
en: The I<name> argument points to a hexadecimal IPv6 address or a name of an IPv6 network host.
fr: Le paramètre I<name> représente une adresse hexadécimale IPv6, ou le nom d'un hôte sur un réseau IPv6.

note: type: Plain text
en: The I<flags> argument specifies additional options.  More than one option can be specified by bitwise OR-ing them together.  I<flags> should be set to 0 if no options are desired.
fr: Le paramètre I<flags> indique des options supplémentaires. Plusieurs options peuvent être indiquées en les groupant avec un OU binaire. I<flags> doit être mis à 0 si aucune option n'est souhaitée.

note: type: Plain text
en: This flag is used with B<AF_INET6> to request a query for IPv4 addresses instead of IPv6 addresses; the IPv4 addresses will be mapped to IPv6 addresses.
fr: Cet attribut est utilisé avec B<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.

note: type: Plain text
en: This flag is used with B<AI_V4MAPPED> to request a query for both IPv4 and IPv6 addresses.  Any IPv4 address found will be mapped to an IPv6 address.
fr: Cet attribut est utilisé avec B<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.

note: type: Plain text
en: This flag is used with B<AF_INET6> to further request that queries for IPv6 addresses should not be made unless the system has at least one IPv6 address assigned to a network interface, and that queries for IPv4 addresses should not be made unless the system has at least one IPv4 address assigned to a network interface.  This flag may be used by itself or with the B<AI_V4MAPPED> flag.
fr: Cet attribut est utilisé avec B<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 B<AI_V4MAPPED>.

note: type: Plain text
en: This flag is equivalent to B<(AI_ADDRCONFIG | AI_V4MAPPED)>.
fr: Cet attribut est équivalent à B<(AI_ADDRCONFIG | AI_V4MAPPED)>.

note: type: SS
en: getipnodebyaddr() arguments
fr: Paramètres de getipnodebyaddr()

note: type: Plain text
en: The B<getipnodebyaddr>()  function looks up the name of the host whose network address is specified by the I<addr> argument.  The I<af> argument specifies one of the following values:
fr: La fonction B<getipnodebyaddr>() recherche le nom d'un hôte dont l'adresse réseau est indiquée par l'argument I<addr>. Le paramètre I<af> prend l'une des valeurs suivantes\ :

note: type: Plain text
en: The I<addr> argument points to a I<struct in_addr> and I<len> must be set to I<sizeof(struct in_addr)>.
fr: Le paramètre I<addr> pointe vers une structure I<struct in_addr> et I<len> doit valoir I<sizeof(struct in_addr)>.

note: type: Plain text
en: The I<addr> argument points to a I<struct in6_addr> and I<len> must be set to I<sizeof(struct in6_addr)>.
fr: Le paramètre I<addr> pointe vers une structure I<struct in6_addr> et I<len> doit valoir I<sizeof(struct in6_addr)>.

note: type: Plain text
en: NULL is returned if an error occurred, and I<error_num> will contain an error code from the following list:
fr: En cas d'erreur, un pointeur NULL est renvoyé, et I<error_num> contiendra un code d'erreur parmi les suivants\ :

note: type: Plain text
en: The hostname or network address was not found.
fr: Le nom d'hôte ou l'adresse réseau n'ont pas été trouvés.

note: type: Plain text
en: The domain name server recognized the network address or name, but no answer was returned.  This can happen if the network host has only IPv4 addresses and a request has been made for IPv6 information only, or vice versa.
fr: 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.

note: type: Plain text
en: The domain name server returned a permanent failure response.
fr: Le serveur de noms a renvoyé une erreur définitive.

note: type: Plain text
en: The domain name server returned a temporary failure response.  You might have better luck next time.
fr: Le serveur de noms a renvoyé une erreur temporaire. Réessayez plus tard.

note: type: Plain text
en: A successful query returns a pointer to a I<hostent> structure that contains the following fields:
fr: Une recherche couronnée de succès renvoie un pointeur sur une structure I<hostent> contenant les champs suivants\ :

note: type: Plain text
en: This is the official name of this network host.
fr: Nom officiel de l'hôte.

note: type: Plain text
en: This is an array of pointers to unofficial aliases for the same host.  The array is terminated by a null pointer.
fr: Table de pointeurs vers des alias non officiels du même hôte. La table est terminée par un pointeur NULL.

note: type: Plain text
en: This is a copy of the I<af> argument to B<getipnodebyname>()  or B<getipnodebyaddr>().  I<h_addrtype> will always be B<AF_INET> if the I<af> argument was B<AF_INET>.  I<h_addrtype> will always be B<AF_INET6> if the I<af> argument was B<AF_INET6>.
fr: Il s'agit d'une copie du paramètre I<af> de B<getipnodebyname>() ou B<getipnodebyaddr>(). I<h_addrtype> sera toujours B<AF_INET> si le paramètre I<af> était B<AF_INET>. I<h_addrtype> sera toujours B<AF_INET6> si le paramètre I<af> était B<AF_INET6>.

note: type: Plain text
en: This field will be set to I<sizeof(struct in_addr)> if I<h_addrtype> is B<AF_INET>, and to I<sizeof(struct in6_addr)> if I<h_addrtype> is B<AF_INET6>.
fr: Ce champ sera défini à I<sizeof(struct in_addr)> si I<h_addrtype> est B<AF_INET>, et I<sizeof(struct in6_addr)> si I<h_addrtype> vaut B<AF_INET6>.

note: type: Plain text
en: This is an array of one or more pointers to network address structures for the network host.  The array is terminated by a null pointer.
fr: 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.

note: Not in POSIX.1-2001. type: Plain text
en: RFC\ 2553.
fr: RFC\ 2553

note: type: Plain text
en: These functions were present in glibc 2.1.91-95, but were removed again.  Several UNIX-like systems support them, but all call them deprecated.
fr: 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.

note: type: TH
en: 2013-01-15
fr: 15 janvier 2013

note: type: Plain text
en: getnameinfo - address-to-name translation in protocol-independent manner
fr: getnameinfo - Traduction d'adresse en nom de façon indépendante du protocole

note: type: Plain text
en: B<getnameinfo>(): _POSIX_C_SOURCE\ E<gt>=\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE
fr: B<getnameinfo>()\ : _POSIX_C_SOURCE\ E<gt>=\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE

note: type: Plain text
en: The B<getnameinfo>()  function is the inverse of B<getaddrinfo>(3): it converts a socket address to a corresponding host and service, in a protocol-independent manner.  It combines the functionality of B<gethostbyaddr>(3)  and B<getservbyport>(3), but unlike those functions, B<getnameinfo>()  is reentrant and allows programs to eliminate IPv4-versus-IPv6 dependencies.
fr: La fonction B<getnameinfo>() est la réciproque de B<getaddrinfo>(3) : elle convertit une adresse de socket en un hôte et un service correspondants, de façon indépendante du protocole. Elle combine les fonctionnalités de B<gethostbyaddr>(3) et B<getservbyport>(3) mais contrairement à ces fonctions, B<getnameinfo>() est réentrante et permet aux programmes de supprimer les dépendances IPv4/IPv6.

note: type: Plain text
en: The I<sa> argument is a pointer to a generic socket address structure (of type I<sockaddr_in> or I<sockaddr_in6>)  of size I<salen> that holds the input IP address and port number.  The arguments I<host> and I<serv> are pointers to caller-allocated buffers (of size I<hostlen> and I<servlen> respectively) into which B<getnameinfo>()  places null-terminated strings containing the host and service names respectively.
fr: Le paramètre I<sa> est un pointeur vers l'adresse d'une structure de socket générique (de type I<sockaddr_in> ou I<sockaddr_in6>) de taille I<salen> qui contient l'adresse IP d'entrée et le numéro de port. Les paramètres I<host> et I<serv> sont des pointeurs vers des tampons alloués par l'appelant (de tailles respectives I<hostlen> et I<servlen>) dans lesquels B<getnameinfo>() place des chaînes de caractères, terminées par un octet nul, contenant respectivement les noms d'hôte et de service.

note: type: Plain text
en: The caller can specify that no hostname (or no service name)  is required by providing a NULL I<host> (or I<serv>)  argument or a zero I<hostlen> (or I<servlen>)  argument.  However, at least one of hostname or service name must be requested.
fr: L'appelant peut préciser qu'aucun nom d'hôte (ou qu'aucun nom de service) n'est nécessaire en fournissant NULL comme paramètre I<host> (ou I<serv>) ou bien en passant un paramètre I<hostlen> (ou I<servlen>) valant zéro. Quoi qu'il en soit, au moins un nom d'hôte ou un nom de service doit être demandé.

note: type: Plain text
en: The I<flags> argument modifies the behavior of B<getnameinfo>()  as follows:
fr: Le paramètre I<flags> modifie le comportement de B<getnameinfo>() comme indiqué ci-dessous\ :

note: type: Plain text
en: If set, then an error is returned if the hostname cannot be determined.
fr: S'il est défini, une erreur se produira si le nom de l'hôte n'a pas pu être déterminé.

note: type: Plain text
en: If set, then the service is datagram (UDP) based rather than stream (TCP) based.  This is required for the few ports (512-514)  that have different services for UDP and TCP.
fr: Indique que le service est plutôt basé sur des datagrammes (UDP) que sur un flux connecté (TCP). Ce drapeau est nécessaire pour les quelques ports (512-514) qui ont des services différents selon le protocole utilisé\ : UDP ou TCP.

note: type: Plain text
en: If set, return only the hostname part of the fully qualified domain name for local hosts.
fr: renvoie seulement la partie nom de l'hôte du FQDN (Fully-Qualified Domain Name) pour les hôtes locaux.

note: For example, by calling .BR inet_ntop () instead of .BR gethostbyaddr (). POSIX.1-2003 has NI_NUMERICSCOPE, but glibc doesn't have it. type: Plain text
en: If set, then the numeric form of the hostname is returned.  (When not set, this will still happen in case the node's name cannot be determined.)
fr: La forme numérique du nom de l'hôte est renvoyée. (Même si ce drapeau n'est pas levé, cela arrivera également lorsque le nom du nœud ne pourra pas être déterminé.)

note: type: Plain text
en: If set, then the numeric form of the service address is returned.  (When not set, this will still happen in case the service's name cannot be determined.)
fr: Si cet attribut est défini, la forme numérique du service est renvoyée. (S'il n'est pas défini, cela arrivera également si le nom du service n'a pas pu être déterminé.)

note: type: SS
en: Extensions to getnameinfo() for Internationalized Domain Names
fr: Extensions de getnameinfo() pour les noms de domaines internationalisés

note: type: Plain text
en: Starting with glibc 2.3.4, B<getnameinfo>()  has been extended to selectively allow hostnames to be transparently converted to and from the Internationalized Domain Name (IDN) format (see RFC 3490, I<Internationalizing Domain Names in Applications (IDNA)>).  Three new flags are defined:
fr: Depuis la glibc\ 2.3.4, B<getnameinfo>() a été modifié pour sélectivement permettre que les noms de domaines soient convertis vers ou depuis le format des noms de domaines internationalisés (IDN). Consultez la RFC\ 3490, I<Internationalizing Domain Names in Applications (IDNA)>.Trois nouveaux attributs ont été ajoutés\ :

note: type: Plain text
en: If this flag is used, then the name found in the lookup process is converted from IDN format to the locale's encoding if necessary.  ASCII-only names are not affected by the conversion, which makes this flag usable in existing programs and environments.
fr: Si cet attribut est utilisé, alors le nom trouvé lors de la résolution des noms est converti depuis le format IDN vers la locale du système si nécessaire. Les noms au format ASCII ne sont pas affectés par cette conversion, ce qui permet d'utiliser cet attribut dans des programmes et des environnements existants.

note: FIXME glibc defines the following additional errors, some which can probably be returned by getnameinfo(); they need to be documented. #ifdef __USE_GNU #define EAI_INPROGRESS  -100  /* Processing request in progress.  */ #define EAI_CANCELED    -101  /* Request canceled.  */ #define EAI_NOTCANCELED 
en: On success 0 is returned, and node and service names, if requested, are filled with null-terminated strings, possibly truncated to fit the specified buffer lengths.  On error, one of the following nonzero error codes is returned:
fr: En cas de succès, 0 est renvoyé et les noms du nœud et du service, s'ils sont demandés, sont renseignés sous forme de chaînes terminées par un caractère nul, éventuellement tronquées afin de s'adapter aux tailles des tampons indiqués. En cas d'erreur, un des codes d'erreur suivants est renvoyé\ :

note: type: Plain text
en: The name could not be resolved at this time.  Try again later.
fr: Le nom ne peut être résolu à cet instant. Réessayer plus tard.

note: type: Plain text
en: The I<flags> argument has an invalid value.
fr: Le paramètre I<flags> n'est pas valable.

note: type: Plain text
en: A nonrecoverable error occurred.
fr: Une erreur irrécupérable est survenue.

note: type: Plain text
en: The address family was not recognized, or the address length was invalid for the specified family.
fr: La famille d'adresse n'a pas été reconnue, ou bien la taille de l'adresse était incorrecte pour la famille indiquée.

note: type: Plain text
en: The name does not resolve for the supplied arguments.  B<NI_NAMEREQD> is set and the host's name cannot be located, or neither hostname nor service name were requested.
fr: Le nom ne peut être résolu avec les paramètres fournis. B<NI_NAMEREQD> est indiqué et le nom de l'hôte ne peut être localisé, ou ni un nom d'hôte ni un nom de service n’a été demandé.

note: type: Plain text
en: The buffer pointed to by I<host> or I<serv> was too small.
fr: Le tampon pointé par I<host> ou I<serv> est trop petit.

note: type: Plain text
en: A system error occurred.  The error code can be found in I<errno>.
fr: Une erreur système a eu lieu. Le code d'erreur peut être lu dans I<errno>.

note: type: Plain text
en: B<getnameinfo>()  is provided in glibc since version 2.1.
fr: B<getnameinfo>() est fournie par la glibc depuis la version 2.1.

note: type: Plain text
en: In order to assist the programmer in choosing reasonable sizes for the supplied buffers, I<E<lt>netdb.hE<gt>> defines the constants
fr: Afin d'aider les programmeurs à choisir des tailles raisonnables pour les tampons fournis, I<E<lt>netdb.hE<gt>> définit les constantes

note: type: Plain text
en: Since glibc 2.8, these definitions are exposed only if one of the feature test macros B<_BSD_SOURCE>, B<_SVID_SOURCE>, or B<_GNU_SOURCE> is defined.
fr: Depuis la glibc 2.8, ces définitions sont exposées seulement si l'une des macros de test de fonctionnalités B<_BSD_SOURCE>, B<_SVID_SOURCE>, ou B<_GNU_SOURCE> est définie.

note: type: Plain text
en: The former is the constant B<MAXDNAME> in recent versions of BIND's I<E<lt>arpa/nameser.hE<gt>> header file.  The latter is a guess based on the services listed in the current Assigned Numbers RFC.
fr: La première est la constante B<MAXDNAME> présente dans les versions récentes du fichier d'en-têtes I<E<lt>arpa/nameser.hE<gt>> de BIND. La deuxième est déterminée en se basant sur les services répertoriés dans la RFC «\ Assigned numbers\ ».

note: type: Plain text
en: The following code tries to get the numeric hostname and service name, for a given socket address.  Note that there is no hardcoded reference to a particular address family.
fr: Le code suivant essaie d'obtenir le nom de l'hôte ainsi que le nom du service sous forme numérique, et ce, pour une adresse de socket donnée. Remarquez qu'il n'y a aucune référence à une quelconque famille d'adresse codée en dur.

note: type: Plain text
en: The following version checks if the socket address has a reverse address mapping.
fr: La version suivante vérifie si l'adresse de la socket peut se voir associer un nom.

note: type: Plain text
en: An example program using B<getnameinfo>()  can be found in B<getaddrinfo>(3).
fr: Un programme d'exemple utilisant B<getnameinfo>()  peut être trouvé dans B<getaddrinfo>(3).

note: type: Plain text
en: R. Gilligan, S. Thomson, J. Bound and W. Stevens, I<Basic Socket Interface Extensions for IPv6>, RFC\ 2553, March 1999.
fr: R. Gilligan, S. Thomson, J. Bound et W. Stevens, I<Basic Socket Interface Extensions for IPv6>, RFC\ 2553, mars 1999.

note: type: Plain text
en: Tatsuya Jinmei and Atsushi Onoe, I<An Extension of Format for IPv6 Scoped Addresses>, internet draft, work in progress E<.UR ftp://ftp.ietf.org\:/internet-drafts\:/draft-ietf-ipngwg-scopedaddr-format-02.txt> E<.UE .>
fr: Tatsuya Jinmei et Atsushi Onoe, I<An Extension of Format for IPv6 Scoped Addresses>, internet draft, travail en cours E<.UR ftp://ftp.ietf.org\:/internet-drafts\:/draft-ietf-ipngwg-scopedaddr-format-02.txt> E<.UE .>

note: type: Plain text
en: Craig Metz, I<Protocol Independence Using the Sockets API>, Proceedings of the freenix track: 2000 USENIX annual technical conference, June 2000
fr: Craig Metz, I<Protocol Independence Using the Sockets API>, compte rendu du sujet freenix\ : conférence technique annuelle USENIX 2000, juin 2000

note: type: TH
en: 2008-08-19
fr: 19 août 2008

note: type: Plain text
en: getnetent, getnetbyname, getnetbyaddr, setnetent, endnetent - get network entry
fr: getnetent, getnetbyname, getnetbyaddr, setnetent, endnetent - Lire les informations réseau

note: type: Plain text
en: The B<getnetent>()  function reads the next entry from the networks database and returns a I<netent> structure containing the broken-out fields from the entry.  A connection is opened to the database if necessary.
fr: La fonction B<getnetent>() lit l'entrée suivante de la base de données réseau, et renvoie un pointeur sur une structure I<netent> contenant les différents champs de l'entrée. Une connexion vers la base de données est créée si nécessaire.

note: type: Plain text
en: The B<getnetbyname>()  function returns a I<netent> structure for the entry from the database that matches the network I<name>.
fr: La fonction B<getnetbyname>() renvoie une structure I<netent> de l'entrée de la base de données qui correspond au nom de réseau I<name>.

note: type: Plain text
en: The B<getnetbyaddr>()  function returns a I<netent> structure for the entry from the database that matches the network number I<net> of type I<type>.  The I<net> argument must be in host byte order.
fr: La fonction B<getnetbyaddr>() renvoie une structure I<netent> de l'entrée de la base de données qui correspond au numéro de réseau I<net> de type I<type>. L'argument I<net> doit être dans l'ordre des octets de l'hôte.

note: type: Plain text
en: The B<setnetent>()  function opens a connection to the database, and sets the next entry to the first entry.  If I<stayopen> is nonzero, then the connection to the database will not be closed between calls to one of the B<getnet*>()  functions.
fr: La fonction B<setnetent>() ouvre un connexion à une base données et définit la prochaine entrée à l'entrée suivante. Si I<stayopen> est non nul, alors la connexion à la base de ne sera pas fermée entre deux appels aux fonctions B<getnet*>().

note: type: Plain text
en: The B<endnetent>()  function closes the connection to the database.
fr: La fonction B<endnetent>()ferme la connexion à la base de données.

note: type: Plain text
en: The I<netent> structure is defined in I<E<lt>netdb.hE<gt>> as follows:
fr: La structure I<netent> est définie dans I<E<lt>netdb.hE<gt>> ainsi\ :

note: type: Plain text
en: struct netent {
        char      *n_name;     /* official network name */
        char     **n_aliases;  /* alias list */
        int        n_addrtype; /* net address type */
        uint32_t   n_net;      /* network number */
    }
fr: struct netent {
        char      *n_name;     /* Nom officiel du réseau */
        char     **n_aliases;  /* Liste d'alias */
        int        n_addrtype; /* Type d'adresse réseau */
        uint32_t   n_net;      /* Adresse du réseau */
    }

note: type: Plain text
en: The members of the I<netent> structure are:
fr: Les membres de la structures I<netent> sont\ :

note: type: Plain text
en: The official name of the network.
fr: Le nom officiel du réseau.

note: type: Plain text
en: A NULL-terminated list of alternative names for the network.
fr: Une liste terminée par NULL, d'alternatives au nom du réseau.

note: type: Plain text
en: The type of the network number; always B<AF_INET>.
fr: Le type d'adresse du réseau\ ; toujours B<AF_INET>.

note: type: Plain text
en: The network number in host byte order.
fr: L'adresse du réseau, utilisant l'ordre des octets de l'hôte.

note: type: Plain text
en: The B<getnetent>(), B<getnetbyname>()  and B<getnetbyaddr>()  functions return a pointer to a statically allocated I<netent> structure, or a null pointer if an error occurs or the end of the file is reached.
fr: Les fonctions B<getnetent>(), B<getnetbyname>() et B<getnetbyaddr>() renvoient un pointeur vers une structure I<netent> allouée statiquement ou un pointeur NULL si une erreur se produit, ou si la fin du fichier est atteinte.

note: type: Plain text
en: networks database file
fr: Base de données des réseaux

note: type: Plain text
en: 4.3BSD, POSIX.1-2001.
fr: BSD\ 4.3, POSIX.1-2001.

note: type: Plain text
en: In glibc versions before 2.2, the I<net> argument of B<getnetbyaddr>()  was of type I<long>.
fr: Pour les glibc antérieurs à la version 2.2, l'argument I<net> de B<getnetbyaddr>() était de type I<long>.

note: type: Plain text
en: getnetent_r, getnetbyname_r, getnetbyaddr_r - get network entry (reentrant)
fr: getnetent_r, getnetbyname_r, getnetbyaddr_r  - Lire les informations réseau (versions réentrantes)

note: type: Plain text
en: B<getnetent_r>(), B<getnetbyname_r>(), B<getnetbyaddr_r>():
fr: B<getnetent_r>(), B<getnetbyname_r>(), B<getnetbyaddr_r>() :

note: type: Plain text
en: The B<getnetent_r>(), B<getnetbyname_r>(), and B<getnetbyaddr_r>()  functions are the reentrant equivalents of, respectively, B<getnetent>(3), B<getnetbyname>(3), and B<getnetbynumber>(3).  They differ in the way that the I<netent> structure is returned, and in the function calling signature and return value.  This manual page describes just the differences from the nonreentrant functions.
fr: Les fonctions B<getnetent_r>(), B<getnetbyname_r>(), et B<getnetbyaddr_r>() sont respectivement les versions réentrantes, de B<getnetent>(3), B<getnetbyname>(3), et B<getnetbyaddr>(3). Elles diffèrent dans le sens où la structure I<netent> est renvoyée dans la signature de l'appel et dans la valeur de retour.

note: type: Plain text
en: Instead of returning a pointer to a statically allocated I<netent> structure as the function result, these functions copy the structure into the location pointed to by I<result_buf>.
fr: Au lieu de renvoyé un pointeur sur une structure I<netent> statiquement allouée, ces fonctions copient la structure à l'adresse pointée par I<result_buf>.

note: I can find no information on the required/recommended buffer size; the nonreentrant functions use a 1024 byte buffer -- mtk. type: Plain text
en: The I<buf> array is used to store the string fields pointed to by the returned I<netent> structure.  (The nonreentrant functions allocate these strings in static storage.)  The size of this array is specified in I<buflen>.  If I<buf> is too small, the call fails with the error B<ERANGE>, and the caller must try again with a larger buffer.  (A buffer of length 1024 bytes should be sufficient for most applications.)
fr: Le tableau I<buf> est utilisé pour sauvegarder les champs de la chaîne pointés par la structure I<netent> renvoyée (les fonctions non réentrantes allouent ces chaînes de façon statique). La taille du tableau est indiquée avec I<buflen>. Si I<buf> est trop petit, l'appel échoue avec l'erreur B<ERANGE>, et l'appelant doit essayer de nouveau avec un tableau plus grand (un tableau de 1024 octets est en général suffisant).

note: type: Plain text
en: If the function call successfully obtains a network record, then I<*result> is set pointing to I<result_buf>; otherwise, I<*result> is set to NULL.
fr: Si la fonction obtient un enregistrement de réseau, alors I<*result> pointe vers I<result_buf> sinon I<*result> est défini à NULL.

note: getnetent.3 doesn't document any use of h_errno, but nevertheless the nonreentrant functions no seem to set h_errno. type: Plain text
en: The buffer pointed to by I<h_errnop> is used to return the value that would be stored in the global variable I<h_errno> by the nonreentrant versions of these functions.
fr: Le tampon pointé par I<h_errnop> est utilisé pour renvoyé la valeur qui doit être sauvegardée dans la variable globale I<h_errno> lors de l'utilisation des versions non réentrantes de ces fonctions.

note: type: Plain text
en: On success, these functions return 0.  On error, they return one of the positive error numbers listed in ERRORS.
fr: En cas de succès, ces fonctions renvoient zéro. En cas d'erreur, une valeur d'erreur positive listée dans ERREURS est renvoyée.

note: type: Plain text
en: On error, record not found (B<getnetbyname_r>(), B<getnetbyaddr_r>()), or end of input (B<getnetent_r>())  I<result> is set to NULL.
fr: Dans le cas des erreurs, enregistrement non trouvé (B<getnetbyname_r>(), B<getnetbyaddr_r>()), ou fin de l'entrée (B<getnetent_r>()), I<result> est défini à NULL.

note: type: Plain text
en: (B<getnetent_r>())  No more records in database.
fr: (B<getnetent_r>()) Plus d'enregistrement dans la base de données.

note: type: Plain text
en: I<buf> is too small.  Try again with a larger buffer (and increased I<buflen>).
fr: I<buf> est trop petit. Ré-essayer avec un tampon plus grand (et augmentez I<buflen>).

note: type: Plain text
en: These functions are GNU extensions.  Functions with similar names exist on some other systems, though typically with different calling signatures.
fr: Ces fonctions sont des extensions GNU. Des fonctions avec des noms similaires existent sur d'autres systèmes, bien que en général avec des signatures d'appels différent.

note: type: TH
en: 2013-02-12
fr: 12 février 2013

note: type: Plain text
en: getpeername - get name of connected peer socket
fr: getpeername - Obtenir le nom d'un correspondant connecté sur une socket

note: type: Plain text
en: B<getpeername>()  returns the address of the peer connected to the socket I<sockfd>, in the buffer pointed to by I<addr>.  The I<addrlen> argument should be initialized to indicate the amount of space pointed to by I<addr>.  On return it contains the actual size of the name returned (in bytes).  The name is truncated if the buffer provided is too small.
fr: La fonction B<getpeername>() renvoie l'adresse du correspondant connecté sur la socket I<sockfd>, dans le tampon pointé par I<addr>. Le paramètre I<addrlen> doit être initialisé pour indiquer la taille de la zone pointée par I<addr>. En retour, il contiendra la longueur effective (en octets) du nom retourné. Le nom est tronqué si le tampon est trop petit.

note: type: Plain text
en: The returned address is truncated if the buffer provided is too small; in this case, I<addrlen> will return a value greater than was supplied to the call.
fr: L'adresse renvoyée est tronquée si le tampon fourni est trop petit ; dans ce cas, I<addrlen> renverra une valeur supérieure à celle fournie lors de l'appel.

note: type: Plain text
en: On success, zero is returned.  On error, -1 is returned, and I<errno> is set appropriately.
fr: S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit I<errno> en conséquence.

note: type: Plain text
en: The argument I<sockfd> is not a valid descriptor.
fr: I<sockfd> n'est pas un descripteur valable.

note: type: Plain text
en: The I<addr> argument points to memory not in a valid part of the process address space.
fr: Le paramètre I<addr> pointe en dehors de l'espace d'adressage accessible.

note: type: Plain text
en: I<addrlen> is invalid (e.g., is negative).
fr: I<addrlen> n'est pas valable (négatif, par exemple).

note: type: Plain text
en: Insufficient resources were available in the system to perform the operation.
fr: Les ressources système disponibles sont insuffisantes.

note: type: Plain text
en: The socket is not connected.
fr: La socket n'est pas connectée.

note: type: Plain text
en: The argument I<sockfd> is a file, not a socket.
fr: Le paramètre I<sockfd> est un fichier, pas une socket.

note: type: Plain text
en: SVr4, 4.4BSD (the B<getpeername>()  function call first appeared in 4.2BSD), POSIX.1-2001.
fr: SVr4, BSD\ 4.4 (la fonction B<getpeername>() est apparue dans BSD\ 4.2), POSIX.1-2001.

note: type: Plain text
en: The third argument of B<getpeername>()  is in reality an I<int\ *> (and this is what 4.x BSD and libc4 and libc5 have).  Some POSIX confusion resulted in the present I<socklen_t>, also used by glibc.  See also B<accept>(2).
fr: Le troisième argument de B<getpeername>() est en fait un «\ I<int\ *>\ » (et c'est ce qu'utilisent BSD\ 4.x, libc4 et libc5). Une certaine confusion POSIX a donné le «\ I<socklen_t>\ » actuel, également utilisé par la glibc. Pour plus de détails consultez B<accept>(2).

note: type: Plain text
en: For stream sockets, once a B<connect>(2)  has been performed, either socket can call B<getpeername>()  to obtain the address of the peer socket.  On the other hand, datagram sockets are connectionless.  Calling B<connect>(2)  on a datagram socket merely sets the peer address for outgoing datagrams sent with B<write>(2)  or B<recv>(2).  The caller of B<connect>(2)  can use B<getpeername>()  to obtain the peer address that it earlier set for the socket.  However, the peer socket is unaware of this information, and calling B<getpeername>()  on the peer socket will return no useful information (unless a B<connect>(2)  call was also executed on the peer).  Note also that the receiver of a datagram can obtain the address of the sender when using B<recvfrom>(2).
fr: Pour les sockets flux, une fois que B<connect>(2) a été réalisé, chaque socket peut appeler B<getpeername>() pour obtenir l'adresse de la socket correspondante. D'un autre côté, les sockets datagramme sont sans connexion. Appeler B<connect>(2) sur une socket datagramme définit simplement l'adresse correspondante pour les datagrammes sortants envoyés avec B<write>(2) ou B<recv>(2). L'appelant de B<connect>(2) peut utiliser B<getpeername>() pour obtenir l'adresse correspondante qui est définie plus tôt pour la socket. Cependant, la socket correspondante ne connaît pas ces renseignements et appeler B<getpeername>() sur la socket correspondante ne renverra aucun renseignement utile (sauf si un appel B<connect>(2) est aussi exécuté sur la correspondante). Remarquez aussi que le destinataire d'un datagramme peut obtenir l'adresse de l'expéditeur en utilisant B<recvfrom>(2).

note: type: Plain text
en: getprotoent, getprotobyname, getprotobynumber, setprotoent, endprotoent - get protocol entry
fr: getprotoent, getprotobyname, getprotobynumber, setprotoent, endprotoent - Accéder aux protocoles

note: type: Plain text
en: The B<getprotoent>()  function reads the next entry from the protocols database (see B<protocols>(5))  and returns a I<protoent> structure containing the broken-out fields from the entry.  A connection is opened to the database if necessary.
fr: La fonction B<getprotoent>() lit l'entrée suivante de la base de données de protocoles (consultez B<protocols>(5)) et renvoie une structure I<protoent> contenant les champs de l'entrée. Une connexion à la base de données est créée si nécessaire.

note: type: Plain text
en: The B<getprotobyname>()  function returns a I<protoent> structure for the entry from the database that matches the protocol name I<name>.  A connection is opened to the database if necessary.
fr: La fonction B<getprotobyname>() renvoie une structure I<protoent> de l'entrée depuis la base qui correspond au protocole I<name>. Une connexion à la base est créée si nécessaire.

note: type: Plain text
en: The B<getprotobynumber>()  function returns a I<protoent> structure for the entry from the database that matches the protocol number I<number>.  A connection is opened to the database if necessary.
fr: B<getprotobynumber>() renvoie une structure I<protoent> de l'entrée depuis la base qui correspond au numéro de protocol I<number>. Une connexion est créée si nécessaire.

note: type: Plain text
en: The B<setprotoent>()  function opens a connection to the database, and sets the next entry to the first entry.  If I<stayopen> is nonzero, then the connection to the database will not be closed between calls to one of the B<getproto*>()  functions.
fr: La fonction B<setprotoent>() ouvre une connexion à une base de données et définit l'entrée suivante à la premier entrée. Si I<stayopen> est non nul, alors la connexion à la base ne sera pas fermée entre deux appels aux fonctions B<getproto*>().

note: type: Plain text
en: The B<endprotoent>()  function closes the connection to the database.
fr: La fonction B<endprotoent>() ferme la connexion à la base de données.

note: type: Plain text
en: The I<protoent> structure is defined in I<E<lt>netdb.hE<gt>> as follows:
fr: La structure I<protoent> est définie dans I<E<lt>netdb.hE<gt>> ainsi\ :

note: type: Plain text
en: struct protoent {
        char  *p_name;       /* official protocol name */
        char **p_aliases;    /* alias list */
        int    p_proto;      /* protocol number */
    }
fr: struct protoent {
        char  *p_name;       /* Nom officiel du protocole */
        char **p_aliases;    /* Liste d'alias */
        int    p_proto;      /* Numéro du protocole */
    }

note: type: Plain text
en: The members of the I<protoent> structure are:
fr: Les membres de la structure I<protoent> sont\ :

note: type: Plain text
en: The official name of the protocol.
fr: Le nom officiel du protocole.

note: type: Plain text
en: A NULL-terminated list of alternative names for the protocol.
fr: Une liste, terminée par NULL, d'autres noms pour le protocole.

note: type: Plain text
en: The protocol number.
fr: Le numéro du protocole.

note: type: Plain text
en: The B<getprotoent>(), B<getprotobyname>()  and B<getprotobynumber>()  functions return a pointer to a statically allocated I<protoent> structure, or a null pointer if an error occurs or the end of the file is reached.
fr: B<getprotoent>(), B<getprotobyname>() et B<getprotobynumber>() renvoient une structure I<protoent>, ou un pointeur NULL si une erreur se produit, ou si la fin du fichier est atteinte.

note: type: Plain text
en: protocol database file
fr: Base de donnée des protocoles

note: type: Plain text
en: getprotoent_r, getprotobyname_r, getprotobynumber_r - get protocol entry (reentrant)
fr: getprotoent_r, getprotobyname_r, getprotobynumber_r - Accéder aux protocoles (version réentrante)

note: type: Plain text
en: B<getprotoent_r>(), B<getprotobyname_r>(), B<getprotobynumber_r>():
fr: B<getprotoent_r>(), B<getprotobyname_r>(), B<getprotobynumber_r>() :

note: type: Plain text
en: The B<getprotoent_r>(), B<getprotobyname_r>(), and B<getprotobynumber_r>()  functions are the reentrant equivalents of, respectively, B<getprotoent>(3), B<getprotobyname>(3), and B<getprotobynumber>(3).  They differ in the way that the I<protoent> structure is returned, and in the function calling signature and return value.  This manual page describes just the differences from the nonreentrant functions.
fr: B<getprotoent_r>(), B<getprotobyname_r>(), et B<getprotobynumber_r>() sont respectivement, les versions réentrantes des fonctions B<getprotoent>(3), B<getprotobyname>(3), et B<getprotobynumber>(3). Elles diffèrent car la structure I<protoent> est renvoyée, et leur signature ainsi que leur valeur de retour sont aussi différentes. Cette page de manuel décrit juste les différences depuis les fonctions non réentrantes.

note: type: Plain text
en: Instead of returning a pointer to a statically allocated I<protoent> structure as the function result, these functions copy the structure into the location pointed to by I<result_buf>.
fr: Au lieu de retourner un pointeur vers une structure I<protoent> statiquement allouée, ces fonctions copient la structure à l'adresse pointée par I<result_buf>.

note: I can find no information on the required/recommended buffer size; the nonreentrant functions use a 1024 byte buffer. The 1024 byte value is also what the Solaris man page suggests. -- mtk type: Plain text
en: The I<buf> array is used to store the string fields pointed to by the returned I<protoent> structure.  (The nonreentrant functions allocate these strings in static storage.)  The size of this array is specified in I<buflen>.  If I<buf> is too small, the call fails with the error B<ERANGE>, and the caller must try again with a larger buffer.  (A buffer of length 1024 bytes should be sufficient for most applications.)
fr: Le tableau I<buf> est utilisé pour sauvegarder les champs de la chaîne pointés par la structure I<protoent> renvoyée (les fonctions non réentrantes allouent ces chaînes de façon statique). La taille du tableau est indiquée avec I<buflen>. Si I<buf> est trop petit, l'appel échoue avec l'erreur B<ERANGE>, et l'appelant doit essayer de nouveau avec un tableau plus grand (un tableau de 1024 octets est en général suffisant).

note: type: Plain text
en: If the function call successfully obtains a protocol record, then I<*result> is set pointing to I<result_buf>; otherwise, I<*result> is set to NULL.
fr: Si la fonction obtient un enregistrement de protocol, alors I<*result> pointe vers I<result_buf> sinon I<*result> est défini à NULL.

note: type: Plain text
en: On error, record not found (B<getprotobyname_r>(), B<getprotobynumber_r>()), or end of input (B<getprotoent_r>())  I<result> is set to NULL.
fr: Dans le cas des erreurs, «\ enregistrement non trouvé\ » (B<getprotobyname_r>(), B<getprotobynumber_r>()) ou «\ fin de l'entrée\ » (B<getprotoent_r>()), I<result> est défini à NULL.

note: type: Plain text
en: (B<getprotoent_r>())  No more records in database.
fr: (B<getprotoent_r>()) Plus d'autre enregistrement dans la base.

note: type: Plain text
en: The program below uses B<getprotobyname_r>()  to retrieve the protocol record for the protocol named in its first command-line argument.  If a second (integer) command-line argument is supplied, it is used as the initial value for I<buflen>; if B<getprotobyname_r>()  fails with the error B<ERANGE>, the program retries with larger buffer sizes.  The following shell session shows a couple of sample runs:
fr: Le programme ci-dessous utilise B<getprotobyname_r>() pour récupérer l'enregistrement de protocole du protocole nommé dans le premier argument de sa ligne de commande. Si un second argument (un entier) est fourni, il est utilisé comme valeur initiale de I<buflen>. Si B<getprotobyname_r>() échoue avec l'erreur B<ERANGE>, le programme recommence avec une taille de tampon plus grande. La session shell suivante montre des exemples d'utilisation.

note: type: Plain text
en: getservent, getservbyname, getservbyport, setservent, endservent - get service entry
fr: getservent, getservbyname, getservbyport, setservent, endservent - Accéder aux informations sur les services

note: type: Plain text
en: The B<getservent>()  function reads the next entry from the services database (see B<services>(5))  and returns a I<servent> structure containing the broken-out fields from the entry.  A connection is opened to the database if necessary.
fr: La fonction B<getservent>() lit l'enregistrement suivant de la base de données de services (consultez B<services>(5)) et renvoie une structure I<servent> contenant les champs de l'enregistrement. Une connexion est crée si nécessaire.

note: type: Plain text
en: The B<getservbyname>()  function returns a I<servent> structure for the entry from the database that matches the service I<name> using protocol I<proto>.  If I<proto> is NULL, any protocol will be matched.  A connection is opened to the database if necessary.
fr: La fonction B<getservbyname>() renvoie une structure I<servent> pour l'enregistrement du fichier I</etc/services> qui correspond au service nommé I<name> et utilisant le protocole I<proto>. Si I<proto> est NULL, n'importe quel protocole sera accepté.

note: type: Plain text
en: The B<getservbyport>()  function returns a I<servent> structure for the entry from the database that matches the port I<port> (given in network byte order)  using protocol I<proto>.  If I<proto> is NULL, any protocol will be matched.  A connection is opened to the database if necessary.
fr: B<getservbyport>() renvoie une structure I<servent> de l'enregistrement correspondant au port I<port> indiqué (dans l'ordre des octets du réseau) et utilisant le protocole I<proto>. Si I<proto> est NULL, tout protocole sera accepté. Une connexion est créée si nécessaire.

note: type: Plain text
en: The B<setservent>()  function opens a connection to the database, and sets the next entry to the first entry.  If I<stayopen> is nonzero, then the connection to the database will not be closed between calls to one of the B<getserv*>()  functions.
fr: B<setservent>() ouvre une connexion à la base et définit la prochaine entrée à la première entrée. Si I<stayopen> est non nul, alors la connexion ne sera pas fermée entre deux appels aux fonctions B<getserv*>().

note: type: Plain text
en: The B<endservent>()  function closes the connection to the database.
fr: B<endservent>() ferme la connexion à la base.

note: type: Plain text
en: The I<servent> structure is defined in I<E<lt>netdb.hE<gt>> as follows:
fr: La structure I<servent> est définie dans I<E<lt>netdb.hE<gt>> ainsi\ :

note: type: Plain text
en: struct servent {
        char  *s_name;       /* official service name */
        char **s_aliases;    /* alias list */
        int    s_port;       /* port number */
        char  *s_proto;      /* protocol to use */
    }
fr: struct servent {
        char  *s_name;       /* Nom officiel du service */
        char **s_aliases;    /* Liste d'alias */
        int    s_port;       /* Numéro de port */
        char  *s_proto;      /* Protocole à utiliser */
    }

note: type: Plain text
en: The members of the I<servent> structure are:
fr: Les membres de la structure I<servent> sont\ :

note: type: Plain text
en: The official name of the service.
fr: Le nom officiel du service.

note: type: Plain text
en: A NULL-terminated list of alternative names for the service.
fr: Une liste alias de noms de service terminée par NULL.

note: type: Plain text
en: The port number for the service given in network byte order.
fr: Le numéro de port, donné dans l'ordre des octets du réseau.

note: type: Plain text
en: The name of the protocol to use with this service.
fr: Le nom du protocole utilisé par ce service.

note: type: Plain text
en: The B<getservent>(), B<getservbyname>()  and B<getservbyport>()  functions return a pointer to a statically allocated I<servent> structure, or NULL if an error occurs or the end of the file is reached.
fr: Les fonctions B<getservent>(), B<getservbyname>() et B<getservbyport>() renvoient un pointeur vers une structure I<servent> statiquement allouée, ou un pointeur NULL si une erreur se produit, ou si la fin du fichier est atteinte.

note: type: Plain text
en: services database file
fr: Base de données des services.

note: type: Plain text
en: getservent_r, getservbyname_r, getservbyport_r - get service entry (reentrant)
fr: getservent_r, getservbyname_r, getservbyport_r - Accéder aux informations sur les services (version réentrante)

note: type: Plain text
en: B<getservent_r>(), B<getservbyname_r>(), B<getservbyport_r>():
fr: B<getservent_r>(), B<getservbyname_r>(), B<getservbyport_r>() :

note: type: Plain text
en: The B<getservent_r>(), B<getservbyname_r>(), and B<getservbyport_r>()  functions are the reentrant equivalents of, respectively, B<getservent>(3), B<getservbyname>(3), and B<getservbyport>(3).  They differ in the way that the I<servent> structure is returned, and in the function calling signature and return value.  This manual page describes just the differences from the nonreentrant functions.
fr: B<getservent_r>(), B<getservbyname_r>() et B<getservbyport_r>() sont respectivement les versions réentrantes de B<getservent>(3), B<getservbyname>(3) et B<getservbyport>(3). Elles diffèrent car la structure I<servent> est renvoyée, les signatures et la valeur renvoyée sont aussi différentes. Cette page de manuel décrit juste les différences depuis les versions non réentrantes.

note: type: Plain text
en: Instead of returning a pointer to a statically allocated I<servent> structure as the function result, these functions copy the structure into the location pointed to by I<result_buf>.
fr: Au lieu de renvoyer un pointeur vers une structure I<servent> statiquement allouée, ces fonctions copient la structure à l'adresse pointée par I<result_buf>.

note: I can find no information on the required/recommended buffer size; the nonreentrant functions use a 1024 byte buffer -- mtk. type: Plain text
en: The I<buf> array is used to store the string fields pointed to by the returned I<servent> structure.  (The nonreentrant functions allocate these strings in static storage.)  The size of this array is specified in I<buflen>.  If I<buf> is too small, the call fails with the error B<ERANGE>, and the caller must try again with a larger buffer.  (A buffer of length 1024 bytes should be sufficient for most applications.)
fr: Le tableau I<buf> est utilisé pour sauvegarder les champs de la chaîne pointée par la structure I<servent> renvoyée (les fonctions non réentrantes allouent ces chaînes de façon statique). La taille du tableau est indiquée avec I<buflen>. Si I<buf> est trop petit, l'appel échoue avec l'erreur B<ERANGE>, et l'appelant doit essayer de nouveau avec un tableau plus grand (un tableau de 1024 octets est en général suffisant).

note: type: Plain text
en: If the function call successfully obtains a service record, then I<*result> is set pointing to I<result_buf>; otherwise, I<*result> is set to NULL.
fr: Si la fonction réussie à obtenir un enregistrement de service, alors I<*result> pointe vers I<result_buf>, sinon I<*result> est défini à NULL.

note: type: Plain text
en: On success, these functions return 0.  On error, they return one of the positive error numbers listed in errors.
fr: En cas de succès, ces fonctions renvoient zéro. En cas d'erreur, une valeur d'erreur positive listée dans ERREURS est renvoyée.

note: type: Plain text
en: On error, record not found (B<getservbyname_r>(), B<getservbyport_r>()), or end of input (B<getservent_r>())  I<result> is set to NULL.
fr: En cas d'erreur, «\ enregistrement non trouvé\ » (B<getservbyname_r>(), B<getservbyport_r>()) ou «\ fin de l'entrée\ » (B<getservent_r>()), I<result> est défini à NULL.

note: type: Plain text
en: (B<getservent_r>())  No more records in database.
fr: (B<getservent_r>()) Plus d'enregistrement dans la base de données.

note: type: Plain text
en: The program below uses B<getservbyport_r>()  to retrieve the service record for the port and protocol named in its first command-line argument.  If a third (integer) command-line argument is supplied, it is used as the initial value for I<buflen>; if B<getservbyport_r>()  fails with the error B<ERANGE>, the program retries with larger buffer sizes.  The following shell session shows a couple of sample runs:
fr: Le programme ci-dessous utilise B<getservbyport_r>() pour récupérer l'enregistrement du port et du protocole nommé dans les deux premiers arguments de sa ligne de commande. Si un troisième argument (un entier) est fourni, il est utilisé comme valeur initiale de I<buflen>. Si B<getservbyport_r>() échoue avec l'erreur B<ERANGE>, le programme recommence avec une taille de tampon plus grande. La session shell suivante montre des exemples d'utilisation.

note: type: TH
en: 2003-08-23
fr: 23 août 2003

note: type: TH
en: Linux System Administration
fr: Manuel de l'administrateur Linux

note: type: Plain text
en: host.conf - resolver configuration file
fr: host.conf - Configuration de la résolution de noms

note: type: Plain text
en: The file I</etc/host.conf> contains configuration information specific to the resolver library.  It should contain one configuration keyword per line, followed by appropriate configuration information.  The keywords recognized are I<order>, I<trim>, I<multi>, I<nospoof>, I<spoof>, and I<reorder>.  These keywords are described below.
fr: Le fichier I</etc/host.conf> contient des informations spécifiques pour la configuration de la bibliothèque de résolution de noms. Elle doit contenir un mot-clé de configuration par ligne, suivi par l'information appropriée. Les mots-clés reconnus sont I<order>, I<trim>, I<multi>, I<nospoof>, I<spoof> et I<reorder>. Chaque mot-clé est décrit individuellement ci-dessous.

note: type: Plain text
en: This keyword specifies how host lookups are to be performed.  It should be followed by one or more lookup methods, separated by commas.  Valid methods are I<bind>, I<hosts>, and I<nis>.
fr: Ce mot-clé indique dans quel ordre la résolution des noms d'hôtes doit avoir lieu. Il doit être suivi par une ou plusieurs méthodes séparées par des virgules. Ces méthodes sont I<bind>, I<hosts> et I<nis>.

note: type: Plain text
en: This keyword may be listed more than once.  Each time it should be followed by a list of domains, separated by colons (\(aq:\(aq), semicolons (\(aq;\(aq) or commas (\(aq,\(aq), with the leading dot.  When set, the resolv+ library will automatically trim the given domain name from the end of any hostname resolved via DNS.  This is intended for use with local hosts and domains.  (Related note: trim will not affect hostnames gathered via NIS or the hosts file.  Care should be taken to ensure that the first hostname for each entry in the hosts file is fully qualified or unqualified, as appropriate for the local installation.)
fr: Ce mot-clé peut être indiqué à plusieurs reprises. À chaque fois, il doit être suivi par une liste de noms de domaine séparés par des deux-points «\ :\ », des points-virgules «\ ;\ » ou des virgules «\ ,\ » liste débutant par un point. Lorsqu'il est actif, la bibliothèque resolv+ enlèvera automatiquement ce domaine des noms d'hôtes résolus par le DNS. C’est prévu pour être employé avec des noms d'hôtes ou de domaines locaux. (Note\ : trim n'affectera pas les noms d'hôtes gérés par NIS ou par le fichier I<hosts>. Il faut prendre soin pour chaque nom d'hôte se trouvant dans le fichier I<hosts> que la première entrée soit complète (« fully qualified ») ou au contraire limitée au nom d'hôte, suivant les usages de l'installation).

note: type: Plain text
en: Valid values are I<on> and I<off>.  If set to I<on>, the resolv+ library will return all valid addresses for a host that appears in the I</etc/hosts> file, instead of only the first.  This is I<off> by default, as it may cause a substantial performance loss at sites with large hosts files.
fr: Les valeurs valables sont I<on> et I<off>. Si cette option est sur I<on>, la bibliothèque resolv+ renverra toutes les adresses valables pour un hôte apparaissant dans le fichier I</etc/hosts> plutôt que de ne renvoyer que la première. Par défaut elle est sur I<off> car cela peut causer des dégradations sensibles des performances sur les sites ayant un gros fichier I<hosts>.

note: type: Plain text
en: Valid values are I<on> and I<off>.  If set to I<on>, the resolv+ library will attempt to prevent hostname spoofing to enhance the security of B<rlogin> and B<rsh>.  It works as follows: after performing a host address lookup, resolv+ will perform a hostname lookup for that address.  If the two hostnames do not match, the query will fail.  The default value is I<off>.
fr: Les valeurs valables sont I<on> et I<off>. Si cette option est sur I<on>, la bibliothèque resolv+ essayera d'empêcher toute falsification des noms d'hôtes, pour améliorer la sécurité de B<rlogin> et B<rsh>. Elle fonctionne comme suit\ : après avoir réalisé une résolution de nom d'hôte, resolv+ effectuera une demande de nom pour cette adresse. Si les deux noms d'hôtes ne correspondent pas, la recherche échouera. La valeur par défaut est I<off>.

note: type: Plain text
en: Valid values are I<on> and I<off>.  If this option is set to I<on> and the I<nospoof> option is also set, resolv+ will log a warning of the error via the syslog facility.  The default value is I<off>.
fr: Les valeurs valables sont I<on> et I<off>. Si cette option est sur I<on> et si l'option I<nospoof> est aussi active, resolv+ journalisera un message d'erreur avec les fonctionnalités syslog. La valeur par défaut est I<off>.

note: type: Plain text
en: Valid values are I<off>, I<nowarn> and I<warn>.  If this option is set to I<off>, spoofed addresses are permitted and no warnings will be emitted via the syslog facility.  If this option is set to I<warn>, resolv+ will attempt to prevent hostname spoofing to enhance the security and log a warning of the error via the syslog facility.  If this option is set to I<nowarn>, the resolv+ library will attempt to prevent hostname spoofing to enhance the security but not emit warnings via the syslog facility.  Setting this option to anything else is equal to setting it to I<nowarn>.
fr: Les valeurs valables sont I<off>, I<nowarn> est I<warn>. Si cette option est positionnée à I<off>, les adresses «\ falsifiées\ » (Ndt\ : spoofed) sont autorisées et aucun avertissement ne sera émis vers les fonctionnalités syslog. Si cette option est positionnée à I<warn>, resolv+ tentera de prévenir l'usurpation d'adresse de l'hôte afin d'améliorer la sécurité et journalisera un avertissement de l'erreur dans syslog. Si cette option est positionnée à I<nowarn>, resolv+ tentera de prévenir l'usurpation d'adresse de l'hôte afin d'améliorer la sécurité mais n'émettra pas d'avertissement dans syslog. Positionner cette option à toute autre valeur est équivalent à la positionner à I<nowarn>.

note: type: Plain text
en: Valid values are I<on> and I<off>.  If set to I<on>, resolv+ will attempt to reorder host addresses so that local addresses (i.e., on the same subnet) are listed first when a B<gethostbyname>(3)  is performed.  Reordering is done for all lookup methods.  The default value is I<off>.
fr: Les valeurs valables sont I<on> et I<off>. Si cette option est sur I<on>, resolv+ essayera de réordonner les adresses d'hôtes afin que l'adresse locale (sur le même sous-réseau) soit présentée en premier lors d'un appel à B<gethostbyname>(3). La remise en ordre est assurée pour toutes les méthodes de recherche. Par défaut, la valeur est I<off>.

note: type: SH
en: ENVIRONMENT
fr: ENVIRONNEMENT

note: type: Plain text
en: There are six environment variables that can be used to allow users to override the behavior which is configured in I</etc/host.conf>.
fr: Six variables d'environnement sont mises à disposition de l'utilisateur afin qu'il puisse modifier le comportement configuré dans I</etc/host.conf>.

note: type: Plain text
en: If set, this variable points to a file that should be read instead of I</etc/host.conf>.
fr: Si elle est positionnée, cette variable pointe vers un fichier qui sera lu en lieu et place de I</etc/host.conf>.

note: type: Plain text
en: Overrides the I<order> command.
fr: Supplante la commande I<order>.

note: type: Plain text
en: Overrides the I<nospoof>, I<spoofalert> and I<spoof> commands in the same way as the I<spoof> command is parsed.  Valid values are I<off>, I<nowarn> and I<warn>.
fr: Supplante les commandes I<nospoof>, I<spoofalert> et I<spoof> de la même manière que la commande I<spoof> est analysée. Les valeurs valables sont I<off>, I<nowarn> et I<warn>.

note: type: Plain text
en: Overrides the I<multi> command.
fr: Supplante la commande I<multi>.

note: type: Plain text
en: Overrides the I<reorder> command.
fr: Supplante la commande I<reorder>.

note: type: Plain text
en: A list of domains, separated by colons (\(aq:\(aq), semicolons (\(aq;\(aq) or commas (\(aq,\(aq), with the leading dot, which will be added to the list of domains that should be trimmed.
fr: Une liste de noms de domaine, séparés par des deux-points «\ :\ », des points-virgules «\ ;\ » ou des virgules «\ ,\ » liste débutant par un point et qui sera ajoutée à la liste des domaines qui pourraient être amputés.

note: type: Plain text
en: A list of domains, separated by colons (\(aq:\(aq), semicolons (\(aq;\(aq) or commas (\(aq,\(aq), with the leading dot, which will replace the list of domains that should be trimmed.  Overrides the I<trim> command.
fr: Une liste de noms de domaine, séparés par des deux-points «\ :\ », des points-virgules «\ ;\ » ou des virgules «\ ,\ » liste débutant par un point et qui remplacera la liste des domaines qui pourraient être amputés. Cette variable supplante la commande I<trim>.

note: type: Plain text
en: Resolver configuration file
fr: Fichier de configuration de la résolution de noms.

note: type: Plain text
en: Local hosts database
fr: Base de données locale des noms d'hôtes.

note: type: Plain text
en: The following differences exist compared to the original implementation.  A new command I<spoof> and a new environment variable B<RESOLV_SPOOF_CHECK> can take arguments like I<off>, I<nowarn> and I<warn>.  Line comments can appear anywhere and not only at the beginning of a line.
fr: Les différences suivantes existent par rapport à l'implémentation d'origine. Une nouvelle commande I<spoof> et une nouvelle variable d'environnement B<RESOLV_SPOOF_CHECK> peuvent prendre des arguments tels que I<off>, I<nowarn> et I<warn>. Des commentaires peuvent apparaître n'importe où et pas seulement en début de ligne.

note: type: TH
en: 2010-11-07
fr: 7 novembre 2010

note: type: Plain text
en: hostname - hostname resolution description
fr: hostname - Description de la résolution de noms

note: type: Plain text
en: Hostnames are domains, where a domain is a hierarchical, dot-separated list of subdomains; for example, the machine monet, in the Berkeley subdomain of the EDU domain would be represented as "monet.Berkeley.EDU".
fr: Les noms d'hôtes sont des domaines, où un domaine est une liste hiérarchique de sous-domaines séparés par des points. Par exemple la machine monet, dans le sous-domaine Berkeley du domaine EDU serait représentée ainsi : « monet.Berkeley.EDU ».

note: type: Plain text
en: Hostnames are often used with network client and server programs, which must generally translate the name to an address for use.  (This task is generally performed by either B<getaddrinfo>(3)  or the obsolete B<gethostbyname>(3).)  Hostnames are resolved by the Internet name resolver in the following fashion.
fr: Les noms d'hôtes sont souvent utilisés avec des programmes clients et serveurs réseau, qui devront en général traduire le nom en une adresse utilisable. (Cette tâche est habituellement réalisée par B<getaddrinfo>(3) ou par la fonction obsolète B<gethostbyname>(3)). Les noms d'hôtes sont traduits par le « Internet Name Resolver » en suivant la méthode suivante.

note: type: Plain text
en: If the name consists of a single component, that is, contains no dot, and if the environment variable B<HOSTALIASES> is set to the name of a file, that file is searched for any string matching the input hostname.  The file should consist of lines made up of two white-space separated strings, the first of which is the hostname alias, and the second of which is the complete hostname to be substituted for that alias.  If a case-insensitive match is found between the hostname to be resolved and the first field of a line in the file, the substituted name is looked up with no further processing.
fr: Si le nom n'est constitué que d'un seul composant, c'est-à-dire qu'il ne contient pas de point, et si la variable d'environnement B<HOSTALIASES> contient le nom d'un fichier, ce dernier est parcouru à la recherche d'une chaîne correspondant au nom d'hôte. Le fichier doit être constitué de lignes composées de deux chaînes séparées par des caractères blancs, la première est l'alias du nom d'hôte, et la seconde est le nom complet de l'hôte, à substituer à l'alias. Si une correspondance (sans différencier les majuscules et minuscules) est trouvée entre le nom d'hôte à résoudre et le premier champ d'une ligne, le nom substitué est utilisé sans traitement supplémentaire.

note: type: Plain text
en: If the input name ends with a trailing dot, the trailing dot is removed, and the remaining name is looked up with no further processing.
fr: Si le nom d'hôte original se termine par un point final, ce dernier est enlevé et le nom restant est recherché sans traitement supplémentaire.

note: type: Plain text
en: If the input name does not end with a trailing dot, it is looked up by searching through a list of domains until a match is found.  The default search list includes first the local domain, then its parent domains with at least 2 name components (longest first).  For example, in the domain CS.Berkeley.EDU, the name lithium.CChem will be checked first as lithium.CChem.CS.Berkeley.EDU and then as lithium.CChem.Berkeley.EDU.  Lithium.CChem.EDU will not be tried, as there is only one component remaining from the local domain.  The search path can be changed from the default by a system-wide configuration file (see B<resolver>(5)).
fr: Si le nom d'entrée ne se termine pas par un point final, il est recherché en parcourant une liste de domaine jusqu'à ce qu'une correspondance apparaisse. La liste de recherche par défaut inclut le domaine local puis son domaine parent, avec au moins deux noms de composants (le plus long d'abord). Par exemple, dans le domaine CS.Berkeley.EDU, le nom lithium.CChem sera d'abord recherché en tant que lithium.CChem.CS.Berkeley.EDU puis comme lithium.CChem.Berkeley.EDU. En revanche, lithium.CChem.EDU ne sera pas essayé, car il ne reste qu'un seul composant du domaine local. Le chemin de recherche peut être modifié par un fichier de configuration général pour le système (consultez B<resolver>(5)).

note: type: TH
en: 2002-06-16
fr: 16 juin 2002

note: type: Plain text
en: hosts - static table lookup for hostnames
fr: hosts - Table de correspondance statique des noms d'hôtes

note: type: Plain text
en: This manual page describes the format of the I</etc/hosts> file.  This file is a simple text file that associates IP addresses with hostnames, one line per IP address.  For each host a single line should be present with the following information:
fr: Cette page de manuel décrit le format du fichier I</etc/hosts>. Il s'agit d'un simple fichier texte qui associe des adresses IP avec des noms d'hôtes, une ligne par adresse IP. Pour chaque hôte, une seule ligne doit être présente, avec les informations suivantes :

note: type: Plain text
en: IP_address canonical_hostname [aliases...]
fr: Adresse_IP nom_hote_canonique [aliases...]

note: type: Plain text
en: Fields of the entry are separated by any number of blanks and/or tab characters.  Text from a "#" character until the end of the line is a comment, and is ignored.  Host names may contain only alphanumeric characters, minus signs ("-"), and periods (".").  They must begin with an alphabetic character and end with an alphanumeric character.  Optional aliases provide for name changes, alternate spellings, shorter hostnames, or generic hostnames (for example, I<localhost>).
fr: Les champs d'une entrée sont séparés par un nombre quelconque d'espaces et/ou de caractères de tabulations. Le texte commençant avec un caractère « # » sera considéré, jusqu'à la fin de la ligne, comme un commentaire, et sera donc ignoré. Les noms d'hôtes ne peuvent contenir que des caractères alphanumériques, des signes moins « - » et des points « . ». Ils doivent commencer par un caractère alphabétique et se terminer par un caractère alphanumérique. Les alias optionnels permettent de disposer de noms différents, d'orthographe différente, de noms plus courts, ou de noms d'hôtes génériques (par exemple I<localhost>).

note: type: Plain text
en: The Berkeley Internet Name Domain (BIND) Server implements the Internet name server for UNIX systems.  It augments or replaces the I</etc/hosts> file or hostname lookup, and frees a host from relying on I</etc/hosts> being up to date and complete.
fr: Le système « Berkeley Internet Name Domain » (BIND) implémente un serveur de noms Internet pour les systèmes UNIX. Il remplace ou complète le fichier I</etc/hosts> ou la recherche des noms d'hôtes, et évite à un hôte de dépendre d'un fichier I</etc/hosts> complet et à jour.

note: type: Plain text
en: In modern systems, even though the host table has been superseded by DNS, it is still widely used for:
fr: Sur les systèmes modernes, même si la table des hôtes a été remplacée par DNS, ce mécanisme est encore largement employé pour :

note: type: TP
en: B<bootstrapping>
fr: B<initialiser une machine>

note: type: Plain text
en: Most systems have a small host table containing the name and address information for important hosts on the local network.  This is useful when DNS is not running, for example during system bootup.
fr: La plupart de systèmes ont un petit fichier contenant le nom et l'adresse des hôtes importants sur le réseau local. C’est utile lorsque le DNS n'est pas actif, notamment lors de la mise en route du système.

note: type: Plain text
en: Sites that use NIS use the host table as input to the NIS host database.  Even though NIS can be used with DNS, most NIS sites still use the host table with an entry for all local hosts as a backup.
fr: Les sites employant NIS utilisent la table d'hôtes comme entrée pour la base de données des hôtes NIS. Même si NIS peut être employé avec un DNS, la plupart des sites NIS utilisent encore la table des noms d'hôtes avec une entrée pour toutes les machines locales, à des fins de secours.

note: type: TP
en: B<isolated nodes>
fr: B<nœuds isolés>

note: type: Plain text
en: Very small sites that are isolated from the network use the host table instead of DNS.  If the local information rarely changes, and the network is not connected to the Internet, DNS offers little advantage.
fr: Les très petits sites, isolés du réseau, emploient la table d'hôtes à la place du DNS. Si les informations locales sont rarement modifiées, et si le réseau n'est pas connecté à Internet, le DNS n'offre pas beaucoup d'avantages.

note: type: Plain text
en: Modifications to this file normally take effect immediately, except in cases where the file is cached by applications.
fr: Les modifications apportées à ce fichiers prennent normalement effet immédiatement, excepté dans les cas où le fichier est mis en cache par les applications.

note: type: SS
en: Historical notes
fr: Notes d'histoire

note: type: Plain text
en: RFC\ 952 gave the original format for the host table, though it has since changed.
fr: La RFC 952 indiquait le format d'origine pour la table de l'hôte, mais ça a changé depuis.

note: type: Plain text
en: Before the advent of DNS, the host table was the only way of resolving hostnames on the fledgling Internet.  Indeed, this file could be created from the official host data base maintained at the Network Information Control Center (NIC), though local changes were often required to bring it up to date regarding unofficial aliases and/or unknown hosts.  The NIC no longer maintains the hosts.txt files, though looking around at the time of writing (circa 2000), there are historical hosts.txt files on the WWW.  I just found three, from 92, 94, and 95.
fr: Avant l'arrivée de DNS, la table des hôtes était la seule manière de résoudre les noms d'hôtes sur l'Internet balbutiant. Le fichier pouvait être créé à partir de la base de données officielle maintenue au Network Information Control Center (NIC), bien que des modifications locaux étaient souvent nécessaires pour gérer les adresses et les alias non officiels. Le NIC ne maintient plus le fichier hosts.txt, même si des versions historiques sont encore disponibles sur le web (92, 94 et 95 par exemple).

note: type: Plain text
en: 127.0.0.1       localhost
    192.168.1.10    foo.mydomain.org       foo
    192.168.1.13    bar.mydomain.org       bar
    146.82.138.7    master.debian.org      master
    209.237.226.90  www.opensource.org
fr: 127.0.0.1       localhost
    192.168.1.10    toto.mondomaine.org    toto
    192.168.1.13    titi.mondomaine.org    titi
    146.82.138.7    master.debian.org      master
    209.237.226.90  www.opensource.org

note: .SH AUTHOR This manual page was written by Manoj Srivastava <srivasta@debian.org>, for the Debian GNU/Linux system. type: Plain text
en: Internet RFC\ 952
fr: RFC\ 952 sur Internet

note: type: TH
en: 2003-08-24
fr: 24 août 2003

note: type: Plain text
en: /etc/hosts.equiv - list of hosts and users that are granted "trusted" B<r> command access to your system
fr: /etc/hosts.equiv - Liste d'hôtes et d'utilisateurs ayant l'autorisation d'accéder à votre système par une commande « B<r> » avec des privilèges « de confiance »

note: type: Plain text
en: The B<hosts.equiv> file allows or denies hosts and users to use the B<r>-commands (e.g., B<rlogin>, B<rsh>, or B<rcp>)  without supplying a password.
fr: Le fichier B<hosts.equiv> autorise ou interdit à des ordinateurs et à des utilisateurs l'utilisation des commandes « B<r> » (telles que B<rlogin>, B<rsh> ou B<rcp>) sans donner de mot de passe.

note: type: Plain text
en: The file uses the following format:
fr: Le fichier possède le format suivant :

note: type: TP
en: I<[ + | - ]> I<[hostname]> I<[username]>
fr: I<[ + | - ]> I<[hôte]> I<[utilisateur]>

note: type: Plain text
en: The I<hostname> is the name of a host which is logically equivalent to the local host.  Users logged into that host are allowed to access like-named user accounts on the local host without supplying a password.  The I<hostname> may be (optionally) preceded by a plus (+) sign.  If the plus sign is used alone, it allows any host to access your system.  You can explicitly deny access to a host by preceding the I<hostname> by a minus (-) sign.  Users from that host must always supply a password.  For security reasons you should always use the FQDN of the hostname and not the short hostname.
fr: L'I<hôte> est le nom d'un hôte logiquement équivalent à l'hôte local. Les utilisateurs connectés à cet ordinateur sont autorisés à accéder aux comptes du même nom sans fournir de mot de passe. I<hôte> peut être, de manière optionnelle, précédé d'un signe plus (« + »). Si le signe est indiqué seul, toutes les machines seront autorisées à se connecter au système. Vous pouvez en interdire explicitement l'accès par un ordinateur particulier en précédant I<hôte> d'un signe moins (« - »). Les utilisateurs de ces ordinateurs auront toujours à fournir un mot de passe. Pour des raisons de sécurité, vous devriez toujours utiliser le nom d'hôte pleinement qualifié de l'ordinateur (FQDN) et pas son nom court.

note: type: Plain text
en: The I<username> entry grants a specific user access to all user accounts (except root) without supplying a password.  That means the user is NOT restricted to like-named accounts.  The I<username> may be (optionally) preceded by a plus (+) sign.  You can also explicitly deny access to a specific user by preceding the I<username> with a minus (-) sign.  This says that the user is not trusted no matter what other entries for that host exist.
fr: Le champ I<utilisateur> permet de donner l'accès à tous les comptes (à l'exception de root), sans mot de passe, à un utilisateur particulier. Cela signifie que cet utilisateur n'est pas limité au compte du même nom. Le champ I<utilisateur> peut être, optionnellement, précédé d'un signe plus « + ». Vous pouvez aussi explicitement interdire l'accès à un utilisateur particulier en précédant I<utilisateur> d'un signe moins « - ». Cela signifie que cet utilisateur n'est pas déclaré comme étant de confiance indépendamment des autres entrées relatives à cette machine.

note: type: Plain text
en: Netgroups can be specified by preceding the netgroup by an @ sign.
fr: Des groupes de réseau (« netgroup ») peuvent être indiqués en les précédent d'un signe « @ ».

note: type: Plain text
en: Be extremely careful when using the plus (+) sign.  A simple typographical error could result in a standalone plus sign.  A standalone plus sign is a wildcard character that means "any host"!
fr: Soyez très attentifs quand vous employez le signe plus « + ». Une simple erreur typographique pour vous faire placer un signe plus sur une ligne vide. Un signe plus isolé est un caractère de remplacement qui signifie « tous les hôtes » !

note: type: Plain text
en: Some systems will honor the contents of this file only when it has owner root and no write permission for anybody else.  Some exceptionally paranoid systems even require that there be no other hard links to the file.
fr: Certains systèmes ne tiennent compte du contenu de ce fichier que lorsque le propriétaire est le superutilisateur et que personne d'autre ne peut y écrire. Certains systèmes particulièrement paranoïaques exigent même qu'il n'y ait aucun autre lien physique sur le fichier.

note: type: Plain text
en: Modern systems use the Pluggable Authentication Modules library (PAM).  With PAM a standalone plus sign is considered a wildcard character which means "any host" only when the word I<promiscuous> is added to the auth component line in your PAM file for the particular service (e.g., B<rlogin>).
fr: Les systèmes modernes utilisent la bibliothèque « Pluggable Authentication Modules » (PAM). Avec PAM, un signe plus isolé est considéré comme un caractère de remplacement qui signifie « n'importe quel hôte » lorsque le mot I<promiscuous> est ajouté à la ligne « auth » de votre fichier PAM pour un service particulier (par exemple B<rlogin>).

note: type: TH
en: 2012-05-10
fr: 10 mai 2012

note: type: Plain text
en: icmp - Linux IPv4 ICMP kernel module.
fr: icmp - Module ICMP IPv4 du noyau Linux

note: type: Plain text
en: This kernel protocol module implements the Internet Control Message Protocol defined in RFC\ 792.  It is used to signal error conditions and for diagnosis.  The user doesn't interact directly with this module; instead it communicates with the other protocols in the kernel and these pass the ICMP errors to the application layers.  The kernel ICMP module also answers ICMP requests.
fr: Ce module du noyau implémente le protocole ICMP (Internet Control Message Protocol) défini dans la RFC\ 792. Il sert pour diagnostiquer et indiquer des conditions d'erreurs. L'utilisateur n'interagit pas directement avec ce module. À la place, il communique avec les autres protocoles dans le noyau, et ceux-ci transmettent les erreurs ICMP aux couches applicatives. Ce module répond également aux requêtes ICMP.

note: type: Plain text
en: A user protocol may receive ICMP packets for all local sockets by opening a raw socket with the protocol B<IPPROTO_ICMP>.  See B<raw>(7)  for more information.  The types of ICMP packets passed to the socket can be filtered using the B<ICMP_FILTER> socket option.  ICMP packets are always processed by the kernel too, even when passed to a user socket.
fr: Un protocole utilisateur peut recevoir des paquets ICMP pour toutes les sockets locales en utilisant une socket B<raw> avec le protocole B<IPPROTO_ICMP>. Consultez la page B<raw>(7) pour plus de détails. Les types de paquets ICMP transmis à la socket peuvent être filtrés en utilisant l'option B<ICMP_FILTER> de la socket. Les paquets ICMP sont toujours traités par le noyau aussi, même lorsqu'ils sont transmis à une socket utilisateur.

note: type: Plain text
en: Linux limits the rate of ICMP error packets to each destination.  B<ICMP_REDIRECT> and B<ICMP_DEST_UNREACH> are also limited by the destination route of the incoming packets.
fr: Linux limite le débit des paquets d'erreurs ICMP pour chaque destination. B<ICMP_REDIRECT> et B<ICMP_DEST_UNREACH> sont aussi limitées par la route de destination des paquets entrants.

note: FIXME better description needed type: Plain text
en: ICMP supports a set of I</proc> interfaces to configure some global IP parameters.  The parameters can be accessed by reading or writing files in the directory I</proc/sys/net/ipv4/>.  Most of these parameters are rate limitations for specific ICMP types.  Linux 2.2 uses a token bucket filter to limit ICMPs.  The value is the timeout in jiffies until the token bucket filter is cleared after a burst.  A jiffy is a system dependent unit, usually 10ms on i386 and about 1ms on alpha and ia64.
fr: ICMP prend en charge une série d'interfaces I</proc> pour configurer certains paramètres IP globaux. Ces paramètre sont accessibles en lisant ou écrivant les fichiers du répertoire I</proc/sys/net/ipv4/>. La plupart de ces paramètres sont des limitations de débit pour des types ICMP spécifiques. Linux 2.2 utilise un filtre à jeton pour limiter les ICMPs. La valeur est un délai en jiffies jusqu'à ce que le filtre soit vidé. Un jiffy est une unité de temps dépendant du système, en général 10ms sur i386 et environ 1ms sur alpha et ia64.

note: type: TP
en: I<icmp_destunreach_rate> (Linux 2.2 to 2.4.9)
fr: I<icmp_destunreach_rate> (Linux 2.2 à 2.4.9)

note: Precisely: from 2.1.102 type: Plain text
en: Maximum rate to send ICMP Destination Unreachable packets.  This limits the rate at which packets are sent to any individual route or destination.  The limit does not affect sending of B<ICMP_FRAG_NEEDED> packets needed for path MTU discovery.
fr: Fréquence maximale pour envoyer des paquets ICMP «\ Destination inaccessible\ ». Cela limite le débit avec lequel ces paquets sont émis vers des routes individuelles ou collectives. Cette limite n'affecte par l'envoi des paquets B<ICMP_FRAG_NEEDED> nécessaire pour rechercher le MTU d'un chemin.

note: type: TP
en: I<icmp_echo_ignore_all> (since Linux 2.2)
fr: I<icmp_echo_ignore_all> (depuis Linux 2.2)

note: Precisely: 2.1.68 type: Plain text
en: If this value is nonzero, Linux will ignore all B<ICMP_ECHO> requests.
fr: Si cette valeur est non nulle, Linux ignorera toutes les requêtes B<ICMP_ECHO>.

note: type: TP
en: I<icmp_echo_ignore_broadcasts> (since Linux 2.2)
fr: I<icmp_echo_ignore_broadcasts> (depuis Linux 2.2)

note: Precisely: from 2.1.68 type: Plain text
en: If this value is nonzero, Linux will ignore all B<ICMP_ECHO> packets sent to broadcast addresses.
fr: Si cette valeur est non nulle, Linux ignorera toutes les requêtes B<ICMP_ECHO> envoyées à une adresse broadcast.

note: type: TP
en: I<icmp_echoreply_rate> (Linux 2.2 to 2.4.9)
fr: I<icmp_echoreply_rate> (Linux 2.2 à 2.4.9)

note: Precisely: from 2.1.102 type: Plain text
en: Maximum rate for sending B<ICMP_ECHOREPLY> packets in response to B<ICMP_ECHOREQUEST> packets.
fr: Vitesse maximale pour envoyer les paquets B<ICMP_ECHOREPLY> en réponse aux requêtes B<ICMP_ECHOREQUEST>.

note: type: TP
en: I<icmp_errors_use_inbound_ifaddr> (Boolean; default: disabled; since Linux 2.6.12)
fr: I<icmp_errors_use_inbound_ifaddr> (booléen ; désactivé par défaut ; depuis Linux 2.6.12)

note: The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt type: Plain text
en: If disabled, ICMP error messages are sent with the primary address of the exiting interface.
fr: Lorsqu'il est désactivé, les messages d'erreurs ICMP sont envoyés avec l'adresse primaire de l'interface existante.

note: type: Plain text
en: If enabled, the message will be sent with the primary address of the interface that received the packet that caused the ICMP error.  This is the behavior that many network administrators will expect from a router.  And it can make debugging complicated network layouts much easier.
fr: Lorsqu'il est activé, le message est envoyé avec l'adresse primaire de l'interface qui a reçu le paquet qui a causé l'erreur ICMP. Il s'agit du comportement que beaucoup d'administrateurs réseau attendent d'un routeur. Et cela peut faciliter le déboguage de réseaux complexes.

note: type: Plain text
en: Note that if no primary address exists for the interface selected, then the primary address of the first non-loopback interface that has one will be used regardless of this setting.
fr: Notez que s'il n'y a pas d'adresse primaire pour l'interface sélectionnée, l'adresse de la première interface n'étant pas une interface de boucle (loopback) et ayant une adresse primaire sera utilisée quelle que soit la configuration de ce booléen.

note: type: TP
en: I<icmp_ignore_bogus_error_responses> (Boolean; default: disabled; since Linux 2.2)
fr: I<icmp_ignore_bogus_error_responses> (booléen ; désactivé par défaut ; depuis Linux 2.2)

note: precisely: since 2.1.32 The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt type: Plain text
en: Some routers violate RFC1122 by sending bogus responses to broadcast frames.  Such violations are normally logged via a kernel warning.  If this parameter is enabled, the kernel will not give such warnings, which will avoid log file clutter.
fr: Certains routeurs ne respectent pas la RFC 1122 et renvoient des réponses erronées aux trames de diffusion générale. C’est généralement enregistré dans les journaux comme des avertissements par le noyau. Si ce paramètre est activé, le noyau ne produira pas d'avertissement, ce qui évitera de surcharger le fichier de journal.

note: type: TP
en: I<icmp_paramprob_rate> (Linux 2.2 to 2.4.9)
fr: I<icmp_paramprob_rate> (Linux 2.2 à 2.4.9)

note: Precisely: from 2.1.102 type: Plain text
en: Maximum rate for sending B<ICMP_PARAMETERPROB> packets.  These packets are sent when a packet arrives with an invalid IP header.
fr: Débit maximal pour émettre les paquets B<ICMP_PARAMETERPROB>. Ceux-ci sont envoyés lorsqu'un paquet arrive avec un en-tête IP incorrect.

note: type: TP
en: I<icmp_ratelimit> (integer; default: 1000; since Linux 2.4.10)
fr: I<icmp_ratelimit> (entier ; défaut\ : 1000 ; depuis Linux 2.4.10)

note: The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt type: Plain text
en: Limit the maximum rates for sending ICMP packets whose type matches I<icmp_ratemask> (see below) to specific targets.  0 to disable any limiting, otherwise the minimum space between responses in milliseconds.
fr: Limiter les taux maximum pour l'envoie de paquets ICMP dont le type correspond à I<icmp_ratemask> (voir ci-dessous). 0 désactive toute limite, sinon il s'agit de l'intervalle minimum entre deux réponses, en millisecondes.

note: type: TP
en: I<icmp_ratemask> (integer; default: see below; since Linux 2.4.10)
fr: I<icmp_ratemask> (entier ; voir ci-dessous la valeur par défaut ; depuis Linux 2.4.10)

note: The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt type: Plain text
en: Mask made of ICMP types for which rates are being limited.
fr: Masque de types ICMP pour lesquels les taux sont limités.

note: type: Plain text
en: Significant bits: IHGFEDCBA9876543210
fr: bit significatifs : IHGFEDCBA9876543210

note: type: Plain text
en: Default mask: 0000001100000011000 (0x1818)
fr: Masque par défaut : 0000001100000011000 (0x1818)

note: type: Plain text
en: Bit definitions (see the Linux kernel source file I<include/linux/icmp.h>):
fr: Définitions des bits (consultez le fichier I<include/linux/icmp.h> dans les sources du noyau Linux) :

note: type: tbl table
en: 0 Echo Reply
fr: 0 Réponse Echo

note: type: tbl table
en: 3 Destination Unreachable *
fr: 3 Destination inaccessible *

note: type: tbl table
en: 4 Source Quench *
fr: 4 Extinction de la source *

note: type: tbl table
en: 5 Redirect
fr: 5 Redirection

note: type: tbl table
en: 8 Echo Request
fr: 8 Demande d'un Echo

note: type: tbl table
en: B Time Exceeded *
fr: B Temps dépassé *

note: type: tbl table
en: C Parameter Problem *
fr: C Problème de paramètre *

note: type: tbl table
en: D Timestamp Request
fr: D Demande d'horodatage

note: type: tbl table
en: E Timestamp Reply
fr: E Horodatage en réponse

note: type: tbl table
en: F Info Request
fr: F Demande d'information

note: type: tbl table
en: G Info Reply
fr: G Information en réponse

note: type: tbl table
en: H Address Mask Request
fr: H Demande d'un masque de sous-réseau

note: type: tbl table
en: I Address Mask Reply
fr: I Masque de sous-réseau en réponse

note: type: Plain text
en: The bits marked with an asterisk are rate limited by default (see the default mask above).
fr: Les bits marqués d'un astérisque sont limités par défaut (voir le masque de bits par défaut ci-dessus).

note: type: TP
en: I<icmp_timeexceed_rate> (Linux 2.2 to 2.4.9)
fr: I<icmp_timeexceed_rate> (Linux 2.2 à 2.4.9)

note: type: Plain text
en: Maximum rate for sending B<ICMP_TIME_EXCEEDED> packets.  These packets are sent to prevent loops when a packet has crossed too many hops.
fr: Débit maximal pour émettre les paquets B<ICMP_TIME_EXCEEDED>. Ceux-ci sont envoyés pour empêcher les boucles quand un paquet a réalisé trop de sauts.

note: type: Plain text
en: Support for the B<ICMP_ADDRESS> request was removed in 2.2.
fr: La prise en charge des requêtes B<ICMP_ADDRESS> a été supprimée dans le noyau 2.2.

note: type: Plain text
en: Support for B<ICMP_SOURCE_QUENCH> was removed in Linux 2.2.
fr: La prise en charge pour B<ICMP_SOURCE_QUENCH> a été supprimée dans Linux 2.2.

note: not really true ATM .PP Linux ICMP should be compliant to RFC 1122. type: Plain text
en: As many other implementations don't support B<IPPROTO_ICMP> raw sockets, this feature should not be relied on in portable programs.
fr: Comme beaucoup d'autres implémentations ne prennent pas en charge les socket raw B<IPPROTO_ICMP>, les programmes portables ne doivent pas se reposer sur cette fonctionnalité.

note: type: Plain text
en: B<ICMP_REDIRECT> packets are not sent when Linux is not acting as a router.  They are also accepted only from the old gateway defined in the routing table and the redirect routes are expired after some time.
fr: Les paquets B<ICMP_REDIRECT> ne sont pas envoyés quand Linux ne fonctionne pas en routeur. Ils ne sont également acceptés que d'une passerelle précédemment définie dans la table de routage, et les routes de redirection expirent après un certain délai.

note: type: Plain text
en: The 64-bit timestamp returned by B<ICMP_TIMESTAMP> is in milliseconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).
fr: L'horodatage 64 bits renvoyé par B<ICMP_TIMESTAMP> est en millisecondes depuis l'époque, 1er\ janvier 1970 à\ 00:00:00 (UTC).

note: type: Plain text
en: Linux ICMP internally uses a raw socket to send ICMPs.  This raw socket may appear in B<netstat>(8)  output with a zero inode.
fr: En interne, l'ICMP Linux utilise une socket raw pour envoyer les ICMPs. Cette socket peut apparaître dans la sortie de B<netstat>(8) avec un in\(oeud nul.

note: type: Plain text
en: RFC\ 792 for a description of the ICMP protocol.
fr: RFC\ 792 pour une description du protocole ICMP.

note: type: TH
en: 2014-04-19
fr: 19 avril 2014

note: type: Plain text
en: inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_lnaof, inet_netof - Internet address manipulation routines
fr: inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_lnaof, inet_netof - Routines de manipulation d'adresses Internet

note: type: Plain text
en: B<inet_aton>(), B<inet_ntoa>(): _BSD_SOURCE || _SVID_SOURCE
fr: B<inet_aton>(), B<inet_ntoa>()\ : _BSD_SOURCE || _SVID_SOURCE

note: type: Plain text
en: B<inet_aton>()  converts the Internet host address I<cp> from the IPv4 numbers-and-dots notation into binary form (in network byte order)  and stores it in the structure that I<inp> points to.  B<inet_aton>()  returns nonzero if the address is valid, zero if not.  The address supplied in I<cp> can have one of the following forms:
fr: B<inet_aton>() convertit l'adresse Internet de l'hôte I<cp> depuis la notation IPv4 avec nombres et points vers une forme binaire (dans l'ordre d'octet du réseau), et la stocke dans la structure pointée par I<inp>. B<inet_aton>() renvoie une valeur non nulle si l'adresse est valable, et zéro sinon. L'adresse fournie à I<cp> peut avoir l'une des formes suivantes :

note: type: Plain text
en: Each of the four numeric parts specifies a byte of the address; the bytes are assigned in left-to-right order to produce the binary address.
fr: Chacune des quatre parties numériques représente un octet de l'adresse ; ces octets sont assignés de gauche à droite pour produire l'adresse binaire.

note: type: Plain text
en: Parts I<a> and I<b> specify the first two bytes of the binary address.  Part I<c> is interpreted as a 16-bit value that defines the rightmost two bytes of the binary address.  This notation is suitable for specifying (outmoded) Class B network addresses.
fr: Les parties I<a> et I<b> représentent les deux premiers octets de l'adresse binaire. La partie I<c> est interprétée comme une valeur 16 bits définissant les deux octets les plus à droite de l'adresse binaire. Cette notation est pertinente pour indiquer (démodé) des adresses de réseaux de classe B.

note: type: Plain text
en: Part I<a> specifies the first byte of the binary address.  Part I<b> is interpreted as a 24-bit value that defines the rightmost three bytes of the binary address.  This notation is suitable for specifying (outmoded) Class A network addresses.
fr: La partie I<a> représente le premier octet de l'adresse binaire. La partie I<b> est interprétée comme une valeur 24 bits définissant les trois octets les plus à droite de l'adresse binaire. Cette notation est pertinente pour indiquer (démodé) des adresses de réseaux de classe A.

note: type: Plain text
en: The value I<a> is interpreted as a 32-bit value that is stored directly into the binary address without any byte rearrangement.
fr: La valeur I<a> est interprétée comme une valeur 32 bits directement enregistrée dans l'adresse binaire, sans aucun réajustement d'octet.

note: type: Plain text
en: In all of the above forms, components of the dotted address can be specified in decimal, octal (with a leading I<0>), or hexadecimal, with a leading I<0X>).  Addresses in any of these forms are collectively termed I<IPV4 numbers-and-dots notation>.  The form that uses exactly four decimal numbers is referred to as I<IPv4 dotted-decimal notation> (or sometimes: I<IPv4 dotted-quad notation>).
fr: Dans toutes les formes précédentes, les éléments d'une adresse en notation pointée peuvent être indiqués sous forme décimale, octale (avec un I<0> devant) ou hexadécimale (avec un I<0X> devant). La terminologie des adresses sous ces formes est appelée I<notation numérique pointée IPv4>. La forme qui utilise exactement quatre nombres décimaux est appelée I<notation décimale pointée IPV4> (ou quelques fois : I<notation quadruplée pointée IPv4>).

note: type: Plain text
en: If B<inet_aton>()  returns 1 if the supplied string was successfully interpreted, or 0 if the string is invalid (B<errno> is I<not> set on error).
fr: B<inet_aton>() renvoie 1 si la chaîne fournie a été interprétée correctement ou 0 si la chaîne n’est pas valable (B<errno> n’est I<pas> défini en cas d’erreur).

note: type: Plain text
en: The B<inet_addr>()  function converts the Internet host address I<cp> from IPv4 numbers-and-dots notation into binary data in network byte order.  If the input is invalid, B<INADDR_NONE> (usually -1) is returned.  Use of this function is problematic because -1 is a valid address (255.255.255.255).  Avoid its use in favor of B<inet_aton>(), B<inet_pton>(3), or B<getaddrinfo>(3)  which provide a cleaner way to indicate error return.
fr: La fonction B<inet_addr>() convertit l'adresse Internet de l'hôte I<cp> depuis la notation IPv4 avec nombres et points en une donnée binaire dans l'ordre des octets du réseau. Si l'adresse est incorrecte, B<INADDR_NONE> (généralement -1) est renvoyé. L'utilisation de cette fonction pose problème car -1 est une adresse valable (255.255.255.255). Évitez-la au profit de B<inet_aton>(), B<inet_pton>(3) ou B<getaddrinfo>(3) qui fournissent un renvoi d'erreur plus propre.

note: type: Plain text
en: The B<inet_network>()  function converts I<cp>, a string in IPv4 numbers-and-dots notation, into a number in host byte order suitable for use as an Internet network address.  On success, the converted address is returned.  If the input is invalid, -1 is returned.
fr: La fonction B<inet_network>() convertit I<cp>, une chaîne en notation numérique pointée IPv4, en un nombre dans l'ordre des octets de l'hôte qui pourra être utilisé comme adresse de réseau Internet. Si elle réussit, cette fonction renvoie l'adresse convertie. Si l'adresse n'est pas valable, -1 est renvoyé.

note: type: Plain text
en: The B<inet_ntoa>()  function converts the Internet host address I<in>, given in network byte order, to a string in IPv4 dotted-decimal notation.  The string is returned in a statically allocated buffer, which subsequent calls will overwrite.
fr: La fonction B<inet_ntoa>() convertit l'adresse Internet de l'hôte I<in> donnée dans l'ordre des octets du réseau en une chaîne de caractères dans la notation numérique pointée. La chaîne est renvoyée dans un tampon alloué statiquement, qui est donc écrasé à chaque appel.

note: type: Plain text
en: The B<inet_lnaof>()  function returns the local network address part of the Internet address I<in>.  The returned value is in host byte order.
fr: La fonction B<inet_lnaof>() renvoie la partie correspondant à l'adresse du réseau local d'une adresse Internet I<in>. La valeur est renvoyée dans l'ordre des octets de l'hôte.

note: type: Plain text
en: The B<inet_netof>()  function returns the network number part of the Internet address I<in>.  The returned value is in host byte order.
fr: La fonction B<inet_netof>() renvoie la partie adresse réseau extraite d'une adresse Internet I<in>. La valeur est renvoyée dans l'ordre des octets de l'hôte.

note: type: Plain text
en: The B<inet_makeaddr>()  function is the converse of B<inet_netof>()  and B<inet_lnaof>().  It returns an Internet host address in network byte order, created by combining the network number I<net> with the local address I<host>, both in host byte order.
fr: La fonction B<inet_makeaddr>() est la réciproque des fonctions B<inet_netof>() et B<inet_lnaof>(). Elle renvoie une adresse d'hôte Internet dans l'ordre des octets du réseau, en combinant le numéro du réseau I<net> et l'adresse locale I<host>, chacun d'eux étant donné dans l'ordre des octets de l'hôte.

note: type: Plain text
en: The structure I<in_addr> as used in B<inet_ntoa>(), B<inet_makeaddr>(), B<inet_lnaof>()  and B<inet_netof>()  is defined in I<E<lt>netinet/in.hE<gt>> as:
fr: La structure I<in_addr> utilisée dans B<inet_ntoa>(), B<inet_makeaddr>(), B<inet_lnaof>() et B<inet_netof>() est définie ainsi dans I<E<lt>netinet/in.hE<gt>>\ :

note: type: Plain text
en: 4.3BSD.  B<inet_addr>()  and B<inet_ntoa>()  are specified in POSIX.1-2001.  B<inet_aton>()  is not specified in POSIX.1-2001, but is available on most systems.
fr: BSD\ 4.3. B<inet_addr>() et B<inet_ntoa>() sont spécifiées dans POSIX.1-2001. B<inet_aton>() n'est pas spécifiée dans POSIX.1-2001, mais est disponible sur la plupart des systèmes.

note: type: Plain text
en: On the i386 the host byte order is Least Significant Byte first (little endian), whereas the network byte order, as used on the Internet, is Most Significant Byte first (big endian).
fr: L'ordre des octets des machines i386 est «\ LSB\ » (poids faible en premier, «\ little endian\ »), alors que l'ordre des octets sur internet est «\ MSB\ » (poids fort en premier ou «\ big endian\ »).

note: type: Plain text
en: B<inet_lnaof>(), B<inet_netof>(), and B<inet_makeaddr>()  are legacy functions that assume they are dealing with I<classful network addresses>.  Classful networking divides IPv4 network addresses into host and network components at byte boundaries, as follows:
fr: B<inet_lnaof>(), B<inet_netof>() et B<inet_makeaddr>() sont des fonctions héritées qui supposent qu'elles traitent des I<adresses de classes canoniques>. Les sous-réseaux de classes canoniques divisent la partie réseau et la partie hôte des adresses IPv4 sur des limites d'octets comme suit :

note: type: TP
en: Class A
fr: Classe A

note: type: Plain text
en: This address type is indicated by the value 0 in the most significant bit of the (network byte ordered) address.  The network address is contained in the most significant byte, and the host address occupies the remaining three bytes.
fr: Ce type d'adresse est indiqué par la valeur 0 du bit de poids fort (dans l'ordre des octets du réseau) de l'adresse. L'adresse du réseau est contenue dans l'octet de poids fort et l'adresse de l'hôte dans les trois octets restants.

note: type: TP
en: Class B
fr: Classe B

note: type: Plain text
en: This address type is indicated by the binary value 10 in the most significant two bits of the address.  The network address is contained in the two most significant bytes, and the host address occupies the remaining two bytes.
fr: Ce type d'adresse est indiqué par la valeur binaire 10 dans les deux bits de poids fort de l'adresse. L'adresse du réseau est contenue dans les deux octets de poids fort et l'adresse de l'hôte dans les deux octets restants.

note: type: TP
en: Class C
fr: Classe C

note: type: Plain text
en: This address type is indicated by the binary value 110 in the most significant three bits of the address.  The network address is contained in the three most significant bytes, and the host address occupies the remaining byte.
fr: Ce type d'adresse est indiqué par la valeur binaire 110 dans les trois bits de poids fort de l'adresse. L'adresse du réseau est contenue dans les trois octets de poids fort et l'adresse de l'hôte dans l'octet restant.

note: type: Plain text
en: Classful network addresses are now obsolete, having been superseded by Classless Inter-Domain Routing (CIDR), which divides addresses into network and host components at arbitrary bit (rather than byte) boundaries.
fr: La classification des adresses réseaux est aujourd'hui obsolète, supplantée par le «\ Classless Inter-Domain Routing (CIDR)\ », qui scinde les adresses en éléments réseau et hôte sur une frontière arbitraire en bit (plutôt qu'en octet).

note: type: Plain text
en: An example of the use of B<inet_aton>()  and B<inet_ntoa>()  is shown below.  Here are some example runs:
fr: Ci-dessous, un exemple de l'utilisation de B<inet_aton>() et de B<inet_ntoa>(). Voici des exemples d'exécution :

note: type: Plain text
en:     if (inet_aton(argv[1], &addr) == 0) {
            fprintf(stderr, "Invalid address\en");
            exit(EXIT_FAILURE);
        }
fr:     if (inet_aton(argv[1], &addr) == 0) {
            fprintf(stderr, "Adresse incorrecte\en");
            exit(EXIT_FAILURE);
        }

note: type: TH
en: 2014-04-14
fr: 14 avril 2014

note: type: Plain text
en: inet_net_pton, inet_net_ntop - Internet network number conversion
fr: inet_net_pton, inet_net_ntop - Conversion d'adresse réseau Internet

note: type: Plain text
en: Link with I<-lresolv>.
fr: Effectuez l'édition des liens avec l'option I<-lresolv>.

note: type: Plain text
en: B<inet_net_pton>(), B<inet_net_ntop>():
fr: B<inet_net_pton>(), B<inet_net_ntop>() :

note: type: TP
en: Since glibc 2.20:
fr: Depuis la glibc 2.20 :

note: type: TP
en: Before glibc 2.20:
fr: Avant la glibc 2.20 :

note: type: Plain text
en: These functions convert network numbers between presentation (i.e., printable) format and network (i.e., binary) format.
fr: Ces fonctions convertissent les adresses de réseau entre leur format de représentation (c-à-d. textuelle) et leur format binaire pour le réseau.

note: type: Plain text
en: For both functions, I<af> specifies the address family for the conversion; the only supported value is B<AF_INET>.
fr: Dans le cas des deux fonctions, I<af> indique la famille d'adresse à utiliser lors de la conversion. Seule la valeur B<AF_INET> est prise en charge.

note: type: Plain text
en: The B<inet_net_pton>()  function converts I<pres>, a null-terminated string containing an Internet network number in presentation format to network format.  The result of the conversion, which is in network byte order, is placed in the buffer pointed to by I<net>.  (The I<netp> argument typically points to an I<in_addr> structure.)  The I<nsize> argument specifies the number of bytes available in I<netp>.
fr: La fonction B<inet_net_pton>() convertit I<pres>, une chaîne terminée par un caractère nul et contenant la représentation d'une adresse réseau vers le format réseau. Le résultat de la conversion, dans l'ordre du réseau, est placé dans le tampon pointé par I<net>. (Le paramètre I<netp> pointe typiquement vers une structure I<in_addr>.) Le paramètre I<nsize> indique le nombre d'octets disponibles dans I<netp>.

note: type: Plain text
en: On success, B<inet_net_pton>()  returns the number of bits in the network number field of the result placed in I<netp>.  For a discussion of the input presentation format and the return value, see NOTES.
fr: En cas de réussite, B<inet_net_pton>() renvoie le nombre de bits dans le champ de numéro de réseau du résultat placé dans I<netp>. Pour une discussion sur le format de présentation de l’entrée et la valeur de retour, consultez B<NOTES>.

note: type: Plain text
en: I<Note>: the buffer pointed to by I<netp> should be zeroed out before calling B<inet_net_pton>(), since the call writes only as many bytes as are required for the network number (or as are explicitly specified by I<pres>), which may be less than the number of bytes in a complete network address.
fr: I<Remarque> : le tampon pointé par I<netp> devrait être mis à zéro avant d’appeler B<inet_net_pton>() puisque l’appel n’écrit que le nombre d’octets nécessaire pour le numéro de réseau (ou qu’explicitement indiqué par I<pres>), ce qui pourrait être moins que le nombre d’octets dans une adresse de réseau complète.

note: type: Plain text
en: The B<inet_net_ntop>()  function converts the network number in the buffer pointed to by I<netp> to presentation format; I<*netp> is interpreted as a value in network byte order.  The I<bits> argument specifies the number of bits in the network number in I<*netp>.
fr: La fonction B<inet_net_ntop>() convertit le numéro de réseau dans le tampon pointé par I<netp> au format de présentation ; I<*netp> est interprété comme une valeur dans l’ordre d’octets du réseau. L’argument I<bits> indique le nombre de bits dans le numéro de réseau I<*netp>.

note: type: Plain text
en: The null-terminated presentation-format string is placed in the buffer pointed to by I<pres>.  The I<psize> argument specifies the number of bytes available in I<pres>.  The presentation string is in CIDR format: a dotted-decimal number representing the network address, followed by a slash, and the size of the network number in bits.
fr: La chaîne au format de présentation terminée par NULL est placée dans le tampon pointé par I<pres>. L’argument I<psize> indique le nombre d’octets disponibles dans I<pres>. La chaîne de présentation est au format CIDR : notation décimale pointée représentant l’adresse réseau, suivie par une barre oblique et la taille du numéro de réseau en bit.

note: type: Plain text
en: On success, B<inet_net_pton>()  returns the number of bits in the network number.  On error, it returns -1, and I<errno> is set to indicate the cause of the error.
fr: Si elle réussit, B<inet_net_pton>() renvoie le nombre de bits de l'adresse réseau. En cas d'erreur, -1 est renvoyé,  et I<errno> contient le code d'erreur.

note: type: Plain text
en: On success, B<inet_net_ntop>()  returns I<pres>.  On error, it returns NULL, and I<errno> is set to indicate the cause of the error.
fr: Si elle réussit, B<inet_net_ntop>() renvoie I<pres>. En cas d'erreur, elle renvoie NULL et I<errno> contient le code d'erreur.

note: type: Plain text
en: I<af> specified a value other than B<AF_INET>.
fr: I<af> indique une valeur différente de B<AF_INET>.

note: type: Plain text
en: The size of the output buffer was insufficient.
fr: La taille du tampon de sortie est insuffisante.

note: type: Plain text
en: (B<inet_net_pton>())  I<pres> was not in correct presentation format.
fr: (B<inet_net_pton>()) I<pres> n’était pas dans un format de présentation correct.

note: type: Plain text
en: The B<inet_net_pton>()  and B<inet_net_ntop>()  functions are nonstandard, but widely available.
fr: Les fonctions B<inet_net_pton>() et B<inet_net_ntop>() ne sont pas standard, mais sont largement répandues.

note: type: SS
en: Input presentation format for inet_net_pton()
fr: Format de présentation en entrée pour inet_net_pton()

note: type: Plain text
en: The network number may be specified either as a hexadecimal value or in dotted-decimal notation.
fr: L'adresse réseau peut être indiquée sous forme de valeur hexadécimale ou de notation décimale pointée.

note: If the hexadecimal string is short, the remaining nibbles are zeroed. type: Plain text
en: Hexadecimal values are indicated by an initial "0x" or "0X".  The hexadecimal digits populate the nibbles (half octets) of the network number from left to right in network byte order.
fr: Les valeurs hexadécimales sont indiquées en préfixant par "0x" ou "0X". Les symboles hexadécimaux remplissent les nibbles (semioctets) de l'adresse réseau de gauche à droite dans l'ordre du réseau.

note: type: Plain text
en: In dotted-decimal notation, up to four octets are specified, as decimal numbers separated by dots.  Thus, any of the following forms are accepted:
fr: Dans la notation décimale pointée, jusqu'à quatre octets sont indiqués sous la forme de nombres décimaux séparées par des points. Ainsi, n'importe laquelle des formes suivantes est acceptée :

note: Reading other man pages, some other implementations treat 'c' in a.b.c as a 16-bit number that populates right-most two bytes 'b' in a.b as a 24-bit number that populates right-most three bytes type: Plain text
en: Each part is a number in the range 0 to 255 that populates one byte of the resulting network number, going from left to right, in network-byte (big endian) order.  Where a part is omitted, the resulting byte in the network number is zero.
fr: Chaque partie est un nombre dans l'intervalle 0 à 255 remplissant un octet de l'adresse réseau, de gauche à droite, dans l'ordre des octets du réseau (gros-boutisme). Si une partie est omise, l'octet correspondant dans l'adresse réseau vaut zéro.

note: type: Plain text
en: For either hexadecimal or dotted-decimal format, the network number can optionally be followed by a slash and a number in the range 0 to 32, which specifies the size of the network number in bits.
fr: Pour la notation hexadécimale comme la notation décimale pointée, l'adresse réseau peut être suivie d'une barre oblique et d'un nombre compris entre 0 et 32, définissant la taille de l'adresse réseau en bits.

note: type: SS
en: Return value of inet_net_pton()
fr: Valeur de retour de inet_net_pton()

note: type: Plain text
en: The return value of B<inet_net_pton>()  is the number of bits in the network number field.  If the input presentation string terminates with a slash and an explicit size value, then that size becomes the return value of B<inet_net_pton>().  Otherwise, the return value, I<bits>, is inferred as follows:
fr: La valeur de retour de B<inet_net_pton>() est le nombre de bits dans le champ de numéro de réseau. Si la chaîne de présentation se termine par une barre oblique et une valeur de taille explicite, alors cette taille devient la valeur de retour de B<inet_net_pton>(). Sinon, la valeur de retour, B<bits>, est supposée comme suit.

note: type: Plain text
en: If the most significant byte of the network number is greater than or equal to 240, then I<bits> is 32.
fr: Si l'octet de poids fort de l'adresse réseau est supérieur ou égal à 240, alors I<bits> vaut 32.

note: type: Plain text
en: Otherwise, if the most significant byte of the network number is greater than or equal to 224, then I<bits> is 4.
fr: Sinon, si l'octet de poids fort de l'adresse réseau est supérieur ou égal à 224, alors I<bits> vaut 4.

note: type: Plain text
en: Otherwise, if the most significant byte of the network number is greater than or equal to 192, then I<bits> is 24.
fr: Sinon, si l'octet de poids fort de l'adresse réseau est supérieur ou égal à 192, alors I<bits> vaut 24.

note: type: Plain text
en: Otherwise, if the most significant byte of the network number is greater than or equal to 128, then I<bits> is 16.
fr: Sinon, si l'octet de poids fort de l'adresse réseau est supérieur ou égal à 128, alors I<bits> vaut 16.

note: type: Plain text
en: Otherwise, I<bits> is 8.
fr: Sinon I<bits> vaut 8.

note: type: Plain text
en: If the resulting I<bits> value from the above steps is greater than or equal to 8, but the number of octets specified in the network number exceed I<bits/8>, then I<bits> is set to 8 times the number of octets actually specified.
fr: Si la valeur de I<bits> résultant des étapes précédentes est au moins égale à 8, mais que le nombre d’octets indiqué dans le numéro de réseau dépasse I<bits/8>, alors I<bits> est défini à huit fois le nombre d’octets vraiment indiqué.

note: type: Plain text
en: The program below demonstrates the use of B<inet_net_pton>()  and B<inet_net_ntop>().  It uses B<inet_net_pton>()  to convert the presentation format network address provided in its first command-line to binary form, displays the return value from B<inet_net_pton>().  It then uses B<inet_net_ntop>()  to convert the binary form back to presentation format, and displays the resulting string.
fr: Le programme suivant montre l’utilisation de B<inet_net_pton>() et B<inet_net_ntop>(). Il utilise B<inet_net_pton>() pour convertir une adresse réseau au format de présentation fourni en premier argument de ligne de commande vers sa forme binaire et affiche la valeur renvoyée par B<inet_net_pton>(). Il utilise ensuite B<inet_net_ntop>() pour reconvertir la forme binaire au format de présentation, et affiche la chaîne résultante.

note: type: Plain text
en: In order to demonstrate that B<inet_net_pton>()  may not write to all bytes of its I<netp> argument, the program allows an optional second command-line argument, a number used to initialize the buffer before B<inet_net_pton>()  is called.  As its final line of output, the program displays all of the bytes of the buffer returned by B<inet_net_pton>()  allowing the user to see which bytes have not been touched by B<inet_net_pton>().
fr: De façon à démontrer que B<inet_net_pton>() peut ne pas écrire sur tous les octets de son argument I<netp>, le programme permet un deuxième argument de ligne de commande : un nombre utilisé pour initialiser le tampon avant d’appeler B<inet_net_pton>(). Comme en dernière ligne de sa sortie, le programme affiche tous les octets du tampon renvoyé par B<inet_net_pton>(), cela permet à l’utilisateur de voir les octets qui n’ont pas été modifiés par B<inet_net_pton>().

note: type: Plain text
en: An example run, showing that B<inet_net_pton>()  infers the number of bits in the network number:
fr: Un exemple où B<inet_net_pton>() déduit le nombre de bits de l'adresse réseau :

note: type: Plain text
en: $ B<./a.out 193.168>
    inet_net_pton() returned: 24
    inet_net_ntop() yielded:  193.168.0/24
    Raw address:              c1a80000
fr: $ B<./a.out 193.168>
    inet_net_pton() a renvoyé : 24
    inet_net_ntop() a produit : 193.168.0/24
    Adresse brute :             c1a80000

note: type: Plain text
en: Demonstrate that B<inet_net_pton>()  does not zero out unused bytes in its result buffer:
fr: Démontrer que B<inet_net_pton>() ne met pas à zéro les octets inutilisés du tampon de résultat :

note: type: Plain text
en: $ B<./a.out 193.168 0xffffffff>
    inet_net_pton() returned: 24
    inet_net_ntop() yielded:  193.168.0/24
    Raw address:              c1a800ff
fr: $ B<./a.out 193.168 0xffffffff>
    inet_net_pton() a renvoyé : 24
    inet_net_ntop() a produit : 193.168.0/24
    Adresse brute :             c1a800ff

note: type: Plain text
en: Demonstrate that B<inet_net_pton>()  will widen the inferred size of the network number, if the supplied number of bytes in the presentation string exceeds the inferred value:
fr: Démontrer que B<inet_net_pton>() élargira la taille supposée du numéro de réseau si le nombre d’octets fournis dans la chaîne de présentation dépasse la valeur supposée :

note: type: Plain text
en: $ B<./a.out 193.168.1.128>
    inet_net_pton() returned: 32
    inet_net_ntop() yielded:  193.168.1.128/32
    Raw address:              c1a80180
fr: $ B<./a.out 193.168.1.128>
    inet_net_pton() a renvoyé : 32
    inet_net_ntop() a produit : 193.168.1.128/32
    Adresse brute :             c1a80180

note: type: Plain text
en: Explicitly specifying the size of the network number overrides any inference about its size (but any extra bytes that are explicitly specified will still be used by B<inet_net_pton>(): to populate the result buffer):
fr: Définir explicitement la taille de l'adresse réseau outrepasse toute déduction au sujet de sa taille (mais tous les octets en trop explicitement définis seront tout de même utilisés par B<inet_net_pton>() pour remplir le tampon de résultat).

note: type: Plain text
en: $ B<./a.out 193.168.1.128/24>
    inet_net_pton() returned: 24
    inet_net_ntop() yielded:  193.168.1/24
    Raw address:              c1a80180
fr: $ B<./a.out 193.168.1.128/24>
    inet_net_pton() a renvoyé : 24
    inet_net_ntop() a produit : 193.168.1/24
    Adresse brute :             c1a80180

note: type: Plain text
en: /* Link with -lresolv */
fr: /* Effectuer l'édition des liens avec -lresolv */

note: type: Plain text
en:     if (argc E<lt> 2) {
            fprintf(stderr,
                    "Usage: %s presentation-form [addr-init-value]\en",
                    argv[0]);
            exit(EXIT_FAILURE);
        }
fr:     if (argc E<lt> 2) {
            fprintf(stderr,
                    "Utilisation : %s forme-présentation [val-adr-init]\en",
                    argv[0]);
            exit(EXIT_FAILURE);
        }

note: type: Plain text
en:     /* If argv[2] is supplied (a numeric value), use it to initialize
           the output buffer given to inet_net_pton(), so that we can see
           that inet_net_pton() initializes only those bytes needed for
           the network number. If argv[2] is not supplied, then initialize
           the buffer to zero (as is recommended practice). */
fr:     /* Si argv[2] est fourni (une valeur numérique), l'utiliser pour
           initialiser le tampon de sortie fourni à inet_net_pton(), afin
           de montrer que inet_net_pton() n'initialise que les octets
           nécessaires pour stocker l'adresse réseau.
           Si argv[2] n'est pas fourni, alors initialiser le tampon à zéro
           (ce qui est une bonne pratique). */

note: type: Plain text
en:     /* Convert presentation network number in argv[1] to binary */
fr:     /* Convertir le numéro de réseau sous forme de présentation
           argv[1] sous forme binaire */

note: type: Plain text
en:     printf("inet_net_pton() returned: %d\en", bits);
fr:     printf("inet_net_pton() a renvoyé : %d\en", bits);

note: type: Plain text
en:     /* Convert binary format back to presentation, using \(aqbits\(aq
           returned by inet_net_pton() */
fr:     /* Reconvertir de la forme binaire au format de présentation, en
           utilisant « bits » renvoyé par inet_net_pton() */

note: type: Plain text
en:     printf("inet_net_ntop() yielded:  %s\en", buf);
fr:     printf("inet_net_ntop() a produit : %s\en", buf);

note: type: Plain text
en:     /* Display \(aqaddr\(aq in raw form (in network byte order), so we can
           see bytes not displayed by inet_net_ntop(); some of those bytes
           may not have been touched by inet_net_ntop(), and so will still
           have any initial value that was specified in argv[2]. */
fr:     /* Afficher « aqaddr » sous forme brute (en ordre d’octets du
           réseau), pour permettre de voir les octets non affichés par
           inet_net_ntop() ; certains de ces octets pourraient ne pas
           avoir été modifiés par inet_net_ntop(), et avoir toujours la
           valeur initiale qui était indiquée argv[2]. */

note: type: Plain text
en:     printf("Raw address:              %x\en", htonl(addr.s_addr));
fr:     printf("Adresse brute :           %x\en", htonl(addr.s_addr));

note: type: TH
en: 2008-11-11
fr: 11 novembre 2008

note: type: Plain text
en: inet_ntop - convert IPv4 and IPv6 addresses from binary to text form
fr: inet_ntop - Convertir des adresses IPv4 et IPv6 sous forme binaire en forme texte

note: type: Plain text
en: This function converts the network address structure I<src> in the I<af> address family into a character string.  The resulting string is copied to the buffer pointed to by I<dst>, which must be a non-null pointer.  The caller specifies the number of bytes available in this buffer in the argument I<size>.
fr: Cette fonction convertit une structure d'adresse réseau I<src> de la famille d'adresse I<af> en une chaîne de caractères. La chaîne résultante, qui est copiée dans le tampon I<dst>, doit être un pointeur non NULL. L'appelant indique le nombre d'octets de la chaîne avec l'argument I<size>.

note: type: Plain text
en: B<inet_ntop>()  extends the B<inet_ntoa>(3)  function to support multiple address families, B<inet_ntoa>(3)  is now considered to be deprecated in favor of B<inet_ntop>().  The following address families are currently supported:
fr: B<inet_ntop>() étend les possibilités de la fonction B<inet_ntoa>(3) pour gérer plusieurs familles d'adresses. L'utilisation de B<inet_ntoa>(3) est à présent déconseillée au profit de B<inet_ntop>(). Les familles d'adresses suivantes sont supportées dès à présent\ :

note: type: Plain text
en: I<src> points to a I<struct in_addr> (in network byte order)  which is converted to an IPv4 network address in the dotted-decimal format, "I<ddd.ddd.ddd.ddd>".  The buffer I<dst> must be at least B<INET_ADDRSTRLEN> bytes long.
fr: I<src> doit pointer sur une structure I<struct in_addr> (octets stockés dans l'ordre du réseau)  qui est convertie en une adresse réseau IPv4 dans le format décimal pointé "I<ddd.ddd.ddd.ddd>". Le tampon I<dst> doit mesurer au minimum B<INET_ADDRSTRLEN> octets.

note: type: Plain text
en: I<src> points to a I<struct in6_addr> (in network byte order)  which is converted to a representation of this address in the most appropriate IPv6 network address format for this address.  The buffer I<dst> must be at least B<INET6_ADDRSTRLEN> bytes long.
fr: I<src> doit pointer sur une structure I<struct in6_addr> (octets stockés dans l'ordre du réseau)  qui est convertie dans la représentation la plus appropriée de l'adresse IPv6. Le tampon I<dst> doit mesurer au minimum B<INET6_ADDRSTRLEN> octets.

note: type: Plain text
en: On success, B<inet_ntop>()  returns a non-null pointer to I<dst>.  NULL is returned if there was an error, with I<errno> set to indicate the error.
fr: Si elle réussit, B<inet_ntop>() renvoie un pointeur non NULL vers I<dst>. Si une erreur se produit, la fonction renvoie NULL, et I<errno> contient le code d'erreur.

note: type: Plain text
en: I<af> was not a valid address family.
fr: I<af> n'était pas une famille d'adresses valable.

note: type: Plain text
en: The converted address string would exceed the size given by I<size>.
fr: La chaîne d'adresse convertie devrait être supérieure à la taille donnée par I<size>.

note: 2.1.3: size_t, 2.1.91: socklen_t type: Plain text
en: POSIX.1-2001.  Note that RFC\ 2553 defines a prototype where the last argument I<size> is of type I<size_t>.  Many systems follow RFC\ 2553.  Glibc 2.0 and 2.1 have I<size_t>, but 2.2 and later have I<socklen_t>.
fr: POSIX.1-2001. Notez que la RFC\ 2553 définit un prototype où le dernier paramètre, I<size>, est de type I<size_t>. Beaucoup de systèmes suivent cette RFC\ 2553. Les glibc 2.0 et 2.1 utilisent I<size_t> mais 2.2 et suivantes utilisent I<socklen_t>.

note: type: Plain text
en: B<AF_INET6> converts IPv4-mapped IPv6 addresses into an IPv6 format.
fr: B<AF_INET6> convertit les adresses IPv4 projetées dans l'espace IPv6 en employant le format IPv6.

note: type: Plain text
en: See B<inet_pton>(3).
fr: Consultez B<inet_pton>(3).

note: type: TH
en: 2008-06-18
fr: 18 juin 2008

note: type: Plain text
en: inet_pton - convert IPv4 and IPv6 addresses from text to binary form
fr: inet_pton - Convertir des adresses IPv4 et IPv6 sous forme texte en forme binaire

note: type: Plain text
en: This function converts the character string I<src> into a network address structure in the I<af> address family, then copies the network address structure to I<dst>.  The I<af> argument must be either B<AF_INET> or B<AF_INET6>.
fr: Cette fonction convertit la chaîne de caractères I<src> en une structure d'adresse réseau de la famille I<af>, puis copie cette structure dans I<dst> .L'argument I<af> doit être soit B<AF_INET> soit B<AF_INET6>.

note: type: Plain text
en: The following address families are currently supported:
fr: Les familles d'adresses suivantes sont dès à présent supportées :

note: type: Plain text
en: I<src> points to a character string containing an IPv4 network address in dotted-decimal format, "I<ddd.ddd.ddd.ddd>", where I<ddd> is a decimal number of up to three digits in the range 0 to 255.  The address is converted to a I<struct in_addr> and copied to I<dst>, which must be I<sizeof(struct in_addr)> (4) bytes (32 bits) long.
fr: I<src> pointe sur une chaîne de caractère contenant une adresse réseau IPv4 au format décimal pointé I<ddd.ddd.ddd.ddd>, où I<ddd> est un nombre décimal, contenant jusqu'à trois chiffres, dans l'intervalle 0 à 255. L'adresse est alors convertie en une structure I<struct in_addr> et copiée dans I<dst>, qui doit donc contenir au minimum I<sizeof(struct in_addr)> (4) octets (32 bits).

note: type: Plain text
en: I<src> points to a character string containing an IPv6 network address.  The address is converted to a I<struct in6_addr> and copied to I<dst>, which must be I<sizeof(struct in6_addr)> (16) bytes (128 bits) long.  The allowed formats for IPv6 addresses follow these rules:
fr: I<src> pointe sur une chaîne de caractères contenant une adresse réseau IPv6. L'adresse est convertie en une structure I<struct in6_addr> et copiée dans I<dst>, qui doit donc contenir au moins I<sizeof(struct in6_addr)> (16) octets (128 bits). Les formats d'adresse IPv6 autorisés suivent les règles suivantes :

note: type: Plain text
en: The preferred format is I<x:x:x:x:x:x:x:x>.  This form consists of eight hexadecimal numbers, each of which expresses a 16-bit value (i.e., each I<x> can be up to 4 hex digits).
fr: Le format préféré est I<x:x:x:x:x:x:x:x>. Cette forme consiste en 8 nombres hexadécimaux, chacun d'entre eux exprimant une valeur sur 16 bits (c'est-à-dire que chaque I<x> peut contenir jusqu'à 4 symboles hexadécimaux).

note: type: Plain text
en: A series of contiguous zero values in the preferred format can be abbreviated to I<::>.  Only one instance of I<::> can occur in an address.  For example, the loopback address I<0:0:0:0:0:0:0:1> can be abbreviated as I<::1>.  The wildcard address, consisting of all zeros, can be written as I<::>.
fr: Une série de zéros contigus dans la forme préférée peut être abrégée en I<::>. Une seule instance de I<::> peut apparaître dans une adresse. Par exemple, l'adresse de boucle I<0:0:0:0:0:0:0:1> peut être abrégée en I<::1>. L'adresse joker, constituée uniquement de zéros, peut être écrite comme I<::>.

note: type: Plain text
en: An alternate format is useful for expressing IPv4-mapped IPv6 addresses.  This form is written as I<x:x:x:x:x:x:d.d.d.d>, where the six leading I<x>s are hexadecimal values that define the six most-significant 16-bit pieces of the address (i.e., 96 bits), and the I<d>s express a value in dotted-decimal notation that defines the least significant 32 bits of the address.  An example of such an address is I<::FFFF:204.152.189.116>.
fr: Un autre format utile pour exprimer des adresses IPv4 projetées dans l'espace IPv6 est I<x:x:x:x:x:x:d.d.d.d>, où les six I<x> de tête sont des valeurs hexadécimales qui définissent les 6 mots 16 bits de poids fort de l'adresse (c'est-à-dire 96 bits), et les I<d> expriment une valeur en notation décimale pointée définissant les 32 bits de poids faible de l'adresse. Un exemple d'une telle adresse est I<::FFFF:204.152.189.116>.

note: type: Plain text
en: See RFC 2373 for further details on the representation of IPv6 addresses.
fr: Consultez la RFC 2373 pour plus de détails sur la représentation des adresses IPv6.

note: type: Plain text
en: B<inet_pton>()  returns 1 on success (network address was successfully converted).  0 is returned if I<src> does not contain a character string representing a valid network address in the specified address family.  If I<af> does not contain a valid address family, -1 is returned and I<errno> is set to B<EAFNOSUPPORT>.
fr: B<inet_pton>() renvoie 1 si elle réussit (l'adresse réseau a été convertie avec succès). Elle renvoie une valeur nulle si I<src> ne contient pas une adresse réseau valable pour la famille indiquée. Si I<af> ne contient pas de famille d'adresse valable, -1 est renvoyé et I<errno> contient B<EAFNOSUPPORT>.

note: type: Plain text
en: Unlike B<inet_aton>(3)  and B<inet_addr>(3), B<inet_pton>()  supports IPv6 addresses.  On the other hand, B<inet_pton>()  accepts only IPv4 addresses in dotted-decimal notation, whereas B<inet_aton>(3)  and B<inet_addr>(3)  allow the more general numbers-and-dots notation (hexadecimal and octal number formats, and formats that don't require all four bytes to be explicitly written).  For an interface that handles both IPv6 addresses, and IPv4 addresses in numbers-and-dots notation, see B<getaddrinfo>(3).
fr: Contrairement à B<inet_aton>(3) et B<inet_addr>(3), B<inet_pton>() gère les adresses IPv6. D'un autre coté, B<inet_pton>() n'accepte que les adresses IPv4 en notation décimale pointée alors que B<inet_aton>(3) et B<inet_addr>(3) autorisent la notation plus générale numérique pointée (formats à nombre hexadécimaux et octaux, de même que les formats n'exigeant pas que les 4 octets soient explicitement écrits). Pour une interface gérant les adresses IPv6 et IPv4 en notation numérique pointée, consultez B<getaddrinfo>(3).

note: type: Plain text
en: B<AF_INET6> does not recognize IPv4 addresses.  An explicit IPv4-mapped IPv6 address must be supplied in I<src> instead.
fr: B<AF_INET6> ne reconnaît pas les adresses IPv4. Il faut dans ce cas fournir dans I<src> une adresse IPv4 projetée dans l'espace IPv6.

note: type: Plain text
en: The program below demonstrates the use of B<inet_pton>()  and B<inet_ntop>(3).  Here are some example runs:
fr: Le programme suivant montre une utilisation de B<inet_pton>() et B<inet_ntop>(3). Voici quelques exemples d'exécution :

note: type: TH
en: 2013-09-17
fr: 17 septembre 2013

note: type: Plain text
en: ip - Linux IPv4 protocol implementation
fr: ip - Implémentation Linux du protocole IPv4

note: type: Plain text
en: B<#include E<lt>netinet/ip.hE<gt> >/* superset of previous */
fr: B<#include E<lt>netinet/ip.hE<gt>> /* surensemble des précédents */

note: type: Plain text
en: I<raw_socket>B< = socket(AF_INET, SOCK_RAW, >I<protocol>B<);>
fr: I<raw_socket>B< = socket(AF_INET, SOCK_RAW, >I<protocole>B<);>

note: FIXME has someone verified that 2.1 is really 1812 compliant? type: Plain text
en: Linux implements the Internet Protocol, version 4, described in RFC\ 791 and RFC\ 1122.  B<ip> contains a level 2 multicasting implementation conforming to RFC\ 1112.  It also contains an IP router including a packet filter.
fr: Linux implémente le protocole internet (IP) version 4, décrit dans les RFC\ 791 et RFC\ 1122. B<ip> contient une implémentation de la diffusion multiple niveau 2 conforme à la RFC 1112. Cette implémentation inclut un routeur IP comprenant un filtre de paquets.

note: type: Plain text
en: The programming interface is BSD-sockets compatible.  For more information on sockets, see B<socket>(7).
fr: L'interface de programmation est compatible avec les sockets BSD. Pour plus d'informations sur les sockets, consultez B<socket>(7).

note: type: Plain text
en: An IP socket is created by calling the B<socket>(2)  function as B<socket(AF_INET, >I<socket_type>B<, >I<protocol>B<)>.  Valid socket types are B<SOCK_STREAM> to open a B<tcp>(7)  socket, B<SOCK_DGRAM> to open a B<udp>(7)  socket, or B<SOCK_RAW> to open a B<raw>(7)  socket to access the IP protocol directly.  I<protocol> is the IP protocol in the IP header to be received or sent.  The only valid values for I<protocol> are 0 and B<IPPROTO_TCP> for TCP sockets, and 0 and B<IPPROTO_UDP> for UDP sockets.  For B<SOCK_RAW> you may specify a valid IANA IP protocol defined in RFC\ 1700 assigned numbers.
fr: Une socket IP est créée en appelant la fonction B<socket>(2) sous la forme B<socket(AF_INET, >I<type_socket>B<, >I<protocole>B<)>. Les types valables de sockets sont B<SOCK_STREAM> pour ouvrir une socket B<tcp>(7), B<SOCK_DGRAM> pour ouvrir une socket B<udp>(7), ou B<SOCK_RAW> pour ouvrir une socket B<raw>(7) permettant d'accéder directement au protocole IP. Le I<protocole> indiqué est celui inscrit dans les en-têtes IP émis ou reçus. Les seules valeurs valables pour le I<protocole> sont 0 et B<IPPROTO_TCP> pour les sockets TCP, et 0 et B<IPPROTO_UDP> pour les sockets UDP. Pour les sockets B<SOCK_RAW>, un protocole IP IANA valable peut être indiqué, la RFC 1700 précise les numéros assignés.

note: type: Plain text
en: When a process wants to receive new incoming packets or connections, it should bind a socket to a local interface address using B<bind>(2).  In this case, only one IP socket may be bound to any given local (address, port) pair.  When B<INADDR_ANY> is specified in the bind call, the socket will be bound to I<all> local interfaces.  When B<listen>(2)  is called on an unbound socket, the socket is automatically bound to a random free port with the local address set to B<INADDR_ANY>.  When B<connect>(2)  is called on an unbound socket, the socket is automatically bound to a random free port or to a usable shared port with the local address set to B<INADDR_ANY>.
fr: Lorsqu'un processus veut recevoir de nouveaux paquets entrants ou des connexions, il doit attacher une socket à une adresse d'interface locale en utilisant B<bind>(2). Une seule socket IP peut être attachée à une paire (adresse, port) locale donnée. Lorsque B<INADDR_ANY> est indiqué au moment de l'attachement, la socket sera affectée à I<toutes> les interfaces locales. Si B<listen>(2) est appelée sur une socket non affectée, celle-ci est automatiquement attachée à un port libre aléatoire, avec l'adresse locale définie à B<INADDR_ANY>. Si B<connect>(2) est appelée sur une socket non affectée, celle-ci est automatiquement attachée à un port libre aléatoire ou un port partagé, avec l'adresse locale définie à B<INADDR_ANY>.

note: type: Plain text
en: A TCP local socket address that has been bound is unavailable for some time after closing, unless the B<SO_REUSEADDR> flag has been set.  Care should be taken when using this flag as it makes TCP less reliable.
fr: L'adresse locale d'une socket TCP qui a été attachée est indisponible pendant quelques instants après sa fermeture, à moins que l'attribut B<SO_REUSEADDR> ait été activé. Il faut être prudent en utilisant cet attribut, car il rend le protocole TCP moins fiable.

note: type: Plain text
en: An IP socket address is defined as a combination of an IP interface address and a 16-bit port number.  The basic IP protocol does not supply port numbers, they are implemented by higher level protocols like B<udp>(7)  and B<tcp>(7).  On raw sockets I<sin_port> is set to the IP protocol.
fr: Une adresse de socket IP est définie comme la combinaison d'une adresse IP d'interface et d'un numéro de port. Le protocole IP de base ne fournit pas de numéro de port, ils sont implémentés par les protocoles de plus haut niveau comme B<udp>(7) et B<tcp>(7). Sur les sockets raw, le champ I<sin_port> contient le protocole IP.

note: type: Plain text
en: struct sockaddr_in {
        sa_family_t    sin_family; /* address family: AF_INET */
        in_port_t      sin_port;   /* port in network byte order */
        struct in_addr sin_addr;   /* internet address */
    };
fr: struct sockaddr_in {
        sa_family_t    sin_family; /* famille d'adresses\ : AF_INET */
        in_port_t      sin_port;   /* port dans l'ordre des
                                      octets réseau */
        struct in_addr sin_addr;   /* adresse Internet */
    };

note: type: Plain text
en: /* Internet address. */
    struct in_addr {
        uint32_t       s_addr;     /* address in network byte order */
    };
fr: /* Adresse Internet */
    struct in_addr {
        uint32_t       s_addr;     /* adresse dans l'ordre des
                                      octets réseau */
    };

note: type: Plain text
en: I<sin_family> is always set to B<AF_INET>.  This is required; in Linux 2.2 most networking functions return B<EINVAL> when this setting is missing.  I<sin_port> contains the port in network byte order.  The port numbers below 1024 are called I<privileged ports> (or sometimes: I<reserved ports>).  Only privileged processes (i.e., those having the B<CAP_NET_BIND_SERVICE> capability) may B<bind>(2)  to these sockets.  Note that the raw IPv4 protocol as such has no concept of a port, they are implemented only by higher protocols like B<tcp>(7)  and B<udp>(7).
fr: I<sin_family> est toujours défini à B<AF_INET>. C'est indispensable\ : sous Linux\ 2.2, la plupart des fonctions réseau renvoient B<EINVAL> lorsque cette configuration manque. I<sin_port> contient le numéro de port, dans l'ordre des octets du réseau. Les numéros de ports inférieurs à 1024 sont dits I<privilégiés> (ou parfois I<ports réservés>). Seuls les processus privilégiés (à savoir ceux qui ont la capacité B<CAP_NET_BIND_SERVICE>) peuvent appeler B<bind>(2) pour ces sockets. Le protocole IPv4 en tant que tel n'a pas le concept de ports, ceux-ci étant seulement implémentés par des protocoles de plus haut niveau comme B<tcp>(7) et B<udp>(7).

note: type: Plain text
en: I<sin_addr> is the IP host address.  The I<s_addr> member of I<struct in_addr> contains the host interface address in network byte order.  I<in_addr> should be assigned one of the B<INADDR_*> values (e.g., B<INADDR_ANY>)  or set using the B<inet_aton>(3), B<inet_addr>(3), B<inet_makeaddr>(3)  library functions or directly with the name resolver (see B<gethostbyname>(3)).
fr: I<sin_addr> est l'adresse IP de l'hôte. Le membre I<s_addr> de la structure I<in_addr> contient l'adresse de l'interface de l'hôte, dans l'ordre des octets du réseau. I<in_addr> doit se voir assigner l'une des valeurs B<INADDR_>I<*> (par exemple, B<INADDR_ANY>) ou être manipulé au travers des fonctions de bibliothèque B<inet_aton>(3), B<inet_addr>(3), B<inet_makeaddr>(3) ou directement par le système de résolution des noms (consultez B<gethostbyname>(3)).

note: Leave a loophole for XTP @) type: Plain text
en: IPv4 addresses are divided into unicast, broadcast and multicast addresses.  Unicast addresses specify a single interface of a host, broadcast addresses specify all hosts on a network and multicast addresses address all hosts in a multicast group.  Datagrams to broadcast addresses can be sent or received only when the B<SO_BROADCAST> socket flag is set.  In the current implementation, connection-oriented sockets are allowed to use only unicast addresses.
fr: Les adresses IPv4 sont divisées en adresses de diffusions individuelle, générale et multiple. Les adresses de diffusion individuelle décrivent une interface unique d'un hôte, les adresses de diffusion générale correspondent à tous les hôtes d'un réseau, et les adresses de diffusion multiple représentent tous les hôtes d'un groupe de diffusion multiple. Les datagrammes vers des adresses de diffusion générale ne peuvent être émis et reçus que si l'attribut de socket B<SO_BROADCAST> est activé. Dans l'implémentation actuelle, les sockets orientées connexion ne sont autorisées que sur des adresses de diffusion individuelle.

note: type: Plain text
en: Note that the address and the port are always stored in network byte order.  In particular, this means that you need to call B<htons>(3)  on the number that is assigned to a port.  All address/port manipulation functions in the standard library work in network byte order.
fr: Remarquez que l'adresse et le port sont toujours stockés dans l'ordre des octets du réseau. Cela signifie en particulier qu'il faut invoquer B<htons>(3) sur le numéro attribué à un port. Toutes les fonctions de manipulation d'adresses et de ports de la bibliothèque standard fonctionnent dans l'ordre des octets.

note: type: Plain text
en: There are several special addresses: B<INADDR_LOOPBACK> (127.0.0.1)  always refers to the local host via the loopback device; B<INADDR_ANY> (0.0.0.0)  means any address for binding; B<INADDR_BROADCAST> (255.255.255.255)  means any host and has the same effect on bind as B<INADDR_ANY> for historical reasons.
fr: Il existe plusieurs adresses particulières\ : B<INADDR_LOOPBACK> (127.0.0.1) correspond toujours à l'hôte local à l’aide du périphérique loopback\ ; B<INADDR_ANY> (0.0.0.0) signifie un attachement à n'importe quelle adresse\ ; B<INADDR_BROADCAST> (255.255.255.255) signifie n'importe quel hôte et a le même effet sur l'attachement que B<INADDR_ANY>, pour des raisons historiques.

note: or SOL_IP on Linux type: Plain text
en: IP supports some protocol-specific socket options that can be set with B<setsockopt>(2)  and read with B<getsockopt>(2).  The socket option level for IP is B<IPPROTO_IP>.  A boolean integer flag is zero when it is false, otherwise true.
fr: IP gère quelques options de sockets spécifiques au protocole, qui peuvent être définies avec B<setsockopt>(2) et consultées avec B<getsockopt>(2). Le niveau d'option de sockets pour IP est B<IPPROTO_IP>. Un attribut entier booléen est faux quand il vaut zéro, et vrai sinon.

note: type: TP
en: B<IP_ADD_MEMBERSHIP> (since Linux 1.2)
fr: B<IP_ADD_MEMBERSHIP> (depuis Linux 1.2)

note: type: Plain text
en: Join a multicast group.  Argument is an I<ip_mreqn> structure.
fr: Rejoint un groupe de diffusion multiple. L'argument est une structure I<ip_mreqn>.

note: type: Plain text
en: struct ip_mreqn {
        struct in_addr imr_multiaddr; /* IP multicast group
                                         address */
        struct in_addr imr_address;   /* IP address of local
                                         interface */
        int            imr_ifindex;   /* interface index */
    };
fr: struct ip_mreqn {
        struct in_addr imr_multiaddr; /* Adresse IP du groupe
                                         de diffusion multiple */
        struct in_addr imr_address;   /* Adresse IP de
                                         l'interface locale */
        int            imr_ifindex;   /* Numéro d'interface */
    };

note: (i.e., within the 224.0.0.0-239.255.255.255 range) type: Plain text
en: I<imr_multiaddr> contains the address of the multicast group the application wants to join or leave.  It must be a valid multicast address (or B<setsockopt>(2)  fails with the error B<EINVAL>).  I<imr_address> is the address of the local interface with which the system should join the multicast group; if it is equal to B<INADDR_ANY>, an appropriate interface is chosen by the system.  I<imr_ifindex> is the interface index of the interface that should join/leave the I<imr_multiaddr> group, or 0 to indicate any interface.
fr: I<imr_multiaddr> contient l'adresse du groupe de diffusion multiple que l'application veut rejoindre ou quitter. Il doit s'agir d'une adresse de diffusion multiple valable (sinon B<setsockopt>(2) échoue avec l'erreur B<EINVAL>). I<imr_address> est l'adresse de l'interface locale avec laquelle le système doit joindre le groupe de diffusion multiple. Si elle est égale à B<INADDR_ANY>, une interface appropriée est choisie par le système. I<imr_ifindex> est le numéro de l'interface qui doit rejoindre ou quitter le groupe I<imr_multiaddr>, ou zéro pour indiquer n'importe quelle interface.

note: type: Plain text
en: The I<ip_mreqn> structure is available only since Linux 2.2.  For compatibility, the old I<ip_mreq> structure (present since Linux 1.2) is still supported; it differs from I<ip_mreqn> only by not including the I<imr_ifindex> field.  Only valid as a B<setsockopt>(2).
fr: La structure I<ip_mreqn> n'est disponible que depuis Linux 2.2. Pour la compatibilité, l'ancienne structure I<ip_mreq> (présente depuis Linux 1.2) est encore gérée ; elle ne diffère de I<ip_mreqn> que par l'absence du membre I<imr_ifindex>. Uniquement valable avec B<setsockopt>(2).

note: type: TP
en: B<IP_ADD_SOURCE_MEMBERSHIP> (since Linux 2.4.22 / 2.5.68)
fr: B<IP_ADD_SOURCE_MEMBERSHIP> (depuis Linux 2.4.22 et 2.5.68)

note: type: Plain text
en: Join a multicast group and allow receiving data only from a specified source.  Argument is an I<ip_mreq_source> structure.
fr: Rejoint un groupe de diffusion multiple et autorise la réception de données uniquement depuis une source indiquée. L'argument est une structure I<ip_mreq_source>.

note: type: Plain text
en: struct ip_mreq_source {
        struct in_addr imr_multiaddr;  /* IP multicast group
                                          address */
        struct in_addr imr_interface;  /* IP address of local
                                          interface */
        struct in_addr imr_sourceaddr; /* IP address of
                                          multicast source */
    };
fr: struct ip_mreq_source {
        struct in_addr imr_multiaddr;  /* Adresse IP du groupe
                                          de diffusion multiple */
        struct in_addr imr_interface;  /* Adresse IP de
                                          l'interface locale */
        struct in_addr imr_sourceaddr; /* Adresse IP de la source
                                          de diffusion multiple */
    };

note: type: Plain text
en: The I<ip_mreq_source> structure is similar to I<ip_mreqn> described under B<IP_ADD_MEMBERSIP>.  The I<imr_multiaddr> field contains the address of the multicast group the application wants to join or leave.  The I<imr_interface> field is the address of the local interface with which the system should join the multicast group.  Finally, the I<imr_sourceaddr> field contains the address of the source the application wants to receive data from.
fr: La structure I<ip_mreq_source> est similaire à I<ip_mreqn> décrite sous B<IP_ADD_MEMBERSIP>. Le champ I<imr_multiaddr> contient l'adresse du groupe de diffusion multiple que l'application veut rejoindre ou quitter.Le champ I<imr_interface> est l'adresse de l'interface locale avec laquelle le système doit rejoindre le groupe de diffusion. Le champ I<imr_sourceaddr> contient l'adresse de la source depuis laquelle l'application veut recevoir des données.

note: type: Plain text
en: This option can be used multiple times to allow receiving data from more than one source.
fr: Cette option peut être utilisée plusieurs fois pour autoriser la réception depuis plusieurs sources.

note: type: TP
en: B<IP_BLOCK_SOURCE> (since Linux 2.4.22 / 2.5.68)
fr: B<IP_BLOCK_SOURCE> (depuis Linux 2.4.22 / 2.5.68)

note: type: Plain text
en: Stop receiving multicast data from a specific source in a given group.  This is valid only after the application has subscribed to the multicast group using either B<IP_ADD_MEMBERSHIP> or B<IP_ADD_SOURCE_MEMBERSHIP>.
fr: Bloque la réception de données en diffusion multiple depuis une source spécifique pour un groupe donné. Cela n'est possible qu'après que l'application s'est abonnée au groupe de diffusion multiple en utilisant B<IP_ADD_MEMBERSHIP> ou B<IP_ADD_SOURCE_MEMBERSHIP>.

note: type: Plain text
en: Argument is an I<ip_mreq_source> structure as described under B<IP_ADD_SOURCE_MEMBERSHIP>.
fr: L'argument est une structure I<ip_mreq_source> comme décrite pour B<IP_ADD_SOURCE_MEMBERSHIP>.

note: type: TP
en: B<IP_DROP_MEMBERSHIP> (since Linux 1.2)
fr: B<IP_DROP_MEMBERSHIP> (depuis Linux 1.2)

note: type: Plain text
en: Leave a multicast group.  Argument is an I<ip_mreqn> or I<ip_mreq> structure similar to B<IP_ADD_MEMBERSHIP>.
fr: Quitte un groupe de diffusion multiple. L'argument est une structure I<ip_mreqn> ou I<ip_mreq> comme pour B<IP_ADD_MEMBERSHIP>.

note: type: TP
en: B<IP_DROP_SOURCE_MEMBERSHIP> (since Linux 2.4.22 / 2.5.68)
fr: B<IP_DROP_SOURCE_MEMBERSHIP> (since Linux 2.4.22 et 2.5.68)

note: type: Plain text
en: Leave a source-specific group\(emthat is, stop receiving data from a given multicast group that come from a given source.  If the application has subscribed to multiple sources within the same group, data from the remaining sources will still be delivered.  To stop receiving data from all sources at once, use B<IP_LEAVE_GROUP>.
fr: Quitte un groupe spécifique à une source, c'est-à-dire arrêter de recevoir des données depuis une source donnée pour un groupe de diffusion donné. Si l'application est abonnée à d'autres sources du même groupe, les données des sources restantes seront toujours transmises. Pour couper la réception depuis toutes les sources, utilisez B<IP_LEAVE_GROUP>.

note: type: TP
en: B<IP_FREEBIND> (since Linux 2.4)
fr: B<IP_FREEBIND> (depuis Linux 2.4)

note: Precisely: 2.4.0-test10 type: Plain text
en: If enabled, this boolean option allows binding to an IP address that is nonlocal or does not (yet) exist.  This permits listening on a socket, without requiring the underlying network interface or the specified dynamic IP address to be up at the time that the application is trying to bind to it.  This option is the per-socket equivalent of the I<ip_nonlocal_bind> I</proc> interface described below.
fr: Si cette option est activée, cet attribut booléen permet l'attachement à une adresse IP non locale ou qui n'existe pas (encore). Cela permet d'écouter sur une socket, sans que l'interface réseau sous-jacente ou l'adresse IP dynamique indiquée ne soit opérationnelle au moment où l'application essaye de s'y attacher. Cette option est l'équivalent spécifique à la socket de l'interface I<ip_nonlocal_bind> de I</proc> décrite plus bas.

note: type: TP
en: B<IP_HDRINCL> (since Linux 2.0)
fr: B<IP_HDRINCL> (depuis Linux 2.0)

note: type: Plain text
en: If enabled, the user supplies an IP header in front of the user data.  Only valid for B<SOCK_RAW> sockets.  See B<raw>(7)  for more information.  When this flag is enabled the values set by B<IP_OPTIONS>, B<IP_TTL> and B<IP_TOS> are ignored.
fr: Si cette option est activée, l'utilisateur fournit un en-tête IP avant les données utilisateur. Cette option n'est valable que pour les sockets B<SOCK_RAW>. Consultez B<raw>(7) pour plus de détails. Lorsque cet attribut est activé, les valeurs définies pour B<IP_OPTIONS>, B<IP_TTL> et B<IP_TOS> sont ignorées.

note: type: TP
en: B<IP_MSFILTER> (since Linux 2.4.22 / 2.5.68)
fr: B<IP_MSFILTER> (depuis Linux 2.4.22 et 2.5.68)

note: type: Plain text
en: This option provides access to the advanced full-state filtering API.  Argument is an I<ip_msfilter> structure.
fr: Cette option permet d'accéder à l'API de filtrage avancée. L'argument est une structure I<ip_msfilter>.

note: type: Plain text
en: struct ip_msfilter {
        struct in_addr imsf_multiaddr; /* IP multicast group
                                          address */
        struct in_addr imsf_interface; /* IP address of local
                                          interface */
        uint32_t       imsf_fmode;     /* Filter-mode */
fr: struct ip_msfilter {
        struct in_addr imsf_multiaddr; /* Adresse IP du groupe
                                          de diffusion multiple */
        struct in_addr imsf_interface; /* Adresse IP de
                                          l'interface locale */
        uint32_t       imsf_fmode;     /* Mode de filtrage */
    };

note: type: Plain text
en:     uint32_t       imsf_numsrc;    /* Number of sources in
                                          the following array */
        struct in_addr imsf_slist[1];  /* Array of source
                                          addresses */
    };
fr:     uint32_t       imsf_numsrc;    /* Nombre de sources dans
                                          le tableau qui suit */
        struct in_addr imsf_slist[1];  /* Tableau des adresses
                                          sources */
    };

note: type: Plain text
en: There are two macros, B<MCAST_INCLUDE> and B<MCAST_EXCLUDE>, which can be used to specify the filtering mode.  Additionally, the B<IP_MSFILTER_SIZE>(n)  macro exists to determine how much memory is needed to store I<ip_msfilter> structure with I<n> sources in the source list.
fr: Les deux macros B<MCAST_INCLUDE> et B<MCAST_EXCLUDE> permettent d'identifier le mode de filtrage. De plus, la macro B<IP_MSFILTER_SIZE>(n) permet de déterminer la quantité de mémoire nécessaire pour stocker une structure I<ip_msfilter> contenant I<n> sources.

note: type: Plain text
en: For the full description of multicast source filtering refer to RFC 3376.
fr: Pour une description complète du filtrage des sources de diffusion multiple, consultez la RFC 3376.

note: type: TP
en: B<IP_MTU> (since Linux 2.2)
fr: B<IP_MTU> (depuis Linux 2.2)

note: Precisely: 2.1.124 type: Plain text
en: Retrieve the current known path MTU of the current socket.  Valid only when the socket has been connected.  Returns an integer.  Only valid as a B<getsockopt>(2).
fr: Récupère la MTU du chemin actuellement déterminée pour la socket. Valable seulement quand la socket a été connectée. Renvoie un entier. Valable uniquement avec B<getsockopt>(2).

note: type: TP
en: B<IP_MTU_DISCOVER> (since Linux 2.2)
fr: B<IP_MTU_DISCOVER> (depuis Linux 2.2)

note: Precisely: 2.1.124 type: Plain text
en: Set or receive the Path MTU Discovery setting for a socket.  When enabled, Linux will perform Path MTU Discovery as defined in RFC\ 1191 on B<SOCK_STREAM> sockets.  For non-B<SOCK_STREAM> sockets, B<IP_PMTUDISC_DO> forces the don't-fragment flag to be set on all outgoing packets.  It is the user's responsibility to packetize the data in MTU-sized chunks and to do the retransmits if necessary.  The kernel will reject (with B<EMSGSIZE>)  datagrams that are bigger than the known path MTU.  B<IP_PMTUDISC_WANT> will fragment a datagram if needed according to the path MTU, or will set the don't-fragment flag otherwise.
fr: Définit ou récupère la définition de recherche des MTU des chemins pour une socket. Lorsqu'elle est activée, Linux effectuera la recherche de la MTU d'un chemin conformément à la RFC\ 1191 sur les sockets B<SOCK_STREAM>. Pour les sockets autres que B<SOCK_STREAM>, B<IP_PMTUDISC_DO> force l'activation de l'attribut interdisant la fragmentation sur tous les paquets sortants. L'utilisateur est responsable de l'empaquetage des données dans des blocs inférieurs à la MTU et doit s'assurer de la retransmission si besoin. Le noyau rejettera (avec l'erreur B<EMSGSIZE>) les datagrammes qui sont plus gros que la MTU du chemin déterminée. B<IP_PMTUDISC_WANT> fragmentera un datagramme si nécessaire d'après la MTU du chemin, ou activera l'attribut interdisant la fragmentation sinon.

note: type: Plain text
en: The system-wide default can be toggled between B<IP_PMTUDISC_WANT> and B<IP_PMTUDISC_DONT> by writing (respectively, zero and nonzero values) to the I</proc/sys/net/ipv4/ip_no_pmtu_disc> file.
fr: Les valeurs par défaut du système peuvent être basculées entre B<IP_PMTUDISC_WANT> et B<IP_PMTUDISC_DONT> en écrivant (respectivement des valeurs nulle ou non nulle) dans le fichier I</proc/sys/net/ipv4/ip_no_pmtu_disc>.

note: type: tbl table
en: Path MTU discovery value:Meaning
fr: Attributs MTU des chemins:Signification

note: type: tbl table
en: IP_PMTUDISC_WANT:Use per-route settings.
fr: IP_PMTUDISC_WANT:utiliser une configuration par route

note: type: tbl table
en: IP_PMTUDISC_DONT:Never do Path MTU Discovery.
fr: IP_PMTUDISC_DONT:ne pas rechercher la MTU des chemins

note: type: tbl table
en: IP_PMTUDISC_DO:Always do Path MTU Discovery.
fr: IP_PMTUDISC_DO:toujours chercher la MTU des chemins

note: type: tbl table
en: IP_PMTUDISC_PROBE:Set DF but ignore Path MTU.
fr: IP_PMTUDISC_PROBE:activer DF (« Don't Fragment », ne
    :pas fragmenter), mais ignore les
    :recherches de MTU des chemins

note: type: Plain text
en: When PMTU discovery is enabled, the kernel automatically keeps track of the path MTU per destination host.  When it is connected to a specific peer with B<connect>(2), the currently known path MTU can be retrieved conveniently using the B<IP_MTU> socket option (e.g., after an B<EMSGSIZE> error occurred).  The path MTU may change over time.  For connectionless sockets with many destinations, the new MTU for a given destination can also be accessed using the error queue (see B<IP_RECVERR>).  A new error will be queued for every incoming MTU update.
fr: Lorsque la recherche de la MTU des chemins est activée, le noyau garde automatiquement une trace des MTU des chemins par hôte de destination. Lorsqu'il est connecté à un correspondant spécifique avec B<connect>(2), la MTU du chemin actuel déterminée peut être consultée en utilisant l'option B<IP_MTU> de la socket (par exemple si une erreur B<EMSGSIZE> se produit). La MTU des chemins peut changer au cours du temps. Pour les sockets sans connexion avec plusieurs destinations, la nouvelle MTU pour une destination donnée peut également être obtenue en utilisant la file d'erreur (consultez B<IP_RECVERR>). Une nouvelle erreur sera mise en file pour chaque mise à jour de la MTU.

note: type: Plain text
en: While MTU discovery is in progress, initial packets from datagram sockets may be dropped.  Applications using UDP should be aware of this and not take it into account for their packet retransmit strategy.
fr: Durant la recherche de la MTU, les paquets initiaux des sockets datagramme peuvent être perdus. Les applications utilisant UDP devraient le savoir, et les éviter dans leur stratégie de retransmission.

note: FIXME this is an ugly hack type: Plain text
en: To bootstrap the path MTU discovery process on unconnected sockets, it is possible to start with a big datagram size (up to 64K-headers bytes long) and let it shrink by updates of the path MTU.
fr: Pour démarrer le processus de recherche de la MTU du chemin sur les sockets non connectées, il est possible de démarrer avec une grande taille de datagramme (jusqu'à 64\ ko d'en-tête) et la diminuer au fur et à mesure des mises à jours de la MTU du chemin.

note: type: Plain text
en: To get an initial estimate of the path MTU, connect a datagram socket to the destination address using B<connect>(2)  and retrieve the MTU by calling B<getsockopt>(2)  with the B<IP_MTU> option.
fr: Afin d'obtenir une estimation initiale de la MTU du chemin, connecte une socket datagramme à l'adresse de destination en utilisant B<connect>(2) et consultez la MTU en appelant B<getsockopt>(2) avec l'option B<IP_MTU>.

note: type: Plain text
en: It is possible to implement RFC 4821 MTU probing with B<SOCK_DGRAM> or B<SOCK_RAW> sockets by setting a value of B<IP_PMTUDISC_PROBE> (available since Linux 2.6.22).  This is also particularly useful for diagnostic tools such as B<tracepath>(8)  that wish to deliberately send probe packets larger than the observed Path MTU.
fr: Il est possible d'implémenter la RFC 4821 pour les recherches de MTU avec des sockets B<SOCK_DGRAM> ou B<SOCK_RAW> en utilisant la valeur B<IP_PMTUDISC_PROBE> (disponible depuis Linux 2.6.22). C'est aussi particulièrement utile pour les outils de diagnostic comme B<tracepath>(8) qui veulent délibérément envoyer des paquets sonde plus larges que le MTU observé du chemin.

note: type: TP
en: B<IP_MULTICAST_ALL> (since Linux 2.6.31)
fr: B<IP_MULTICAST_ALL> (depuis Linux 2.6.31)

note: type: Plain text
en: This option can be used to modify the delivery policy of multicast messages to sockets bound to the wildcard B<INADDR_ANY> address.  The argument is a boolean integer (defaults to 1).  If set to 1, the socket will receive messages from all the groups that have been joined globally on the whole system.  Otherwise, it will deliver messages only from the groups that have been explicitly joined (for example via the B<IP_ADD_MEMBERSHIP> option) on this particular socket.
fr: Définit la politique de distribution des messages multicast aux sockets attachés à l'adresse jocker B<INADDR_ANY>. Ce paramètre est un booléen (par défaut à 1). Configuré à 1, la socket recevra les messages destinés à tous les groupes auxquels le système est abonné. Sinon, seuls seront distribués les messages destinés à des groupes auxquels la socket s'est explicitement abonné (par exemple en utilisant l'option B<IP_ADD_MEMBERSHIP>).

note: type: TP
en: B<IP_MULTICAST_IF> (since Linux 1.2)
fr: B<IP_MULTICAST_IF> (depuis Linux 1.2)

note: net: IP_MULTICAST_IF setsockopt now recognizes struct mreq Commit: 3a084ddb4bf299a6e898a9a07c89f3917f0713f7 type: Plain text
en: Set the local device for a multicast socket.  Argument is an I<ip_mreqn> or I<ip_mreq> (since Linux 3.5)  structure similar to B<IP_ADD_MEMBERSHIP>.
fr: Définit le périphérique local pour une socket de diffusion multiple. L'argument est une structure I<ip_mreqn> ou I<ip_mreq> (depuis Linux 3.5), comme pour B<IP_ADD_MEMBERSHIP>.

note: type: Plain text
en: When an invalid socket option is passed, B<ENOPROTOOPT> is returned.
fr: Lorsqu'une option de socket non valable est fournie, B<ENOPROTOOPT> est renvoyée.

note: type: TP
en: B<IP_MULTICAST_LOOP> (since Linux 1.2)
fr: B<IP_MULTICAST_LOOP> (depuis Linux 1.2)

note: type: Plain text
en: Set or read a boolean integer argument that determines whether sent multicast packets should be looped back to the local sockets.
fr: Définit ou lit un entier booléen indiquant si les paquets de diffusion multiple doivent être renvoyés aux sockets locales.

note: type: TP
en: B<IP_MULTICAST_TTL> (since Linux 1.2)
fr: B<IP_MULTICAST_TTL> (depuis Linux 1.2)

note: type: Plain text
en: Set or read the time-to-live value of outgoing multicast packets for this socket.  It is very important for multicast packets to set the smallest TTL possible.  The default is 1 which means that multicast packets don't leave the local network unless the user program explicitly requests it.  Argument is an integer.
fr: Définit ou lit la valeur du champ Time-to-Live des paquets de diffusion multiple sortants sur cette socket. Il est très important pour les paquets de diffusion multiple de définir le TTL le plus petit possible. La valeur par défaut est 1, ce qui signifie que les paquets de diffusion multiple ne quittent pas le réseau local à moins que le programme de l'utilisateur ne le réclame explicitement. L'argument est un entier.

note: type: TP
en: B<IP_NODEFRAG> (since Linux 2.6.36)
fr: B<IP_NODEFRAG> (depuis Linux 2.6.36)

note: type: Plain text
en: If enabled (argument is nonzero), the reassembly of outgoing packets is disabled in the netfilter layer.  This option is valid only for B<SOCK_RAW> sockets.  The argument is an integer.
fr: Si activée (argument non nul), l'assemblage des paquets sortants est désactivé dans la couche netfilter. Cette option n'est valable que pour des sockets B<SOCK_RAW>. L'argument est un entier.

note: type: TP
en: B<IP_OPTIONS> (since Linux 2.0)
fr: B<IP_OPTIONS> (depuis Linux 2.0)

note: Precisely: 1.3.30 type: Plain text
en: Set or get the IP options to be sent with every packet from this socket.  The arguments are a pointer to a memory buffer containing the options and the option length.  The B<setsockopt>(2)  call sets the IP options associated with a socket.  The maximum option size for IPv4 is 40 bytes.  See RFC\ 791 for the allowed options.  When the initial connection request packet for a B<SOCK_STREAM> socket contains IP options, the IP options will be set automatically to the options from the initial packet with routing headers reversed.  Incoming packets are not allowed to change options after the connection is established.  The processing of all incoming source routing options is disabled by default and can be enabled by using the I<accept_source_route> I</proc> interface.  Other options like timestamps are still handled.  For datagram sockets, IP options can be only set by the local user.  Calling B<getsockopt>(2)  with B<IP_OPTIONS> puts the current IP options used for sending into the supplied buffer.
fr: Définit ou lit les options IP à envoyer avec chaque paquet sur cette socket. Les arguments sont un pointeur sur un tampon mémoire contenant les options et la longueur des options. L'appel à B<setsockopt>(2) définit les options IP associées à une socket. La taille maximale des options pour IPv4 vaut 40 octets. Consultez la RFC\ 791 pour les options autorisées. Lorsque le paquet de connexion initiale d'une socket B<SOCK_STREAM> contient des options IP, celles-ci seront automatiquement attribuées à la socket, avec les en-têtes de routage inversés. Les paquets entrants ne peuvent pas modifier les options après que la connexion a été établie. Le traitement des options de routage des paquets entrants est désactivé par défaut, et peut être validé en utilisant l'interface I<accept_source_route> de I</proc>. Les autres options, comme les horodatages, sont toujours traitées. Pour les sockets datagramme, les options IP ne peuvent être définies que par l'utilisateur local. L'appel de B<getsockopt>(2) avec B<IP_OPTIONS> remplit le tampon fourni avec les options d'émission actuelles.

note: type: TP
en: B<IP_PKTINFO> (since Linux 2.2)
fr: B<IP_PKTINFO> (depuis Linux 2.2)

note: Precisely: 2.1.68 type: Plain text
en: Pass an B<IP_PKTINFO> ancillary message that contains a I<pktinfo> structure that supplies some information about the incoming packet.  This only works for datagram oriented sockets.  The argument is a flag that tells the socket whether the B<IP_PKTINFO> message should be passed or not.  The message itself can only be sent/retrieved as control message with a packet using B<recvmsg>(2)  or B<sendmsg>(2).
fr: Fournit un message B<IP_PKTINFO> de service, qui contient une structure I<pktinfo> fournissant quelques informations sur le paquet entrant. Ça ne fonctionne que pour les sockets orientées datagramme. L'argument est un attribut indiquant à la socket si le message B<IP_PKTINFO> doit être passé ou non. Le message lui-même ne peut être écrit ou lu que comme message de contrôle avec un paquet, en utilisant B<recvmsg>(2) ou B<sendmsg>(2).

note: type: Plain text
en: struct in_pktinfo {
        unsigned int   ipi_ifindex;  /* Interface index */
        struct in_addr ipi_spec_dst; /* Local address */
        struct in_addr ipi_addr;     /* Header Destination
                                        address */
    };
fr: struct in_pktinfo {
        unsigned int   ipi_ifindex;   /* Numéro d'interface     */
        struct in_addr ipi_spec_dst;  /* Adresse locale         */
        struct in_addr ipi_addr;      /* Adresse de destination */
    };

note: FIXME elaborate on that. This field is grossly misnamed type: Plain text
en: I<ipi_ifindex> is the unique index of the interface the packet was received on.  I<ipi_spec_dst> is the local address of the packet and I<ipi_addr> is the destination address in the packet header.  If B<IP_PKTINFO> is passed to B<sendmsg>(2)  and I<ipi_spec_dst> is not zero, then it is used as the local source address for the routing table lookup and for setting up IP source route options.  When I<ipi_ifindex> is not zero, the primary local address of the interface specified by the index overwrites I<ipi_spec_dst> for the routing table lookup.
fr: I<ipi_ifindex> est le numéro unique de l'interface sur laquelle le paquet a été reçu. I<ipi_spec_dst> est l'adresse locale du paquet et I<ipi_addr> est l'adresse de destination dans l'en-tête du paquet. Si B<IP_PKTINFO> est passé à B<sendmsg>(2) et I<ipi_spec_dst> est différent de zéro, alors il sera utilisé comme adresse source pour la recherche dans la table de routage et pour définir les options de routage IP. Si I<ipi_ifindex> est différent de zéro, l'adresse locale principale de l'interface indiquée par cet index remplace I<ipi_spec_dst> pour la table de routage.

note: type: TP
en: B<IP_RECVERR> (since Linux 2.2)
fr: B<IP_RECVERR> (depuis Linux 2.2)

note: Precisely: 2.1.15 or SOL_IP on Linux type: Plain text
en: Enable extended reliable error message passing.  When enabled on a datagram socket, all generated errors will be queued in a per-socket error queue.  When the user receives an error from a socket operation, the errors can be received by calling B<recvmsg>(2)  with the B<MSG_ERRQUEUE> flag set.  The I<sock_extended_err> structure describing the error will be passed in an ancillary message with the type B<IP_RECVERR> and the level B<IPPROTO_IP>.  This is useful for reliable error handling on unconnected sockets.  The received data portion of the error queue contains the error packet.
fr: Active le passage amélioré des messages d'erreur. Lorsque cette option est activée pour une socket datagramme, toutes les erreurs générées seront envoyées dans une file d'erreurs propre à la socket. Quand l'utilisateur détecte une erreur d'opération sur la socket, celle-ci peut être examinée en invoquant B<recvmsg>(2) avec l'attribut B<MSG_ERRQUEUE> défini. La structure I<sock_extended_err> décrivant l'erreur sera passée comme message de service ayant le type B<IP_RECVERR> et le niveau B<IPPROTO_IP>. Cela permet une gestion d'erreur fiable sur les sockets non connectées. La partie comprenant les données reçues de la file d'erreurs contient le paquet ayant rencontré un problème.

note: type: Plain text
en: The B<IP_RECVERR> control message contains a I<sock_extended_err> structure:
fr: Le message de contrôle B<IP_RECVERR> contient une structure I<sock_extended_err>\ :

note: type: Plain text
en: struct sock_extended_err {
        uint32_t ee_errno;   /* error number */
        uint8_t  ee_origin;  /* where the error originated */
        uint8_t  ee_type;    /* type */
        uint8_t  ee_code;    /* code */
        uint8_t  ee_pad;
        uint32_t ee_info;    /* additional information */
        uint32_t ee_data;    /* other data */
        /* More data may follow */
    };
fr: struct sock_extended_err {
        uint32_t ee_errno;   /* numéro d'erreur */
        uint8_t  ee_origin;  /* origine de l'erreur */
        uint8_t  ee_type;    /* type */
        uint8_t  ee_code;    /* code */
        uint8_t  ee_pad;
        uint32_t ee_info;    /* données supplémentaires */
        uint32_t ee_data;    /* autres données */
        /* Des données supplémentaires peuvent suivre */
    };

note: type: Plain text
en: I<ee_errno> contains the I<errno> number of the queued error.  I<ee_origin> is the origin code of where the error originated.  The other fields are protocol-specific.  The macro B<SO_EE_OFFENDER> returns a pointer to the address of the network object where the error originated from given a pointer to the ancillary message.  If this address is not known, the I<sa_family> member of the I<sockaddr> contains B<AF_UNSPEC> and the other fields of the I<sockaddr> are undefined.
fr: I<ee_errno> contient le numéro de l'erreur I<errno> mise en file. I<ee_origin> est le code de l'origine de l'erreur. Les autres champs sont spécifiques au protocole. La macro B<SO_EE_OFFENDER> renvoie un pointeur sur l'adresse d'un objet réseau d'où l'erreur provient, en prenant en argument un pointeur sur le message de service. Si cette adresse n'est pas disponible, le membre I<sa_family> de la structure I<sockaddr> contient B<AF_UNSPEC> et les autres champs de I<sockaddr> ne sont pas définis.

note: FIXME . Is it a good idea to document that? It is a dubious feature. On .B SOCK_STREAM sockets, .B IP_RECVERR has slightly different semantics. Instead of saving the errors for the next timeout, it passes all incoming errors immediately to the user. This might be useful for very short-lived TCP conn
en: IP uses the I<sock_extended_err> structure as follows: I<ee_origin> is set to B<SO_EE_ORIGIN_ICMP> for errors received as an ICMP packet, or B<SO_EE_ORIGIN_LOCAL> for locally generated errors.  Unknown values should be ignored.  I<ee_type> and I<ee_code> are set from the type and code fields of the ICMP header.  I<ee_info> contains the discovered MTU for B<EMSGSIZE> errors.  The message also contains the I<sockaddr_in of the node> caused the error, which can be accessed with the B<SO_EE_OFFENDER> macro.  The I<sin_family> field of the B<SO_EE_OFFENDER> address is B<AF_UNSPEC> when the source was unknown.  When the error originated from the network, all IP options (B<IP_OPTIONS>, B<IP_TTL>, etc.) enabled on the socket and contained in the error packet are passed as control messages.  The payload of the packet causing the error is returned as normal payload.  Note that TCP has no error queue; B<MSG_ERRQUEUE> is not permitted on B<SOCK_STREAM> sockets.  B<IP_RECVERR> is valid for TCP, but all errors are returned by socket function return or B<SO_ERROR> only.
fr: IP utilise la structure I<sock_extended_err> comme suit\ : I<ee_origin> contient B<SO_EE_ORIGIN_ICMP> pour les erreurs reçues sous forme de paquet ICMP, ou B<SO_EE_ORIGIN_LOCAL> pour les erreurs locales. Les valeurs inconnues doivent être ignorées. I<ee_type> et I<ee_code> sont définis à partir des champs type et code de l'en-tête ICMP. I<ee_info> contient la MTU déterminée pour les erreurs B<EMSGSIZE>. Le message contient aussi l'adresse I<sockaddr_in> du nœud ayant causé l'erreur, qui peut être obtenu avec la macro B<SO_EE_OFFENDER>. Le champ I<sin_family> de l'adresse fournie par B<SO_EE_OFFENDER> vaut B<AF_UNSPEC> si la source était inconnue. Lorsque les erreurs proviennent du réseau, toutes les options IP (B<IP_OPTIONS>, B<IP_TTL>, etc.) valables pour la socket et contenues dans le paquet d'erreur sont transmises comme messages de contrôle. La charge du paquet causant l'erreur est renvoyée comme charge normale. TCP n'a pas de file d'erreurs\ ; B<MSG_ERRQUEUE> n'est pas permis sur les sockets B<SOCK_STREAM>. B<IP_RECVERR> est valable pour TCP, mais toutes les erreurs sont renvoyées au retour des fonctions de socket ou par B<SO_ERROR>.

note: type: Plain text
en: For raw sockets, B<IP_RECVERR> enables passing of all received ICMP errors to the application, otherwise errors are only reported on connected sockets
fr: Pour les sockets raw, B<IP_RECVERR> active le passage de toutes les erreurs ICMP reçues à l'application, sinon les erreurs sont seulement renvoyées sur les sockets connectées.

note: type: Plain text
en: It sets or retrieves an integer boolean flag.  B<IP_RECVERR> defaults to off.
fr: Il s'agit d'un attribut booléen entier. B<IP_RECVERR> est désactivée par défaut.

note: type: TP
en: B<IP_RECVOPTS> (since Linux 2.2)
fr: B<IP_RECVOPTS> (depuis Linux 2.2)

note: Precisely: 2.1.15 type: Plain text
en: Pass all incoming IP options to the user in a B<IP_OPTIONS> control message.  The routing header and other options are already filled in for the local host.  Not supported for B<SOCK_STREAM> sockets.
fr: Passe à l'utilisateur toutes les options IP entrantes dans un message de contrôle B<IP_OPTIONS>. L'en-tête de routage et les autres options sont déjà remplies pour l'hôte local. Ce n'est pas géré pour les sockets B<SOCK_STREAM>.

note: type: TP
en: B<IP_RECVORIGDSTADDR> (since Linux 2.6.29)
fr: B<IP_RECVORIGDSTADDR> (depuis Linux 2.6.29)

note: commit e8b2dfe9b4501ed0047459b2756ba26e5a940a69 type: Plain text
en: This boolean option enables the B<IP_ORIGDSTADDR> ancillary message in B<recvmsg>(2), in which the kernel returns the original destination address of the datagram being received.  The ancillary message contains a I<struct sockaddr_in>.
fr: Cet attribut booléen active le message B<IP_ORIGDSTADDR> de service dans B<recvmsg>(2), dans lequel le noyau renvoie l'adresse de destination originale du datagramme en train d'être reçu. Le message de service contient une structure I<sockaddr_in>.

note: type: TP
en: B<IP_RECVTOS> (since Linux 2.2)
fr: B<IP_RECVTOS> (depuis Linux 2.2)

note: Precisely: 2.1.68 type: Plain text
en: If enabled, the B<IP_TOS> ancillary message is passed with incoming packets.  It contains a byte which specifies the Type of Service/Precedence field of the packet header.  Expects a boolean integer flag.
fr: Le message de service B<IP_TOS> est passé avec les paquets entrants si cette option est activée. Elle contient un octet qui décrit le champ Type-Of-Service/Precedence de l'en-tête du paquet. Il s'agit d'un attribut entier booléen.

note: type: TP
en: B<IP_RECVTTL> (since Linux 2.2)
fr: B<IP_RECVTTL> (depuis Linux 2.2)

note: Precisely: 2.1.68 type: Plain text
en: When this flag is set, pass a B<IP_TTL> control message with the time to live field of the received packet as a byte.  Not supported for B<SOCK_STREAM> sockets.
fr: Lorsque cet attribut est défini, passe un message de contrôle B<IP_TTL> avec le champ Time-to-Live du paquet reçu, sous forme d'octet. Ce n'est pas géré pour les sockets B<SOCK_STREAM>.

note: type: TP
en: B<IP_RETOPTS> (since Linux 2.2)
fr: B<IP_RETOPTS> (depuis Linux 2.2)

note: Precisely: 2.1.15 type: Plain text
en: Identical to B<IP_RECVOPTS>, but returns raw unprocessed options with timestamp and route record options not filled in for this hop.
fr: Identique à B<IP_RECVOPTS>, mais renvoie les options brutes non traitées, avec les options d'enregistrement des horodatages et du routage non remplies pour ce saut.

note: type: TP
en: B<IP_ROUTER_ALERT> (since Linux 2.2)
fr: B<IP_ROUTER_ALERT> (depuis Linux 2.2)

note: Precisely: 2.1.68 type: Plain text
en: Pass all to-be forwarded packets with the IP Router Alert option set to this socket.  Only valid for raw sockets.  This is useful, for instance, for user-space RSVP daemons.  The tapped packets are not forwarded by the kernel; it is the user's responsibility to send them out again.  Socket binding is ignored, such packets are only filtered by protocol.  Expects an integer flag.
fr: Passe tous les paquets à transférer avec l'option IP Router Alert activée sur cette socket. Ce n'est valable que pour les sockets raw, et sert par exemple pour les démons RSVP de l'espace utilisateur. Les paquets enregistrés ne sont pas redirigés par le noyau ; l'utilisateur est responsable de leurs envois. L'attachement des sockets est ignoré, et de tels paquets ne sont filtrés que par le protocole. Il s'agit d'un attribut entier.

note: type: TP
en: B<IP_TOS> (since Linux 1.0)
fr: B<IP_TOS> (depuis Linux 1.0)

note: FIXME elaborate on this Needs CAP_NET_ADMIN Boolean Since Linux 2.6.27 Author: KOVACS Krisztian <hidden@sch.bme.hu> http://lwn.net/Articles/252545/ type: Plain text
en: Set or receive the Type-Of-Service (TOS) field that is sent with every IP packet originating from this socket.  It is used to prioritize packets on the network.  TOS is a byte.  There are some standard TOS flags defined: B<IPTOS_LOWDELAY> to minimize delays for interactive traffic, B<IPTOS_THROUGHPUT> to optimize throughput, B<IPTOS_RELIABILITY> to optimize for reliability, B<IPTOS_MINCOST> should be used for "filler data" where slow transmission doesn't matter.  At most one of these TOS values can be specified.  Other bits are invalid and shall be cleared.  Linux sends B<IPTOS_LOWDELAY> datagrams first by default, but the exact behavior depends on the configured queueing discipline.  Some high priority levels may require superuser privileges (the B<CAP_NET_ADMIN> capability).  The priority can also be set in a protocol independent way by the (B<SOL_SOCKET>, B<SO_PRIORITY>)  socket option (see B<socket>(7)).
fr: Définit ou récupère le champ Type-Of-Service (TOS) envoyé avec chaque paquet IP sortant de cette socket. Cela sert à gérer sur le réseau les priorités entre paquets. TOS est un octet. Quelques attributs TOS standards sont définis\ : B<IPTOS_LOWDELAY> pour minimiser les délais pour le trafic interactif, B<IPTOS_THROUGHPUT> pour optimiser le débit, B<IPTOS_RELIABILITY> pour optimiser la fiabilité, B<IPTOS_MINCOST> doit être utilisé pour les données de remplissage, quand la lenteur de transmission importe peu. Une de ces valeurs TOS au maximum peut être indiquée. Les autres bits ne sont pas valables et doivent être effacés. Linux envoie d'abord des datagrammes B<IPTOS_LOWDELAY> par défaut, mais le comportement exact dépend de la politique configurée pour la file d'attente. Quelques niveaux de haute priorité peuvent réclamer les privilèges du superutilisateur (la capacité B<CAP_NET_ADMIN>). La priorité peut aussi être définie d'une manière indépendante du protocole avec les options de socket (B<SOL_SOCKET>, B<SO_PRIORITY>) (consultez B<socket>(7)).

note: type: TP
en: B<IP_TRANSPARENT> (since Linux 2.6.24)
fr: B<IP_TRANSPARENT> (depuis Linux 2.6.24)

note: commit f5715aea4564f233767ea1d944b2637a5fd7cd2e This patch introduces the IP_TRANSPARENT socket option: enabling that will make the IPv4 routing omit the non-local source address check on output. Setting IP_TRANSPARENT requires NET_ADMIN capability. http://lwn.net/Articles/252545/ type: Plain text
en: Setting this boolean option enables transparent proxying on this socket.  This socket option allows the calling application to bind to a nonlocal IP address and operate both as a client and a server with the foreign address as the local endpoint.  NOTE: this requires that routing be set up in a way that packets going to the foreign address are routed through the TProxy box.  Enabling this socket option requires superuser privileges (the B<CAP_NET_ADMIN> capability).
fr: Cet attribut booléen active le mandataire transparent sur cette socket. Cette option de socket permet à l'application appelante de s'attacher à une adresse IP non locale et de fonctionner à la fois comme un client et un serveur avec l'adresse extérieure comme point de terminaison local. Remarque : le routage doit être configuré pour que les paquets envoyés vers l'adresse extérieure soient routés via la boîte TProxy. Les privilèges du superutilisateur sont nécessaires pour l'activation de cette option de socket (la capacité B<CAP_NET_ADMIN>).

note: type: Plain text
en: TProxy redirection with the iptables TPROXY target also requires that this option be set on the redirected socket.
fr: Cette option doit également être configurée sur la socket redirigée pour la redirection TProxy avec la cible iptables TPROXY.

note: type: TP
en: B<IP_TTL> (since Linux 1.0)
fr: B<IP_TTL> (depuis Linux 1.0)

note: type: Plain text
en: Set or retrieve the current time-to-live field that is used in every packet sent from this socket.
fr: Définit ou récupère le contenu actuel du champ Time-to-Live utilisé avec chaque paquet envoyé depuis cette socket.

note: type: TP
en: B<IP_UNBLOCK_SOURCE> (since Linux 2.4.22 / 2.5.68)
fr: B<IP_UNBLOCK_SOURCE> (depuis Linux 2.4.22 et 2.5.68)

note: type: Plain text
en: Unblock previously blocked multicast source.  Returns B<EADDRNOTAVAIL> when given source is not being blocked.
fr: Débloque une source de diffusion multiple précédemment bloquée. Renvoie B<EADDRNOTAVAIL> si la source indiquée n'était pas bloquée.

note: FIXME As at 2.6.12, 14 Jun 2005, the following are undocumented: ip_queue_maxlen ip_conntrack_max type: Plain text
en: The IP protocol supports a set of I</proc> interfaces to configure some global parameters.  The parameters can be accessed by reading or writing files in the directory I</proc/sys/net/ipv4/>.  Interfaces described as I<Boolean> take an integer value, with a nonzero value ("true") meaning that the corresponding option is enabled, and a zero value ("false")  meaning that the option is disabled.
fr: Le protocole IP prend en charge une série d'interfaces I</proc> pour configurer certaines options globales. Les paramètres peuvent être accédés en lisant ou écrivant dans les fichiers du répertoire I</proc/sys/net/ipv4/>. Les interfaces décrites comme des booléens prennent une valeur entière. Celle-ci signifie que l'option correspondante est activée si elle est différente de zéro («\ true\ »), et désactivée si elle vaut zéro («\ false\ »).

note: type: TP
en: I<ip_always_defrag> (Boolean; since Linux 2.2.13)
fr: I<ip_always_defrag> (booléen ; depuis Linux 2.2.13)

note: type: Plain text
en: [New with kernel 2.2.13; in earlier kernel versions this feature was controlled at compile time by the B<CONFIG_IP_ALWAYS_DEFRAG> option; this option is not present in 2.4.x and later]
fr: [Nouveauté des noyaux 2.2.13, dans les noyaux précédents, cette fonctionnalité était contrôlée lors de la compilation avec l'option B<CONFIG_IP_ALWAYS_DEFRAG>. Cette option n'est plus présente dans les versions 2.4.x et suivantes.]

note: type: Plain text
en: When this boolean flag is enabled (not equal 0), incoming fragments (parts of IP packets that arose when some host between origin and destination decided that the packets were too large and cut them into pieces) will be reassembled (defragmented) before being processed, even if they are about to be forwarded.
fr: Lorsque cet attribut booléen est activé (différent de zéro), les fragments entrants (morceaux de paquets IP obtenus quand un hôte entre l'origine et la destination a décidé que les paquets étaient trop grands et les a coupés en morceaux) seront réassemblés (défragmentés) avant d'être traités, même s'ils doivent être transférés.

note: type: Plain text
en: Only enable if running either a firewall that is the sole link to your network or a transparent proxy; never ever use it for a normal router or host.  Otherwise fragmented communication can be disturbed if the fragments travel over different links.  Defragmentation also has a large memory and CPU time cost.
fr: Cette option n'est à utiliser que pour un pare-feu qui est le seul lien d'entrée de votre réseau, ou un mandataire transparent. Il ne faut jamais l'utiliser pour un routeur ou un hôte normal. Sinon, les communications fragmentées peuvent être interrompues si les fragments circulent par différents liens. La défragmentation a également un coût mémoire et processeur important.

note: type: Plain text
en: This is automagically turned on when masquerading or transparent proxying are configured.
fr: C’est automagiquement activé lorsque le masquerading ou le mandataire transparent sont configurés.

note: type: TP
en: I<ip_autoconfig> (since Linux 2.2 to 2.6.17)
fr: I<ip_autoconfig> (depuis Linux 2.2 à 2.6.17)

note: Precisely: since 2.1.68 FIXME document ip_autoconfig type: Plain text
en: Not documented.
fr: Non documenté.

note: type: TP
en: I<ip_default_ttl> (integer; default: 64; since Linux 2.2)
fr: I<ip_default_ttl> (entier ; défaut\ : 64 ; depuis Linux 2.2)

note: Precisely: 2.1.15 type: Plain text
en: Set the default time-to-live value of outgoing packets.  This can be changed per socket with the B<IP_TTL> option.
fr: Définit la valeur par défaut du champ Time-to-Live des paquets sortants. Cela peut être modifié individuellement pour chaque socket avec l'option B<IP_TTL>.

note: type: TP
en: I<ip_dynaddr> (Boolean; default: disabled; since Linux 2.0.31)
fr: I<ip_dynaddr> (booléen ; désactivé par défaut ; depuis Linux 2.0.31)

note: type: Plain text
en: Enable dynamic socket address and masquerading entry rewriting on interface address change.  This is useful for dialup interface with changing IP addresses.  0 means no rewriting, 1 turns it on and 2 enables verbose mode.
fr: Active la réécriture dynamique des adresses de socket et du masquerading lors des changements d'adresse d'interface. Cela sert pour les liaisons téléphoniques, avec des adresses IP changeantes. 0 signifie aucune réécriture, 1 les autorise, et 2 demande un mode bavard.

note: type: TP
en: I<ip_forward> (Boolean; default: disabled; since Linux 1.2)
fr: I<ip_forward> (booléen ; désactivé par défaut) ; depuis Linux 1.2

note: type: Plain text
en: Enable IP forwarding with a boolean flag.  IP forwarding can be also set on a per-interface basis.
fr: Active le transfert IP avec un attribut booléen. Le transfert IP peut aussi être configuré interface par interface.

note: type: TP
en: I<ip_local_port_range> (since Linux 2.2)
fr: I<ip_local_port_range> (depuis Linux 2.2)

note: Precisely: since 2.1.68 type: Plain text
en: Contains two integers that define the default local port range allocated to sockets.  Allocation starts with the first number and ends with the second number.  Note that these should not conflict with the ports used by masquerading (although the case is handled).  Also arbitrary choices may cause problems with some firewall packet filters that make assumptions about the local ports in use.  First number should be at least greater than 1024, or better, greater than 4096, to avoid clashes with well known ports and to minimize firewall problems.
fr: Contient deux entiers qui définissent l'intervalle par défaut des ports locaux alloués aux sockets. L'allocation démarre avec le premier numéro et se termine avec le second. Cela ne doit pas entrer en conflit avec les ports utilisés pour le masquerading (bien que cela soit traité). De même, des choix arbitraires peuvent poser des problèmes avec certains pare-feu de filtrage par paquet qui font des suppositions sur les ports locaux utilisés. Le premier nombre doit être au moins supérieur à 1024 et de préférence à 4096 pour éviter les collisions avec les ports officiels et minimiser les problèmes de pare-feu.

note: type: TP
en: I<ip_no_pmtu_disc> (Boolean; default: disabled; since Linux 2.2)
fr: I<ip_no_pmtu_disc> (booléen ; désactivé par défaut) ; depuis Linux 2.2

note: Precisely: 2.1.15 The following is from 2.6.12: Documentation/networking/ip-sysctl.txt type: Plain text
en: If enabled, don't do Path MTU Discovery for TCP sockets by default.  Path MTU discovery may fail if misconfigured firewalls (that drop all ICMP packets) or misconfigured interfaces (e.g., a point-to-point link where the both ends don't agree on the MTU) are on the path.  It is better to fix the broken routers on the path than to turn off Path MTU Discovery globally, because not doing it incurs a high cost to the network.
fr: Si activé, supprime la recherche par défaut des MTU des chemins pour les sockets TCP. La recherche de la MTU d'un chemin peut échouer avec des pare-feu mal configurés (qui rejettent tous les paquets ICMP) ou des interfaces mal configurées (par exemple, un lien point-à-point où les deux extrémités n'ont pas la même MTU). Il vaut mieux corriger le routeur défectueux que de supprimer globalement la recherche des MTU des chemins, car cette dernière option augmente les coûts du réseau.

note: type: TP
en: I<ip_nonlocal_bind> (Boolean; default: disabled; since Linux 2.4)
fr: I<ip_nonlocal_bind> (booléen ; désactivé par défaut ; depuis Linux 2.4)

note: Precisely: patch-2.4.0-test10 The following is from 2.6.12: Documentation/networking/ip-sysctl.txt type: Plain text
en: If set, allows processes to B<bind>(2)  to nonlocal IP addresses, which can be quite useful, but may break some applications.
fr: Si défini, permet aux processus de s'attacher avec B<bind>(2) à des adresses IP non locales, ce qui peut être utile mais peut faire planter certaines applications.

note: type: TP
en: I<ip6frag_time> (integer; default: 30)
fr: I<ip6frag_time> (entier ; défaut\ : 30)

note: The following is from 2.6.12: Documentation/networking/ip-sysctl.txt type: Plain text
en: Time in seconds to keep an IPv6 fragment in memory.
fr: Définit le temps en secondes de conservation d'un fragment IPv6 en mémoire.

note: type: TP
en: I<ip6frag_secret_interval> (integer; default: 600)
fr: I<ip6frag_secret_interval> (entier ; défaut\ : 600)

note: type: Plain text
en: Regeneration interval (in seconds) of the hash secret (or lifetime for the hash secret) for IPv6 fragments.
fr: Définit l'intervalle de régénération (en secondes) du secret de hachage (ou sa durée de vie) pour les fragments IPv6.

note: type: TP
en: I<ipfrag_high_thresh> (integer), I<ipfrag_low_thresh> (integer)
fr: I<ipfrag_high_thresh> (entier), I<ipfrag_low_thresh> (entier)

note: type: Plain text
en: If the amount of queued IP fragments reaches I<ipfrag_high_thresh>, the queue is pruned down to I<ipfrag_low_thresh>.  Contains an integer with the number of bytes.
fr: Si le nombre de fragments IP en attente atteint I<ipfrag_high_thresh>, la file est restreinte à I<ipfrag_low_thresh>. Contient un entier avec le nombre d'octets.

note: FIXME Document the conf/*/* interfaces FIXME Document the route/* interfaces FIXME document them all type: Plain text
en: See B<arp>(7).
fr: Consultez B<arp>(7).

note: 2006-04-02, mtk commented out the following because ipchains is obsolete .PP The ioctls to configure firewalling are documented in .BR ipfw (4) from the .B ipchains package. type: Plain text
en: All ioctls described in B<socket>(7)  apply to B<ip>.
fr: Tous les ioctls décrits dans B<socket>(7) s'appliquent à B<ip>.

note: FIXME Add a discussion of multicasting type: Plain text
en: Ioctls to configure generic device parameters are described in B<netdevice>(7).
fr: Les ioctls pour configurer les paramètres génériques des périphériques sont décrits dans B<netdevice>(7).

note: type: Plain text
en: The user tried to execute an operation without the necessary permissions.  These include: sending a packet to a broadcast address without having the B<SO_BROADCAST> flag set; sending a packet via a I<prohibit> route; modifying firewall settings without superuser privileges (the B<CAP_NET_ADMIN> capability); binding to a privileged port without superuser privileges (the B<CAP_NET_BIND_SERVICE> capability).
fr: L'utilisateur a essayé de réaliser une opération sans avoir les permissions nécessaires. Cela inclut\ : l'envoi d'un paquet vers une adresse de diffusion générale sans avoir activé l'attribut B<SO_BROADCAST>, l'envoi d'un paquet par une route I<interdite>, la modification du paramétrage du pare-feu sans les privilèges du superutilisateur (la capacité B<CAP_NET_ADMIN>) et l'attachement à un port privilégié sans les privilèges du superutilisateur (la capacité B<CAP_NET_BIND_SERVICE>).

note: type: Plain text
en: An connection operation on a nonblocking socket is already in progress.
fr: Une opération de connexion est déjà en cours sur une socket non bloquante.

note: type: Plain text
en: No valid routing table entry matches the destination address.  This error can be caused by a ICMP message from a remote router or for the local routing table.
fr: Aucune table de routage valable ne correspond à l'adresse de destination. Cette erreur peut être due à un message ICMP d'un routeur distant ou pour la table de routage interne.

note: type: Plain text
en: Invalid argument passed.  For send operations this can be caused by sending to a I<blackhole> route.
fr: Un argument non valable a été fourni. Pour les opérations d'envoi, cela peut être causé par un envoi vers une route I<trou noir>.

note: type: Plain text
en: Datagram is bigger than an MTU on the path and it cannot be fragmented.
fr: Un datagramme est plus grand que la MTU du chemin et ne peut pas être fragmenté.

note: type: Plain text
en: Not enough free memory.  This often means that the memory allocation is limited by the socket buffer limits, not by the system memory, but this is not 100% consistent.
fr: La mémoire libre est insuffisante. Cela signifie souvent que l'allocation mémoire est contrainte par les limites du tampon de socket, pas par la mémoire du système, mais ce n'est pas toujours le cas.

note: type: Plain text
en: User doesn't have permission to set high priority, change configuration, or send signals to the requested process or group.
fr: L'utilisateur n'a pas la permission de définir une priorité haute, de changer la configuration ou d'envoyer des signaux au groupe ou au processus demandé.

note: type: Plain text
en: The socket is not configured or an unknown socket type was requested.
fr: La socket n'est pas configurée ou un type de socket inconnu a été demandé.

note: type: Plain text
en: Other errors may be generated by the overlaying protocols; see B<tcp>(7), B<raw>(7), B<udp>(7)  and B<socket>(7).
fr: D'autres erreurs peuvent être déclenchées par les protocoles supérieurs. Consultez B<tcp>(7), B<raw>(7), B<udp>(7) et B<socket>(7).

note: IP_PASSSEC is Linux-specific IP_XFRM_POLICY is Linux-specific IP_IPSEC_POLICY is a nonstandard extension, also present on some BSDs type: Plain text
en: B<IP_FREEBIND>, B<IP_MSFILTER>, B<IP_MTU>, B<IP_MTU_DISCOVER>, B<IP_RECVORIGDSTADDR>, B<IP_PKTINFO>, B<IP_RECVERR>, B<IP_ROUTER_ALERT>, and B<IP_TRANSPARENT> are Linux-specific.
fr: B<IP_FREEBIND>, B<IP_MSFILTER>, B<IP_MTU>, B<IP_MTU_DISCOVER>, B<IP_RECVORIGDSTADDR>, B<IP_PKTINFO>, B<IP_RECVERR>, B<IP_ROUTER_ALERT> et B<IP_TRANSPARENT> sont spécifiques à Linux.

note: type: Plain text
en: Be very careful with the B<SO_BROADCAST> option - it is not privileged in Linux.  It is easy to overload the network with careless broadcasts.  For new application protocols it is better to use a multicast group instead of broadcasting.  Broadcasting is discouraged.
fr: Soyez très prudents avec l'option B<SO_BROADCAST>, elle n'est pas privilégiée sous Linux. Il est facile de surcharger un réseau avec des diffusions générales sans précaution. Pour les nouveaux protocoles applicatifs, il vaut mieux utiliser un groupe de diffusion multiple plutôt que la diffusion générale. Ce dernier est déconseillé.

note: type: Plain text
en: Some other BSD sockets implementations provide B<IP_RCVDSTADDR> and B<IP_RECVIF> socket options to get the destination address and the interface of received datagrams.  Linux has the more general B<IP_PKTINFO> for the same task.
fr: Certaines autres implémentations des sockets BSD fournissent les options de socket B<IP_RCVDSTADDR> et B<IP_RECVIF> pour obtenir l'adresse de destination et l'interface des datagrammes reçus. Linux propose l'option B<IP_PKTINFO> plus générale pour effectuer ce travail.

note: type: Plain text
en: Some BSD sockets implementations also provide an B<IP_RECVTTL> option, but an ancillary message with type B<IP_RECVTTL> is passed with the incoming packet.  This is different from the B<IP_TTL> option used in Linux.
fr: Certaines implémentations BSD des sockets fournissent également l'option B<IP_RECVTTL>, mais un message de service ayant le type B<IP_RECVTTL> est fourni avec le paquet entrant. C'est différent de l'option B<IP_TTL> utilisée sous Linux.

note: type: Plain text
en: Using B<SOL_IP> socket options level isn't portable, BSD-based stacks use B<IPPROTO_IP> level.
fr: L'utilisation du niveau des options de socket B<SOL_IP> n'est pas portable, les empilages basés sur BSD utilisent le niveau B<IPPROTO_IP>.

note: type: Plain text
en: For compatibility with Linux 2.0, the obsolete B<socket(AF_INET, SOCK_PACKET, >I<protocol>B<)> syntax is still supported to open a B<packet>(7)  socket.  This is deprecated and should be replaced by B<socket(AF_PACKET, SOCK_RAW, >I<protocol>B<)> instead.  The main difference is the new I<sockaddr_ll> address structure for generic link layer information instead of the old B<sockaddr_pkt>.
fr: Pour la compatibilité avec Linux 2.0, la syntaxe obsolète B<socket(AF_INET, SOCK_PACKET, >I<protocole>B<)> est encore gérée pour ouvrir une socket B<packet>(7). C’est déconseillé, et doit être remplacé par B<socket(AF_PACKET, SOCK_RAW, >I<protocole>B<)>. La principale différence est la nouvelle structure d'adresse I<sockaddr_ll> pour les informations génériques de la couche de liaison à la place de l'ancienne B<sockaddr_pkt>.

note: type: Plain text
en: The ioctls to configure IP-specific interface options and ARP tables are not described.
fr: Les ioctls pour configurer les options d'interface spécifiques à IP et les tables ARP ne sont pas décrites.

note: type: Plain text
en: Some versions of glibc forget to declare I<in_pktinfo>.  Workaround currently is to copy it into your program from this man page.
fr: Certaines versions de la glibc oublient de déclarer I<in_pktinfo>. Le contournement consiste à la recopier depuis cette page de manuel dans le programme.

note: .SH AUTHORS This man page was written by Andi Kleen. type: Plain text
en: Receiving the original destination address with B<MSG_ERRQUEUE> in I<msg_name> by B<recvmsg>(2)  does not work in some 2.2 kernels.
fr: La réception de l'adresse de destination originale avec B<MSG_ERRQUEUE> dans I<msg_name> par B<recvmsg>(2) ne fonctionne pas dans certains noyaux 2.2.

note: FIXME autobind INADDR REUSEADDR type: Plain text
en: RFC\ 791 for the original IP specification.  RFC\ 1122 for the IPv4 host requirements.  RFC\ 1812 for the IPv4 router requirements.
fr: RFC\ 791 pour les spécifications IP d'origine. RFC\ 1122 pour les nécessités IPv4 des hôtes. RFC\ 1812 pour les nécessités IPv4 des routeurs.

note: type: TH
en: 2012-12-16
fr: 16 décembre 2012

note: type: Plain text
en: ipv6 - Linux IPv6 protocol implementation
fr: ipv6 - Implémentation Linux du protocole IPv6

note: type: Plain text
en: I<raw6_socket>B< = socket(AF_INET6, SOCK_RAW, >I<protocol>B<);>
fr: I<raw6_socket>B< = socket(AF_INET6, SOCK_RAW, >I<protocole>B<);>

note: type: Plain text
en: I<udp6_socket>B< = socket(AF_INET6, SOCK_DGRAM, >I<protocol>B<);>
fr: I<udp6_socket>B< = socket(AF_INET6, SOCK_DGRAM, >I<protocole>B<);>

note: type: Plain text
en: Linux 2.2 optionally implements the Internet Protocol, version 6.  This man page contains a description of the IPv6 basic API as implemented by the Linux kernel and glibc 2.1.  The interface is based on the BSD sockets interface; see B<socket>(7).
fr: Linux 2.2 implémente en option le protocole internet version 6 (IPv6). Cette page de manuel contient la description de l'API IPv6 de base, telle qu'implémentée dans le noyau Linux et la glibc 2.1 L'interface est basée sur l'interface des sockets BSD. Consultez B<socket>(7).

note: type: Plain text
en: The IPv6 API aims to be mostly compatible with the IPv4 API (see B<ip>(7)).  Only differences are described in this man page.
fr: L'API IPv6 est conçue pour être essentiellement compatible avec l'API IPv4 (consultez B<ip>(7)). Seules les différences sont décrites dans cette page de manuel.

note: type: Plain text
en: To bind an B<AF_INET6> socket to any process, the local address should be copied from the I<in6addr_any> variable which has I<in6_addr> type.  In static initializations, B<IN6ADDR_ANY_INIT> may also be used, which expands to a constant expression.  Both of them are in network byte order.
fr: Pour attacher une socket B<AF_INET6>, l'adresse locale doit être copiée dans une variable I<in6addr_any> qui a le type I<in6_addr>. Dans les initialisations statiques, B<IN6ADDR_ANY_INIT> peut servir aussi et se développe en une expression constante. Toutes les valeurs sont dans l'ordre des octets du réseau.

note: type: Plain text
en: The IPv6 loopback address (::1) is available in the global I<in6addr_loopback> variable.  For initializations, B<IN6ADDR_LOOPBACK_INIT> should be used.
fr: L'adresse de boucle IPv6 (::1) est disponible dans la variable globale I<in6addr_loopback>. Pour les initialisations, on doit utiliser B<IN6ADDR_LOOPBACK_INIT>.

note: type: Plain text
en: IPv4 connections can be handled with the v6 API by using the v4-mapped-on-v6 address type; thus a program only needs to support this API type to support both protocols.  This is handled transparently by the address handling functions in the C library.
fr: Les connexions IPv4 peuvent être traitées avec l'API v6 en utilisant le type d'adresse v4-projeté-dans-v6. Ainsi un programme n'a qu'un seul type d'API à utiliser pour prendre en charge les deux protocoles. C’est géré de manière transparente par les fonctions d'adressage de la bibliothèque C.

note: type: Plain text
en: IPv4 and IPv6 share the local port space.  When you get an IPv4 connection or packet to a IPv6 socket, its source address will be mapped to v6 and it will be mapped to v6.
fr: IPv4 et IPv6 partagent l'espace des ports locaux. Lorsqu'une connexion ou un paquet IPv4 est obtenu sur une socket IPv6, son adresse source sera projetée en v6.

note: type: Plain text
en: struct sockaddr_in6 {
        sa_family_t     sin6_family;   /* AF_INET6 */
        in_port_t       sin6_port;     /* port number */
        uint32_t        sin6_flowinfo; /* IPv6 flow information */
        struct in6_addr sin6_addr;     /* IPv6 address */
        uint32_t        sin6_scope_id; /* Scope ID (new in 2.4) */
    };
fr: struct sockaddr_in6 {
        sa_family_t     sin6_family;   /* AF_INET6 */
        in_port_t       sin6_port;     /* numéro de port */
        uint32_t        sin6_flowinfo; /* information de flux IPv6 */
        struct in6_addr sin6_addr;     /* adresse IPv6 */
        uint32_t        sin6_scope_id; /* Scope ID (nouveauté 2.4) */
    };

note: type: Plain text
en: struct in6_addr {
        unsigned char   s6_addr[16];   /* IPv6 address */
    };
fr: struct in6_addr {
        unsigned char   s6_addr[16];   /* adresse IPv6 */
    };

note: type: Plain text
en: I<sin6_family> is always set to B<AF_INET6>; I<sin6_port> is the protocol port (see I<sin_port> in B<ip>(7)); I<sin6_flowinfo> is the IPv6 flow identifier; I<sin6_addr> is the 128-bit IPv6 address.  I<sin6_scope_id> is an ID depending on the scope of the address.  It is new in Linux 2.4.  Linux supports it only for link-local addresses, in that case I<sin6_scope_id> contains the interface index (see B<netdevice>(7))
fr: I<sin6_family> est toujours rempli avec B<AF_INET6>\ ; I<sin6_port> est le port du protocole (consultez I<sin_port> dans B<ip>(7))\ ; I<sin6_flowinfo> est l'identificateur de flux IPv6, I<sin6_addr> est l'adresse IPv6 sur 128 bits. I<sin6_scope_id> est un identificateur qui dépend de la portée de l'adresse. C'est une nouveauté Linux 2.4. Linux ne le prend en charge que pour les adresses locales lien, dans ce cas I<sin6_scope_id> contient le numéro d'interface (consultez B<netdevice>(7)).

note: type: Plain text
en: IPv6 supports several address types: unicast to address a single host, multicast to address a group of hosts, anycast to address the nearest member of a group of hosts (not implemented in Linux), IPv4-on-IPv6 to address a IPv4 host, and other reserved address types.
fr: IPv6 prend en charge plusieurs types d'adresses\ : unicast pour représenter un hôte unique, multicast pour un groupe d'hôtes, anycast pour indiquer le membre le plus proche d'un groupe d'hôtes (non implémenté sous Linux), IPv4-on-IPv6 pour un hôte IPv4, et d'autres types d'adresse réservés.

note: type: Plain text
en: The address notation for IPv6 is a group of 8 4-digit hexadecimal numbers, separated with a \(aq:\(aq.  \&"::" stands for a string of 0 bits.  Special addresses are ::1 for loopback and ::FFFF:E<lt>IPv4 addressE<gt> for IPv4-mapped-on-IPv6.
fr: La notation d'adresse pour l'IPv6 est un groupe de 8 nombres hexadécimaux sur 4 chiffres, séparés par un deux-points «\ :\ ». Un «\ ::\ » représente une chaîne de zéros. Les adresses spéciales sont\ ::1 pour le bouclage loopback et\ ::FFFF:E<lt>adresse IPv4E<gt> pour les projections d'adresses IPv4 sur l'IPv6.

note: type: Plain text
en: The port space of IPv6 is shared with IPv4.
fr: L'espace des ports de l'IPv6 est partagé avec l'IPv4.

note: type: Plain text
en: IPv6 supports some protocol-specific socket options that can be set with B<setsockopt>(2)  and read with B<getsockopt>(2).  The socket option level for IPv6 is B<IPPROTO_IPV6>.  A boolean integer flag is zero when it is false, otherwise true.
fr: IPv6 accepte quelques options des sockets spécifiques du protocole, qui peuvent être définies avec B<setsockopt>(2) et consultées avec B<getsockopt>(2). Le niveau d'option de socket pour l'IPv6 est B<IPPROTO_IPV6>. Un entier booléen est faux quand il est nul et vrai sinon.

note: type: Plain text
en: Turn an B<AF_INET6> socket into a socket of a different address family.  Only B<AF_INET> is currently supported for that.  It is allowed only for IPv6 sockets that are connected and bound to a v4-mapped-on-v6 address.  The argument is a pointer to an integer containing B<AF_INET>.  This is useful to pass v4-mapped sockets as file descriptors to programs that don't know how to deal with the IPv6 API.
fr: Transformer une socket B<AF_INET6> en une socket d'une famille d'adresse différente. Seul B<AF_INET> est actuellement pris en charge pour cela. Cela n'est autorisé que pour les sockets IPv6 connectées et attachées à une adresse v4-sur-v6. L'argument est un pointeur sur un entier contenant B<AF_INET>. Cela est utile pour passer des sockets projetées en v4 comme descripteurs à des programmes ne sachant pas manipuler l'API IPv6.

note: type: Plain text
en: Control membership in multicast groups.  Argument is a pointer to a I<struct ipv6_mreq>.
fr: Déterminer l'appartenance aux groupes multicast. L'argument est un pointeur sur une structure I<struct ipv6_mreq>.

note: type: Plain text
en: B<getsockopt>(): Retrieve the current known path MTU of the current socket.  Only valid when the socket has been connected.  Returns an integer.
fr: B<getsockopt>() : récupérer la MTU du chemin actuellement déterminée pour la socket. Valable seulement quand la socket a été connectée. Renvoie un entier.

note: type: Plain text
en: B<setsockopt>(): Set the MTU to be used for the socket.  The MTU is limited by the device MTU or the path MTU when path MTU discovery is enabled.  Argument is a pointer to integer.
fr: B<setsockopt>() : définir le MTU à utiliser pour la socket. Le MTU est limité par celui du périphérique ou celui du chemin lorsque la recherche du MTU par chemin est activée. L'argument est un pointeur sur un entier.

note: type: Plain text
en: Control path-MTU discovery on the socket.  See B<IP_MTU_DISCOVER> in B<ip>(7)  for details.
fr: Commander la recherche du MTU du chemin sur la socket. Consultez l'option B<IP_MTU_DISCOVER> dans B<ip>(7) pour plus de précisions.

note: type: Plain text
en: Set the multicast hop limit for the socket.  Argument is a pointer to an integer.  -1 in the value means use the route default, otherwise it should be between 0 and 255.
fr: Définir la limite du nombre de sauts (hops) multicast. L'argument est un pointeur sur un entier. La valeur -1 correspond à la valeur par défaut de routage, sinon il doit s'agir d'un entier entre 0 et 255.

note: type: Plain text
en: Set the device for outgoing multicast packets on the socket.  This is allowed only for B<SOCK_DGRAM> and B<SOCK_RAW> socket.  The argument is a pointer to an interface index (see B<netdevice>(7))  in an integer.
fr: Définir le périphérique pour les paquets multicast sortants de la socket. Ce n'est permis que pour les sockets B<SOCK_DGRAM> et B<SOCK_RAW>. L'argument est un pointeur sur un numéro d'interface (consultez B<netdevice>(7)) dans un entier.

note: type: Plain text
en: Control whether the socket sees multicast packets that it has send itself.  Argument is a pointer to boolean.
fr: Déterminer si la socket voit les paquets multicast qu'elle a elle-même émis. L'argument est un pointeur sur une valeur booléenne.

note: type: TP
en: B<IPV6_RECVPKTINFO> (since Linux 2.6.14)
fr: B<IPV6_RECVPKTINFO> (depuis Linux 2.6.14)

note: type: Plain text
en: Set delivery of the B<IPV6_PKTINFO> control message on incoming datagrams.  Such control messages contain a I<struct in6_pktinfo>, as per RFC 3542.  Only allowed for B<SOCK_DGRAM> or B<SOCK_RAW> sockets.  Argument is a pointer to a boolean value in an integer.
fr: Définir la distribution des messages de contrôle B<IPV6_PKTINFO> des datagrammes entrants. Ce type de messages de contrôle contient une I<struct in6_pktinfo>, conformément à la RFC 3542. Uniquement autorisé pour les sockets B<SOCK_DGRAM> ou B<SOCK_RAW>. L'argument est un pointeur sur une valeur booléenne dans un entier.

note: type: Plain text
en: Set delivery of control messages for incoming datagrams containing extension headers from the received packet.  B<IPV6_RTHDR> delivers the routing header, B<IPV6_AUTHHDR> delivers the authentication header, B<IPV6_DSTOPTS> delivers the destination options, B<IPV6_HOPOPTS> delivers the hop options, B<IPV6_FLOWINFO> delivers an integer containing the flow ID, B<IPV6_HOPLIMIT> delivers an integer containing the hop count of the packet.  The control messages have the same type as the socket option.  All these header options can also be set for outgoing packets by putting the appropriate control message into the control buffer of B<sendmsg>(2).  Only allowed for B<SOCK_DGRAM> or B<SOCK_RAW> sockets.  Argument is a pointer to a boolean value.
fr: Définir la distribution des messages de contrôle des datagrammes entrants contenant les en-têtes d'extensions du paquet reçu. B<IPV6_RTHDR> délivre l'en-tête de routage, B<IPV6_AUTHHDR> délivre l'en-tête d'authentification, B<IPV6_DSTOPTS> délivre les options de destination, B<IPV6_HOPOPTS> délivre les options de saut, B<IPV6_FLOWINFO> délivre un entier contenant l'identificateur de flux, B<IPV6_HOPLIMIT> délivre un entier contenant le nombre de sauts du paquet. Les messages de contrôle ont le même type que l'option de socket. Toutes ces options d'en-tête peuvent aussi être définies pour les paquets sortants en mettant le message de contrôle approprié dans le tampon de B<sendmsg>(2). Uniquement autorisé pour les sockets B<SOCK_DGRAM> ou B<SOCK_RAW>. L'argument est un pointeur sur une valeur booléenne.

note: type: Plain text
en: Control receiving of asynchronous error options.  See B<IP_RECVERR> in B<ip>(7)  for details.  Argument is a pointer to boolean.
fr: Commander la réception des erreurs asynchrones. Consultez B<IP_RECVERR> dans B<ip>(7) pour plus de précisions. L'argument est un pointeur sur un booléen.

note: type: Plain text
en: Pass forwarded packets containing a router alert hop-by-hop option to this socket.  Only allowed for B<SOCK_RAW> sockets.  The tapped packets are not forwarded by the kernel, it is the user's responsibility to send them out again.  Argument is a pointer to an integer.  A positive integer indicates a router alert option value to intercept.  Packets carrying a router alert option with a value field containing this integer will be delivered to the socket.  A negative integer disables delivery of packets with router alert options to this socket.
fr: Passer sur cette socket tous les paquets redirigés (forwarded) contenant une option « hop-by-hop » d'alerte du routeur. Uniquement autorisé pour les sockets B<SOCK_RAW>. Les paquets exploités ne sont pas redirigés par le noyau, il est de la responsabilité de l'utilisateur de les renvoyer. L'argument est un pointeur vers un entier. Un entier positif indique une valeur option d'alerte du routeur à intercepter. Les paquets portant une option d'alerte du routeur avec un champ de valeur contenant cet entier sera délivré à la socket. Un entier négatif désactive la délivrance de packets avec des options d'alerte du routeur à cette socket.

note: type: Plain text
en: Set the unicast hop limit for the socket.  Argument is a pointer to an integer.  -1 in the value means use the route default, otherwise it should be between 0 and 255.
fr: Définir la limite du nombre de sauts (hops) unicast. L'argument est un pointeur sur un entier. La valeur -1 correspond à la valeur par défaut de routage, sinon il doit s'agir d'un entier entre 0 et 255.

note: type: TP
en: B<IPV6_V6ONLY> (since Linux 2.4.21 and 2.6)
fr: B<IPV6_V6ONLY> (depuis Linux 2.4.21 et 2.6)

note: See RFC 3493 type: Plain text
en: If this flag is set to true (nonzero), then the socket is restricted to sending and receiving IPv6 packets only.  In this case, an IPv4 and an IPv6 application can bind to a single port at the same time.
fr: Quand cet attribut est positionné (différent de zéro), alors la socket est limitée à l'émission et la réception de paquets IPv6. Dans ce cas, une application IPv4 et IPv6 peuvent s'associer à un même port en même temps.

note: type: Plain text
en: If this flag is set to false (zero), then the socket can be used to send and receive packets to and from an IPv6 address or an IPv4-mapped IPv6 address.
fr: Si cet attribut n'est pas positionné (zéro), alors la socket peut être utilisé pour émettre ou recevoir des paquets depuis et vers une adresse IPv6 ou une projections d'adresse IPv4 sur IPv6.

note: type: Plain text
en: The argument is a pointer to a boolean value in an integer.
fr: Le paramètre est un pointeur vers un booléen dans un entier.

note: FLOWLABEL_MGR, FLOWINFO_SEND type: Plain text
en: The default value for this flag is defined by the contents of the file I</proc/sys/net/ipv6/bindv6only>.  The default value for that file is 0 (false).
fr: La valeur par défaut de cet attribut est défini par le contenu du fichier I</proc/sys/net/ipv6/bindv6only>. La valeur par défaut de ce fichier est 0 (désactivé).

note: type: Plain text
en: The user tried to B<bind>(2)  to a link-local IPv6 address, but the I<sin6_scope_id> in the supplied I<sockaddr_in6> structure is not a valid interface index.
fr: L'utilisateur a essayé de lier avec B<bind>(2) sur une adresse locale lien IPv6, mais le I<sin6_scope_id> de la structure I<sockaddr_in6> fournie n'est pas un numéro d'interface valable.

note: type: Plain text
en: The older I<libinet6> libc5 based IPv6 API implementation for Linux is not described here and may vary in details.
fr: L'ancienne implémentation IPv6 pour Linux basée sur I<libinet6> de la libc5 n'est pas décrite ici, et peut être légèrement différente.

note: type: Plain text
en: Linux 2.4 will break binary compatibility for the I<sockaddr_in6> for 64-bit hosts by changing the alignment of I<in6_addr> and adding an additional I<sin6_scope_id> field.  The kernel interfaces stay compatible, but a program including I<sockaddr_in6> or I<in6_addr> into other structures may not be.  This is not a problem for 32-bit hosts like i386.
fr: Linux 2.4 rompt la compatibilité binaire pour la structure I<sockaddr_in6> des hôtes sur 64 bits, en modifiant l'alignement de I<in6_addr> et en ajoutant un champ I<sin6_scope_id> supplémentaire. Les interfaces du noyau restent compatible, mais un programme contenant des I<sockaddr_in6> ou des I<in6_addr> dans d'autres structures ne l'est peut être pas. Ce n'est pas un problème pour les hôtes sur 32 bits comme les i386.

note: type: Plain text
en: The I<sin6_flowinfo> field is new in Linux 2.4.  It is transparently passed/read by the kernel when the passed address length contains it.  Some programs that pass a longer address buffer and then check the outgoing address length may break.
fr: Le champ I<sin6_flowinfo> est une nouveauté Linux 2.4. Il est écrit/lu de manière transparente par le noyau quand la longueur de l'adresse passée le contient. Certains programmes qui passent un tampon d'adresse plus long et vérifient ensuite la longueur de l'adresse renvoyée peuvent échouer.

note: type: Plain text
en: The I<sockaddr_in6> structure is bigger than the generic I<sockaddr>.  Programs that assume that all address types can be stored safely in a I<struct sockaddr> need to be changed to use I<struct sockaddr_storage> for that instead.
fr: La structure I<sockaddr_in6> est plus grande que la structure I<sockaddr> générique. Les programmes qui supposent que tous les types d'adresses peuvent être stockés dans une I<struct sockaddr> doivent être modifiés pour utiliser I<struct sockaddr_storage> à la place.

note: type: Plain text
en: The IPv6 extended API as in RFC\ 2292 is currently only partly implemented; although the 2.2 kernel has near complete support for receiving options, the macros for generating IPv6 options are missing in glibc 2.1.
fr: L'API IPv6 étendue, telle que dans la RFC\ 2292, n'est encore que partiellement implémentée. Bien que les noyaux 2.2 ont une prise  en charge pratiquement complète des options de réception, les macros déclarant les options IPv6 manquent dans la glibc 2.1.

note: type: Plain text
en: IPSec support for EH and AH headers is missing.
fr: La prise en charge IPSec pour les en-têtes EH et AH manque.

note: type: Plain text
en: Flow label management is not complete and not documented here.
fr: La gestion des étiquettes de flux n'est pas complète, ni documentée ici.

note: type: Plain text
en: This man page is not complete.
fr: Cette page de manuel n'est pas complète.

note: type: Plain text
en: RFC\ 2553: IPv6 BASIC API; Linux tries to be compliant to this.  RFC\ 2460: IPv6 specification.
fr: RFC\ 2553 : API IPv6 de base, avec laquelle Linux essaye d'être compatible. RFC\ 2460 : spécifications d'IPv6.

note: type: TH
en: 2014-01-24
fr: 24 janvier 2014

note: type: Plain text
en: netdevice - low-level access to Linux network devices
fr: netdevice - Accès bas niveau aux périphériques réseau sous Linux

note: type: Plain text
en: This man page describes the sockets interface which is used to configure network devices.
fr: Cette page de manuel décrit l'interface des sockets permettant de configurer les périphériques réseau.

note: type: Plain text
en: Linux supports some standard ioctls to configure network devices.  They can be used on any socket's file descriptor regardless of the family or type.  Most of them pass an I<ifreq> structure:
fr: Linux prend en charge certains ioctls standard pour configurer les périphériques réseau. Il servent sur n'importe quel descripteur de socket, quelle qu'en soit la famille ou le type. La plupart utilisent une structure I<ifreq> :

note: type: Plain text
en: struct ifreq {
        char ifr_name[IFNAMSIZ]; /* Interface name */
        union {
            struct sockaddr ifr_addr;
            struct sockaddr ifr_dstaddr;
            struct sockaddr ifr_broadaddr;
            struct sockaddr ifr_netmask;
            struct sockaddr ifr_hwaddr;
            short           ifr_flags;
            int             ifr_ifindex;
            int             ifr_metric;
            int             ifr_mtu;
            struct ifmap    ifr_map;
            char            ifr_slave[IFNAMSIZ];
            char            ifr_newname[IFNAMSIZ];
            char           *ifr_data;
        };
    };
fr: struct ifreq {
        char ifr_name[IFNAMSIZ]; /* nom interface */
        union {
            struct sockaddr ifr_addr;
            struct sockaddr ifr_dstaddr;
            struct sockaddr ifr_broadaddr;
            struct sockaddr ifr_netmask;
            struct sockaddr ifr_hwaddr;
            short           ifr_flags;
            int             ifr_ifindex;
            int             ifr_metric;
            int             ifr_mtu;
            struct ifmap    ifr_map;
            char            ifr_slave[IFNAMSIZ];
            char            ifr_newname[IFNAMSIZ];
            char           *ifr_data;
        };
    };

note: type: Plain text
en: Normally, the user specifies which device to affect by setting I<ifr_name> to the name of the interface.  All other members of the structure may share memory.
fr: Normalement, l'utilisateur indique le périphérique concerné en remplissant I<ifr_name> avec le nom de l'interface. Tous les autres membres de la structure peuvent partager la mémoire.

note: type: Plain text
en: If an ioctl is marked as privileged, then using it requires an effective user ID of 0 or the B<CAP_NET_ADMIN> capability.  If this is not the case, B<EPERM> will be returned.
fr: Si un ioctl est indiqué comme privilégié, alors il nécessite un UID effectif nul ou la capacité B<CAP_NET_ADMIN>. Sinon, il renverra l'erreur B<EPERM>.

note: type: Plain text
en: Given the I<ifr_ifindex>, return the name of the interface in I<ifr_name>.  This is the only ioctl which returns its result in I<ifr_name>.
fr: En utilisant I<ifr_ifindex>, renvoie le nom de l'interface dans I<ifr_name>. C'est le seul ioctl qui renvoie un résultant dans I<ifr_name>.

note: type: Plain text
en: Retrieve the interface index of the interface into I<ifr_ifindex>.
fr: Retrouve le numéro d'interface et le place dans I<ifr_ifindex>.

note: Do not right adjust text blocks in tables type: Plain text
en: Get or set the active flag word of the device.  I<ifr_flags> contains a bit mask of the following values:
fr: Lire ou écrire les attributs actifs du périphérique. I<ifr_flags> est un mot contenant un masque de bits combinant les valeurs suivantes\ :

note: type: tbl table
en: Device flags
fr: Attributs de périphérique

note: type: tbl table
en: IFF_UP:Interface is running.
fr: IFF_UP:Interface fonctionne.

note: type: tbl table
en: IFF_BROADCAST:Valid broadcast address set.
fr: IFF_BROADCAST:Adresse de broadcast valable.

note: type: tbl table
en: IFF_DEBUG:Internal debugging flag.
fr: IFF_DEBUG:Attribut interne de débogage.

note: type: tbl table
en: IFF_LOOPBACK:Interface is a loopback interface.
fr: IFF_LOOPBACK:Interface de type loopback.

note: type: tbl table
en: IFF_POINTOPOINT:Interface is a point-to-point link.
fr: IFF_POINTOPOINT:Interface de type point-à-point.

note: type: tbl table
en: IFF_RUNNING:Resources allocated.
fr: IFF_RUNNING:Resources allouées.

note: type: tbl table
en: No arp protocol, L2 destination address not set.
fr: Pas de protocole ARP, adresse de destination L2 absente.

note: type: tbl table
en: IFF_PROMISC:Interface is in promiscuous mode.
fr: IFF_PROMISC:Interface en mode promiscuous.

note: type: tbl table
en: IFF_NOTRAILERS:Avoid use of trailers.
fr: IFF_NOTRAILERS:N'utilise pas les postambules.

note: type: tbl table
en: IFF_ALLMULTI:Receive all multicast packets.
fr: IFF_ALLMULTI:Accepte tous les paquets multicast.

note: type: tbl table
en: IFF_MASTER:Master of a load balancing bundle.
fr: IFF_MASTER:Maître d'un système de répartition de charge.

note: type: tbl table
en: IFF_SLAVE:Slave of a load balancing bundle.
fr: IFF_SLAVE:Esclave d'un système de répartition de charge.

note: type: tbl table
en: IFF_MULTICAST:Supports multicast
fr: IFF_MULTICAST:Support multicast.

note: type: tbl table
en: IFF_PORTSEL:Is able to select media type via ifmap.
fr: IFF_PORTSEL:Capable de sélectionner le média par ifmap.

note: type: tbl table
en: IFF_AUTOMEDIA:Auto media selection active.
fr: IFF_AUTOMEDIA:Sélection automatique du média.

note: type: tbl table
en: The addresses are lost when the interface goes down.
fr: Adresse perdue quand l'interface est arrêtée.

note: type: tbl table
en: IFF_LOWER_UP:Driver signals L1 up (since Linux 2.6.17)
fr: IFF_LOWER_UP:T{
    Le pilote signale la disponibilité de niveau L1 (depuis Linux 2.6.17)
    T}

note: type: tbl table
en: IFF_DORMANT:Driver signals dormant (since Linux 2.6.17)
fr: IFF_DORMANT:T{
    Le pilote signale les sommeils (depuis Linux 2.6.17)
    T}

note: type: tbl table
en: IFF_ECHO:Echo sent packets (since Linux 2.6.25)
fr: IFF_ECHO:T{
    Renvoyer les paquets envoyé (depuis Linux 2.6.25)
    T}

note: type: Plain text
en: Setting the active flag word is a privileged operation, but any process may read it.
fr: Écrire les attributs est une opération privilégiée, mais tout processus peut les lire.

note: type: Plain text
en: Get or set extended (private) flags for the device.  I<ifr_flags> contains a bit mask of the following values:
fr: Lire ou écrire les attributs (privés) étendus du périphérique. I<ifr_flags> est un mot contenant un masque de bits combinant les valeurs suivantes\ :

note: type: tbl table
en: Private flags
fr: Attributs privés

note: type: tbl table
en: IFF_802_1Q_VLAN:Interface is 802.1Q VLAN device.
fr: IFF_802_1Q_VLAN:Périphérique de type VLAN 802.1Q.

note: type: tbl table
en: IFF_EBRIDGE:Interface is Ethernet bridging device.
fr: IFF_EBRIDGE:Périphérique de pontage Ethernet.

note: type: tbl table
en: IFF_SLAVE_INACTIVE:Interface is inactive bonding slave.
fr: IFF_SLAVE_INACTIVE:Esclave de bonding inactif.

note: type: tbl table
en: IFF_MASTER_8023AD:Interface is 802.3ad bonding master.
fr: IFF_MASTER_8023AD:Maître de bonding 802.3ad.

note: type: tbl table
en: IFF_MASTER_ALB:Interface is balanced-alb bonding master.
fr: IFF_MASTER_ALB:Maître de bonding balance-alb.

note: type: tbl table
en: IFF_BONDING:Interface is a bonding master or slave.
fr: IFF_BONDING:Maître ou esclave de bonding.

note: type: tbl table
en: IFF_SLAVE_NEEDARP:Interface needs ARPs for validation.
fr: IFF_SLAVE_NEEDARP:ARP nécessaires pour validation d’interface.

note: type: tbl table
en: IFF_ISATAP:Interface is RFC4214 ISATAP interface.
fr: IFF_ISATAP:Interface de type ISATAP RFC4214.

note: type: Plain text
en: Setting the extended (private) interface flags is a privileged operation.
fr: Écrire les attributs (privés) étendus du périphérique est une opération privilégiée.

note: type: Plain text
en: Get or set the address of the device using I<ifr_addr>.  Setting the interface address is a privileged operation.  For compatibility, only B<AF_INET> addresses are accepted or returned.
fr: Lire ou écrire l'adresse du périphérique en utilisant I<ifr_addr>. Écrire l'adresse du périphérique est une opération privilégiée. Pour assurer la compatibilité, seules les adresses B<AF_INET> sont acceptées ou renvoyées.

note: type: Plain text
en: Get or set the destination address of a point-to-point device using I<ifr_dstaddr>.  For compatibility, only B<AF_INET> addresses are accepted or returned.  Setting the destination address is a privileged operation.
fr: Lire ou écrire l'adresse de destination d'un périphérique point-à-point en utilisant I<ifr_dstaddr>. Pour assurer la compatibilité, seules les adresses B<AF_INET> sont acceptées ou renvoyées. Écrire l'adresse de destination est une opération privilégiée.

note: type: Plain text
en: Get or set the broadcast address for a device using I<ifr_brdaddr>.  For compatibility, only B<AF_INET> addresses are accepted or returned.  Setting the broadcast address is a privileged operation.
fr: Lire ou écrire l'adresse de broadcast pour un périphérique en utilisant I<ifr_brdaddr>. Pour assurer la compatibilité, seules les adresses B<AF_INET> sont acceptées ou renvoyées. Écrire l'adresse de broadcast est une opération privilégiée.

note: type: Plain text
en: Get or set the network mask for a device using I<ifr_netmask>.  For compatibility, only B<AF_INET> addresses are accepted or returned.  Setting the network mask is a privileged operation.
fr: Lire ou écrire le masque réseau pour un périphérique en utilisant I<ifr_netmask>. Pour assurer la compatibilité, seules les adresses B<AF_INET> sont acceptées ou renvoyées. Écrire le masque réseau est une opération privilégiée.

note: type: Plain text
en: Get or set the metric of the device using I<ifr_metric>.  This is currently not implemented; it sets I<ifr_metric> to 0 if you attempt to read it and returns B<EOPNOTSUPP> if you attempt to set it.
fr: Lire ou écrire la métrique du périphérique en utilisant I<ifr_metric>. Ce n'est pas encore implémenté, il renvoie dans I<ifr_metric> la valeur 0 en cas de tentative de lecture, et renvoie l'erreur B<EOPNOTSUPP> en cas de tentative d’écriture.

note: type: Plain text
en: Get or set the MTU (Maximum Transfer Unit) of a device using I<ifr_mtu>.  Setting the MTU is a privileged operation.  Setting the MTU to too small values may cause kernel crashes.
fr: Lire ou écrire le MTU (Maximum Transfer Unit) du périphérique avec I<ifr_mtu>. Définir le MTU est une opération privilégiée. Définir un MTU trop petit peut faire planter le noyau.

note: type: Plain text
en: Get or set the hardware address of a device using I<ifr_hwaddr>.  The hardware address is specified in a struct I<sockaddr>.  I<sa_family> contains the ARPHRD_* device type, I<sa_data> the L2 hardware address starting from byte 0.  Setting the hardware address is a privileged operation.
fr: Lire ou écrire l'adresse matérielle du périphérique en utilisant I<ifr_hwaddr>. Cette adresse matérielle est indiquée dans une structure I<sockaddr>. I<sa_family> contient le type de périphérique ARPHRD_*, I<sa_data> est l'adresse matérielle L2 commençant par l'octet 0. Écrire l'adresse matérielle est une opération privilégiée.

note: type: Plain text
en: Set the hardware broadcast address of a device from I<ifr_hwaddr>.  This is a privileged operation.
fr: Définir l'adresse de broadcast du périphérique à partir de I<ifr_hwaddr>. C'est une opération privilégiée.

note: type: Plain text
en: Get or set the interface's hardware parameters using I<ifr_map>.  Setting the parameters is a privileged operation.
fr: Lire ou écrire les paramètres matériels de l'interface en utilisant I<ifr_map>. L'écriture des paramètres est une opération privilégiée.

note: type: Plain text
en: The interpretation of the ifmap structure depends on the device driver and the architecture.
fr: L'interprétation de la structure ifmap dépend du pilote de périphérique et de l'architecture.

note: type: Plain text
en: Add an address to or delete an address from the device's link layer multicast filters using I<ifr_hwaddr>.  These are privileged operations.  See also B<packet>(7)  for an alternative.
fr: Ajouter ou supprimer une adresse des filtres multicast du niveau liaison du périphérique en utilisant I<ifr_hwaddr>. Ce sont des opérations privilégiées. Consultez aussi B<packet>(7) pour une autre possibilité.

note: type: Plain text
en: Get or set the transmit queue length of a device using I<ifr_qlen>.  Setting the transmit queue length is a privileged operation.
fr: Lire ou écrire la taille de la file d'émission du périphérique avec I<ifr_qlen>. L'écriture de la taille de la file est une opération privilégiée.

note: type: Plain text
en: Changes the name of the interface specified in I<ifr_name> to I<ifr_newname>.  This is a privileged operation.  It is allowed only when the interface is not up.
fr: Changer le nom de l'interface indiquée dans I<ifr_name> pour I<ifr_newname>. C'est une opération privilégiée. Elle n'est possible que si l'interface n'est pas en fonctionnement.

note: type: Plain text
en: Return a list of interface (transport layer) addresses.  This currently means only addresses of the B<AF_INET> (IPv4) family for compatibility.  Unlike the others, this ioctl passes an I<ifconf> structure:
fr: Renvoyer une liste d’adresses (couche de transport) des interfaces. Cela ne fonctionne actuellement qu'avec les adresses B<AF_INET> (IPv4) pour des raisons de compatibilité. Contrairement aux autres, cet ioctl passe une structure I<ifconf> :

note: type: Plain text
en: struct ifconf {
        int                 ifc_len; /* size of buffer */
        union {
            char           *ifc_buf; /* buffer address */
            struct ifreq   *ifc_req; /* array of structures */
        };
    };
fr: struct ifconf {
        int                 ifc_len; /* taille tampon */
        union {
            char *          ifc_buf; /* adresse tampon */
            struct ifreq   *ifc_req; /* table de structures */
        };
    };

note: type: Plain text
en: If I<ifc_req> is NULL, B<SIOCGIFCONF> returns the necessary buffer size in bytes for receiving all available addresses in I<ifc_len>.  Otherwise I<ifc_req> contains a pointer to an array of I<ifreq> structures to be filled with all currently active L3 interface addresses.  I<ifc_len> contains the size of the array in bytes.  Within each I<ifreq> structure, I<ifr_name> will receive the interface name, and I<ifr_addr> the address.  The actual number of bytes transferred is returned in I<ifc_len>.
fr: Si I<ifc_req> est NULL, B<SIOCGIFCONF> renvoie la taille de tampon nécessaire en octet pour recevoir toutes les adresses disponibles dans I<ifc_len>. Sinon, I<ifc_req> contient un pointeur vers un tableau de structures I<ifreq> à remplir avec toutes les adresses d’interfaces L3 actuellement actives. I<ifc_len> contient la taille du tableau en octet. Dans toutes les structures I<ifreq>, I<ifr_name> recevra le nom d’interface et I<ifr_addr> l'adresse. Le nombre d’octets vraiment transférés est renvoyé dans I<ifc_len>.

note: type: Plain text
en: If the size specified by I<ifc_len> is insufficient to store all the addresses, the kernel will skip the exceeding ones and return success.  There is no reliable way of detecting this condition once it has occurred.  It is therefore recommended to either determine the necessary buffer size beforehand by calling B<SIOCGIFCONF> with I<ifc_req> set to NULL, or to retry the call with a bigger buffer whenever I<ifc_len> upon return differs by less than I<sizeof(struct ifreq)> from its original value.
fr: Si la taille indiquée par I<ifc_len> n’est pas suffisante pour stocker toutes les adresses, le noyau ignorera celles en trop et renverra un état de réussite. Si cela arrive, aucun moyen fiable n’existe pour détecter cette condition. Vous devriez donc soit déterminer la taille de tampon nécessaire au préalable en appelant B<SIOCGIFCONF> avec I<ifc_req> défini à NULL, soit réessayer l’appel avec un plus gros tampon si la différence entre la valeur de retour I<ifc_len> et sa valeur initiale est supérieure à I<sizeof(struct ifreq)>.

note: Slaving isn't supported in 2.2 . .TP .BR SIOCGIFSLAVE ", " SIOCSIFSLAVE Get or set the slave device using .IR ifr_slave . Setting the slave device is a privileged operation. .PP FIXME add amateur radio stuff. type: Plain text
en: If an error occurs accessing the I<ifconf> or I<ifreq> structures, B<EFAULT> will be returned.
fr: En cas d’erreur d’accès aux structures I<ifconf> ou I<ifreq>, B<EFAULT> sera renvoyé.

note: type: Plain text
en: Most protocols support their own ioctls to configure protocol-specific interface options.  See the protocol man pages for a description.  For configuring IP addresses, see B<ip>(7).
fr: La plupart des protocoles prennent en charge leurs propres ioctls pour configurer les options d'interface spécifiques aux protocoles. Consultez les pages de manuel correspondantes. Pour configurer les adresses IP, consultez B<ip>(7).

note: type: Plain text
en: In addition, some devices support private ioctls.  These are not described here.
fr: De plus, certains périphériques prennent en charge des ioctls privés, non décrits ici.

note: type: Plain text
en: Strictly speaking, B<SIOCGIFCONF> and the other ioctls that accept or return only B<AF_INET> socket addresses, are IP-specific and belong in B<ip>(7).
fr: Strictement parlant, B<SIOCGIFCONF> et les autres ioctls qui n'acceptent ou ne renvoient que des adresses de socket B<AF_INET> sont spécifiques à IP et devraient se trouver dans B<ip>(7).

note: type: Plain text
en: The names of interfaces with no addresses or that don't have the B<IFF_RUNNING> flag set can be found via I</proc/net/dev>.
fr: Les noms des interfaces sans adresses, ou celles qui n'ont pas l'attribut B<IFF_RUNNING> peuvent être trouvés dans I</proc/net/dev>.

note: type: Plain text
en: Local IPv6 IP addresses can be found via I</proc/net> or via B<rtnetlink>(7).
fr: Les adresses IPv6 locales se trouvent dans I</proc/net> ou grâce à B<rtnetlink>(7).

note: type: Plain text
en: glibc 2.1 is missing the I<ifr_newname> macro in I<E<lt>net/if.hE<gt>>.  Add the following to your program as a workaround:
fr: Dans la glibc 2.1 il manque la macro I<ifr_newname> dans I<E<lt>net/if.hE<gt>>. Ajoutez les lignes suivantes dans votre programme\ :

note: type: TH
en: 2008-09-04
fr: 4 septembre 2008

note: type: Plain text
en: networks - network name information
fr: networks - Informations concernant le nom de réseau

note: type: Plain text
en: The file I</etc/networks> is a plain ASCII file that describes known DARPA networks and symbolic names for these networks.  Each line represents a network and has the following structure:
fr: Le fichier I</etc/networks> est un fichier texte ASCII qui décrit les réseaux DARPA connus et les noms symboliques de ces réseaux. Chaque ligne représente un réseau et possède la structure suivante :

note: type: Plain text
en: I<name number aliases ...>
fr: I<nom numéro alias ...>

note: type: Plain text
en: where the fields are delimited by spaces or tabs.  Empty lines are ignored.  The hash character (B<#>) indicates the start of a comment: this character, and the remaining characters up to the end of the current line, are ignored by library functions that process the file.
fr: où les champs sont séparés par des espaces ou des caractères de tabulation. Le caractère dièse («\ B<#>\ ») indique le début d'un commentaire\ : ce caractère et le reste de la ligne sont ignorés par les fonctions de la bibliothèque qui traitent ce fichier.

note: type: Plain text
en: The field descriptions are:
fr: Descriptions des champs :

note: type: TP
en: I<name>
fr: I<nom>

note: type: Plain text
en: The symbolic name for the network.  Network names can contain any printable characters execept white-space characters or the comment character.
fr: Le nom symbolique du réseau. Les noms de réseau peuvent contenir tout caractère imprimable sauf des espaces et le caractère de commentaire.

note: type: TP
en: I<number>
fr: I<numéro>

note: type: Plain text
en: The official number for this network in numbers-and-dots notation (see B<inet>(3)).  The trailing ".0" (for the host component of the network address) may be omitted.
fr: Numéro officiel de ce réseau en notation décimale pointée (consultez B<inet>(3)). Le « .0 » final (pour la composante de l'hôte de l'adresse réseau) peut être omis.

note: type: TP
en: I<aliases>
fr: I<alias>

note: type: Plain text
en: Optional aliases for the network.
fr: Alias optionnels pour le réseau.

note: type: Plain text
en: This file is read by the B<route>(8)  and B<netstat>(8)  utilities.  Only Class A, B or C networks are supported, partitioned networks (i.e., network/26 or network/28) are not supported by this facility.
fr: Ce fichier est lu par les utilitaires B<route> et B<netstat>. Seuls les réseaux de classe A, B ou C sont gérés, les réseaux partitionnés (par ex. réseau/26 ou réseau/38) ne sont pas gérés par cet utilitaire.

note: type: Plain text
en: The networks definition file.
fr: Fichier de définition des réseaux.

note: type: Plain text
en: nscd - name service cache daemon
fr: nscd - Démon cache des services de noms

note: type: Plain text
en: Nscd is a daemon that provides a cache for the most common name service requests.  The default configuration file, I</etc/nscd.conf>, determines the behavior of the cache daemon.  See B<nscd.conf>(5).
fr: Nscd est un démon qui fournit un cache pour les requêtes aux services des noms les plus courants. Le fichier de configuration, I</etc/nscd.conf>, détermine le comportement du démon de cache. Consultez B<nscd.conf>(5).

note: type: Plain text
en: Nscd provides caching for accesses of the B<passwd>(5), B<group>(5), and B<hosts>(5)  databases through standard libc interfaces, such as B<getpwnam>(3), B<getpwuid>(3), B<getgrnam>(3), B<getgrgid>(3), B<gethostbyname>(3), and others.
fr: Nscd fournit un cache pour les accès aux bases de données B<passwd>(5), B<group>(5), et B<hosts>(5) à travers les interfaces standard de la bibliothèque\ C, comme B<getpwnam>(3), B<getpwuid>(3), B<getgrnam>(3), B<getgrgid>(3), B<gethostbyname>(3), et autres.

note: type: Plain text
en: There are two caches for each database: a positive one for items found, and a negative one for items not found.  Each cache has a separate TTL (time-to-live)  period for its data.  Note that the shadow file is specifically not cached.  B<getspnam>(3)  calls remain uncached as a result.
fr: Il y a deux caches pour chaque base de données\ : un positif pour les éléments trouvés, un autre négatif pour les éléments non trouvés. Chaque cache a une durée TTL (time-to-live) pour ses données\ ; la modification de la base de données locale (I</etc/passwd>, et les autres) invalide le cache dans les quinze secondes. Notez que le fichier shadow est volontairement non mis en cache. Les appels B<getspnam>(3) ne sont donc pas cachés.

note: type: Plain text
en: will give you a list with all options and what they do.
fr: vous affiche une liste des options et leurs significations.

note: type: Plain text
en: The daemon will try to watch for changes in configuration files appropriate for each database (e.g., I</etc/passwd> for the I<passwd> database or I</etc/hosts> and I</etc/resolv.conf> for the I<hosts> database), and flush the cache when these are changed.  However, this will happen only after a short delay (unless the B<inotify>(7)  mechanism is available and glibc 2.9 or later is available), and this auto-detection does not cover configuration files required by nonstandard NSS modules, if any are specified in I</etc/nsswitch.conf>.  In that case, you need to run the following command after changing the configuration file of the database so that B<nscd> invalidates its cache:
fr: Le démon va essayer de détecter les changements dans les fichiers de configuration propres à chaque base de données (par exemple I</etc/passwd> pour la base de données I<passwd>, ou I</etc/hosts> et I</etc/resolv.conf> pour I<hosts>), et vider le cache quand ces fichiers sont modifiés. Cependant, cela n'arrivera qu'après un court délai (à moins que le mécanisme B<inotify>(7) soit disponible avec glibc 2.9 ou postérieure), et de plus cette détection ne couvre pas les fichiers de configuration nécessaires à des modules NSS non standard, s'ils ont été indiqués dans I</etc/nsswitch.conf>. Dans ce cas, la commande suivante doit être exécutée après modification du fichier de configuration d'une base de données afin que B<nscd> invalide son cache :

note: type: Plain text
en:     $ B<nscd -i> I<E<lt>databaseE<gt>>
fr:     $ B<nscd -i> I<E<lt>base de donnéesE<gt>>

note: type: TH
en: 2014-02-07
fr: 7 février 2014

note: type: Plain text
en: /etc/nscd.conf - name service cache daemon configuration file
fr: /etc/nscd.conf - Fichier de configuration du démon NSCD

note: type: Plain text
en: The file I</etc/nscd.conf> is read from B<nscd>(8)  at startup.  Each line specifies either an attribute and a value, or an attribute, service, and a value.  Fields are separated either by SPACE or TAB characters.  A \(aq#\(aq (number sign) indicates the beginning of a comment; following characters, up to the end of the line, are not interpreted by nscd.
fr: Le fichier I</etc/nscd.conf> est lu au démarrage de B<nscd>(8). Chaque ligne indique soit un attribut et une valeur, soit un attribut, un service et une valeur. Les champs sont séparés par des espaces ou des tabulations. Un dièse «\ #\ » indique un début de commentaire, les caractères ultérieurs seront ignorés jusqu'à la fin de la ligne.

note: type: Plain text
en: Valid services are I<passwd>, I<group>, I<hosts>, I<services>, or I<netgroup>.
fr: Les services valables sont I<passwd>, I<group>, I<hosts>, I<services> et I<netgroup>.

note: type: Plain text
en: B<logfile> I<debug-file-name>
fr: B<logfile> I<nom-fichier>

note: type: Plain text
en: Specifies name of the file to which debug info should be written.
fr: Indique le nom du fichier où les données de débogage seront écrites.

note: type: Plain text
en: B<debug-level> I<value>
fr: B<debug-level> I<valeur>

note: type: Plain text
en: Sets the desired debug level.  The default is 0.
fr: Indique le niveau désiré de débogage. La valeur par défaut est 0.

note: type: Plain text
en: B<threads> I<number>
fr: B<threads> I<nombre>

note: type: Plain text
en: This is the number of threads that are started to wait for requests.  At least five threads will always be created.
fr: Il s'agit du nombre de threads en attente de requêtes. Au moins cinq threads seront toujours créés.

note: type: Plain text
en: B<max-threads> I<number>
fr: B<max-threads> I<nombre>

note: type: Plain text
en: Specifies the maximum number of threads.  The default is 32.
fr: Indique le nombre maximal de threads à démarrer. La valeur par défaut est 32.

note: type: Plain text
en: B<server-user> I<user>
fr: B<server-user> I<utilisateur>

note: type: Plain text
en: If this option is set, nscd will run as this user and not as root.  If a separate cache for every user is used (-S parameter), this option is ignored.
fr: Si cette option est active, nscd prendra l'identité de l'utilisateur et non celle du superutilisateur. Si un cache distinct est utilisé pour chaque utilisateur (paramètre -S), cette option est ignorée.

note: type: Plain text
en: B<stat-user> I<user>
fr: B<stat-user> I<utilisateur>

note: type: Plain text
en: Specifies the user who is allowed to request statistics.
fr: Indique l'utilisateur autorisé à demander les statistiques.

note: type: Plain text
en: B<reload-count> unlimited | I<number>
fr: B<reload-count> unlimited | I<nombre>

note: type: Plain text
en: Limit on the number of times a cached entry gets reloaded without being used before it gets removed.  The default is 5.
fr: Limite le nombre de fois qu'une entrée cachée peut se recharger sans être utilisée avant d'être supprimée. La valeur par défaut est 5.

note: type: Plain text
en: Enabling paranoia mode causes nscd to restart itself periodically.  The default is no.
fr: Active le mode paranoïa forçant nscd à se relancer de lui-même périodiquement. Désactivé par défaut.

note: type: Plain text
en: B<restart-interval> I<time>
fr: B<restart-interval> I<temps>

note: type: Plain text
en: Sets the restart interval to I<time> seconds if periodic restart is enabled by enabling B<paranoia> mode.  The default is 3600.
fr: Définit l'intervalle de redémarrage à I<temps> secondes si le redémarrage périodique est activé en activant le mode B<paranoia>. La valeur par défaut est 3600.

note: type: Plain text
en: Enables or disables the specified I<service> cache.  The default is no.
fr: Active ou inhibe le cache du I<service> indiqué. Désactivé par défaut.

note: type: Plain text
en: B<positive-time-to-live> I<service> I<value>
fr: B<positive-time-to-live> I<service> I<valeur>

note: type: Plain text
en: Sets the TTL (time-to-live) for positive entries (successful queries)  in the specified cache for I<service>.  I<Value> is in seconds.  Larger values increase cache hit rates and reduce mean response times, but increase problems with cache coherence.
fr: Définit la durée TTL (time-to-live) pour les entrées positives (requêtes réussies) dans le cache indiqué pour le I<service>. I<valeur> est indiquée en secondes. Des valeurs plus grandes améliorent les temps de réponse mais augmentent les problèmes dus à la cohérence du cache.

note: type: Plain text
en: B<negative-time-to-live> I<service> I<value>
fr: B<negative-time-to-live> I<service> I<valeur>

note: type: Plain text
en: Sets the TTL (time-to-live) for negative entries (unsuccessful queries)  in the specified cache for I<service>.  I<Value> is in seconds.  Can result in significant performance improvements if there are several files owned by UIDs (user IDs) not in system databases (for example untarring the Linux kernel sources as root); should be kept small to reduce cache coherency problems.
fr: Définit la durée TTL (time-to-live) des entrées négatives (requêtes échouées)  dans le cache indiqué pour le I<service>. I<valeur> est en seconde. Peut améliorer les performances, s'il y a plusieurs fichiers appartenant à des UID hors des bases de données système (par exemple, si le superutilisateur décompresse les sources du noyau Linux), doit rester faible pour réduire les problèmes de cohérence du cache.

note: type: Plain text
en: B<suggested-size> I<service> I<value>
fr: B<suggested-size> I<service> I<valeur>

note: type: Plain text
en: This is the internal hash table size, I<value> should remain a prime number for optimum efficiency.  The default is 211.
fr: C'est la taille de la table de hachage interne, I<valeur> doit être un nombre premier pour une efficacité optimale. La valeur par défaut est 211.

note: type: Plain text
en: Enables or disables checking the file belonging to the specified I<service> for changes.  The files are I</etc/passwd>, I</etc/group>, I</etc/hosts>, I</etc/services> and I</etc/netgroup>.  The default is yes.
fr: Active ou inhibe la vérification des changements dans les fichiers du I<service> indiqué. Les fichiers sont I</etc/passwd>, I</etc/group>, I</etc/hosts>, I</etc/services> et I</etc/netgroup>. Activé par défaut.

note: type: Plain text
en: Keep the content of the cache for I<service> over server restarts; useful when B<paranoia> mode is set.  The default is no.
fr: Conserver le contenu du cache de I<service> lors des redémarrages du serveur\ ; utile lorsque le mode B<paranoia> est activé. Désactivé par défaut.

note: type: Plain text
en: The memory mapping of the nscd databases for I<service> is shared with the clients so that they can directly search in them instead of having to ask the daemon over the socket each time a lookup is performed.  The default is no.
fr: La projection mémoire des bases de données nscd de I<service> est partagée avec les clients. Ainsi, ils peuvent directement rechercher dans celles-ci plutôt que de demander au démon chaque fois qu'une consultation est effectuée. Désactivé par défaut.

note: type: Plain text
en: B<max-db-size> I<service> I<bytes>
fr: B<max-db-size> I<service> I<octets>

note: type: Plain text
en: The maximum allowable size, in bytes, of the database files for the I<service>.  The default is 33554432.
fr: La taille maximale en octets des fichiers de base de données pour le I<service>. La valeur par défaut est 33554432.

note: type: Plain text
en: When set to I<no> for I<passwd> or I<group> service, then the I<.byname> requests are not added to I<passwd.byuid> or I<group.bygid> cache.  This can help with tables containing multiple records for the same ID.  The default is yes.  This option is valid only for services I<passwd> and I<group>.
fr: Si défini à I<no> pour les services I<passwd> ou I<group>, alors les requêtes I<.byname> ne sont pas ajoutées aux caches I<passwd.byuid> ou I<group.bygid>. Cela peut aider avec les tables qui contiennent plusieurs enregistrements pour le même identifiant. C'est I<yes> par défaut. Cette option n'est valables que pour les services I<passwd> et I<group>.

note: type: Plain text
en: The default values stated in this manual page originate from the source code of B<nscd>(8)  and are used if not overridden in the configuration file.  The default values used in the configuration file of your distribution might differ.
fr: Les valeurs par défaut indiquées dans cette page de manuel proviennent du code source de  B<nscd>(8) sont utilisées à moins d'être surchargées dans le fichier de configuration. Les valeurs par défaut fournies par votre distribution dans le fichier de configuration peuvent différer.

note: type: Plain text
en: nss - Name Service Switch configuration file
fr: nss - Fichier de configuration du service de noms (« Name Service Switch »)

note: type: Plain text
en: Each call to a function which retrieves data from a system database like the password or group database is handled by the Name Service Switch implementation in the GNU C library.  The various services provided are implemented by independent modules, each of which naturally varies widely from the other.
fr: Toute requête qui récupère des données depuis une base de données du système comme celle des mots de passe ou des groupes est traitée par le service de noms implémenté par la bibliothèque C de GNU. Les différents services de noms sont codés dans des modules indépendants, ceux-ci étant tous très différents les uns des autres.

note: type: Plain text
en: The default implementations coming with the GNU C library are by default conservative and do not use unsafe data.  This might be very costly in some situations, especially when the databases are large.  Some modules allow the system administrator to request taking shortcuts if these are known to be safe.  It is then the system administrator's responsibility to ensure the assumption is correct.
fr: Les implémentations par défaut de la bibliothèque C de GNU sont conservatives et évitent d'utiliser des données peu sûres. Cependant, une telle approche peut être très coûteuse dans certains cas, particulièrement lorsque la taille des bases est conséquente. Certains modules permettent à l'administrateur de prendre des raccourcis lors des requêtes s'ils sont sûrs. C'est alors de la responsabilité de l'administrateur de s'assurer que cette supposition est correcte.

note: type: Plain text
en: There are other modules where the implementation changed over time.  If an implementation used to sacrifice speed for memory consumption, it might create problems if the preference is switched.
fr: D'autres modules ont leur implémentation modifiée avec le temps. Si une implémentation avait pour habitude de sacrifier la vitesse au profit de la consommation de mémoire, cela pourrait causer des problèmes si la préférence est modifiée.

note: type: Plain text
en: The I</etc/default/nss> file contains a number of variable assignments.  Each variable controls the behavior of one or more NSS modules.  White spaces are ignored.  Lines beginning with \(aq#\(aq are treated as comments.
fr: Le fichier I</etc/default/nss> contient plusieurs assignements de variable. Chaque variable contrôle le comportement d'un ou plusieurs modules NSS. Les espaces sont ignorées, de même que les lignes commençant par « # », considérées comme des commentaires.

note: type: Plain text
en: The variables currently recognized are:
fr: Les variables reconnues aujourd'hui sont les suivantes.

note: type: Plain text
en: If set to TRUE, the NIS backend for the B<initgroups>(3)  function will accept the information from the I<netid.byname> NIS map as authoritative.  This can speed up the function significantly if the I<group.byname> map is large.  The content of the I<netid.byname> map is used B<as is>.  The system administrator has to make sure it is correctly generated.
fr: Si définie à TRUE, le moteur NIS pour la fonction B<initgroups>(3) acceptera les renseignements de la carte NIS I<netid.byname> comme faisant autorité. Cela peut accélérer significativement la fonction si la carte I<group.byname> est conséquente. Le contenu de la carte I<netid.byname> est utilisé B<tel quel>. L'administrateur système doit s'assurer qu'elle est créée correctement.

note: type: Plain text
en: If set to TRUE, the NIS backend for the B<getservbyname>(3)  and B<getservbyname_r>(3)  functions will assume that the I<services.byservicename> NIS map exists and is authoritative, particularly that it contains both keys with /proto and without /proto for both primary service names and service aliases.  The system administrator has to make sure it is correctly generated.
fr: Si définie à TRUE, le moteur NIS pour les fonctions B<getservbyname>(3) et B<getservbyname_r>(3) supposera que la carte I<services.byservicename> existe et fait autorité, en particulier qu'elle contient à la fois les clefs avec et sans /proto pour les noms et les alias de service. L'administrateur système doit s'assurer qu'elle est créée correctement.

note: type: Plain text
en: If set to TRUE, the NIS backend for the B<setpwent>(3)  and B<setgrent>(3)  functions will read the entire database at once and then hand out the requests one by one from memory with every corresponding B<getpwent>(3)  or B<getgrent>(3)  call respectively.  Otherwise each B<getpwent>(3)  or B<getgrent>(3)  call might result in a network communication with the server to get the next entry.
fr: Si définie à TRUE, le moteur NIS pour les fonctions B<setpwent>(3) et B<setgrent>(3) lira la base de données complète en une fois puis distribuera les requêtes une par une à partir de la mémoire avec tous les appels B<getpwent>(3) ou B<getgrent>(3) respectifs correspondants. Sinon chaque appel B<getpwent>(3) ou B<getgrent>(3) pourrait déclencher une communication réseau avec le serveur pour obtenir l'entrée suivante.

note: type: Plain text
en: The default configuration corresponds to the following configuration file:
fr: Le fichier de configuration par défaut correspond à :

note: type: Plain text
en: nsswitch.conf - Name Service Switch configuration file
fr: nsswitch.conf - Fichier de configuration du service de noms (« Name Service Switch »)

note: type: Plain text
en: The Name Service Switch (NSS) configuration file, I</etc/nsswitch.conf>, is used by the GNU C Library to determine the sources from which to obtain name-service information in a range of categories, and in what order.  Each category of information is identified by a database name.
fr: Le fichier de configuration du service de noms (« Name Service Switch » ou NSS), I</etc/nsswitch.conf>, est utilisé par la bibliothèque C de GNU pour déterminer les sources desquelles obtenir les renseignements de service de noms en fonction des catégories, et dans quel ordre. Chaque catégorie de renseignements est identifiée par un nom de base de données.

note: type: Plain text
en: The file is plain ASCII text, with columns separated by spaces or tab characters.  The first column specifies the database name.  The remaining columns describe the order of sources to query and a limited set of actions that can be performed by lookup result.
fr: Le fichier est en texte ASCII, avec les colonnes séparées par des espaces ou des tabulations. La première colonne indique le nom de la base de données. Les autres colonnes décrivent les sources, dans l'ordre des requêtes à réaliser, et un ensemble limité d'actions possibles en fonction du résultat de la résolution.

note: type: Plain text
en: The following databases are understood by the GNU C Library:
fr: Les bases de données suivantes sont comprises par la bibliothèque C de GNU :

note: type: Plain text
en: Mail aliases, used by B<getaliasent>(3)  and related functions.
fr: Alias d'adresses électroniques, utilisés par B<getaliasent>(3) et les fonctions apparentées.

note: type: Plain text
en: Ethernet numbers.
fr: Numéros Ethernet.

note: type: Plain text
en: Groups of users, used by B<getgrent>(3)  and related functions.
fr: Groupes d'utilisateurs, utilisés par B<getgrent>(3) et les fonctions apparentées.

note: type: Plain text
en: Host names and numbers, used by B<gethostbyname>(3)  and related functions.
fr: Noms d'hôtes et leurs adresses, utilisés par B<gethostbyname>(3) et les fonctions apparentées.

note: type: Plain text
en: Supplementary group access list, used by B<getgrouplist>(3)  function.
fr: Liste d'accès de groupes supplémentaires, utilisée par la fonction B<getgrouplist>(3).

note: type: Plain text
en: Network-wide list of hosts and users, used for access rules.  C libraries before glibc 2.1 supported netgroups only over NIS.
fr: Liste d'hôtes et d'utilisateurs valable pour l'ensemble du réseau, servant à établir les règles d'accès. Les bibliothèques C antérieures à glibc 2.1 ne géraient les groupes réseau qu'avec NIS.

note: type: Plain text
en: Network names and numbers, used by B<getnetent>(3)  and related functions.
fr: Noms et masques de réseau, utilisés par B<getnetent>(3) et les fonctions apparentées.

note: type: Plain text
en: User passwords, used by B<getpwent>(3)  and related functions.
fr: Mots de passe des utilisateurs, utilisés par B<getpwent>(3) et les fonctions apparentées.

note: type: Plain text
en: Network protocols, used by B<getprotoent>(3)  and related functions.
fr: Protocoles réseau, utilisés par B<getprotoent>(3) et les fonctions apparentées.

note: type: Plain text
en: Public and secret keys for Secure_RPC used by NFS and NIS+.
fr: Clés publiques et privées des « secure_RPC », utilisées par NFS et NIS+.

note: type: Plain text
en: Remote procedure call names and numbers, used by B<getrpcbyname>(3)  and related functions.
fr: Noms et numéros de RPC, utilisés par B<getrpcbyname>(3) et les fonctions apparentées.

note: type: Plain text
en: Network services, used by B<getservent>(3)  and related functions.
fr: Services réseau, utilisés par B<getservent>(3) et les fonctions apparentées.

note: type: Plain text
en: Shadow user passwords, used by B<getspnam>(3)  and related functions.
fr: Mots de passe cachés des utilisateurs, utilisé par B<getspnam>(3) et les fonctions apparentées.

note: type: Plain text
en: Here is an example I</etc/nsswitch.conf> file:
fr: Voici un exemple de fichier I</etc/nsswitch.conf> :

note: type: Plain text
en: The first column is the database name.  The remaining columns specify:
fr: La première colonne est le nom de la base de données. Les autres colonnes indiquent :

note: type: Plain text
en: One or more service specifications, for example, "files", "db", or "nis".  The order of the services on the line determines the order in which those services will be queried, in turn, until a result is found.
fr: une ou plusieurs spécifications de services, par exemple « files », « db » ou « nis ». L'ordre des services sur la ligne indique l'ordre dans lequel les requêtes seront réalisées sur ces services, tour à tour, jusqu'à ce qu'un résultat soit obtenu ;

note: type: Plain text
en: Optional actions to perform if a particular result is obtained from the preceding service, for example, "[NOTFOUND=return]".
fr: des actions facultatives à réaliser si un résultat particulier est obtenu du service précédent, par exemple « [NOTFOUND=return] ».

note: type: Plain text
en: The service specifications supported on your system depend on the presence of shared libraries, and are therefore extensible.  Libraries called I</lib/libnss_SERVICE.so.>B<X> will provide the named I<SERVICE>.  On a standard installation, you can use "files", "db", "nis", and "nisplus".  For the B<hosts> database, you can additionally specify "dns".  For the B<passwd>, B<group>, and B<shadow> databases, you can additionally specify "compat" (see B<Compatibility mode> below).  The version number B<X> may be 1 for glibc 2.0, or 2 for glibc 2.1 and later.  On systems with additional libraries installed, you may have access to further services such as "hesiod", "ldap", "winbind" and "wins".
fr: Les spécifications de services pris en charge sur le système dépendent de la présence de bibliothèques partagées, et sont par conséquent évolutives. Les bibliothèques appelées I</lib/libnss_SERVICE.so.>B<X> fourniront le I<SERVICE> indiqué. Sur une installation de base, « files », « db », « nis » et « nisplus » sont utilisables. Pour la base de données B<hosts>, « dns » peut aussi être indiqué. Pour les bases de données B<passwd>, B<group> et B<shadow>, « compat » peut aussi être indiqué (consultez B<Mode de compatibilité> ci-dessous). Le numéro de version B<X> peut être 1 pour glibc 2.0 ou 2 pour glibc 2.1 et versions ultérieures. Sur les systèmes avec des bibliothèques supplémentaires, d'autres services peuvent être disponibles comme « hesiod », « ldap », « winbind » et « wins ».

note: type: Plain text
en: An action may also be specified following a service specification.  The action modifies the behavior following a result obtained from the preceding data source.  Action items take the general form:
fr: Une action peut aussi être indiquée après une spécification de service. L'action modifie le comportement après un résultat obtenu de la source de données précédente. Les actions sont désignées sous la forme générale :

note: type: Plain text
en: [I<STATUS>=I<ACTION>]
fr: [I<ÉTAT>=I<ACTION>]

note: type: Plain text
en: [!I<STATUS>=I<ACTION>]
fr: [!I<ÉTAT>=I<ACTION>]

note: type: Plain text
en: where
fr: où

note: type: Plain text
en: I<STATUS> =E<gt> B<success> | B<notfound> | B<unavail> | B<tryagain>
fr: I<ÉTAT> =E<gt> B<success> | B<notfound> | B<unavail> | B<tryagain>

note: type: Plain text
en: The ! negates the test, matching all possible results except the one specified.  The case of the keywords is not significant.
fr: Le ! inverse le résultat du test, en correspondant à tous les résultats possibles sauf celui indiqué. La casse des mots-clés n'est pas significative.

note: type: Plain text
en: The I<STATUS> value is matched against the result of the lookup function called by the preceding service specification, and can be one of:
fr: La valeur I<ÉTAT> est comparée au résultat de la fonction de résolution appelée par la spécification de service précédente, et fait partie des valeurs suivantes.

note: type: Plain text
en: No error occurred and the requested entry is returned.  The default action for this condition is "return".
fr: Aucune erreur ne s'est produite, et la donnée demandée a été trouvée. L'action par défaut pour cette condition est « return ».

note: type: Plain text
en: The lookup succeeded, but the requested entry was not found.  The default action for this condition is "continue".
fr: La résolution a réussi, mais la donnée demandée n'a pas été trouvée. L'action par défaut pour cette condition est « continue ».

note: type: Plain text
en: The service is permanently unavailable.  This can mean either that the required file cannot be read, or, for network services, that the server is not available or does not allow queries.  The default action for this condition is "continue".
fr: Le service est indisponible de manière permanente. Cela peut indiquer que le fichier nécessaire n'est pas lisible, ou, pour les services réseau, que le serveur n'est pas disponible ou n'accepte pas les requêtes. L'action par défaut pour cette condition est « continue ».

note: type: Plain text
en: The service is temporarily unavailable.  This could mean a file is locked or a server currently cannot accept more connections.  The default action for this condition is "continue".
fr: Le service est temporairement indisponible. Cela signifie qu'un fichier est verrouillé, et qu'un serveur ne peut pas actuellement accepter davantage de connexions. L'action par défaut pour cette condition est « continue ».

note: type: Plain text
en: The I<ACTION> value can be one of:
fr: La valeur I<ACTION> fait partie des valeurs suivantes.

note: type: Plain text
en: Return a result now.  Do not call any further lookup functions.  However, for compatibility reasons, if this is the selected action for the B<group> database and the B<notfound> status, and the configuration file does not contain the B<initgroups> line, the next lookup function is always called, without affecting the search result.
fr: Renvoyer un résultat maintenant. Ne pas appeler d'autre fonction de résolution. Cependant, pour des raisons de compatibilité, si c'est l'action sélectionnée pour la base de données B<group> et l'état B<notfound>, et que le fichier de configuration ne contient pas la ligne B<initgroups>, la fonction de résolution suivante est toujours appelée sans affecter le résultat de recherche.

note: type: Plain text
en: Call the next lookup function.
fr: Appeler la fonction de résolution suivante.

note: type: SS
en: Compatibility mode (compat)
fr: Mode de compatibilité (compat)

note: type: Plain text
en: The NSS "compat" service is similar to "files" except that it additionally permits special entries in I</etc/passwd> for granting users or members of netgroups access to the system.  The following entries are valid in this mode:
fr: le service NSS « compat » ressemble à « files », à la différence qu'il utilise en plus des entrées particulières de I</etc/passwd> pour permettre aux utilisateurs ou membres de groupes réseau d'accéder au système. Les entrées suivantes sont valables dans ce mode.

note: type: TP
en: B<+>I<user>
fr: B<+>I<utilisateur>

note: type: Plain text
en: Include the specified I<user> from the NIS passwd map.
fr: Inclure l'I<utilisateur> indiqué depuis la carte de passwd NIS.

note: type: TP
en: B<+@>I<netgroup>
fr: B<+@>I<groupe_réseau>

note: type: Plain text
en: Include all users in the given I<netgroup>.
fr: Inclure tous les utilisateurs du I<groupe_réseau> donné.

note: type: TP
en: B<->I<user>
fr: B<->I<utilisateur>

note: type: Plain text
en: Exclude the specified I<user> from the NIS passwd map.
fr: Exclure l'I<utilisateur> indiqué de la carte de passwd NIS.

note: type: TP
en: B<-@>I<netgroup>
fr: B<-@>I<groupe_réseau>

note: type: Plain text
en: Exclude all users in the given I<netgroup>.
fr: Exclure tous les utilisateurs du I<groupe_réseau> donné.

note: type: Plain text
en: Include every user, except previously excluded ones, from the NIS passwd map.
fr: Inclure tous les utilisateurs, sauf ceux exclus précédemment, depuis la carte de passwd NIS.

note: type: Plain text
en: By default the source is "nis", but this may be overridden by specifying "nisplus" as the source for the pseudo-databases B<passwd_compat>, B<group_compat>, and B<shadow_compat>.
fr: La source est « nis » par défaut, mais cela peut être écrasé en indiquant « nisplus » comme source des pseudobases de données B<passwd_compat>, B<group_compat> et B<shadow_compat>.

note: type: Plain text
en: A service named I<SERVICE> is implemented by a shared object library named I<libnss_SERVICE.so.>B<X> that resides in I</lib>.
fr: Un service appelé I<SERVICE> est implémenté par une bibliothèque objet partagée appelée I<libnss_SERVICE.so.>B<X> qui se trouve dans I</lib>.

note: type: Plain text
en: NSS configuration file.
fr: fichier de configuration de NSS.

note: type: Plain text
en: implements "compat" source.
fr: implémente « compat ».

note: type: Plain text
en: implements "db" source.
fr: implémente « db ».

note: type: Plain text
en: implements "dns" source.
fr: implémente « dns ».

note: type: Plain text
en: implements "files" source.
fr: implémente « files ».

note: type: Plain text
en: implements "hesiod" source.
fr: implémente « hesoid ».

note: type: Plain text
en: implements "nis" source.
fr: implémente « nis ».

note: type: Plain text
en: implements "nisplus" source.
fr: implémente « nisplus ».

note: type: Plain text
en: Within each process that uses B<nsswitch.conf>, the entire file is read only once.  If the file is later changed, the process will continue using the old configuration.
fr: Au sein de chaque processus qui utilise B<nsswitch.conf>, le fichier n'est lu en entier qu'une seule fois. Si le fichier est modifié par la suite, le processus continuera d'utiliser l'ancienne configuration.

note: type: Plain text
en: Traditionally, there was only a single source for service information, often in the form of a single configuration file (e.g., I</etc/passwd>).  However, as other name services, such as the Network Information Service (NIS) and the Domain Name Service (DNS), became popular, a method was needed that would be more flexible than fixed search orders coded into the C library.  The Name Service Switch mechanism, which was based on the mechanism used by Sun Microsystems in the Solaris 2 C library, introduced a cleaner solution to the problem.
fr: À l'origine, il n'y avait qu'une seule source pour les renseignements de service, souvent sous forme d'un simple fichier de configuration (par exemple I</etc/passwd>). Cependant, puisque d'autres services de noms, comme NIS (« Network Information Service ») et le DNS (« Domain Name Service »), sont devenus populaires, une méthode plus flexible était nécessaire par rapport aux ordonnancements des recherches codés dans la bibliothèque C. Le mécanisme NSS (« Name Service Switch »), qui était basé sur le mécanisme utilisé par Sun Microsystems dans la bibliothèque C de Solaris 2, a introduit une solution plus propre au problème.

note: type: TH
en: 2014-02-26
fr: 26 février 2014

note: type: Plain text
en: packet - packet interface on device level
fr: packet - Interface par paquet au niveau du périphérique

note: type: Plain text
en: B<#include E<lt>net/ethernet.hE<gt> /* the L2 protocols */>
fr: B<#include E<lt>net/ethernet.hE<gt> /* les protocoles L2 */>

note: type: Plain text
en: B<packet_socket = socket(AF_PACKET, int >I<socket_type>B<, int >I<protocol>B<);>
fr: B<packet_socket = socket(AF_PACKET, int >I<type_socket>B<, int >I<protocole>B<);>

note: type: Plain text
en: Packet sockets are used to receive or send raw packets at the device driver (OSI Layer 2) level.  They allow the user to implement protocol modules in user space on top of the physical layer.
fr: Les sockets paquet sont utilisées pour envoyer ou recevoir des paquets de données bruts au pilote de périphérique (couche 2 OSI). Elles permettent d'implémenter des modules protocoles dans l'espace utilisateur au dessus de la couche physique.

note: type: Plain text
en: The I<socket_type> is either B<SOCK_RAW> for raw packets including the link-level header or B<SOCK_DGRAM> for cooked packets with the link-level header removed.  The link-level header information is available in a common format in a I<sockaddr_ll>.  I<protocol> is the IEEE 802.3 protocol number in network byte order.  See the I<E<lt>linux/if_ether.hE<gt>> include file for a list of allowed protocols.  When protocol is set to B<htons(ETH_P_ALL)> then all protocols are received.  All incoming packets of that protocol type will be passed to the packet socket before they are passed to the protocols implemented in the kernel.
fr: L'argument I<type_socket> est soit B<SOCK_RAW> pour les paquets incluant l'en-tête de couche liaison, soit B<SOCK_DGRAM> pour les paquets préparés sans en-tête de couche liaison. Les informations d’en-tête de couche liaison sont disponibles dans un format commun, par l'intermédiaire d'un I<sockaddr_ll>. I<protocole> est un numéro de protocole IEEE 802.3 dans l'ordre des octets du réseau. Consultez le fichier d'en-tête I<E<lt>linux/if_ether.hE<gt>> pour avoir une liste des protocoles autorisés. Lorsque le numéro demandé est B<htons(ETH_P_ALL)> alors tous les protocoles sont reçus. Tous les paquets entrants du protocole indiqué seront passés à la socket paquet avant d'être transmis aux protocoles implémentés dans le noyau.

note: type: Plain text
en: Only processes with effective UID 0 or the B<CAP_NET_RAW> capability may open packet sockets.
fr: Seuls les processus avec un UID effectif nul ou la capacité B<CAP_NET_RAW> peuvent ouvrir des sockets paquet.

note: type: Plain text
en: B<SOCK_RAW> packets are passed to and from the device driver without any changes in the packet data.  When receiving a packet, the address is still parsed and passed in a standard I<sockaddr_ll> address structure.  When transmitting a packet, the user supplied buffer should contain the physical layer header.  That packet is then queued unmodified to the network driver of the interface defined by the destination address.  Some device drivers always add other headers.  B<SOCK_RAW> is similar to but not compatible with the obsolete B<AF_INET/SOCK_PACKET> of Linux 2.0.
fr: Les paquets B<SOCK_RAW> sont transmis depuis et vers le pilote de périphérique sans aucune modification des données des paquets. Lors de la réception, l'adresse est toujours examinée et fournie dans une structure standard I<sockaddr_ll>. Lors de l'émission d'un paquet, le tampon fourni par l'utilisateur doit contenir l'en-tête de couche physique. Le paquet est alors mis en attente sans modification à l'attention du pilote de périphérique correspondant à l'interface définie par l'adresse de destination. Certains pilotes de périphérique ajoutent toujours d'autres en-têtes. B<SOCK_RAW> est similaire mais non compatible avec l'ancien B<AF_INET/SOCK_PACKET> de Linux 2.0.

note: type: Plain text
en: B<SOCK_DGRAM> operates on a slightly higher level.  The physical header is removed before the packet is passed to the user.  Packets sent through a B<SOCK_DGRAM> packet socket get a suitable physical layer header based on the information in the I<sockaddr_ll> destination address before they are queued.
fr: B<SOCK_DGRAM> opère à un niveau légèrement plus élevé. L'en-tête de couche physique est supprimé avant que le paquet ne soit transmis à l'utilisateur. Les paquets envoyés par une socket paquet B<SOCK_DGRAM> reçoivent un en-tête de couche physique correct, en fonction des informations dans l'adresse destination I<sockaddr_ll> avant d'être mis en attente.

note: type: Plain text
en: By default all packets of the specified protocol type are passed to a packet socket.  To get packets only from a specific interface use B<bind>(2)  specifying an address in a I<struct sockaddr_ll> to bind the packet socket to an interface.  Only the I<sll_protocol> and the I<sll_ifindex> address fields are used for purposes of binding.
fr: Par défaut, tous les paquets du type de protocole indiqué sont passés à la socket paquet. Pour ne recevoir que les paquets d'une interface donnée, utilisez B<bind>(2) en indiquant une adresse dans une I<struct sockaddr_ll> pour attacher la socket à une interface. Seuls les champs d'adresse I<sll_protocol> et I<sll_ifindex> sont utilisés pour l'attachement.

note: type: Plain text
en: The B<connect>(2)  operation is not supported on packet sockets.
fr: L'opération B<connect>(2) n'est pas prise en charge avec les sockets paquet.

note: type: Plain text
en: When the B<MSG_TRUNC> flag is passed to B<recvmsg>(2), B<recv>(2), B<recvfrom>(2)  the real length of the packet on the wire is always returned, even when it is longer than the buffer.
fr: Lorsque l'attribut B<MSG_TRUNC> est transmis à B<recvmsg>(2), B<recv>(2), B<recvfrom>(2) la véritable longueur du paquet sur le réseau est toujours renvoyée, même si elle est plus grande que le tampon.

note: type: SS
en: Address types
fr: Types d’adresses

note: type: Plain text
en: The I<sockaddr_ll> is a device independent physical layer address.
fr: La structure I<sockaddr_ll> est une adresse de couche physique dépendant du périphérique.

note: type: Plain text
en: struct sockaddr_ll {
        unsigned short sll_family;   /* Always AF_PACKET */
        unsigned short sll_protocol; /* Physical layer protocol */
        int            sll_ifindex;  /* Interface number */
        unsigned short sll_hatype;   /* ARP hardware type */
        unsigned char  sll_pkttype;  /* Packet type */
        unsigned char  sll_halen;    /* Length of address */
        unsigned char  sll_addr[8];  /* Physical layer address */
    };
fr: struct sockaddr_ll {
        unsigned short sll_family;   /* Toujours AF_PACKET */
        unsigned short sll_protocol; /* Protocole couche physique */
        int            sll_ifindex;  /* Numéro d'interface */
        unsigned short sll_hatype;   /* Type de matériel ARP */
        unsigned char  sll_pkttype;  /* Type de paquet */
        unsigned char  sll_halen;    /* Longueur de l'adresse */
        unsigned char  sll_addr[8];  /* Adresse couche physique */
    };

note: type: Plain text
en: I<sll_protocol> is the standard ethernet protocol type in network byte order as defined in the I<E<lt>linux/if_ether.hE<gt>> include file.  It defaults to the socket's protocol.  I<sll_ifindex> is the interface index of the interface (see B<netdevice>(7)); 0 matches any interface (only permitted for binding).  I<sll_hatype> is an ARP type as defined in the I<E<lt>linux/if_arp.hE<gt>> include file.  I<sll_pkttype> contains the packet type.  Valid types are B<PACKET_HOST> for a packet addressed to the local host, B<PACKET_BROADCAST> for a physical layer broadcast packet, B<PACKET_MULTICAST> for a packet sent to a physical layer multicast address, B<PACKET_OTHERHOST> for a packet to some other host that has been caught by a device driver in promiscuous mode, and B<PACKET_OUTGOING> for a packet originated from the local host that is looped back to a packet socket.  These types make sense only for receiving.  I<sll_addr> and I<sll_halen> contain the physical layer (e.g., IEEE 802.3) address and its length.  The exact interpretation depends on the device.
fr: I<sll_protocol> est le type de protocole standard ethernet, dans l'ordre des octets du réseau, comme défini dans le fichier d'en-tête I<E<lt>linux/if_ether.hE<gt>>. Par défaut il s'agit du protocole de la socket. I<sll_ifindex> est le numéro de l'interface (consultez B<netdevice>(7)) ; 0 correspond à n'importe quelle interface (autorisé uniquement pour l'attachement). I<sll_hatype> est un type ARP, comme défini dans le fichier d'en-tête I<E<lt>linux/if_arp.hE<gt>>. Le champ I<sll_pkttype> contient le type de paquet. Les types valables sont B<PACKET_HOST> pour un paquet destiné à l'hôte local, B<PACKET_BROADCAST> pour un paquet broadcast de couche physique, B<PACKET_MULTICAST> pour un paquet envoyé à une adresse multicast de couche physique, B<PACKET_OTHERHOST> pour un paquet destiné à un autre hôte capturé par un pilote de périphérique en mode promiscuous, et B<PACKET_OUTGOING> pour un paquet provenant de l'hôte local rebouclé sur une socket paquet. Ça n'a de signification qu'en réception. I<sll_addr> et I<sll_halen> contiennent l'adresse de couche physique (par exemple IEEE 802.3) et sa longueur. L'interprétation exacte dépend du périphérique.

note: type: Plain text
en: When you send packets it is enough to specify I<sll_family>, I<sll_addr>, I<sll_halen>, I<sll_ifindex>.  The other fields should be 0.  I<sll_hatype> and I<sll_pkttype> are set on received packets for your information.  For bind only I<sll_protocol> and I<sll_ifindex> are used.
fr: Lorsque des paquets sont envoyés, il suffit d'indiquer I<sll_family>, I<sll_addr>, I<sll_halen>, I<sll_ifindex>. Les autres champs devraient être à zéro. I<sll_hatype> et I<sll_pkttype> sont remplis en réception pour information. Pour l'attachement, seuls I<sll_protocol> et I<sll_ifindex> sont utilisés.

note: type: Plain text
en: Packet socket options are configured by calling B<setsockopt>(2)  with level B<SOL_PACKET>.
fr: Les options de la socket paquet sont configurées en appelant B<setsockopt>(2) avec le niveau B<SOL_PACKET>.

note: type: Plain text
en: Packet sockets can be used to configure physical layer multicasting and promiscuous mode.  B<PACKET_ADD_MEMBERSHIP> adds a binding and B<PACKET_DROP_MEMBERSHIP> drops it.  They both expect a I<packet_mreq> structure as argument:
fr: Les options des sockets paquet permettent de configurer le multicasting de couche physique et le mode promiscuous. B<PACKET_ADD_MEMBERSHIP> ajoute un attachement et B<PACKET_DROP_MEMBERSHIP> le supprime. Les deux options attendent une structure B<packet_mreq> en paramètre\ :

note: type: Plain text
en: struct packet_mreq {
        int            mr_ifindex;    /* interface index */
        unsigned short mr_type;       /* action */
        unsigned short mr_alen;       /* address length */
        unsigned char  mr_address[8]; /* physical layer address */
    };
fr: struct packet_mreq {
        int            mr_ifindex;    /* Numéro d'interface */
        unsigned short mr_type;       /* Action */
        unsigned short mr_alen;       /* Longueur d'adresse */
        unsigned char  mr_address[8]; /* Adr. couche physique */
    };

note: type: Plain text
en: B<mr_ifindex> contains the interface index for the interface whose status should be changed.  The B<mr_type> parameter specifies which action to perform.  B<PACKET_MR_PROMISC> enables receiving all packets on a shared medium (often known as "promiscuous mode"), B<PACKET_MR_MULTICAST> binds the socket to the physical layer multicast group specified in B<mr_address> and B<mr_alen>, and B<PACKET_MR_ALLMULTI> sets the socket up to receive all multicast packets arriving at the interface.
fr: B<mr_ifindex> contient le numéro de l'interface dont l'état doit être modifié. Le paramètre B<mr_type> indique l'action à effectuer. B<PACKET_MR_PROMISC> valide la réception de tous les paquets circulant sur le segment de réseau commun (souvent appelé «\ mode promiscuous\ »), B<PACKET_MR_MULTICAST> attache la socket au groupe multicast de couche physique indiqué dans B<mr_address> et B<mr_alen>, et B<PACKET_MR_ALLMULTI> demande à la socket de recevoir tous les paquets multicast arrivant sur l'interface.

note: type: Plain text
en: In addition, the traditional ioctls B<SIOCSIFFLAGS>, B<SIOCADDMULTI>, B<SIOCDELMULTI> can be used for the same purpose.
fr: De plus, les ioctls classiques B<SIOCSIFFLAGS>, B<SIOCADDMULTI> et B<SIOCDELMULTI> peuvent donner les mêmes résultats.

note: type: TP
en: B<PACKET_AUXDATA> (since Linux 2.6.21)
fr: B<PACKET_AUXDATA> (depuis Linux 2.6.21)

note: commit 8dc4194474159660d7f37c495e3fc3f10d0db8cc type: Plain text
en: If this binary option is enabled, the packet socket passes a metadata structure along with each packet in the B<recvmsg>(2)  control field.  The structure can be read with B<cmsg>(3).  It is defined as
fr: Si cette option est activée, la socket paquet fournit avec chaque paquet une structure de métadonnées à l’aide du champ de contrôle de B<recvmsg>(2). La structure peut être lue avec B<cmsg>(3). Elle est définie ci-dessous :

note: type: Plain text
en: struct tpacket_auxdata {
        __u32 tp_status;
        __u32 tp_len;      /* packet length */
        __u32 tp_snaplen;  /* captured length */
        __u16 tp_mac;
        __u16 tp_net;
        __u16 tp_vlan_tci;
        __u16 tp_padding;
    };
fr: struct tpacket_auxdata {
        __u32 tp_status;
        __u32 tp_len;      /* longueur du paquet */
        __u32 tp_snaplen;  /* longueur capturée */
        __u16 tp_mac;
        __u16 tp_net;
        __u16 tp_vlan_tci;
        __u16 tp_padding;
    };

note: type: TP
en: B<PACKET_FANOUT> (since Linux 3.1)
fr: B<PACKET_FANOUT> (depuis Linux 3.1)

note: commit dc99f600698dcac69b8f56dda9a8a00d645c5ffc type: Plain text
en: To scale processing across threads, packet sockets can form a fanout group.  In this mode, each matching packet is enqueued onto only one socket in the group.  A socket joins a fanout group by calling B<setsockopt>(2)  with level B<SOL_PACKET> and option B<PACKET_FANOUT>.  Each network namespace can have up to 65536 independent groups.  A socket selects a group by encoding the ID in the first 16 bits of the integer option value.  The first packet socket to join a group implicitly creates it.  To successfully join an existing group, subsequent packet sockets must have the same protocol, device settings, fanout mode and flags (see below).  Packet sockets can leave a fanout group only by closing the socket.  The group is deleted when the last socket is closed.
fr: Pour s’adapter aux nombre de traitements des threads, les sockets paquet peuvent former un groupe de déploiement. Dans ce mode, tous les paquets correspondants sont mis en attente dans une seule socket du groupe. Une socket rejoint un groupe de déploiement en appelant B<setsockopt>(2) avec le niveau B<SOL_PACKET> et l’option B<PACKET_FANOUT>. Tous les espaces de noms réseau peuvent avoir jusqu’à 65536 groupes indépendants. Une socket sélectionne un groupe en encodant l’identifiant dans les 16 premiers bits du paramètre entier de cette option. La première socket paquet à rejoindre un groupe le crée implicitement. Pour réussir à rejoindre un groupe existant, les sockets paquet suivantes doivent avoir les mêmes protocole, configurations de périphérique, mode de déploiement et attributs (voir ci-dessous). Les sockets paquet ne peuvent quitter un groupe de déploiement qu’en fermant la socket. Le groupe est supprimé quand la dernière socket est fermée.

note: commit 2d36097d26b5991d71a2cf4a20c1a158f0f1bfcd type: Plain text
en: Fanout supports multiple algorithms to spread traffic between sockets.  The default mode, B<PACKET_FANOUT_HASH>, sends packets from the same flow to the same socket to maintain per-flow ordering.  For each packet, it chooses a socket by taking the packet flow hash modulo the number of sockets in the group, where a flow hash is a hash over network-layer address and optional transport-layer port fields.  The load-balance mode B<PACKET_FANOUT_LB> implements a round-robin algorithm.  B<PACKET_FANOUT_CPU> selects the socket based on the CPU that the packet arrived on.  B<PACKET_FANOUT_ROLLOVER> processes all data on a single socket, moves to the next when one becomes backlogged.  B<PACKET_FANOUT_RND> selects the socket using a pseudo-random number generator.  B<PACKET_FANOUT_QM> (available since Linux 3.14)  selects the socket using the recorded queue_mapping of the received skb.
fr: Le déploiement permet à de nombreux algorithme de diffuser le trafic entre socket. Le mode par défaut, B<PACKET_FANOUT_HASH>, envoie les paquets du même flux à la même socket pour conserver l’ordre par flux. Pour chaque paquet, il choisit une socket en prenant le hachage de flux de paquet modulo le nombre de sockets dans le groupe, où le hachage de flux est un hachage de l’adresse de couche réseau et facultativement des champs de port de couche de transport. Le mode de répartition de charge B<PACKET_FANOUT_LB> met en place un algorithme tourniquet (« round-robin »). B<PACKET_FANOUT_CPU> sélectionne la socket en fonction du processeur sur lequel le paquet est arrivé. B<PACKET_FANOUT_ROLLOVER> traite toutes les données sur une seule socket et se déplace vers la suivante quand elle a du retard. B<PACKET_FANOUT_RND> sélectionne la socket en utilisant un générateur de nombres pseudoaléatoires. B<PACKET_FANOUT_QM> (disponible depuis Linux 3.14) sélectionne la socket en utilisant le paramètre queue_mapping du skb reçu.

note: type: Plain text
en: Fanout modes can take additional options.  IP fragmentation causes packets from the same flow to have different flow hashes.  The flag B<PACKET_FANOUT_FLAG_DEFRAG>, if set, causes packet to be defragmented before fanout is applied, to preserve order even in this case.  Fanout mode and options are communicated in the second 16 bits of the integer option value.  The flag B<PACKET_FANOUT_FLAG_ROLLOVER> enables the roll over mechanism as a backup strategy: if the original fanout algorithm selects a backlogged socket, the packet rolls over to the next available one.
fr: Les modes de déploiement acceptent des options facultatives. La fragmentation d’IP force les paquets du même flux à avoir des hachages de flux différents. L’attribut B<PACKET_FANOUT_FLAG_DEFRAG>, si défini, force la défragmentation de paquets avant d’appliquer le déploiement, pour conserver l’ordre même dans ce cas. Le mode de déploiement et les options sont communiquées sur les 16 bits suivants du paramètre entier de cette option. L’attribut B<PACKET_FANOUT_FLAG_ROLLOVER> active le mécanisme de recouvrement comme une stratégie de sauvegarde : si l’algorithme de déploiement original sélectionne une socket avec du retard, le paquet se retourne vers la suivante disponible.

note: type: TP
en: B<PACKET_LOSS> (with B<PACKET_TX_RING>)
fr: B<PACKET_LOSS> (avec B<PACKET_TX_RING>)

note: type: Plain text
en: If set, do not silently drop a packet on transmission error, but return it with status set to B<TP_STATUS_WRONG_FORMAT>.
fr: Ne pas jeter silencieusement un paquet en cas d'erreur de transmission, mais le renvoyer avec l'état B<TP_STATUS_WRONG_FORMAT>.

note: type: TP
en: B<PACKET_RESERVE> (with B<PACKET_RX_RING>)
fr: B<PACKET_RESERVE> (avec B<PACKET_RX_RING>)

note: type: Plain text
en: By default, a packet receive ring writes packets immediately following the metadata structure and alignment padding.  This integer option reserves additional headroom.
fr: Par défaut, un tampon circulaire de réception des paquets écrit les paquets juste après la structure de métadonnées et le bourrage dû à l'alignement. Le paramètre entier de cette option réserve de la place au début du paquet (« headroom »).

note: type: Plain text
en: Create a memory-mapped ring buffer for asynchronous packet reception.  The packet socket reserves a contiguous region of application address space, lays it out into an array of packet slots and copies packets (up to I<tp_snaplen>)  into subsequent slots.  Each packet is preceded by a metadata structure similar to I<tpacket_auxdata>.  The protocol fields encode the offset to the data from the start of the metadata header.  I<tp_net> stores the offset to the network layer.  If the packet socket is of type B<SOCK_DGRAM>, then I<tp_mac> is the same.  If it is of type B<SOCK_RAW>, then that field stores the offset to the link-layer frame.  Packet socket and application communicate the head and tail of the ring through the I<tp_status> field.  The packet socket owns all slots with status B<TP_STATUS_KERNEL>.  After filling a slot, it changes the status of the slot to transfer ownership to the application.  During normal operation, the new status is B<TP_STATUS_USER>, to signal that a correctly received packet has been stored.  When the application has finished processing a packet, it transfers ownership of the slot back to the socket by setting the status to B<TP_STATUS_KERNEL>.  Packet sockets implement multiple variants of the packet ring.  The implementation details are described in I<Documentation/networking/packet_mmap.txt> in the Linux kernel source tree.
fr: Créer un tampon circulaire projeté en mémoire pour la réception asynchrone de paquets. La socket paquet réserve une zone contiguë d’espace d’adresses d’application, la dispose dans un tableau d’emplacements de paquet et copie les paquets (jusqu’à I<tp_snaplen>) dans les emplacements suivants. Tous les paquets sont précédés d’une structure de métadonnées similaire à I<tpacket_auxdata>. Les champs de protocole encodent la position des données dès le début de l’en-tête de métadonnées. I<tp_net> stocke la position de couche réseau. Si la socket paquet est de type B<SOCK_DGRAM>, alors I<tp_mac> est la même. Si elle est de type B<SOCK_RAW>, alors ce champ stocke la position de la trame de couche lien. La socket paquet et l’application communiquent le début et la fin du tampon circulaire à l’aide du champ I<tp_status>. Tous les emplacements avec l’état B<TP_STATUS_KERNEL> appartiennent à la socket paquet. Après avoir rempli un emplacement, elle modifie l’état de l’emplacement pour qu’il appartienne à l’application. Lors d’une opération normale, le nouvel état est B<TP_STATUS_USER>, pour signaler qu’un paquet reçu correctement a été stocké. Lorsque l’application a terminé de traiter un paquet, elle redéfinit l’état de l’emplacement à B<TP_STATUS_KERNEL> pour le rendre à la socket. Les sockets paquet mettent en place plusieurs variantes du tampon circulaire de paquets. Des précisions sur cette mise en place sont disponibles dans I<Documentation/networking/packet_mmap.txt> dans l'arborescence des sources du noyau Linux.

note: type: Plain text
en: Retrieve packet socket statistics in the form of a structure
fr: Récupérer les statistiques de la socket paquet sous la forme d'une structure

note: type: Plain text
en: struct tpacket_stats {
        unsigned int tp_packets;  /* Total packet count */
        unsigned int tp_drops;    /* Dropped packet count */
    };
fr: struct tpacket_stats {
        unsigned int tp_packets;  /* Décompte total des paquets */
        unsigned int tp_drops;    /* Décompte des paquets jetés */
    };

note: type: Plain text
en: Receiving statistics resets the internal counters.  The statistics structure differs when using a ring of variant B<TPACKET_V3>.
fr: Recevoir les statistiques réinitialise les compteurs internes. La structure de statistiques est différente lorsque le tampon circulaire utilisé est de type B<TPACKET_V3>.

note: type: TP
en: B<PACKET_TIMESTAMP> (with B<PACKET_RX_RING>; since Linux 2.6.36)
fr: B<PACKET_TIMESTAMP> (avec B<PACKET_RX_RING> ; depuis Linux 2.6.36)

note: commit 614f60fa9d73a9e8fdff3df83381907fea7c5649 type: Plain text
en: The packet receive ring always stores a timestamp in the metadata header.  By default, this is a software generated timestamp generated when the packet is copied into the ring.  This integer option selects the type of timestamp.  Besides the default, it support the two hardware formats described in I<Documentation/networking/timestamping.txt> in the Linux kernel source tree.
fr: Le tampon circulaire de réception des paquets stocke un horodatage dans l’en-tête de métadonnées. Par défaut, c’est un horodatage logiciel généré quand le paquet est copié dans le tampon circulaire. Le paramètre entier de cette option sélectionne le type d’horodatage. En plus du fonctionnement par défaut, deux formats matériels existent et sont décrits dans I<Documentation/networking/timestamping.txt> dans l'arborescence des sources du noyau Linux.

note: type: TP
en: B<PACKET_TX_RING> (since Linux 2.6.31)
fr: B<PACKET_TX_RING> (depuis Linux 2.6.31)

note: commit 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 type: Plain text
en: Create a memory-mapped ring buffer for packet transmission.  This option is similar to B<PACKET_RX_RING> and takes the same arguments.  The application writes packets into slots with status B<TP_STATUS_AVAILABLE> and schedules them for transmission by changing the status to B<TP_STATUS_SEND_REQUEST>.  When packets are ready to be transmitted, the application calls B<send>(2)  or a variant thereof.  The I<buf> and I<len> fields of this call are ignored.  If an address is passed using B<sendto>(2)  or B<sendmsg>(2), then that overrides the socket default.  On successful transmission, the socket resets the slot to B<TP_STATUS_AVAILABLE>.  It discards packets silently on error unless B<PACKET_LOSS> is set.
fr: Créer un tampon circulaire projeté en mémoire pour la transmission de paquets. Cette option est similaire à B<PACKET_RX_RING> et accepte les mêmes arguments. L’application écrit des paquets dans des emplacements avec l’état B<TP_STATUS_AVAILABLE> et les programme pour transmission en modifiant l’état de B<TP_STATUS_SEND_REQUEST>. Quand les paquets sont prêts à être transmis, l’application appelle B<send>(2) ou une de ses variantes. Les champs I<buf> et I<len> de cet appel sont ignorés. Si une adresse est passée en utilisant B<sendto>(2) ou B<sendmsg>(2), alors cela écrase la socket par défaut. En cas de transmission réussie, la socket réinitialise l’emplacement à B<TP_STATUS_AVAILABLE>. Elle rejette silencieusement les paquets en cas d’erreur sauf si B<PACKET_LOSS> est définie.

note: type: TP
en: B<PACKET_VERSION> (with B<PACKET_RX_RING>; since Linux 2.6.27)
fr: B<PACKET_VERSION> (avec B<PACKET_RX_RING> ; depuis Linux 2.6.27)

note: commit bbd6ef87c544d88c30e4b762b1b61ef267a7d279 type: Plain text
en: By default, B<PACKET_RX_RING> creates a packet receive ring of variant B<TPACKET_V1>.  To create another variant, configure the desired variant by setting this integer option before creating the ring.
fr: Par défaut, B<PACKET_RX_RING> crée un tampon circulaire de réception des paquets de variante B<TPACKET_V1>. Pour créer une autre variante, configurer la variante voulue en définissant le paramètre entier de cette option avant de créer le tampon circulaire.

note: type: TP
en: B<PACKET_QDISC_BYPASS> (since Linux 3.14)
fr: B<PACKET_QDISC_BYPASS> (depuis Linux 3.14)

note: commit d346a3fae3ff1d99f5d0c819bf86edf9094a26a1 type: Plain text
en: By default, packets sent through packet sockets pass through the kernel's qdisc (traffic control) layer, which is fine for the vast majority of use cases.  For traffic generator appliances using packet sockets that intend to brute-force flood the network\(emfor example, to test devices under load in a similar fashion to pktgen\(emthis layer can be bypassed by setting this integer option to 1.  A side effect is that packet buffering in the qdisc layer is avoided, which will lead to increased drops when network device transmit queues are busy; therefore, use at your own risk.
fr: Par défaut, les paquets envoyés par une socket paquet passent par la couche qdisc du noyau, dédiée au contrôle de trafic, ce qui répond bien à la majorité des cas d'utilisation. Les équipements de génération de trafic qui utilisent des sockets packet pour inonder le réseau — par exemple pour tester des appareils en charge comme le fait pktgen — peuvent désactiver cette couche de contrôle en définissant cette option à 1. Un des effets secondaires est l'absence de mise en mémoire tampon des paquets par la couche qdisc, ce qui peut provoquer des pertes de paquets lorsque les files de transmission du périphérique sont pleines. L'utilisation de cette option est à vos risques et périls.

note: FIXME Document SIOCGSTAMPNS type: Plain text
en: B<SIOCGSTAMP> can be used to receive the timestamp of the last received packet.  Argument is a I<struct timeval> variable.
fr: B<SIOCGSTAMP> peut servir à obtenir l'horodatage du dernier paquet reçu. Le paramètre est une variable I<struct timeval>.

note: type: Plain text
en: In addition, all standard ioctls defined in B<netdevice>(7)  and B<socket>(7)  are valid on packet sockets.
fr: De plus, les ioctls standards définis dans B<netdevice>(7) et B<socket>(7) sont valables sur les sockets paquet.

note: type: SS
en: Error handling
fr: Traitement des erreurs

note: type: Plain text
en: Packet sockets do no error handling other than errors occurred while passing the packet to the device driver.  They don't have the concept of a pending error.
fr: Les sockets paquet ne gèrent pas d'autres erreurs que celles se produisant durant la transmission des paquets au pilote de périphérique. Elles ne traitent pas le concept de file d'erreurs.

note: type: Plain text
en: Unknown multicast group address passed.
fr: Adresse de groupe multicast inconnue.

note: type: Plain text
en: User passed invalid memory address.
fr: Adresse mémoire incorrecte.

note: type: Plain text
en: Invalid argument.
fr: Argument incorrect.

note: type: Plain text
en: Packet is bigger than interface MTU.
fr: Le paquet est plus grand que le MTU de l'interface.

note: type: Plain text
en: Interface is not up.
fr: L'interface n'est pas active.

note: type: Plain text
en: Not enough memory to allocate the packet.
fr: Pas assez de mémoire pour le paquet.

note: type: Plain text
en: Unknown device name or interface index specified in interface address.
fr: Le nom du périphérique ou l'index d’interface indiqué dans l'adresse de l'interface est inconnu.

note: type: Plain text
en: No packet received.
fr: Pas de paquet reçu.

note: type: Plain text
en: No interface address passed.
fr: Aucune adresse d'interface n'a été passée.

note: type: Plain text
en: Interface address contained an invalid interface index.
fr: Numéro d'interface non valable.

note: type: Plain text
en: User has insufficient privileges to carry out this operation.
fr: L'utilisateur n'a pas les privilèges nécessaires pour l'opération.

note: type: Plain text
en: In addition, other errors may be generated by the low-level driver.
fr: De plus, d'autres erreurs peuvent être engendrées par le pilote bas niveau.

note: type: Plain text
en: B<AF_PACKET> is a new feature in Linux 2.2.  Earlier Linux versions supported only B<SOCK_PACKET>.
fr: B<AF_PACKET> est une nouveauté de Linux 2.2. Les versions précédentes de Linux ne prenaient en charge que B<SOCK_PACKET>.

note: type: Plain text
en: The include file I<E<lt>netpacket/packet.hE<gt>> is present since glibc 2.1.  Older systems need:
fr: Le fichier d'inclusion I<E<lt>netpacket/packet.hE<gt>> existe depuis glibc 2.1. Les systèmes plus anciens ont besoin de\ :

note: type: Plain text
en: #include E<lt>asm/types.hE<gt>
    #include E<lt>linux/if_packet.hE<gt>
    #include E<lt>linux/if_ether.hE<gt>  /* The L2 protocols */
fr: #include E<lt>asm/types.hE<gt>
    #include E<lt>linux/if_packet.hE<gt>
    #include E<lt>linux/if_ether.hE<gt>  /* Les protocoles L2 */

note: type: Plain text
en: For portable programs it is suggested to use B<AF_PACKET> via B<pcap>(3); although this covers only a subset of the B<AF_PACKET> features.
fr: Pour la portabilité, il est conseillé d'utiliser les fonctionnalités B<AF_PACKET> par l'intermédiaire de l'interface B<pcap>(3), bien que cela ne couvre qu'un sous-ensembles des possibilités de B<AF_PACKET>.

note: type: Plain text
en: The B<SOCK_DGRAM> packet sockets make no attempt to create or parse the IEEE 802.2 LLC header for a IEEE 802.3 frame.  When B<ETH_P_802_3> is specified as protocol for sending the kernel creates the 802.3 frame and fills out the length field; the user has to supply the LLC header to get a fully conforming packet.  Incoming 802.3 packets are not multiplexed on the DSAP/SSAP protocol fields; instead they are supplied to the user as protocol B<ETH_P_802_2> with the LLC header prefixed.  It is thus not possible to bind to B<ETH_P_802_3>; bind to B<ETH_P_802_2> instead and do the protocol multiplex yourself.  The default for sending is the standard Ethernet DIX encapsulation with the protocol filled in.
fr: Les sockets paquet B<SOCK_DGRAM> n'essayent pas de créer ou de traiter les en-têtes IEEE 802.2 LLC pour une trame IEEE 802.3. Lorsque le protocole B<ETH_P_802_3> est indiqué en émission, le noyau crée la trame 802.3 et remplit le champ de longueur. L'utilisateur doit fournir l'en-tête LLC pour obtenir un paquet entièrement conforme. Les paquets 802.3 entrants ne sont pas multiplexés sur les champs du protocole DSAP/SSAP. À la place, ils sont fournis à l'utilisateur sous le protocole B<ETH_P_802_2> avec un en-tête LLC ajouté. L’attachement B<ETH_P_802_3> n’est donc pas possible, l'attachement B<ETH_P_802_2> doit être utilisé à la place, et vous devez réaliser le multiplexage de protocole vous-même. Le comportement par défaut en émission est l'encapsulation Ethernet DIX standard, avec le protocole renseigné.

note: type: Plain text
en: Packet sockets are not subject to the input or output firewall chains.
fr: Les sockets paquet ne sont pas soumises aux chaînes de pare-feu en entrée ou sortie.

note: type: Plain text
en: In Linux 2.0, the only way to get a packet socket was by calling B<socket(AF_INET, SOCK_PACKET, >I<protocol>B<)>.  This is still supported but strongly deprecated.  The main difference between the two methods is that B<SOCK_PACKET> uses the old I<struct sockaddr_pkt> to specify an interface, which doesn't provide physical layer independence.
fr: Sous Linux 2.0, la seule manière d'obtenir une socket paquet était l'appel B<socket(AF_INET, SOCK_PACKET, >I<protocole>B<)>. C’est encore pris en charge mais fortement déconseillé. La principale différence entre les deux méthodes est que B<SOCK_PACKET> utilise l'ancienne I<struct sockaddr_pkt> pour indiquer l'interface, ce qui ne fournit aucune indépendance vis-à-vis de la couche physique.

note: type: Plain text
en: I<spkt_family> contains the device type, I<spkt_protocol> is the IEEE 802.3 protocol type as defined in I<E<lt>sys/if_ether.hE<gt>> and I<spkt_device> is the device name as a null-terminated string, for example, eth0.
fr: I<spkt_family> contient le type de périphérique, I<spkt_protocol> est le type de protocole IEEE 802.3 comme défini dans I<E<lt>sys/if_ether.hE<gt>> et I<spkt_device> est le nom du périphérique sous forme de chaîne terminée par un caractère nul, par exemple eth0.

note: type: Plain text
en: This structure is obsolete and should not be used in new code.
fr: Cette structure est obsolète et ne doit pas être employée dans des nouveaux programmes.

note: type: Plain text
en: glibc 2.1 does not have a define for B<SOL_PACKET>.  The suggested workaround is to use:
fr: La glibc 2.1 ne définit pas la constante symbolique B<SOL_PACKET>. Pour contourner ce problème, il est conseillé d'écrire\ :

note: type: Plain text
en: This is fixed in later glibc versions and also does not occur on libc5 systems.
fr: C’est corrigé dans les dernières versions de la glibc et ne se produit pas sur les LibC5.

note: type: Plain text
en: The IEEE 802.2/803.3 LLC handling could be considered as a bug.
fr: La gestion des en-têtes LLC IEEE 802.2/802.3 devrait être considérée comme un bogue.

note: type: Plain text
en: Socket filters are not documented.
fr: Les filtres des sockets ne sont pas documentés.

note: .SH CREDITS This man page was written by Andi Kleen with help from Matthew Wilcox. AF_PACKET in Linux 2.2 was implemented by Alexey Kuznetsov, based on code by Alan Cox and others. type: Plain text
en: The B<MSG_TRUNC> B<recvmsg>(2)  extension is an ugly hack and should be replaced by a control message.  There is currently no way to get the original destination address of packets via B<SOCK_DGRAM>.
fr: L'extension B<MSG_TRUNC> de B<recvmsg>(2) est une bidouille horrible et devrait être remplacée par un message de commande. Il n'y a actuellement aucun moyen d'obtenir l'adresse de destination originale des paquets à l’aide de B<SOCK_DGRAM>.

note: type: Plain text
en: RFC\ 894 for the standard IP Ethernet encapsulation.  RFC\ 1700 for the IEEE 802.3 IP encapsulation.
fr: RFC\ 894 pour l'encapsulation IP Ethernet standard. RFC\ 1700 pour l'encapsulation IP IEEE 802.3.

note: type: Plain text
en: The I<E<lt>linux/if_ether.hE<gt>> include file for physical layer protocols.
fr: Le fichier d'en-tête I<E<lt>linux/if_ether.hE<gt>> pour les protocoles de couche physique.

note: type: TH
en: 2012-08-05
fr: 5 août 2012

note: type: Plain text
en: protocols - protocols definition file
fr: protocols - Fichier de définition des protocoles

note: type: Plain text
en: This file is a plain ASCII file, describing the various DARPA internet protocols that are available from the TCP/IP subsystem.  It should be consulted instead of using the numbers in the ARPA include files, or, even worse, just guessing them.  These numbers will occur in the protocol field of any IP header.
fr: I</etc/protocols> est un fichier de texte ASCII, décrivant les différents protocoles internet DARPA qui sont disponibles avec le sous-système TCP/IP. Il faut consulter ce fichier pour connaître les valeurs utilisées sur le système plutôt que d'utiliser les nombres donnés dans les fichiers d'en-tête ARPA, ou encore pire, d'essayer de deviner les valeurs. Ces numéros se trouvent dans le champ protocole des en-têtes IP.

note: .. by the DDN Network Information Center. type: Plain text
en: Keep this file untouched since changes would result in incorrect IP packages.  Protocol numbers and names are specified by the IANA (Internet Assigned Numbers Authority).
fr: Évitez de modifier ce fichier, sinon le sous-système IP ne fonctionnerait plus correctement. Les valeurs et les noms des protocoles sont spécifiés par l'IANA (Internet Assigned Numbers Authority).

note: type: Plain text
en: Each line is of the following format:
fr: Chaque ligne a le format suivant\ :

note: type: Plain text
en: I<protocol number aliases ...>
fr: I<protocole numéro alias ...>

note: type: Plain text
en: where the fields are delimited by spaces or tabs.  Empty lines are ignored.  If a line contains a hash mark (#), the hash mark and the part of the line following it are ignored.
fr: où les champs sont séparés par des espaces ou des tabulations. Les lignes vides sont ignorées. Le caractère # débute un commentaire qui se poursuit jusqu'à la fin de la ligne.

note: type: TP
en: I<protocol>
fr: I<protocole>

note: type: Plain text
en: the native name for the protocol.  For example I<ip>, I<tcp>, or I<udp>.
fr: Le nom original du protocole, par exemple I<ip>, I<tcp>, ou I<udp>.

note: type: Plain text
en: the official number for this protocol as it will appear within the IP header.
fr: Le numéro officiel du protocole, tel qu'il apparaîtra dans l'en-tête IP.

note: type: Plain text
en: optional aliases for the protocol.
fr: Des synonymes éventuels pour le nom du protocole.

note: The following is not true as at glibc 2.8 (a line with a comma is ignored by getservent()); it's not clear if/when it was ever true. As a backward compatibility feature, the slash (/) between the .I port number and .I protocol name can in fact be either a slash or a comma (,). Use of the comma in mo
en: This file might be distributed over a network using a network-wide naming service like Yellow Pages/NIS or BIND/Hesiod.
fr: Ce fichier peut être diffusé sur le réseau, en utilisant un service de noms valable pour l'ensemble du réseau tel que « Yellow Pages/NIS » ou « BIND/Hesiod ».

note: type: Plain text
en: The protocols definition file.
fr: Le fichier de définition des protocoles.

note: type: Plain text
en: raw - Linux IPv4 raw sockets
fr: raw - Sockets brutes (raw) IPv4 sous Linux

note: type: Plain text
en: B<raw_socket = socket(AF_INET, SOCK_RAW, int >I<protocol>B<);>
fr: B<raw_socket = socket(AF_INET, SOCK_RAW, int >I<protocole>B<);>

note: type: Plain text
en: Raw sockets allow new IPv4 protocols to be implemented in user space.  A raw socket receives or sends the raw datagram not including link level headers.
fr: Les sockets brutes (raw) permettent d'implémenter des protocoles IPv4 dans l'espace utilisateur. Une socket raw reçoit ou envoie des datagrammes sans les en-têtes de couche de liaison.

note: type: Plain text
en: The IPv4 layer generates an IP header when sending a packet unless the B<IP_HDRINCL> socket option is enabled on the socket.  When it is enabled, the packet must contain an IP header.  For receiving the IP header is always included in the packet.
fr: La couche IPv4 génère des en-têtes IP lorsqu'elle envoie un paquet à moins que l'option B<IP_HDRINCL> soit activée sur la socket. Lorsqu'elle est activée, la socket doit contenir l'en-tête IP. Pour la réception, l'en-tête IP est toujours inclus dans le paquet.

note: type: Plain text
en: Only processes with an effective user ID of 0 or the B<CAP_NET_RAW> capability are allowed to open raw sockets.
fr: Seuls les processus avec un UID effectif nul ou une capacité B<CAP_NET_RAW> sont autorisés à ouvrir des sockets raw.

note: type: Plain text
en: All packets or errors matching the I<protocol> number specified for the raw socket are passed to this socket.  For a list of the allowed protocols see RFC\ 1700 assigned numbers and B<getprotobyname>(3).
fr: Tous les paquets ou les erreurs correspondant au numéro de I<protocole> indiqué pour la socket raw sont transmis à cette socket. Pour voir une liste des protocoles autorisés, consultez les numéros assignés dans la RFC\ 1700 et B<getprotobyname>(3).

note: type: Plain text
en: A protocol of B<IPPROTO_RAW> implies enabled B<IP_HDRINCL> and is able to send any IP protocol that is specified in the passed header.  Receiving of all IP protocols via B<IPPROTO_RAW> is not possible using raw sockets.
fr: Un protocole B<IPPROTO_RAW> implique l'activation de B<IP_HDRINCL> et autorise l'émission suivant n'importe quel protocole IP indiquée dans l'en-tête. La réception de tous les protocoles IP avec B<IPPROTO_RAW> n'est pas possible avec les sockets raw.

note: type: tbl table
en: IP Header fields modified on sending by B<IP_HDRINCL>
fr: IP Champs d'en-tête modifiés en émission par B<IP_HDRINCL>

note: type: tbl table
en: IP Checksum:Always filled in.
fr: Checksum IP:Toujours rempli.

note: type: tbl table
en: Source Address:Filled in when zero.
fr: Adresse source:Rempli si contient des zéros.

note: type: tbl table
en: Packet Id:Filled in when zero.
fr: ID Paquet:Rempli si contient des zéros.

note: type: tbl table
en: Total Length:Always filled in.
fr: Longueur totale:Toujours rempli.

note: type: Plain text
en: If B<IP_HDRINCL> is specified and the IP header has a nonzero destination address, then the destination address of the socket is used to route the packet.  When B<MSG_DONTROUTE> is specified, the destination address should refer to a local interface, otherwise a routing table lookup is done anyway but gatewayed routes are ignored.
fr: Si B<IP_HDRINCL> est indiqué et si l'en-tête IP à une adresse non nulle, alors l'adresse destination de la socket est utilisée pour router le paquet. Quand B<MSG_DONTROUTE> est indiqué, l'adresse de destination devrait toujours viser une interface locale. Sinon, un examen de la table de routage a quand même lieu, mais les routes avec une passerelle sont ignorées.

note: type: Plain text
en: If B<IP_HDRINCL> isn't set, then IP header options can be set on raw sockets with B<setsockopt>(2); see B<ip>(7)  for more information.
fr: Si B<IP_HDRINCL> n'est pas indiqué, les options d'en-tête IP peuvent être définies sur les sockets raw avec B<setsockopt>(2) ; consultez B<ip>(7) pour plus d'informations.

note: type: Plain text
en: In Linux 2.2, all IP header fields and options can be set using IP socket options.  This means raw sockets are usually needed only for new protocols or protocols with no user interface (like ICMP).
fr: Dans Linux 2.2 tous les champs d'en-tête et les options peuvent être définis en utilisant les options IP. Cela signifie que les sockets raw ne servent en général que pour les nouveaux protocoles ou les protocoles sans interface utilisateur (comme ICMP).

note: type: Plain text
en: When a packet is received, it is passed to any raw sockets which have been bound to its protocol before it is passed to other protocol handlers (e.g., kernel protocol modules).
fr: Lorsqu'un paquet est reçu, il est passé à toutes les sockets raw qui ont été attachées à son protocole avant d'être transmis aux gestionnaires des autres protocoles (par exemple les modules des protocoles du noyau).

note: type: Plain text
en: Raw sockets use the standard I<sockaddr_in> address structure defined in B<ip>(7).  The I<sin_port> field could be used to specify the IP protocol number, but it is ignored for sending in Linux 2.2 and should be always set to 0 (see BUGS).  For incoming packets, I<sin_port> is set to the protocol of the packet.  See the I<E<lt>netinet/in.hE<gt>> include file for valid IP protocols.
fr: Les sockets raw utilisent la structure d'adresse I<sockaddr_in> standard, définie dans B<ip>(7). Le champ I<sin_port> pourrait être utilisé pour indiquer un numéro de protocole IP, mais il est ignoré pour l'émission dans Linux 2.2 et devrait être toujours mis à zéro (voir paragraphe BOGUES). Pour les paquets entrants I<sin_port> est rempli avec le protocole du paquet. Consultez le fichier d'en-tête I<E<lt>netinet/in.hE<gt>> pour les protocoles IP valables.

note: Or SOL_RAW on Linux type: Plain text
en: Raw socket options can be set with B<setsockopt>(2)  and read with B<getsockopt>(2)  by passing the B<IPPROTO_RAW> family flag.
fr: Les options des sockets raw peuvent être écrites avec B<setsockopt>(2) et lues avec B<getsockopt>(2) en passant l'attribut de famille B<IPPROTO_RAW>.

note: type: Plain text
en: Enable a special filter for raw sockets bound to the B<IPPROTO_ICMP> protocol.  The value has a bit set for each ICMP message type which should be filtered out.  The default is to filter no ICMP messages.
fr: Active un filtre spécial sur les sockets raw attachées au protocole B<IPPROTO_ICMP>. La valeur a un bit pour chaque type de message ICMP qui doit être rejeté. La valeur par défaut est de ne filtrer aucun messages ICMP.

note: type: Plain text
en: In addition, all B<ip>(7)  B<IPPROTO_IP> socket options valid for datagram sockets are supported.
fr: De plus, toutes les options B<IPPROTO_IP> de B<ip>(7) valables pour les sockets datagrammes sont prises en charge.

note: type: Plain text
en: Errors originating from the network are passed to the user only when the socket is connected or the B<IP_RECVERR> flag is enabled.  For connected sockets, only B<EMSGSIZE> and B<EPROTO> are passed for compatibility.  With B<IP_RECVERR>, all network errors are saved in the error queue.
fr: Les erreurs provenant du réseau ne sont transmises à l'utilisateur que lorsque la socket est connectée ou si le drapeau B<IP_RECVERR> est actif. Pour les sockets connectées, seules B<EMSGSIZE> et B<EPROTO> sont transmises, pour compatibilité. Avec B<IP_RECVERR>, toutes les erreurs réseau sont sauvegardées dans la file d'erreurs.

note: type: Plain text
en: User tried to send to a broadcast address without having the broadcast flag set on the socket.
fr: L'utilisateur essaye d'envoyer sur une adresse broadcast sans avoir le drapeau broadcast sur la socket.

note: type: Plain text
en: An invalid memory address was supplied.
fr: Une adresse mémoire incorrecte a été fournie.

note: type: Plain text
en: Packet too big.  Either Path MTU Discovery is enabled (the B<IP_MTU_DISCOVER> socket flag) or the packet size exceeds the maximum allowed IPv4 packet size of 64KB.
fr: Paquet trop grand. Soit la recherche du MTU des chemins est active (voir l'attribut B<IP_MTU_DISCOVER> de socket), soit la taille du paquet dépasse le maximum autorisé par IPv4 (64\ Ko).

note: type: Plain text
en: Invalid flag has been passed to a socket call (like B<MSG_OOB>).
fr: Un attribut incorrect a été transmis à un appel sur la socket (comme B<MSG_OOB>).

note: type: Plain text
en: The user doesn't have permission to open raw sockets.  Only processes with an effective user ID of 0 or the B<CAP_NET_RAW> attribute may do that.
fr: L'utilisateur n'a pas la permission d'ouvrir des sockets raw. Seuls les processus avec un UID effectif nul ou la capacité B<CAP_NET_RAW> peuvent le faire.

note: type: Plain text
en: An ICMP error has arrived reporting a parameter problem.
fr: Une erreur ICMP est arrivée, indiquant un problème de paramétrage.

note: type: Plain text
en: B<IP_RECVERR> and B<ICMP_FILTER> are new in Linux 2.2.  They are Linux extensions and should not be used in portable programs.
fr: B<IP_RECVERR> et B<ICMP_FILTER> sont nouveaux dans Linux 2.2. Ce sont des extensions Linux et ne doivent pas être employés dans des programmes portables.

note: type: Plain text
en: Linux 2.0 enabled some bug-to-bug compatibility with BSD in the raw socket code when the B<SO_BSDCOMPAT> socket option was set \(em since Linux 2.2, this option no longer has that effect.
fr: Linux 2.0 assurait une compatibilité bogue-à-bogue avec le code des sockets raw de BSD lorsque l'attribut B<SO_BSDCOMPAT> était utilisé. Ça a été supprimé dans 2.2.

note: type: Plain text
en: By default, raw sockets do path MTU (Maximum Transmission Unit) discovery.  This means the kernel will keep track of the MTU to a specific target IP address and return B<EMSGSIZE> when a raw packet write exceeds it.  When this happens, the application should decrease the packet size.  Path MTU discovery can be also turned off using the B<IP_MTU_DISCOVER> socket option or the I</proc/sys/net/ipv4/ip_no_pmtu_disc> file, see B<ip>(7)  for details.  When turned off, raw sockets will fragment outgoing packets that exceed the interface MTU.  However, disabling it is not recommended for performance and reliability reasons.
fr: Par défaut, les sockets brutes utilisent la détection du MTU («\ Maximum Transmission Unit\ ») pour le chemin. Cela signifie que le noyau garde en mémoire le MTU vers une adresse IP cible spécifique, et renvoie B<EMSGSIZE> lorsqu'un paquet brut dépasse cette taille. Dans ce cas, l'application doit diminuer la taille du paquet. La détection du MTU par chemin peut aussi être désactivée en utilisant l'option de socket B<IP_MTU_DISCOVER> ou le fichier I</proc/sys/net/ipv4/ip_no_pmtu_disc>, consultez B<ip>(7) pour plus de détails. Lorsque cette option est désactivée, les sockets brutes fragmenteront les paquets sortants qui dépassent le MTU de l'interface. C’est cependant découragé, pour des raisons de performance et de fiabilité.

note: type: Plain text
en: A raw socket can be bound to a specific local address using the B<bind>(2)  call.  If it isn't bound, all packets with the specified IP protocol are received.  In addition, a RAW socket can be bound to a specific network device using B<SO_BINDTODEVICE>; see B<socket>(7).
fr: Une socket raw peut être attachée à une adresse locale spécifique en utilisant l'appel B<bind>(2). Si elle n'est pas attachée, tous les paquets du protocole IP indiqué sont reçus. De plus, une socket raw peut être attachée à un périphérique réseau particulier avec B<SO_BINDTODEVICE>\ ; consultez B<socket>(7).

note: type: Plain text
en: An B<IPPROTO_RAW> socket is send only.  If you really want to receive all IP packets, use a B<packet>(7)  socket with the B<ETH_P_IP> protocol.  Note that packet sockets don't reassemble IP fragments, unlike raw sockets.
fr: Une socket B<IPPROTO_RAW> ne fonctionne qu'en émission. Si vous désirez vraiment recevoir tous les paquets IP, utilisez une socket B<packet>(7) avec le protocole B<ETH_P_IP>. Notez que les sockets paquet ne réassemblent pas les fragments IP contrairement aux sockets raw.

note: type: Plain text
en: If you want to receive all ICMP packets for a datagram socket, it is often better to use B<IP_RECVERR> on that particular socket; see B<ip>(7).
fr: Si vous voulez recevoir tous les paquets ICMP pour une socket datagramme, il est souvent préférable d'utiliser B<IP_RECVERR> sur cette socket particulière, consultez B<ip>(7).

note: type: Plain text
en: Raw sockets may tap all IP protocols in Linux, even protocols like ICMP or TCP which have a protocol module in the kernel.  In this case, the packets are passed to both the kernel module and the raw socket(s).  This should not be relied upon in portable programs, many other BSD socket implementation have limitations here.
fr: Les sockets raw peuvent capturer tous les protocoles IP sous Linux, même les protocoles comme ICMP ou TCP qui ont un module dans le noyau. Dans ce cas, le paquet est passé simultanément au module du noyau et à la socket raw. Ce comportement n'est pas portable, de nombreuses autres implémentations des sockets BSD ont des limitations ici.

note: type: Plain text
en: Linux never changes headers passed from the user (except for filling in some zeroed fields as described for B<IP_HDRINCL>).  This differs from many other implementations of raw sockets.
fr: Linux ne modifie jamais les en-têtes fournis par l'utilisateur (sauf pour remplir les champs ne contenant que des zéros comme cela est décrit pour B<IP_HDRINCL>). Ça diffère de nombreuses autres implémentations des sockets raw.

note: type: Plain text
en: RAW sockets are generally rather unportable and should be avoided in programs intended to be portable.
fr: Les sockets raw sont en général peu portables et devrait être évitées dans les programmes destinés à être portables.

note: type: Plain text
en: Sending on raw sockets should take the IP protocol from I<sin_port>; this ability was lost in Linux 2.2.  The workaround is to use B<IP_HDRINCL>.
fr: L'émission sur les sockets raw devrait employer le protocole dans I<sin_port> ; ça a été perdu dans Linux 2.2. Un remède est d'utiliser B<IP_HDRINCL>.

note: type: Plain text
en: Transparent proxy extensions are not described.
fr: Les extensions de Proxy transparent ne sont pas décrites.

note: type: Plain text
en: When the B<IP_HDRINCL> option is set, datagrams will not be fragmented and are limited to the interface MTU.
fr: Lorsque l'option B<IP_HDRINCL> est active, les datagrammes ne seront pas fragmentés et sont limités au MTU de l'interface.

note: .SH AUTHORS This man page was written by Andi Kleen. type: Plain text
en: Setting the IP protocol for sending in I<sin_port> got lost in Linux 2.2.  The protocol that the socket was bound to or that was specified in the initial B<socket>(2)  call is always used.
fr: Utiliser en émission le protocole IP indiqué dans I<sin_port> a été supprimé dans Linux 2.2. Le protocole auquel la socket a été attachée avec B<bind>(2) ou celui de l'appel B<socket>(2) initial sont toujours utilisés.

note: type: Plain text
en: B<RFC\ 1191> for path MTU discovery.  B<RFC\ 791> and the I<E<lt>linux/ip.hE<gt>> header file for the IP protocol.
fr: B<RFC\ 1191> pour la recherche du MTU du chemin. B<RFC\ 791> et le fichier d'en-tête I<E<lt>linux/ip.hE<gt>> pour le protocole IP.

note: type: TH
en: 2012-04-23
fr: 23 avril 2012

note: type: Plain text
en: rcmd, rresvport, iruserok, ruserok, rcmd_af, rresvport_af, iruserok_af, ruserok_af - routines for returning a stream to a remote command
fr: rcmd, rresvport, iruserok, ruserok, rcmd_af, rresvport_af, iruserok_af, ruserok_af - Routines renvoyant un flux de données pour une commande invoquée à distance

note: type: Plain text
en: B<#include E<lt>netdb.hE<gt> \ \ >/* Or E<lt>unistd.hE<gt> on some systems */
fr: B<#include E<lt>netdb.hE<gt> \ \ >/* Ou E<lt>unistd.hE<gt> sur certains systèmes */

note: type: Plain text
en: B<rcmd>(), B<rcmd_af>(), B<rresvport>(), B<rresvport_af>(), B<iruserok>(), B<iruserok_af>(), B<ruserok>(), B<ruserok_af>(): _BSD_SOURCE
fr: B<rcmd>(), B<rcmd_af>(), B<rresvport>(), B<rresvport_af>(), B<iruserok>(), B<iruserok_af>(), B<ruserok>(), B<ruserok_af>() : _BSD_SOURCE

note: type: Plain text
en: The B<rcmd>()  function is used by the superuser to execute a command on a remote machine using an authentication scheme based on privileged port numbers.  The B<rresvport>()  function returns a descriptor to a socket with an address in the privileged port space.  The B<iruserok>()  and B<ruserok>()  functions are used by servers to authenticate clients requesting service with B<rcmd>().  All four functions are used by the B<rshd>(8)  server (among others).
fr: La fonction B<rcmd>() est utilisée par le superutilisateur pour exécuter une commande sur une machine distante, en utilisant un schéma d'identification basé sur des numéros de ports privilégiés. La fonction B<rresvport>() renvoie un descripteur sur une socket se trouvant dans l'espace des numéros de ports privilégiés. Les fonctions B<iruserok>() et B<ruserok>() sont utilisées par les serveurs pour identifier les clients demandant un service avec B<rcmd>(). Les quatre fonctions sont utilisées (entre autres) par le serveur B<rshd>(8).

note: type: Plain text
en: The B<rcmd>()  function looks up the host I<*ahost> using B<gethostbyname>(3), returning -1 if the host does not exist.  Otherwise I<*ahost> is set to the standard name of the host and a connection is established to a server residing at the well-known Internet port I<inport>.
fr: La fonction B<rcmd>() recherche l'hôte I<*ahost> en utilisant B<gethostbyname>(3), puis renvoie -1 si cet hôte n'existe pas. Sinon I<*ahost> est rempli avec le nom standard de cet hôte, et une connexion est établie avec un serveur se trouvant sur l'un des ports bien connus I<inport>.

note: type: Plain text
en: If the connection succeeds, a socket in the Internet domain of type B<SOCK_STREAM> is returned to the caller, and given to the remote command as I<stdin> and I<stdout>.  If I<fd2p> is nonzero, then an auxiliary channel to a control process will be set up, and a descriptor for it will be placed in I<*fd2p>.  The control process will return diagnostic output from the command (unit 2) on this channel, and will also accept bytes on this channel as being UNIX signal numbers, to be forwarded to the process group of the command.  If I<fd2p> is 0, then the I<stderr> (unit 2 of the remote command) will be made the same as the I<stdout> and no provision is made for sending arbitrary signals to the remote process, although you may be able to get its attention by using out-of-band data.
fr: Si la connexion réussit, une socket dans le domaine Internet de type B<SOCK_STREAM> est renvoyée à l'appelant, et est fournie à la commande distante en guise de I<stdin> et I<stdout>. Si I<fd2p> est non nul, un canal auxiliaire est créé pour un processus de contrôle, et son descripteur sera placé dans I<*fd2p>. Le processus de contrôle renverra les sorties de diagnostic (numéro 2) sur ce canal, et acceptera également des octets qu'il considérera comme des numéros de signal UNIX à envoyer au groupe de processus de la commande. Si I<fd2p> est nul, alors I<stderr> (sortie numéro 2 de la commande distante) sera renvoyée sur I<stdout> et rien n'est prévu pour l'envoi de signaux arbitraires au processus distant, bien que vous puissiez y parvenir en utilisant des données hors-bande.

note: type: Plain text
en: The protocol is described in detail in B<rshd>(8).
fr: Le protocole est décrit en détail dans B<rshd>(8).

note: type: Plain text
en: The B<rresvport>()  function is used to obtain a socket with a privileged port bound to it.  This socket is suitable for use by B<rcmd>()  and several other functions.  Privileged ports are those in the range 0 to 1023.  Only a privileged process (B<CAP_NET_BIND_SERVICE>)  is allowed to bind to a privileged port.  In the glibc implementation, this function restricts its search to the ports from 512 to 1023.  The I<port> argument is value-result: the value it supplies to the call is used as the starting point for a circular search of the port range; on (successful) return, it contains the port number that was bound to.
fr: La fonction B<rresvport>() est utilisée pour obtenir une socket attachée à un port privilégié. Cette socket est utilisable ensuite pour B<rcmd>() et plusieurs autres fonctions. Les numéros de ports privilégiés se trouvent dans l'intervalle 0 à 1023. Seul un processus privilégié (B<CAP_NET_BIND_SERVICE>) a le droit de s'associer à un port privilégié. Dans l'implémentation de la glibc, cette fonction restreint sa recherche du port 512 au port 1023. L'argument I<port> est valeur-résultat : la valeur qu'il fournit à l'appel est utilisée comme point de départ pour une recherche circulaire de l'intervalle de port ; au retour (en cas de réussite), il contient le numéro de port avec lequel il a été associé.

note: type: SS
en: iruserok() and ruserok()
fr: iruserok() et ruserok()

note: type: Plain text
en: The B<iruserok>()  and B<ruserok>()  functions take a remote host's IP address or name, respectively, two usernames and a flag indicating whether the local user's name is that of the superuser.  Then, if the user is I<not> the superuser, it checks the I</etc/hosts.equiv> file.  If that lookup is not done, or is unsuccessful, the I<.rhosts> in the local user's home directory is checked to see if the request for service is allowed.
fr: Les fonctions B<iruserok>() et B<ruserok>() prennent respectivement en argument une adresse IP et un nom d'hôte distant, deux noms d'utilisateurs et un drapeau indiquant si l'utilisateur local est superutilisateur « I<superuser> ». Ainsi, si l'utilisateur n'est I<pas> le superutilisateur, elles vérifient le fichier I</etc/hosts.equiv>. Si cela échoue, le fichier I<.rhosts> est recherché dans le répertoire personnel de l'utilisateur local, afin de voir si la requête est autorisée.

note: type: Plain text
en: If this file does not exist, is not a regular file, is owned by anyone other than the user or the superuser, or is writable by anyone other than the owner, the check automatically fails.  Zero is returned if the machine name is listed in the I<hosts.equiv> file, or the host and remote username are found in the I<.rhosts> file; otherwise B<iruserok>()  and B<ruserok>()  return -1.  If the local domain (as obtained from B<gethostname>(2))  is the same as the remote domain, only the machine name need be specified.
fr: Si ce fichier n'existe pas, ou s'il ne s'agit pas d'un fichier régulier, ou s'il appartient à quelqu'un d'autre que l'utilisateur local ou le superutilisateur, ou encore s'il est accessible en écriture par quelqu'un d'autre que son propriétaire, le test échoue automatiquement. Si la machine est listée dans le fichier I<hosts.equiv>, ou si les noms d'hôte et d'utilisateur distants sont trouvés dans le fichier I<.rhosts>, B<iruserok>() et B<ruserok>() renvoient zéro. Sinon elles renvoient -1. Si le domaine local (obtenu par l'intermédiaire de B<gethostname>(2)) est le même que le domaine distant, seul le nom de machine a besoin d'être indiqué.

note: type: Plain text
en: If the IP address of the remote host is known, B<iruserok>()  should be used in preference to B<ruserok>(), as it does not require trusting the DNS server for the remote host's domain.
fr: Si l'adresse IP de l'hôte distant est connue, B<iruserok>() sera préférée à B<ruserok>(), car elle ne nécessite pas d'avoir un serveur DNS digne de confiance pour le domaine distant.

note: type: SS
en: *_af() variants
fr: Variantes *_af()

note: type: Plain text
en: All of the functions described above work with IPv4 (B<AF_INET>)  sockets.  The "_af" variants take an extra argument that allows the socket address family to be specified.  For these functions, the I<af> argument can be specified as B<AF_INET> or B<AF_INET6>.  In addition, B<rcmd_af>()  supports the use of B<AF_UNSPEC>.
fr: Toutes les fonctions décrites ci-dessus fonctionnent avec des sockets IPv4 (B<AF_INET>). Les variantes « _af » prennent un argument supplémentaire qui permet d'indiquer la famille d'adresse de socket. Pour ces fonctions, l'argument I<af> peut être indiqué comme B<AF_INET> ou B<AF_INET6>. De plus, B<rcmd_af>() permet d'utiliser B<AF_UNSPEC>.

note: type: Plain text
en: The B<rcmd>()  function returns a valid socket descriptor on success.  It returns -1 on error and prints a diagnostic message on the standard error.
fr: La fonction B<rcmd>() renvoie un descripteur de socket valable si elle réussit, sinon elle renvoie -1 et affiche un message de diagnostic sur sa sortie d'erreur standard.

note: type: Plain text
en: The B<rresvport>()  function returns a valid, bound socket descriptor on success.  It returns -1 on error with the global value I<errno> set according to the reason for failure.  The error code B<EAGAIN> is overloaded to mean "All network ports in use."
fr: La fonction B<rresvport>() renvoie un descripteur de socket valable, attaché à une adresse privilégiée si elle réussit. Elle renvoie -1 sinon, et I<errno> contient le code d'erreur. Le code d'erreur B<EAGAIN> signifie en réalité «\ Tous les ports réseau sont déjà utilisés\ ».

note: type: Plain text
en: For information on the return from B<ruserok>()  and B<iruserok>(), see above.
fr: Voir ci-dessus pour des renseignements sur les valeurs renvoyées par B<ruserok>() et B<iruserok>().

note: type: Plain text
en: The functions B<iruserok_af>(), B<rcmd_af>(), B<rresvport_af>(), and B<ruserok_af>()  functions are provide in glibc since version 2.2.
fr: Les fonctions B<iruserok_af>(), B<rcmd_af>(), B<rresvport_af>() et B<ruserok_af>() sont fournies dans la glibc depuis la version 2.2.

note: type: Plain text
en: Not in POSIX.1-2001.  Present on the BSDs, Solaris, and many other systems.  These functions appeared in 4.2BSD.  The "_af" variants are more recent additions, and are not present on as wide a range of systems.
fr: Pas dans POSIX.1-2001. Présentes sur les BSD, Solaris et beaucoup d'autres systèmes. Ces fonctions sont apparues dans BSD 4.2. Les variantes « _af » sont des ajouts plus récents, et ne sont pas présentes sur de nombreux systèmes.

note: Bug filed 25 Nov 2007: http://sources.redhat.com/bugzilla/show_bug.cgi?id=5399 type: Plain text
en: B<iruserok>()  and B<iruserok_af>()  are declared in glibc headers only since version 2.12.
fr: B<iruserok>() et B<iruserok_af>() ne sont déclarées dans les fichiers d'en-tête de la glibc que depuis la version 2.12.

note: type: TH
en: 2014-02-22
fr: 22 février 2014

note: type: Plain text
en: resolv.conf - resolver configuration file
fr: resolv.conf - Fichier de configuration de la résolution de noms

note: type: Plain text
en: The I<resolver> is a set of routines in the C library that provide access to the Internet Domain Name System (DNS).  The resolver configuration file contains information that is read by the resolver routines the first time they are invoked by a process.  The file is designed to be human readable and contains a list of keywords with values that provide various types of resolver information.  The configuration file is considered a trusted source of DNS information (e.g., DNSSEC AD-bit information will be returned unmodified from this source).
fr: La bibliothèque I<resolver> est un ensemble de routines de la bibliothèque C qui fournit un accès au système DNS Internet. Le fichier de configuration de la résolution de noms contient des informations qui sont lues par les routines de résolution la première fois qu'elles sont invoquées par un processus. Le fichier est prévu pour être lisible par des humains et contient une liste de mots-clés avec des valeurs. Le fichier de configuration est considéré comme une source d'information DNS de confiance (par exemple le bit AD de DNSSEC sera renvoyé sans modification par cette source).

note: type: Plain text
en: If this file does not exist, only the name server on the local machine will be queried; the domain name is determined from the hostname and the domain search path is constructed from the domain name.
fr: Si ce fichier n'existe pas, seul le serveur de noms de la machine locale sera interrogé, le nom de domaine est déterminé à partir du nom d'hôte, et le chemin de recherche du domaine est construit à partir du nom de domaine.

note: type: Plain text
en: The different configuration options are:
fr: Les différentes options de configuration sont\ :

note: type: TP
en: B<nameserver> Name server IP address
fr: B<nameserver> Adresse IP du serveur de noms

note: type: Plain text
en: Internet address of a name server that the resolver should query, either an IPv4 address (in dot notation), or an IPv6 address in colon (and possibly dot) notation as per RFC 2373.  Up to B<MAXNS> (currently 3, see I<E<lt>resolv.hE<gt>>) name servers may be listed, one per keyword.  If there are multiple servers, the resolver library queries them in the order listed.  If no B<nameserver> entries are present, the default is to use the name server on the local machine.  (The algorithm used is to try a name server, and if the query times out, try the next, until out of name servers, then repeat trying all the name servers until a maximum number of retries are made.)
fr: Adresse Internet du serveur de noms que la bibliothèque I<resolver> interrogera, soit une adresse IPv4 (en notation pointée), soit une adresse IPv6 en notation séparée par des deux-points (ou pointée) conformément à la RFC 2373. Jusqu'à B<MAXNS> (actuellement 3, consultez I<E<lt>resolv.hE<gt>>) serveurs de noms peuvent être mentionnés sur des lignes indépendantes. S'il y a plusieurs serveurs, la bibliothèque de résolution les interrogera dans l'ordre indiqué. Si aucune entrée B<nameserver> n'est présente, le fonctionnement par défaut est d'utiliser le serveur de noms se trouvant sur la machine. (L'algorithme consiste à interroger un serveur de noms, et si la requête dépasse le temps maximum, à essayer le suivant, jusqu'à la fin de la liste, et à recommencer jusqu'à un nombre maximal de tentatives).

note: type: TP
en: B<domain> Local domain name.
fr: B<domain> Nom du domaine local.

note: type: Plain text
en: Most queries for names within this domain can use short names relative to the local domain.  If set to \(aq.\(aq, the root domain is considered.  If no B<domain> entry is present, the domain is determined from the local hostname returned by B<gethostname>(2); the domain part is taken to be everything after the first \(aq.\(aq.  Finally, if the hostname does not contain a domain part, the root domain is assumed.
fr: La plupart des requêtes au sein de ce domaine peuvent être réduites à des raccourcis relatifs au domaine local. Si l'entrée est configuré à la valeur « . », on suppose être dans le domaine racine. Si aucune entrée B<domain> n'est présente, le domaine local est déterminé à partir du nom local de l'hôte renvoyé par B<gethostname>(2)\ ; la partie domaine est extraite en considérant tout ce qui se trouve après le premier «\ .\ ». Finalement, si le nom d'hôte ne contient pas de portion de domaine, on suppose être dans le domaine racine.

note: type: TP
en: B<search> Search list for host-name lookup.
fr: B<search> Liste de recherche pour les noms d'hôte.

note: When having a resolv.conv with a line search subdomain.domain.tld domain.tld and doing a hostlookup, for example by ping host.anothersubdomain it sends dns-requests for host.anothersubdomain. host.anothersubdomain.subdomain.domain.tld. host.anothersubdomain.domain.tld. thus not only causing unnecess
en: The search list is normally determined from the local domain name; by default, it contains only the local domain name.  This may be changed by listing the desired domain search path following the I<search> keyword with spaces or tabs separating the names.  Resolver queries having fewer than I<ndots> dots (default is 1) in them will be attempted using each component of the search path in turn until a match is found.  For environments with multiple subdomains please read B<options ndots:>I<n> below to avoid man-in-the-middle attacks and unnecessary traffic for the root-dns-servers.  Note that this process may be slow and will generate a lot of network traffic if the servers for the listed domains are not local, and that queries will time out if no server is available for one of the domains.
fr: La liste de recherche est normalement déterminée à partir du nom de domaine local. Par défaut, elle ne contient que le nom du domaine local. Cela peut être modifié en listant les chemins de recherche des domaines désirés, séparés par des espaces ou des tabulations, à la suite du mot-clé I<search>. La plupart des recherches seront menées en essayant chaque élément du chemin de recherche l'un après l'autre jusqu'à obtenir une correspondance. Pour les environnements comprenant de nombreux sous-domaines, veuillez consulter B<options ndots :>I<n> ci-dessous pour éviter des attaques de type man-in-the-middle et du trafic superflu pour le serveur DNS « root-dns-server ». Veuillez noter que ce processus peut être lent et engendrer un trafic réseau très important si les serveurs pour les domaines listés ne sont pas locaux, et que les requêtes dépassent le délai alloué lorsqu'aucun serveur n'est disponible pour l'un de ces domaines.

note: type: Plain text
en: The search list is currently limited to six domains with a total of 256 characters.
fr: La liste de recherche est actuellement limitée à six domaines, avec un maximum de 256 caractères.

note: type: Plain text
en: This option allows addresses returned by B<gethostbyname>(3)  to be sorted.  A sortlist is specified by IP-address-netmask pairs.  The netmask is optional and defaults to the natural netmask of the net.  The IP address and optional network pairs are separated by slashes.  Up to 10 pairs may be specified.  Here is an example:
fr: Cette option permet aux adresses renvoyées par B<gethostbyname>(3) d'être ordonnées. Une liste de tri est indiquée par des paires d'adresses IP et de masques réseau. Le masque réseau est optionnel et prend par défaut la valeur du masque naturel du réseau. L'adresse IP et le masque réseau optionnel sont séparés par des slashes. Jusqu'à 10 paires peuvent être mentionnées. Voici un exemple :

note: type: Plain text
en: Options allows certain internal resolver variables to be modified.  The syntax is
fr: Les options permettent de modifier certaines variables internes de la bibliothèque I<resolver>. La syntaxe est

note: type: Plain text
en: B<options> I<option> I<...>
fr: B<options> I<opt> I<...>

note: type: Plain text
en: where I<option> is one of the following:
fr: où I<opt> est une des options suivantes\ :

note: Since glibc 2.2? type: Plain text
en: sets B<RES_DEBUG> in I<_res.options> (effective only if glibc was built with debug support; see B<resolver>(3)).
fr: écrit B<RES_DEBUG> dans I<_res.options> (effectif uniquement si la glibc a été construite avec la prise en charge du débogage comme indiqué dans B<resolver>(3)).

note: Since glibc 2.2 type: Plain text
en: sets a threshold for the number of dots which must appear in a name given to B<res_query>(3)  (see B<resolver>(3))  before an I<initial absolute query> will be made.  The default for I<n> is 1, meaning that if there are any dots in a name, the name will be tried first as an absolute name before any I<search list> elements are appended to it.  The value for this option is silently capped to 15.
fr: définit un seuil pour le nombre de points qui doivent apparaître dans un nom fourni à B<res_query>(3) (consultez B<resolver>(3)) avant qu'une I<requête absolue initiale> soit entreprise. La valeur par défaut pour I<n> est 1, ce qui signifie que dès qu'un point apparaît dans le nom, il sera d'abord essayé en tant que nom absolu avant d'ajouter tout élément de la liste de recherche I<search>. La valeur de cette option est tronquée à 15 sans produire d'erreur.

note: Since glibc 2.2 type: Plain text
en: sets the amount of time the resolver will wait for a response from a remote name server before retrying the query via a different name server.  Measured in seconds, the default is B<RES_TIMEOUT> (currently 5, see I<E<lt>resolv.hE<gt>>).  The value for this option is silently capped to 30.
fr: définit le temps que la bibliothèque de résolution doive attendre la réponse d'un serveur de noms distant avant de ressayer une requête sur un serveur de noms différent. Exprimée en secondes, la valeur par défaut est B<RES_TIMEOUT> (actuellement 5, voir I<E<lt>resolv.hE<gt>>). La valeur de cette option est tronquée à 30 sans produire d'erreur.

note: type: Plain text
en: sets the number of times the resolver will send a query to its name servers before giving up and returning an error to the calling application.  The default is B<RES_DFLRETRY> (currently 2, see I<E<lt>resolv.hE<gt>>).  The value for this option is silently capped to 5.
fr: définit le nombre de fois que la bibliothèque de résolution enverra une requête à ses serveurs de noms avant d'abandonner et renvoyer une erreur à l'application appelante. La valeur par défaut est B<RES_DFLRETRY> (actuellement 2, voir I<E<lt>resolv.hE<gt>>). La valeur de cette option est tronquée à 5 sans produire d'erreur.

note: Since glibc 2.2 type: Plain text
en: sets B<RES_ROTATE> in I<_res.options>, which causes round-robin selection of name servers from among those listed.  This has the effect of spreading the query load among all listed servers, rather than having all clients try the first listed server first every time.
fr: configure B<RES_ROTATE> dans I<_res.options>, qui provoquera une sélection en tourniquet (« round-robin ») des serveurs de noms parmi ceux qui sont listés. Cela a pour effet de diffuser la requête vers tous les serveurs listés plutôt que tous les clients essayent le premier serveur listé chaque fois.

note: since glibc 2.2 type: Plain text
en: sets B<RES_NOCHECKNAME> in I<_res.options>, which disables the modern BIND checking of incoming hostnames and mail names for invalid characters such as underscore (_), non-ASCII, or control characters.
fr: configure B<RES_NOCHECKNAME> dans I<_res.options>, qui désactive la vérification BIND moderne des noms d'hôtes et de courriers entrants pour les caractères incorrects comme le caractère souligné «\ _\ », les caractères non ASCII ou les caractères de contrôle.

note: Since glibc 2.2 type: Plain text
en: sets B<RES_USE_INET6> in I<_res.options>.  This has the effect of trying a AAAA query before an A query inside the B<gethostbyname>(3)  function, and of mapping IPv4 responses in IPv6 "tunneled form" if no AAAA records are found but an A record set exists.
fr: configure B<RES_USE_INET6> dans I<_res.options>. Cela a pour effet d'essayer une requête AAAA avant une requête A dans la fonction B<gethostbyname>(3), et le mappage des réponses IPv4 dans la « forme tunnellisée » de IPv6 si aucun enregistrement AAAA n'est trouvé mais qu'un enregistrement A existe.

note: type: TP
en: B<ip6-bytestring> (since glibc 2.3.4)
fr: B<ip6-bytestring> (depuis la glibc 2.3.4)

note: type: Plain text
en: sets B<RES_USE_BSTRING> in I<_res.options>.  This causes reverse IPv6 lookups to be made using the bit-label format described in RFC\ 2673; if this option is not set, then nibble format is used.
fr: active B<RES_USE_BSTRING> dans I<_res.options>. Cela implique que les recherche arrières IPv6 sont effectuées avec le format des étiquettes binaires décrit dans la RFC 2673 ; si cette option n'est pas activée, le format nibble est utilisé.

note: type: TP
en: B<ip6-dotint>/B<no-ip6-dotint> (since glibc 2.3.4)
fr: B<ip6-dotint>/B<no-ip6-dotint> (depuis la glibc 2.3.4)

note: type: Plain text
en: Clear/set B<RES_NOIP6DOTINT> in I<_res.options>.  When this option is clear (B<ip6-dotint>), reverse IPv6 lookups are made in the (deprecated)  I<ip6.int> zone; when this option is set (B<no-ip6-dotint>), reverse IPv6 lookups are made in the I<ip6.arpa> zone by default.  This option is set by default.
fr: active ou désactive B<RES_NOIP6DOTINT> dans I<_res.options>. Quand cette option est désactivée (B<ip6-dotint>), les recherches arrières IPv6 sont effectuées dans la zone (obsolète) I<ip6.int> ; quand cette option est activée ((B<no-ip6-dotint>), les recherches arrières IPv6 sont effectuées par défaut dans la zone I<ip6.arpa>. Cette option est activée par défaut.

note: type: TP
en: B<edns0> (since glibc 2.6)
fr: B<edns0> (depuis la glibc 2.6)

note: type: Plain text
en: sets B<RES_USE_EDNSO> in I<_res.options>.  This enables support for the DNS extensions described in RFC\ 2671.
fr: active B<RES_USE_EDNSO> dans I<_res.options>. Cela active la prise en charge des extensions DNS décrites dans la RFC 2671.

note: type: TP
en: B<single-request> (since glibc 2.10)
fr: B<single-request> (depuis la glibc 2.10)

note: type: Plain text
en: sets B<RES_SNGLKUP> in I<_res.options>.  By default, glibc performs IPv4 and IPv6 lookups in parallel since version 2.9.  Some appliance DNS servers cannot handle these queries properly and make the requests time out.  This option disables the behavior and makes glibc perform the IPv6 and IPv4 requests sequentially (at the cost of some slowdown of the resolving process).
fr: active B<RES_SNGLKUP> dans I<_res.options>. Par défaut, la glibc réalise des résolutions IPv4 et IPv6 en parallèle depuis la version 2.9. Certains serveurs d'application DNS ne peuvent pas traiter correctement ces demandes et font expirer les requêtes. Cette option désactive ce comportement et force la glibc à réaliser les requêtes IPv4 et IPv6 de façon séquentielle (au prix de quelques ralentissements du processus de résolution).

note: type: TP
en: B<single-request-reopen> (since glibc 2.9)
fr: B<single-request-reopen> (depuis la glibc 2.9)

note: type: Plain text
en: The resolver uses the same socket for the A and AAAA requests.  Some hardware mistakenly sends back only one reply.  When that happens the client system will sit and wait for the second reply.  Turning this option on changes this behavior so that if two requests from the same port are not handled correctly it will close the socket and open a new one before sending the second request.
fr: La bibliothèque de résolution utilise la même socket pour les requêtes A et AAAA. Certains matériels ne renvoient par erreur qu'une seule réponse. Quand cela arrive, le système client sera bloqué en attendant la deuxième réponse. Activer cette option modifie le comportement, en cas de traitement incorrect de deux requêtes venant du même port, en fermant la socket et en en ouvrant une nouvelle avant d'envoyer la deuxième requête.

note: type: Plain text
en: The I<domain> and I<search> keywords are mutually exclusive.  If more than one instance of these keywords is present, the last instance wins.
fr: Les mots-clés I<domain> et I<search> sont mutuellement exclusifs. Si les deux apparaissent dans le fichier, le dernier gagne.

note: type: Plain text
en: The I<search> keyword of a system's I<resolv.conf> file can be overridden on a per-process basis by setting the environment variable B<LOCALDOMAIN> to a space-separated list of search domains.
fr: Le mot-clé I<search> du fichier I<resolv.conf> du système peut être surchargé indépendamment pour chaque processus en remplissant la variable d'environnement B<LOCALDOMAIN> avec une liste de domaines de recherche séparés par des espaces.

note: type: Plain text
en: The I<options> keyword of a system's I<resolv.conf> file can be amended on a per-process basis by setting the environment variable B<RES_OPTIONS> to a space-separated list of resolver options as explained above under B<options>.
fr: Le mot-clé I<options> du fichier I<resolv.conf> du système peut être surchargé indépendamment pour chaque processus en remplissant la variable d'environnement B<RES_OPTIONS> en une liste d'options de la bibliothèque I<resolver> (séparées par des espaces), comme indiqué à la rubrique B<options> plus haut.

note: type: Plain text
en: The keyword and value must appear on a single line, and the keyword (e.g., B<nameserver>) must start the line.  The value follows the keyword, separated by white space.
fr: Le mot-clé et la valeur doivent apparaître sur une ligne isolée, le mot-clé (ex: B<nameserver>) doit apparaître en début de ligne et il doit être séparé de la valeur par des espaces.

note: type: Plain text
en: Lines that contain a semicolon (;) or hash character (#)  in the first column are treated as comments.
fr: Les lignes qui contiennent un point-virgule (« ; ») ou un dièse (« # ») en première colonne sont traités comme des commentaires.

note: type: TH
en: 2013-03-05
fr: 5 mars 2013

note: type: Plain text
en: res_init, res_query, res_search, res_querydomain, res_mkquery, res_send, dn_comp, dn_expand - resolver routines
fr: resolver, res_init, res_query, res_search, res_querydomain, res_mkquery, res_send, dn_comp, dn_expand - Routines de résolution de noms

note: type: Plain text
en: B<int res_query(const char *>I<dname>B<, int >I<class>B<, int >I<type>B<,>
fr: B<int res_query(const char *>I<dname>B<, int >I<classe>B<, int >I<type>B<,>

note: type: Plain text
en: B<int res_search(const char *>I<dname>B<, int >I<class>B<, int >I<type>B<,>
fr: B<int res_search(const char *>I<dname>B<, int >I<classe>B<, int >I<type>B<,>

note: type: Plain text
en: B<int >I<class>B<, int >I<type>B<, unsigned char *>I<answer>B<,>
    B<int >I<anslen>B<);>
fr: B<int >I<classe>B<, int >I<type>B<, unsigned char *>I<answer>B<, int >I<anslen>B<);>

note: type: Plain text
en: These functions make queries to and interpret the responses from Internet domain name servers.
fr: Ces fonctions interrogent et interprètent les réponses de serveurs de noms Internet.

note: type: Plain text
en: The B<res_init>()  function reads the configuration files (see B<resolv.conf>(5))  to get the default domain name, search order and name server address(es).  If no server is given, the local host is tried.  If no domain is given, that associated with the local host is used.  It can be overridden with the environment variable B<LOCALDOMAIN>.  B<res_init>()  is normally executed by the first call to one of the other functions.
fr: La fonction B<res_init>() lit les fichiers de configuration (consultez B<resolv.conf>(5)) pour obtenir le nom de domaine par défaut, l'ordre de recherche et l'adresse du ou des serveurs de noms. Si aucun serveur n'est donné, l'hôte local est essayé. Si aucun domaine n'est donné, celui associé à l'hôte local est utilisé. Cela peut être surchargé par la variable d'environnement B<LOCALDOMAIN>. B<res_init>() est normalement exécutée lors du premier appel à l'une des autres fonctions.

note: type: Plain text
en: The B<res_query>()  function queries the name server for the fully qualified domain name I<name> of specified I<type> and I<class>.  The reply is left in the buffer I<answer> of length I<anslen> supplied by the caller.
fr: La fonction B<res_query>() interroge le serveur de noms pour le nom de domaine pleinement qualifié I<name> du I<type> indiqué, et de la I<classe> donnée. La réponse est placée dans le tampon I<answer> de longueur I<anslen> qui doit être fourni par l'appelant.

note: type: Plain text
en: The B<res_search>()  function makes a query and waits for the response like B<res_query>(), but in addition implements the default and search rules controlled by B<RES_DEFNAMES> and B<RES_DNSRCH> (see description of I<_res> options below).
fr: La fonction B<res_search>() interroge un serveur, et attend la réponse, comme B<res_query>(), mais implémente de plus les règles de recherche et de valeurs par défaut contrôlées par B<RES_DEFNAMES> et B<RES_DNSRCH> (voir les options de I<_res> plus bas).

note: type: Plain text
en: The B<res_querydomain>()  function makes a query using B<res_query>()  on the concatenation of I<name> and I<domain>.
fr: La fonction B<res_querydomain>() interroge le serveur en appelant B<res_query>() avec la concaténation de I<name> et I<domain>.

note: type: Plain text
en: The following functions are lower-level routines used by B<res_query>().
fr: Les fonctions suivantes sont des routines bas niveau utilisées par B<res_query>().

note: type: Plain text
en: The B<res_mkquery>()  function constructs a query message in I<buf> of length I<buflen> for the domain name I<dname>.  The query type I<op> is usually B<QUERY>, but can be any of the types defined in I<E<lt>arpa/nameser.hE<gt>>.  I<newrr> is currently unused.
fr: La fonction B<res_mkquery>() construit une requête dans I<buf> de longueur I<buflen> concernant le nom de domaine I<dname>. Le type I<op> de requête est généralement B<QUERY>, mais l'un des types définis dans I<E<lt>arpa/nameser.hE<gt>> peut également être utilisé. I<newrr> ne sert à rien actuellement.

note: type: Plain text
en: The B<res_send>()  function sends a preformatted query given in I<msg> of length I<msglen> and returns the answer in I<answer> which is of length I<anslen>.  It will call B<res_init>(), if it has not already been called.
fr: La fonction B<res_send>() envoie une requête préformatée, située dans I<msg> de longueur I<msglen> et renvoie la réponse dans I<answer> qui est de longueur I<anslen>. Elle appelle B<res_init>(), si ça n'a pas encore été fait.

note: type: Plain text
en: The B<dn_comp>()  function compresses the domain name I<exp_dn> and stores it in the buffer I<comp_dn> of length I<length>.  The compression uses an array of pointers I<dnptrs> to previously compressed names in the current message.  The first pointer points to the beginning of the message and the list ends with NULL.  The limit of the array is specified by I<lastdnptr>.  If I<dnptr> is NULL, domain names are not compressed.  If I<lastdnptr> is NULL, the list of labels is not updated.
fr: La fonction B<dn_comp>() compresse le nom de domaine I<exp_dn> et le stocke dans le tampon I<comp_dn> de longueur I<length>. La compression utilise une table de pointeurs I<dnptrs> vers les noms précédemment compressés du message en cours. Le premier pointeur vise le début du message, et la table se termine par NULL. La limite de la table est indiquée par I<lastdnptr>. Si I<dnptr> est NULL, les noms de domaines ne sont pas compressés. Si I<lastdnptr> est NULL, la liste d'étiquettes n'est pas mise à jour.

note: type: Plain text
en: The B<dn_expand>()  function expands the compressed domain name I<comp_dn> to a full domain name, which is placed in the buffer I<exp_dn> of size I<length>.  The compressed name is contained in a query or reply message, and I<msg> points to the beginning of the message.
fr: La fonction B<dn_expand>() développe le nom de domaine compressé I<comp_dn> en un nom de domaine complet, qui est ensuite placé dans le tampon I<exp_dn> de taille I<length>. Le nom compressé est contenu dans une requête, ou dans un message de réponse, et I<msg> pointe sur le début du message.

note: type: Plain text
en: The resolver routines use global configuration and state information contained in the structure I<_res>, which is defined in I<E<lt>resolv.hE<gt>>.  The only field that is normally manipulated by the user is I<_res.options>.  This field can contain the bitwise "OR" of the following options:
fr: Les routines de résolution de noms utilisent une configuration globale et des informations d'état contenues dans la structure I<_res>, définie dans I<E<lt>resolv.hE<gt>>. Le seul champ habituellement manipulé par l'utilisateur est I<_res.options>. Il contient un I<OU binaire> entre les options suivantes\ :

note: type: Plain text
en: True if B<res_init>()  has been called.
fr: Vrai si B<res_init>() a été appelée.

note: See resolv/README. Support for RES_DEBUG was made conditional in glibc 2.2. type: Plain text
en: Print debugging messages.  This option is available only if glibc was built with debugging enabled, which is not the default.
fr: Afficher les messages de débogage. Cette option n'est disponible que si le débogage a été activé lors de la construction la gblic, ce qui n'est pas le cas par défaut.

note: type: Plain text
en: Accept authoritative answers only.  B<res_send>()  continues until it finds an authoritative answer or returns an error.  [Not currently implemented].
fr: N'accepter que les réponses des serveurs faisant autorité. B<res_send>() continue jusqu'à trouver un serveur faisant autorité, ou renvoie une erreur. Pas encore implémenté.

note: type: Plain text
en: Use TCP connections for queries rather than UDP datagrams.
fr: Utiliser des connexions TCP pour les interrogations plutôt que des datagrammes UDP.

note: type: Plain text
en: Query primary domain name server only.
fr: N'interroger que le serveur de domaines primaire.

note: type: Plain text
en: Ignore truncation errors.  Don't retry with TCP.  [Not currently implemented].
fr: Ignorer les erreurs de troncature. Ne pas réessayer avec TCP [pas encore implémenté].

note: type: Plain text
en: Set the recursion desired bit in queries.  Recursion is carried out by the domain name server, not by B<res_send>().  [Enabled by default].
fr: Définir dans les requêtes le bit de récursion. La récursion est prise en charge par le serveur de noms du domaine, et pas par B<res_send>() [activé par défaut].

note: type: Plain text
en: If set, B<res_search>()  will append the default domain name to single component names\(emthat is, those that do not contain a dot.  [Enabled by default].
fr: B<res_search>() ajoutera le nom de domaine par défaut aux noms simples, c'est-à-dire ceux ne contenant pas de point [activé par défaut].

note: type: Plain text
en: Used with B<RES_USEVC> to keep the TCP connection open between queries.
fr: Utilisée avec B<RES_USEVC> pour garder ouverte une connexion TCP entre les interrogations successives.

note: type: Plain text
en: If set, B<res_search>()  will search for hostnames in the current domain and in parent domains.  This option is used by B<gethostbyname>(3).  [Enabled by default].
fr: B<res_search>() recherchera les noms d'hôtes dans le domaine courant, et dans les domaines parents. Cette option est utilisée par B<gethostbyname>(3) [activé par défaut].

note: type: Plain text
en: This list is not complete.  You can find some other flags described in B<resolv.conf>(5).
fr: Cette liste n'est pas exhaustive. D'autres attributs sont décrits dans B<resolv.conf>(5).

note: type: Plain text
en: The B<res_init>()  function returns 0 on success, or -1 if an error occurs.
fr: La fonction B<res_init>() renvoie 0 si elle réussit, ou -1 si une erreur se produit.

note: type: Plain text
en: The B<res_query>(), B<res_search>(), B<res_querydomain>(), B<res_mkquery>()  and B<res_send>()  functions return the length of the response, or -1 if an error occurs.
fr: Les fonctions B<res_query>(), B<res_search>(), B<res_querydomain>(), B<res_mkquery>() et B<res_send>() renvoient la longueur de la réponse, ou -1 si une erreur se produit.

note: type: Plain text
en: The B<dn_comp>()  and B<dn_expand>()  functions return the length of the compressed name, or -1 if an error occurs.
fr: Les fonctions B<dn_comp>() et B<dn_expand>() renvoient la longueur du nom compressé, ou -1 si une erreur se produit.

note: type: Plain text
en: /etc/resolv.conf          resolver configuration file
    /etc/host.conf            resolver configuration file
fr: I</etc/resolv.conf>   Configuration de la résolution de noms.
    I</etc/host.conf>     Configuration de la résolution de noms.

note: type: Plain text
en: 4.3BSD.
fr: BSD\ 4.3.

note: type: TH
en: 2013-09-26
fr: 26 septembre 2013

note: type: Plain text
en: rexec, rexec_af - return stream to a remote command
fr: rewec, rexec_af - Renvoyer un flux sur une commande distante

note: type: Plain text
en: B<#define _BSD_SOURCE>             /* See feature_test_macros(7) */
    B<#include E<lt>netdb.hE<gt>>
fr: B<#define _BSD_SOURCE>             /* Consultez feature_test_macros(7) */
    B<#include E<lt>netdb.hE<gt>>

note: type: Plain text
en: This interface is obsoleted by B<rcmd>(3).
fr: Cette interface est rendue obsolète par B<rcmd>(3).

note: type: Plain text
en: The B<rexec>()  function looks up the host I<*ahost> using B<gethostbyname>(3), returning -1 if the host does not exist.  Otherwise I<*ahost> is set to the standard name of the host.  If a username and password are both specified, then these are used to authenticate to the foreign host; otherwise the environment and then the I<.netrc> file in user's home directory are searched for appropriate information.  If all this fails, the user is prompted for the information.
fr: La fonction B<rexec>() cherche l'hôte I<*ahost> en utilisant B<gethostbyname>(3), elle renvoie -1 si l'hôte n'existe pas. Autrement, I<*ahost> est configuré avec le nom standard de l'hôte. Si un nom d'utilisateur et un mot de passe sont également indiqués, ils sont utilisés pour s'authentifier sur l'hôte\ ; autrement, les informations appropriées sont recherchée dans l'environnement puis dans le fichier I<.netrc> situé dans le répertoire personnel de l'utilisateur. Si cela échoue, les informations sont demandées à l'utilisateur.

note: type: Plain text
en: The port I<inport> specifies which well-known DARPA Internet port to use for the connection; the call I<getservbyname("exec", "tcp")> (see B<getservent>(3))  will return a pointer to a structure that contains the necessary port.  The protocol for connection is described in detail in B<rexecd>(8).
fr: Le port I<inport> indique le port Internet DARPA qui sera utilisé pour la connexion\ ; l'appel I<getservbyname("exec", "tcp")> (consultez B<getservent>(3)) renverra un pointeur sur une structure qui contient le port nécessaire. Le protocole de la connexion est décrit en détails dans B<rexecd>(8).

note: type: Plain text
en: If the connection succeeds, a socket in the Internet domain of type B<SOCK_STREAM> is returned to the caller, and given to the remote command as I<stdin> and I<stdout>.  If I<fd2p> is nonzero, then an auxiliary channel to a control process will be setup, and a descriptor for it will be placed in I<*fd2p>.  The control process will return diagnostic output from the command (unit 2) on this channel, and will also accept bytes on this channel as being UNIX signal numbers, to be forwarded to the process group of the command.  The diagnostic information returned does not include remote authorization failure, as the secondary connection is set up after authorization has been verified.  If I<fd2p> is 0, then the I<stderr> (unit 2 of the remote command) will be made the same as the I<stdout> and no provision is made for sending arbitrary signals to the remote process, although you may be able to get its attention by using out-of-band data.
fr: Si la connexion réussit, une socket dans le domaine Internet de type B<SOCK_STREAM> est renvoyée à l'appelant et est fournie à la commande distante comme I<stdin> et I<stdout>. Si I<fd2p> est non nul, un canal auxiliaire sur un processus de contrôle sera configuré et un descripteur de celui-ci sera placé dans I<*fd2p>. Le processus de contrôle renverra une sortie de diagnostic de la commande (unité 2) sur ce canal et acceptera les octets sur ce même canal comme étant des numéros de signaux UNIX à transmettre au groupe du processus de la commande. L'information de diagnostic n'inclut pas l'échec d'autorisation distante. Une connexion secondaire est configurée après que l'autorisation a été vérifiée. Si I<fd2p> vaut 0, I<stderr> (unité 2 de la commande distante) sera la même que I<stdout> et aucun canal supplémentaire ne sera utilisé pour envoyer des signaux arbitraires au processus distant, bien qu'il soit possible d'obtenir son attention en transmettant des données supplémentaires.

note: type: Plain text
en: The B<rexec>()  function works over IPv4 (B<AF_INET>).  By contrast, the B<rexec_af>()  function provides an extra argument, I<af>, that allows the caller to select the protocol.  This argument can be specified as B<AF_INET>, B<AF_INET6>, or B<AF_UNSPEC> (to allow the implementation to select the protocol).
fr: La fonction B<rexec>() fonctionne en IPv4 (B<AF_INET>). En revanche, la fonction B<rexec_af>() fournit un argument supplémentaire, I<af>, qui permet à l'appelant de sélectionner le protocole. Cet argument peut être indiqué comme B<AF_INET>, B<AF_INET6> ou B<AF_UNSPEC> (pour permettre à l'implémentation de sélectionner le protocole).

note: type: Plain text
en: The B<rexec_af>()  function was added to glibc in version 2.2.
fr: La fonction B<rexec_af>() a été ajoutée dans la version 2.2 de la glibc.

note: type: Plain text
en: The B<rexec>()  and B<rexec_af>()  functions are not thread-safe.
fr: Les fonctions B<rexec>() et B<rexec_af>() ne sont pas sûres dans un contexte multithread.

note: type: Plain text
en: These functions are not in POSIX.1-2001.  The B<rexec>()  function first appeared in 4.2BSD, and is present on the BSDs, Solaris, and many other systems.  The B<rexec_af>()  function is more recent, and less widespread.
fr: Ces fonctions ne sont pas dans POSIX.1-2001. La fonction B<rexec>() est d'abord apparue dans BSD 4.2, et est présente sur BSD, Solaris et bien d'autres systèmes. La fonction B<rexec_af>() est plus récente, donc moins répandue.

note: type: Plain text
en: The B<rexec>()  function sends the unencrypted password across the network.
fr: La fonction B<rexec>() envoie des mots de passe non chiffrés sur le réseau.

note: type: Plain text
en: The underlying service is considered a big security hole and therefore not enabled on many sites; see B<rexecd>(8)  for explanations.
fr: Le service sous-jacent est considéré comme un gros trou de sécurité et ne devrait pas être activé sur bien des machines\ ; consultez B<rexecd>(8) pour plus d'explications.

note: type: TH
en: 2010-05-22
fr: 22 mai 2010

note: type: Plain text
en: services - Internet network services list
fr: services - Liste des services réseau internet

note: type: Plain text
en: B<services> is a plain ASCII file providing a mapping between human-friendly textual names for internet services, and their underlying assigned port numbers and protocol types.  Every networking program should look into this file to get the port number (and protocol) for its service.  The C library routines B<getservent>(3), B<getservbyname>(3), B<getservbyport>(3), B<setservent>(3), and B<endservent>(3)  support querying this file from programs.
fr: B<services> est un fichier texte ASCII fournissant une correspondance entre des noms textuels faciles à mémoriser pour les services et les numéros de ports qui leur sont assignés, ainsi que les types de protocoles. Chaque programme en relation avec le réseau peut consulter ce fichier pour obtenir le numéro de port (et le protocole) pour ses services. Les programmes de la bibliothèque C B<getservent>(3), B<getservbyname>(3), B<getservbyport>(3), B<setservent>(3) et B<endservent>(3) permettent d'effectuer des requêtes dans ce fichier à partir de programmes.

note: type: Plain text
en: Port numbers are assigned by the IANA (Internet Assigned Numbers Authority), and their current policy is to assign both TCP and UDP protocols when assigning a port number.  Therefore, most entries will have two entries, even for TCP-only services.
fr: Les numéros de ports sont assignés par l'IANA (Internet Assigned Numbers Authority), et la politique actuelle est, lors de l'assignation d'un numéro de port, d'assigner à la fois les protocoles TCP et UDP. En conséquence, la plupart des entrées sont en double, même pour les services qui n'existent qu'en TCP.

note: type: Plain text
en: Port numbers below 1024 (so-called "low numbered" ports) can be bound to only by root (see B<bind>(2), B<tcp>(7), and B<udp>(7)).  This is so clients connecting to low numbered ports can trust that the service running on the port is the standard implementation, and not a rogue service run by a user of the machine.  Well-known port numbers specified by the IANA are normally located in this root-only space.
fr: Les numéros de ports inférieurs à 1024 (encore appelés ports « bas » (low numbered)) ne peuvent être liés que par le superutilisateur (consultez B<bind>(2), B<tcp>(7) et B<udp>(7)). De cette manière, les clients qui se connectent à ces ports peuvent être certains que le service qui tourne sur le port est conforme à son implémentation standard et non pas un service pirate lancé par un utilisateur de la machine. Les numéros de ports habituels, spécifiés par l'IANA, sont normalement placés dans cet endroit réservé au superutilisateur.

note: type: Plain text
en: The presence of an entry for a service in the B<services> file does not necessarily mean that the service is currently running on the machine.  See B<inetd.conf>(5)  for the configuration of Internet services offered.  Note that not all networking services are started by B<inetd>(8), and so won't appear in B<inetd.conf>(5).  In particular, news (NNTP) and mail (SMTP) servers are often initialized from the system boot scripts.
fr: La présence dans le fichier B<services> d'une entrée pour un service ne signifie pas forcément que ce service est actuellement actif sur la machine. Consultez B<inetd.conf>(5) pour la configuration des services Internet offerts. Notez que tous les services réseau ne sont pas démarrés par B<inetd>(8), et qu'ils n'apparaîtront donc pas dans B<inetd.conf>(5). En particulier, les serveurs de nouvelles (NNTP) et de courrier électronique (SMTP) sont souvent initialisés depuis les scripts d'initialisation du système.

note: type: Plain text
en: The location of the B<services> file is defined by B<_PATH_SERVICES> in I<E<lt>netdb.hE<gt>>.  This is usually set to I</etc/services>.
fr: L'emplacement du fichier B<services> est défini par B<_PATH_SERVICES> dans I<E<lt>netdb.hE<gt>>. Il est habituellement défini à I</etc/services>

note: type: Plain text
en: Each line describes one service, and is of the form:
fr: Chaque ligne décrit un service, elle est de la forme :

note: type: Plain text
en: I<service-name\ \ \ port>B</>I<protocol\ \ \ >[I<aliases ...>]
fr: I<nom_de_service\ \ \ port>B</>I<protocole\ \ \ >[I<alias ...>]

note: type: TP
en: where:
fr: où :

note: type: TP
en: I<service-name>
fr: I<nom_de_service>

note: type: Plain text
en: is the friendly name the service is known by and looked up under.  It is case sensitive.  Often, the client program is named after the I<service-name>.
fr: est le nom facilement compréhensible par lequel ce service est connu et recherché. Il est sensible à la casse. Souvent, le programme client est appelé du même nom que I<nom_de_service>

note: type: Plain text
en: is the port number (in decimal) to use for this service.
fr: est le numéro de port (en décimal) à utiliser pour ce service.

note: type: Plain text
en: is the type of protocol to be used.  This field should match an entry in the B<protocols>(5)  file.  Typical values include B<tcp> and B<udp>.
fr: est le type de protocole utilisé. Ce champ doit correspondre à une entrée du fichier B<protocols>(5). Des valeurs typiques sont B<tcp> et B<udp>.

note: type: Plain text
en: is an optional space or tab separated list of other names for this service.  Again, the names are case sensitive.
fr: est une liste optionnelle des autres noms pour ce service, séparés par un espace ou un caractère de tabulation. Là encore, les noms sont sensibles à la casse.

note: type: Plain text
en: Either spaces or tabs may be used to separate the fields.
fr: Les champs sont séparés soit par des espaces soit par des tabulations.

note: type: Plain text
en: Comments are started by the hash sign (#) and continue until the end of the line.  Blank lines are skipped.
fr: Les commentaires débutent par un signe « # » et se poursuivent jusqu'à la fin de la ligne. Les lignes vierges sont ignorées.

note: type: Plain text
en: The I<service-name> should begin in the first column of the file, since leading spaces are not stripped.  I<service-names> can be any printable characters excluding space and tab.  However, a conservative choice of characters should be used to minimize compatibility problems.  E.g., a-z, 0-9, and hyphen (-) would seem a sensible choice.
fr: Comme les espaces de tête ne sont pas éliminés, le I<nom_de_service> doit commencer à la première colonne du fichier. I<nom_de_service> peut comporter n'importe quel caractère imprimable à l'exclusion des caractères d'espacement et de tabulation. Cependant, un nombre restreint de caractères devrait être utilisé afin de minimiser les problèmes de compatibilité. Par ex., a-z, 0-9 et le tiret (-) semble être un choix raisonnable.

note: type: Plain text
en: Lines not matching this format should not be present in the file.  (Currently, they are silently skipped by B<getservent>(3), B<getservbyname>(3), and B<getservbyport>(3).  However, this behavior should not be relied on.)
fr: Les lignes qui ne correspondent pas à ce format ne devraient pas se trouver dans ce fichier. (Actuellement, elle sont ignorées silencieusement par B<getservent>(3), B<getservbyname>(3) et B<getservbyport>(3). Ce comportement n'est cependant pas garanti).

note: type: Plain text
en: A sample B<services> file might look like this:
fr: Un exemple de fichier B<services> pourrait ressembler à ceci :

note: type: Plain text
en: CW<netstat         15/tcp
    qotd            17/tcp          quote
    msp             18/tcp          # message send protocol
    msp             18/udp          # message send protocol
    chargen         19/tcp          ttytst source
    chargen         19/udp          ttytst source
    ftp             21/tcp
    # 22 - unassigned
    telnet          23/tcp>
fr: CW<netstat         15/tcp
    qotd            17/tcp          quote
    msp             18/tcp          # protocole d'envoi de message
    msp             18/udp          # protocole d'envoi de message
    chargen         19/tcp          source ttytst
    chargen         19/udp          source ttytst
    ftp             21/tcp
    # 22 - non assigné
    telnet          23/tcp>

note: type: Plain text
en: The Internet network services list
fr: Liste des services réseau Internet

note: .SH BUGS It's not clear when/if the following was ever true; it isn't true for glibc 2.8: There is a maximum of 35 aliases, due to the way the .BR getservent (3) code is written. Lines longer than .B BUFSIZ (currently 1024) characters will be ignored by .BR getservent (3), .BR getservbyname (3), and
en: Definition of B<_PATH_SERVICES>
fr: Définition de B<_PATH_SERVICES>

note: type: Plain text
en: Assigned Numbers RFC, most recently RFC\ 1700, (AKA STD0002).
fr: Numéros de RFC assignés, la plus récente est la RFC 1700 (STD0002).

note: type: TH
en: 2007-07-26
fr: 26 juillet 2007

note: type: Plain text
en: setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr - handle network group entries
fr: setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr - Gérer les entrées du groupe réseau

note: type: Plain text
en: B<setnetgrent>(), B<endnetgrent>(), B<getnetgrent>(), B<getnetgrent_r>(), B<innetgr>(): _BSD_SOURCE || _SVID_SOURCE
fr: B<setnetgrent>(), B<endnetgrent>(), B<getnetgrent>(), B<getnetgrent_r>(), B<innetgr>() : _BSD_SOURCE || _SVID_SOURCE

note: type: Plain text
en: The I<netgroup> is a SunOS invention.  A netgroup database is a list of string triples (I<hostname>, I<username>, I<domainname>)  or other netgroup names.  Any of the elements in a triple can be empty, which means that anything matches.  The functions described here allow access to the netgroup databases.  The file I</etc/nsswitch.conf> defines what database is searched.
fr: Le I<groupe_réseau> est une invention SunOS. Une base de données «\ groupe_réseau\ » est une liste de triplets de chaînes (I<nom_hôte>, I<nom_utilisateur>, I<nom_domaine>) ou d'autres noms «\ groupe_réseau\ ». Chacun des éléments dans un triplet peut être vide, ce qui signifie que tout correspond. Les fonctions décrites ici permettent d'accéder aux bases de données «\ groupe_réseau\ ». Le fichier I</etc/nsswitch.conf> contient la base dans laquelle les recherches sont effectuées.

note: type: Plain text
en: The B<setnetgrent>()  call defines the netgroup that will be searched by subsequent B<getnetgrent>()  calls.  The B<getnetgrent>()  function retrieves the next netgroup entry, and returns pointers in I<host>, I<user>, I<domain>.  A null pointer means that the corresponding entry matches any string.  The pointers are valid only as long as there is no call to other netgroup-related functions.  To avoid this problem you can use the GNU function B<getnetgrent_r>()  that stores the strings in the supplied buffer.  To free all allocated buffers use B<endnetgrent>().
fr: L'appel B<setnetgrent>() définit le «\ groupe_réseau\ » dans lequel un appel B<getnetgrent>() ultérieur sera recherché. La fonction B<getnetgrent>() trouve l'entrée «\ groupe_réseau\ » suivante et renvoie des pointeurs sur I<hôte>, I<utilisateur>, I<domaine>. Un pointeur nul signifie que l'entrée correspondante ne concorde avec aucune chaîne. Les pointeurs sont valables tant qu'il n'y a pas d'appel à d'autres fonctions relatives au «\ groupe_réseau\ ». Pour éviter ce problème, vous pouvez utiliser la fonction GNU B<getnetgrent_r>() qui enregistre les chaînes dans le tampon fourni. Pour libérer tous les tampons alloués, utilisez B<endnetgrent>().

note: type: Plain text
en: In most cases you want to check only if the triplet (I<hostname>, I<username>, I<domainname>)  is a member of a netgroup.  The function B<innetgr>()  can be used for this without calling the above three functions.  Again, a null pointer is a wildcard and matches any string.  The function is thread-safe.
fr: Dans la plupart des cas, vous voudrez seulement vérifier si le triplet I<(nom_hôte>, I<nom_utilisateur>, I<nom_domaine)> est membre d'un groupe réseau. La fonction B<innetgr>() peut être utilisée pour faire cela sans faire appel aux trois fonctions précédentes. De nouveau, un pointeur nul est un joker (Ndt\ : wildcard) et correspond à n'importe quelle chaîne. La fonction est sûre du point de vue des threads.

note: type: Plain text
en: These functions return 1 on success and 0 for failure.
fr: Ces fonctions renvoient 1 si elles réussissent et 0 si elles échouent.

note: getnetgrent_r() is on Solaris 8 and AIX 5.1, but not the BSDs. type: Plain text
en: These functions are not in POSIX.1-2001, but B<setnetgrent>(), B<endnetgrent>(), B<getnetgrent>(), and B<innetgr>()  are available on most UNIX systems.  B<getnetgrent_r>()  is not widely available on other systems.
fr: Ces fonctions ne sont pas dans POSIX.1-2001, mais B<setnetgrent>(), B<endnetgrent>(), B<getnetgrent>() et B<innetgr>() sont disponibles sur la plupart des systèmes UNIX. B<getnetgrent_r>() n'est pas très répandu sur les autres systèmes.

note: type: Plain text
en: In the BSD implementation, B<setnetgrent>()  returns void.
fr: Dans l'implémentation BSD, B<setnetgrent>() renvoie void.

note: type: TH
en: 2012-09-06
fr: 6 septembre 2012

note: type: Plain text
en: shutdown - shut down part of a full-duplex connection
fr: shutdown - Terminer une communication en full-duplex

note: type: Plain text
en: The B<shutdown>()  call causes all or part of a full-duplex connection on the socket associated with I<sockfd> to be shut down.  If I<how> is B<SHUT_RD>, further receptions will be disallowed.  If I<how> is B<SHUT_WR>, further transmissions will be disallowed.  If I<how> is B<SHUT_RDWR>, further receptions and transmissions will be disallowed.
fr: La fonction B<shutdown>() termine tout ou partie d'une connexion full-duplex sur la socket I<sockfd>. Si I<how> vaut B<SHUT_RD>, la réception est désactivée. Si I<how> vaut B<SHUT_WR>, l'émission est désactivée. Si I<how> vaut B<SHUT_RDWR>, l'émission et la réception sont désactivées.

note: type: Plain text
en: I<sockfd> is not a valid descriptor.
fr: I<sockfd> n'est pas un descripteur valable.

note: type: Plain text
en: An invalid value was specified in I<how> (but see BUGS).
fr: Une valeur incorrecte a été indiquée dans I<how> (mais consultez B<BOGUES>).

note: type: Plain text
en: The specified socket is not connected.
fr: La socket indiquée n'est pas connectée.

note: type: Plain text
en: I<sockfd> is a file, not a socket.
fr: I<sockfd> est un fichier, pas une socket.

note: type: Plain text
en: POSIX.1-2001, 4.4BSD (the B<shutdown>()  function call first appeared in 4.2BSD).
fr: POSIX.1-2001, BSD\ 4.4. La fonction B<shutdown>() est apparue dans BSD\ 4.2.

note: type: Plain text
en: The constants B<SHUT_RD>, B<SHUT_WR>, B<SHUT_RDWR> have the value 0, 1, 2, respectively, and are defined in I<E<lt>sys/socket.hE<gt>> since glibc-2.1.91.
fr: Les constantes B<SHUT_RD>, B<SHUT_WR>, B<SHUT_RDWR> ont pour valeur 0, 1, et 2 respectivement, et sont définies dans I<E<lt>sys/socket.hE<gt>> depuis la glibc-2.1.91.

note: FIXME https://bugzilla.kernel.org/show_bug.cgi?id=47111 type: Plain text
en: As currently implemented, checks for the validity of I<how> are done in domain-specific code, and not all domains perform these checks.  Most notably, UNIX domain sockets simply ignore invalid values; this may change in the future.
fr: Tel qu'elles sont actuellement implémentées, les vérifications de validité pour I<how> sont faites dans le code spécifique au domaine, et tous les domaines ne réalisent pas ces vérifications. La plupart, en particulier les sockets du domaine UNIX, ignorent simplement les valeurs incorrectes ; cela pourrait changer un jour.

note: type: TH
en: 2014-03-31
fr: 31 mars 2014

note: type: Plain text
en: tcp - TCP protocol
fr: tcp - Protocole TCP

note: type: Plain text
en: This is an implementation of the TCP protocol defined in RFC\ 793, RFC\ 1122 and RFC\ 2001 with the NewReno and SACK extensions.  It provides a reliable, stream-oriented, full-duplex connection between two sockets on top of B<ip>(7), for both v4 and v6 versions.  TCP guarantees that the data arrives in order and retransmits lost packets.  It generates and checks a per-packet checksum to catch transmission errors.  TCP does not preserve record boundaries.
fr: Il s'agit d'une implémentation du protocole TCP défini dans les RFC\ 793, RFC\ 1122 et RFC\ 2001 avec les extensions SACK et NewReno. Cela fournit une connexion full-duplex fiable orientée flux entre deux sockets au-dessus de B<ip>(7), version 4 et 6. TCP garantit que les données arrivent dans l'ordre et assure la retransmission des paquets perdus. Il calcule et vérifie une somme de contrôle par paquet pour détecter les erreurs de transmission. TCP ne préserve pas les limites des enregistrements.

note: type: Plain text
en: A newly created TCP socket has no remote or local address and is not fully specified.  To create an outgoing TCP connection use B<connect>(2)  to establish a connection to another TCP socket.  To receive new incoming connections, first B<bind>(2)  the socket to a local address and port and then call B<listen>(2)  to put the socket into the listening state.  After that a new socket for each incoming connection can be accepted using B<accept>(2).  A socket which has had B<accept>(2)  or B<connect>(2)  successfully called on it is fully specified and may transmit data.  Data cannot be transmitted on listening or not yet connected sockets.
fr: Une socket TCP neuve n'a pas d'adresse locale ou distante et n'est pas complètement définie. Pour créer une connexion TCP sortante, utilisez B<connect>(2) pour établir la connexion sur une autre socket TCP. Pour recevoir les connexions entrantes, attachez d'abord la socket avec B<bind>(2) à une adresse locale et un port, puis appelez B<listen>(2) pour mettre la socket dans un état d'attente. Après cela, une nouvelle socket peut être obtenue pour chaque connexion entrante en utilisant B<accept>(2). Une socket sur laquelle B<accept>(2) ou B<connect>(2) ont été appelé correctement est complètement définie et peut transmettre des données. Les données ne peuvent pas circuler sur les socket en attente ou non connectées.

note: type: Plain text
en: Linux supports RFC\ 1323 TCP high performance extensions.  These include Protection Against Wrapped Sequence Numbers (PAWS), Window Scaling and Timestamps.  Window scaling allows the use of large (E<gt> 64K) TCP windows in order to support links with high latency or bandwidth.  To make use of them, the send and receive buffer sizes must be increased.  They can be set globally with the I</proc/sys/net/ipv4/tcp_wmem> and I</proc/sys/net/ipv4/tcp_rmem> files, or on individual sockets by using the B<SO_SNDBUF> and B<SO_RCVBUF> socket options with the B<setsockopt>(2)  call.
fr: Linux prend en charge les extensions TCP à hautes performances RFC\ 1323. Cela inclut la protection contre les numéros de séquence bouclant (PAWS), la modification de fenêtre («\ Window Scaling\ ») et les horodatages («\ timestamps\ »). Le Window Scaling permet d'utiliser des fenêtres TCP larges (E<gt> 64K) pour gérer les liaisons avec une latence ou une bande passante élevées. Pour les utiliser, les tailles des tampons d'émission et de réception doivent être augmentées. Ils peuvent être définis globalement avec les fichiers I</proc/sys/net/ipv4/tcp_wmem> et I</proc/sys/net/ipv4/tcp_rmem> ou individuellement sur les sockets avec les options B<SO_SNDBUF> et B<SO_RCVBUF> de l'appel système B<setsockopt>(2).

note: type: Plain text
en: The maximum sizes for socket buffers declared via the B<SO_SNDBUF> and B<SO_RCVBUF> mechanisms are limited by the values in the I</proc/sys/net/core/rmem_max> and I</proc/sys/net/core/wmem_max> files.  Note that TCP actually allocates twice the size of the buffer requested in the B<setsockopt>(2)  call, and so a succeeding B<getsockopt>(2)  call will not return the same size of buffer as requested in the B<setsockopt>(2)  call.  TCP uses the extra space for administrative purposes and internal kernel structures, and the I</proc> file values reflect the larger sizes compared to the actual TCP windows.  On individual connections, the socket buffer size must be set prior to the B<listen>(2)  or B<connect>(2)  calls in order to have it take effect.  See B<socket>(7)  for more information.
fr: Les tailles maximales pour les tampons déclarés à l’aide de B<SO_SNDBUF> et B<SO_RCVBUF> sont limitées par les valeurs des fichiers I</proc/sys/net/core/rmem_max> et I</proc/sys/net/core/wmem_max>. Notez que TCP alloue en fait deux fois plus de place que la taille demandée avec l'appel B<setsockopt>(2), et qu'un appel B<getsockopt>(2) réussi ne renverra pas la même taille de tampon que celle réclamée dans le B<setsockopt>(2). TCP les utilise à des fins administratives et pour des structures internes du noyau, et les valeurs des fichiers de I</proc> renvoient des tailles supérieures à celle des véritables fenêtres TCP. Pour les connexions individuelles, la taille du tampon doit être définie avant les appels B<listen>(2) ou B<connect>(2) pour qu'elle soit prise en compte. Consultez B<socket>(7) pour plus de détails.

note: type: Plain text
en: TCP supports urgent data.  Urgent data is used to signal the receiver that some important message is part of the data stream and that it should be processed as soon as possible.  To send urgent data specify the B<MSG_OOB> option to B<send>(2).  When urgent data is received, the kernel sends a B<SIGURG> signal to the process or process group that has been set as the socket "owner" using the B<SIOCSPGRP> or B<FIOSETOWN> ioctls (or the POSIX.1-2001-specified B<fcntl>(2)  B<F_SETOWN> operation).  When the B<SO_OOBINLINE> socket option is enabled, urgent data is put into the normal data stream (a program can test for its location using the B<SIOCATMARK> ioctl described below), otherwise it can be received only when the B<MSG_OOB> flag is set for B<recv>(2)  or B<recvmsg>(2).
fr: TCP permet de d'indiquer des données urgentes. Elles signalent au récepteur qu'un message important est dans le flux de données et qu'il doit être traité le plus tôt possible. Pour envoyer des données urgentes, indiquez l'option B<MSG_OOB> de B<send>(2). Quand des données urgentes sont reçues, le noyau envoie un signal B<SIGURG> au processus ou au groupe de processus qui a été indiqué comme propriétaire de la socket avec les ioctls B<SIOCSPGRP> ou B<FIOSETOWN> (ou l'opération B<F_SETOWN> de B<fcntl>(2), spécifiée par POSIX.1-2001). Quand l'option de socket B<SO_OOBINLINE> est validée, les données urgentes sont mises dans le flux de données normal (et peuvent être détectées avec l'ioctl B<SIOCATMARK>), sinon, elles ne peuvent être reçues que lorsque l'attribut B<MSG_OOB> est positionné pour B<recv>(2) ou B<recvmsg>(2).

note: type: Plain text
en: Linux 2.4 introduced a number of changes for improved throughput and scaling, as well as enhanced functionality.  Some of these features include support for zero-copy B<sendfile>(2), Explicit Congestion Notification, new management of TIME_WAIT sockets, keep-alive socket options and support for Duplicate SACK extensions.
fr: Linux 2.4 a introduit un certain nombre de changements pour améliorer le débit et l'extensibilité, ainsi que des fonctionnalités améliorées. Certaines de ces fonctions incluent la prise en charge d'émission sans copie avec B<sendfile>(2), la notification de congestion explicite (ECN), la nouvelle gestion des sockets TIME_WAIT, les options « keep-alive » et la prise en charge des extensions SACK dupliqués.

note: type: SS
en: Address formats
fr: Formats d'adresse

note: type: Plain text
en: TCP is built on top of IP (see B<ip>(7)).  The address formats defined by B<ip>(7)  apply to TCP.  TCP supports point-to-point communication only; broadcasting and multicasting are not supported.
fr: TCP est construit au-dessus de IP (consultez B<ip>(7)). Les formats d'adresse définis pour B<ip>(7) s'appliquent pour TCP. TCP ne gère que les communications point-à-point. Le broadcast et le multicast ne sont pas gérés.

note: type: Plain text
en: System-wide TCP parameter settings can be accessed by files in the directory I</proc/sys/net/ipv4/>.  In addition, most IP I</proc> interfaces also apply to TCP; see B<ip>(7).  Variables described as I<Boolean> take an integer value, with a nonzero value ("true") meaning that the corresponding option is enabled, and a zero value ("false")  meaning that the option is disabled.
fr: Les paramètres TCP du système sont accessibles avec les fichiers du répertoire I</proc/sys/net/ipv4/>. De plus, la plupart des interfaces I</proc> d'IP s'appliquent à TCP. Consultez B<ip>(7). Les variables indiquées comme I<booléen>nes prennent une valeur entière, une valeur non nulle indiquant que l'option est active, une valeur nulle indiquant que l'option est inactive.

note: type: TP
en: I<tcp_abc> (Integer; default: 0; since Linux 2.6.15)
fr: I<tcp_abc> (entier ; 0 par défaut ; depuis Linux 2.6.15)

note: The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt type: Plain text
en: Control the Appropriate Byte Count (ABC), defined in RFC 3465.  ABC is a way of increasing the congestion window (I<cwnd>)  more slowly in response to partial acknowledgments.  Possible values are:
fr: Contrôler l'ABC (« Appropriate Byte Count » : décompte d'octets approprié), défini dans la RFC 3465. ABC est une façon d'augmenter la fenêtre de congestion (I<cwnd> : « congestion window) plus lentement en réponse à des acquittements partiels. Les valeurs possibles sont :

note: type: Plain text
en: increase I<cwnd> once per acknowledgment (no ABC)
fr: augment I<cwnd> une fois par acquittement (pas d'ABC)

note: type: Plain text
en: increase I<cwnd> once per acknowledgment of full sized segment
fr: augmenter I<cwnd> une fois par acquittement d'un paquet complet

note: type: Plain text
en: allow increase I<cwnd> by two if acknowledgment is of two segments to compensate for delayed acknowledgments.
fr: permettre l'augmentation de I<cwnd> par deux si l'acquittement correspond à deux segments, pour compenser les acquittements avec délais.

note: type: TP
en: I<tcp_abort_on_overflow> (Boolean; default: disabled; since Linux 2.4)
fr: I<tcp_abort_on_overflow> (booléen ; désactivé par défaut ; depuis Linux 2.4)

note: Since 2.3.41 type: Plain text
en: Enable resetting connections if the listening service is too slow and unable to keep up and accept them.  It means that if overflow occurred due to a burst, the connection will recover.  Enable this option I<only> if you are really sure that the listening daemon cannot be tuned to accept connections faster.  Enabling this option can harm the clients of your server.
fr: Valider la réinitialisation des connexions si le service en écoute est trop lent et incapable de les traiter et les accepter. Cela signifie que si un débordement se produit à cause d'une surcharge temporaire, la connexion va se rattraper. N'activez cette option que si vous êtes SÛRS que le démon en écoute ne peut pas être configuré pour accepter les connexions plus vite. Cette option peut désorienter les clients de votre serveur.

note: type: TP
en: I<tcp_adv_win_scale> (integer; default: 2; since Linux 2.4)
fr: I<tcp_adv_win_scale> (entier ; 2 par défaut ; depuis Linux 2.4)

note: Since 2.4.0-test7 type: Plain text
en: Count buffering overhead as I<bytes/2^tcp_adv_win_scale>, if I<tcp_adv_win_scale> is greater than 0; or I<bytes-bytes/2^(-tcp_adv_win_scale)>, if I<tcp_adv_win_scale> is less than or equal to zero.
fr: Calculer le surplus du tampon comme I<bytes/2^tcp_adv_win_scale>, si I<tcp_adv_win_scale> est supérieur à 0 ; ou I<bytes-bytes/2^(-tcp_adv_win_scale)>, si I<tcp_adv_win_scale> est inférieur ou égal à zéro.

note: type: Plain text
en: The socket receive buffer space is shared between the application and kernel.  TCP maintains part of the buffer as the TCP window, this is the size of the receive window advertised to the other end.  The rest of the space is used as the "application" buffer, used to isolate the network from scheduling and application latencies.  The I<tcp_adv_win_scale> default value of 2 implies that the space used for the application buffer is one fourth that of the total.
fr: L'espace du tampon de réception de la socket est partagé entre l'application et le noyau. TCP conserve une portion du tampon en tant que fenêtre TCP, c'est la taille de la fenêtre de réception indiquée au correspondant. Le reste de cet espace est utilisé comme tampon d'«\ application\ », pour isoler le réseau des latences de l'ordonnanceur et de l'application. La valeur par défaut (2) de I<tcp_adv_win_scale> indique que l'espace utilisé pour le tampon d'application est un quart de l'espace total.

note: type: TP
en: I<tcp_allowed_congestion_control> (String; default: see text; since Linux 2.4.20)
fr: I<tcp_allowed_congestion_control> (chaîne ; voir le texte pour la valeur par défaut ; depuis Linux 2.4.20)

note: The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt type: Plain text
en: Show/set the congestion control algorithm choices available to unprivileged processes (see the description of the B<TCP_CONGESTION> socket option).  The items in the list are separated by white space and terminated by a newline character.  The list is a subset of those listed in I<tcp_available_congestion_control>.  The default value for this list is "reno" plus the default setting of I<tcp_congestion_control>.
fr: Afficher ou définir les choix d'algorithmes de contrôle de congestion disponibles pour les processus non privilégiés (consultez la description de l'option B<TCP_CONGESTION> pour les sockets). Les éléments de la liste sont séparés par des espaces et terminés par un caractère de changement de ligne. La liste est un sous-ensemble des algorithmes de la liste I<tcp_available_congestion_control>. La valeur par défaut est « reno » plus le paramètre par défaut de I<tcp_congestion_control>.

note: type: TP
en: I<tcp_autocorking> (Boolean; default: enabled; since Linux 3.14)
fr: I<tcp_autocorking> (booléen ; activé par défaut ; depuis Linux 3.14)

note: commit f54b311142a92ea2e42598e347b84e1655caf8e3 Text heavily based on Documentation/networking/ip-sysctl.txt type: Plain text
en: If this option is enabled, the kernel tries to coalesce small writes (from consecutive B<write>(2)  and B<sendmsg>(2)  calls) as much as possible, in order to decrease the total number of sent packets.  Coalescing is done if at least one prior packet for the flow is waiting in Qdisc queues or device transmit queue.  Applications can still use the B<TCP_CORK> socket option to obtain optimal behavior when they know how/when to uncork their sockets.
fr: Si cette option est active, le noyau essaie de grouper les petites écritures (issues d'appels consécutifs à B<write>(2) et B<sendmsg>(2)) autant que possible, afin de diminuer le nombre total de paquets envoyés. La fusion est effectuée si au moins un paquet est en attent dans les files Qdisc ou d'émission du périphérique. Les applications peuvent utiliser l'option de socket B<TCP_CORK> afin de contrôler comment et quand désactiver ce comportement.

note: type: TP
en: I<tcp_available_congestion_control> (String; read-only; since Linux 2.4.20)
fr: I<tcp_available_congestion_control> (chaîne ; lecture seule ; depuis Linux 2.4.20)

note: The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt type: Plain text
en: Show a list of the congestion-control algorithms that are registered.  The items in the list are separated by white space and terminated by a newline character.  This list is a limiting set for the list in I<tcp_allowed_congestion_control>.  More congestion-control algorithms may be available as modules, but not loaded.
fr: Afficher une liste des algorithmes de contrôle de congestion qui sont enregistrés. Les éléments de la liste sont séparés par des espaces et terminés par un caractère de changement de ligne. Cette liste limite l'ensemble des algorithmes permis pour la liste I<tcp_allowed_congestion_control>. Plus d'algorithmes de contrôle de congestion peuvent être disponible sous forme de modules, mais non chargés.

note: type: TP
en: I<tcp_app_win> (integer; default: 31; since Linux 2.4)
fr: I<tcp_app_win> (entier ; 31 par défaut ; depuis Linux 2.4)

note: Since 2.4.0-test7 type: Plain text
en: This variable defines how many bytes of the TCP window are reserved for buffering overhead.
fr: Cette variable définit combien d'octets de la fenêtre TCP sont réservés pour le surplus de tampon.

note: The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt type: Plain text
en: A maximum of (I<window/2^tcp_app_win>, mss) bytes in the window are reserved for the application buffer.  A value of 0 implies that no amount is reserved.
fr: Un maximum de (I<fenetre/2^tcp_app_win>, mss) octets de la fenêtre est réservé pour le tampon d'application. Une valeur nulle indique qu'aucune portion n'est réservée.

note: type: TP
en: I<tcp_base_mss> (Integer; default: 512; since Linux 2.6.17)
fr: I<tcp_base_mss> (entier ; 512 par défaut ; depuis Linux 2.6.17)

note: The following is from 2.6.12: Documentation/networking/ip-sysctl.txt type: Plain text
en: The initial value of I<search_low> to be used by the packetization layer Path MTU discovery (MTU probing).  If MTU probing is enabled, this is the initial MSS used by the connection.
fr: La valeur initiale de I<search_low> à utiliser pour la découverte du MTU du chemin dans la couche de transport (mise en paquets). Si la découverte du MTU est activée, il s'agit du MSS de départ utilisé par la connexion.

note: type: TP
en: I<tcp_bic> (Boolean; default: disabled; Linux 2.4.27/2.6.6 to 2.6.13)
fr: I<tcp_bic> (booléen ; désactivé par défaut ; Linux 2.4.27/2.6.6 à 2.6.13)

note: The following is from 2.6.12: Documentation/networking/ip-sysctl.txt type: Plain text
en: Enable BIC TCP congestion control algorithm.  BIC-TCP is a sender-side only change that ensures a linear RTT fairness under large windows while offering both scalability and bounded TCP-friendliness.  The protocol combines two schemes called additive increase and binary search increase.  When the congestion window is large, additive increase with a large increment ensures linear RTT fairness as well as good scalability.  Under small congestion windows, binary search increase provides TCP friendliness.
fr: Activer l'algorithme de contrôle de congestion TCP BIC. BIC-TCP est une modification côté émetteur qui assure une linéarité du RTT (Délai d'aller-retour, «\ Round-Trip Time\ ») avec de grandes fenêtres, tout en permettant un passage à l'échelle et en se bornant à la compatibilité TCP. Le protocole combine deux effets appelés augmentation additive et recherche binaire. Lorsque la fenêtre de congestion est grande, l'augmentation additive avec un incrément grand assure une linéarité du RTT et un bon passage à l'échelle. Avec des petites fenêtres de congestion, la recherche binaire fournit une compatibilité TCP.

note: type: TP
en: I<tcp_bic_low_window> (integer; default: 14; Linux 2.4.27/2.6.6 to 2.6.13)
fr: I<tcp_bic_low_window> (entier ; 14 par défaut ; Linux 2.4.27/2.6.6 à 2.6.13)

note: The following is from 2.6.12: Documentation/networking/ip-sysctl.txt type: Plain text
en: Set the threshold window (in packets) where BIC TCP starts to adjust the congestion window.  Below this threshold BIC TCP behaves the same as the default TCP Reno.
fr: Corriger la fenêtre limite (en paquets) pour laquelle BIC TCP commence à ajuster la fenêtre de congestion. Sous cette limite, BIC TCP se comporte comme l'algorithme TCP Reno par défaut.

note: type: TP
en: I<tcp_bic_fast_convergence> (Boolean; default: enabled; Linux 2.4.27/2.6.6 to 2.6.13)
fr: I<tcp_bic_fast_convergence> (booléen ; activé par défaut ; Linux 2.4.27/2.6.6 à 2.6.13)

note: type: Plain text
en: Force BIC TCP to more quickly respond to changes in congestion window.  Allows two flows sharing the same connection to converge more rapidly.
fr: Forcer BIC TCP à répondre plus vite aux changements de fenêtre de congestion. Permet à deux flux partageant la même connexion de converger plus vite.

note: type: TP
en: I<tcp_congestion_control> (String; default: see text; since Linux 2.4.13)
fr: I<tcp_congestion_control> (chaîne ; voir le texte pour la valeur par défaut ; depuis Linux 2.4.13)

note: The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt type: Plain text
en: Set the default congestion-control algorithm to be used for new connections.  The algorithm "reno" is always available, but additional choices may be available depending on kernel configuration.  The default value for this file is set as part of kernel configuration.
fr: Définir l'algorithme de contrôle de congestion à utiliser pour les nouvelles connexions. L'algorithme « reno » est toujours disponible, mais des choix supplémentaires sont disponibles en fonction de la configuration du noyau. La valeur par défaut pour ce fichier est définie dans la configuration du noyau.

note: type: TP
en: I<tcp_dma_copybreak> (integer; default: 4096; since Linux 2.6.24)
fr: I<tcp_dma_copybreak> (entier ; 4096 par défaut ; depuis Linux 2.6.24)

note: type: Plain text
en: Lower limit, in bytes, of the size of socket reads that will be offloaded to a DMA copy engine, if one is present in the system and the kernel was configured with the B<CONFIG_NET_DMA> option.
fr: La limite inférieure, en octets, de la taille des lectures sur une socket qui seront délestées sur le moteur de copie DMA, s'il y en a un sur le système et si le noyau a été configuré avec l'option B<CONFIG_NET_DMA>.

note: type: TP
en: I<tcp_dsack> (Boolean; default: enabled; since Linux 2.4)
fr: I<tcp_dsack> (booléen ; activé par défaut ; depuis Linux 2.4)

note: Since 2.4.0-test7 type: Plain text
en: Enable RFC\ 2883 TCP Duplicate SACK support.
fr: Valider la prise en charge TCP SACK dupliqué de la RFC\ 2883.

note: type: TP
en: I<tcp_ecn> (Boolean; default: disabled; since Linux 2.4)
fr: I<tcp_ecn> (booléen ; désactivé par défaut ; depuis Linux 2.4)

note: Since 2.4.0-test7 type: Plain text
en: Enable RFC\ 2884 Explicit Congestion Notification.  When enabled, connectivity to some destinations could be affected due to older, misbehaving routers along the path causing connections to be dropped.
fr: Valider la notification explicite de congestion de la RFC\ 2884. Lorsqu'elle est en service, la connectivité avec certaines destinations peut être affectée à cause de vieux routeurs mal configurés le long du trajet, et les connexions peuvent être rompues.

note: type: TP
en: I<tcp_fack> (Boolean; default: enabled; since Linux 2.2)
fr: I<tcp_fack> (booléen ; activé par défaut ; depuis Linux 2.4)

note: Since 2.1.92 type: Plain text
en: Enable TCP Forward Acknowledgement support.
fr: Valider la prise en charge TCP Forward Acknowledgement.

note: type: TP
en: I<tcp_fin_timeout> (integer; default: 60; since Linux 2.2)
fr: I<tcp_fin_timeout> (entier ; 60 par défaut ; depuis Linux 2.2)

note: Since 2.1.53 The following is from 2.6.12: Documentation/networking/ip-sysctl.txt type: Plain text
en: This specifies how many seconds to wait for a final FIN packet before the socket is forcibly closed.  This is strictly a violation of the TCP specification, but required to prevent denial-of-service attacks.  In Linux 2.2, the default value was 180.
fr: Nombre de secondes à attendre un paquet final FIN avant que la socket soit fermée de force. Strictement parlant, c’est une violation des spécifications TCP, mais est nécessaire pour empêcher les attaques par déni de service. La valeur par défaut dans les noyaux 2.2 est 180.

note: type: TP
en: I<tcp_frto> (integer; default: 0; since Linux 2.4.21/2.6)
fr: I<tcp_frto> (entier ; 0 par défaut ; depuis Linux 2.4.21/2.6)

note: Since 2.4.21/2.5.43 type: Plain text
en: Enable F-RTO, an enhanced recovery algorithm for TCP retransmission timeouts (RTOs).  It is particularly beneficial in wireless environments where packet loss is typically due to random radio interference rather than intermediate router congestion.  See RFC 4138 for more details.
fr: Activer F-RTO, un algorithme amélioré de récupération pour les temporisations de retransmission TCP (RTO : « retransmission timeouts »). Il est particulièrement intéressant dans des environnements sans fil, où la perte des paquets est typiquement due à des interférences radio aléatoire plutôt qu'à la congestion des routeurs intermédiaires. Consultez la RFC 4138 pour plus de détails.

note: type: Plain text
en: This file can have one of the following values:
fr: Ce fichier peut prendre une des valeurs suivantes\ :

note: type: Plain text
en: Disabled.
fr: Désactivé.

note: type: Plain text
en: The basic version F-RTO algorithm is enabled.
fr: La version de base de l'algorithme F-RTO est activée.

note: type: Plain text
en: Enable SACK-enhanced F-RTO if flow uses SACK.  The basic version can be used also when SACK is in use though in that case scenario(s) exists where F-RTO interacts badly with the packet counting of the SACK-enabled TCP flow.
fr: Active la version améliorée de F-RTO avec des SACK, si le flux utilise des SACK. La version de base peut aussi être utilisée quand des SACK sont utilisés, même si dans ce cas des scénarios existent dans lesquels F-RTO interagit mal avec le comptage de paquets du flux TCP utilisant des SACK.

note: type: Plain text
en: Before Linux 2.6.22, this parameter was a Boolean value, supporting just values 0 and 1 above.
fr: Avant Linux 2.6.22, ce paramètre était une valeur booléenne, qui ne prenait en charge que les valeurs 0 et 1 ci-dessous.

note: type: TP
en: I<tcp_frto_response> (integer; default: 0; since Linux 2.6.22)
fr: I<tcp_frto_response> (entier ; 0 par défaut ; depuis Linux 2.6.22)

note: type: Plain text
en: When F-RTO has detected that a TCP retransmission timeout was spurious (i.e, the timeout would have been avoided had TCP set a longer retransmission timeout), TCP has several options concerning what to do next.  Possible values are:
fr: Quand F-RTO a détecté une fausse expiration d'une temporisation (c'est-à-dire qu'elle aurait pu être évitée si TCP avait eu un délai de retransmission plus long), TCP a plusieurs options sur ce qu'il faut faire par la suite. Les valeurs possibles sont :

note: type: Plain text
en: Rate halving based; a smooth and conservative response, results in halved congestion window (I<cwnd>)  and slow-start threshold (I<ssthresh>)  after one RTT.
fr: Diminution de moitié du débit ; une réponse douce et conservatrice qui résulte en une diminution de moitié de la fenêtre de congestion (I<cwnd>) et du seuil de démarrage lent (I<ssthresh>, « slow-start threshold ») après un délai d'aller-retour (RTT).

note: type: Plain text
en: Very conservative response; not recommended because even though being valid, it interacts poorly with the rest of Linux TCP; halves I<cwnd> and I<ssthresh> immediately.
fr: Réponse très conservatrice ; pas recommandée parce que bien que correcte, elle interagit mal avec le reste de TCP sous Linux ; réduction de moitié de I<cwnd> et de I<ssthresh> immédiatement.

note: type: Plain text
en: Aggressive response; undoes congestion-control measures that are now known to be unnecessary (ignoring the possibility of a lost retransmission that would require TCP to be more cautious); I<cwnd> and I<ssthresh> are restored to the values prior to timeout.
fr: Réponse agressive ; supprime les mesures de contrôle de congestion qui sont connues pour ne pas être nécessaire (en ignorant la possibilité d'une perte de retransmission qui forcerait TCP à être plus prudent) ; I<cwnd> et I<ssthresh> sont remis aux valeurs antérieures à l'expiration du délai.

note: type: TP
en: I<tcp_keepalive_intvl> (integer; default: 75; since Linux 2.4)
fr: I<tcp_keepalive_intvl> (entier ; 75 par défaut ; depuis Linux 2.4)

note: Since 2.3.18 type: Plain text
en: The number of seconds between TCP keep-alive probes.
fr: L'intervalle en secondes entre deux messages TCP keep-alive.

note: type: TP
en: I<tcp_keepalive_probes> (integer; default: 9; since Linux 2.2)
fr: I<tcp_keepalive_probes> (entier ; 9 par défaut ; depuis Linux 2.2)

note: Since 2.1.43 type: Plain text
en: The maximum number of TCP keep-alive probes to send before giving up and killing the connection if no response is obtained from the other end.
fr: Nombre maximal de tentatives TCP keep-alive à envoyer avant d'abandonner et de tuer la connexion si aucune réponse n'est obtenue de l'autre partie.

note: type: TP
en: I<tcp_keepalive_time> (integer; default: 7200; since Linux 2.2)
fr: I<tcp_keepalive_time> (entier ; 7200 par défaut ; depuis Linux 2.2)

note: Since 2.1.43 type: Plain text
en: The number of seconds a connection needs to be idle before TCP begins sending out keep-alive probes.  Keep-alives are sent only when the B<SO_KEEPALIVE> socket option is enabled.  The default value is 7200 seconds (2 hours).  An idle connection is terminated after approximately an additional 11 minutes (9 probes an interval of 75 seconds apart) when keep-alive is enabled.
fr: Nombre de secondes durant lesquelles aucune donnée n'est transmise sur la connexion avant d'envoyer un message keep-alive. Ces messages ne sont envoyés que si l'option B<SO_KEEPALIVE> de la socket est validée. La valeur par défaut est 7200 secondes (2 heures). Une connexion inactive est coupée environ 11 minutes plus tard (9 tentatives à 75 secondes d'écart).

note: The following is from 2.6.12: Documentation/networking/ip-sysctl.txt type: Plain text
en: Note that underlying connection tracking mechanisms and application timeouts may be much shorter.
fr: Notez que les délais de la couche de transport sous-jacente, ou de l'application peuvent être bien plus courts.

note: type: TP
en: I<tcp_low_latency> (Boolean; default: disabled; since Linux 2.4.21/2.6)
fr: I<tcp_low_latency> (booléen ; désactivé par défaut ; depuis Linux 2.4.21/2.6)

note: Since 2.4.21/2.5.60 type: Plain text
en: If enabled, the TCP stack makes decisions that prefer lower latency as opposed to higher throughput.  It this option is disabled, then higher throughput is preferred.  An example of an application where this default should be changed would be a Beowulf compute cluster.
fr: S'il est activé, la pile TCP prend des décisions qui favorisent une latence plus faible par opposition à un débit plus grand. Si cette option est désactivée, un débit plus grand est préféré. Un cas où cette valeur par défaut devrait être changée est par exemple un cluster de calcul Beowulf.

note: type: TP
en: I<tcp_max_orphans> (integer; default: see below; since Linux 2.4)
fr: I<tcp_max_orphans> (entier\ ; valeur par défaut\ : voir ci\(hydessous ; depuis Linux 2.4)

note: Since 2.3.41 type: Plain text
en: The maximum number of orphaned (not attached to any user file handle) TCP sockets allowed in the system.  When this number is exceeded, the orphaned connection is reset and a warning is printed.  This limit exists only to prevent simple denial-of-service attacks.  Lowering this limit is not recommended.  Network conditions might require you to increase the number of orphans allowed, but note that each orphan can eat up to ~64K of unswappable memory.  The default initial value is set equal to the kernel parameter NR_FILE.  This initial default is adjusted depending on the memory in the system.
fr: Le nombre maximal de sockets TCP orphelines (attachées à aucun descripteur utilisateur) sur le système. Quand ce nombre est dépassé, la connexion orpheline est réinitialisée et un message d'avertissement est affiché. Cette limite n'existe que pour éviter les attaques par déni de service\ ; la diminuer n'est pas recommandé. Certaines situations peuvent réclamer d'augmenter cette limite, mais notez que chaque connexion orpheline peut consommer jusqu'à 64\ ko de mémoire ne pouvant pas être placé en espace d’échange. La valeur par défaut est égale au paramètre NR_FILE du noyau. Elle est ajustée en fonction de la mémoire disponible sur le système.

note: type: TP
en: I<tcp_max_syn_backlog> (integer; default: see below; since Linux 2.2)
fr: I<tcp_max_syn_backlog> (entier\ ; valeur par défaut\ : voir ci\(hydessous ; depuis Linux 2.2)

note: Since 2.1.53 type: Plain text
en: The maximum number of queued connection requests which have still not received an acknowledgement from the connecting client.  If this number is exceeded, the kernel will begin dropping requests.  The default value of 256 is increased to 1024 when the memory present in the system is adequate or greater (E<gt>= 128Mb), and reduced to 128 for those systems with very low memory (E<lt>= 32Mb).  It is recommended that if this needs to be increased above 1024, TCP_SYNQ_HSIZE in I<include/net/tcp.h> be modified to keep TCP_SYNQ_HSIZE*16E<lt>=tcp_max_syn_backlog, and the kernel be recompiled.
fr: Le nombre maximal de requêtes de connexions en attente, qui n'ont pas encore reçu d'acquittement de la part du client se connectant. Si ce nombre est atteint, le noyau commencera à abandonner des requêtes. La valeur par défaut, 256, est augmentée jusqu'à 1024 si la mémoire présente est suffisante (E<gt>= 128\ Mo) et peut être diminuée à 128 sur les systèmes avec très peu de mémoire (E<lt>= 32\ Mo). Il est recommandé, s'il faut augmenter cette valeur au dessus de 1024, de modifier TCP_SYNQ_HSIZE dans I<include/net/tcp.h> pour conserver TCP_SYNQ_HSIZE * 16 E<lt>= tcp_max_syn_backlog et de recompiler le noyau.

note: type: TP
en: I<tcp_max_tw_buckets> (integer; default: see below; since Linux 2.4)
fr: I<tcp_max_tw_buckets> (entier\ ; valeur par défaut\ : voir ci\(hydessous ; depuis Linux 2.4)

note: Since 2.3.41 type: Plain text
en: The maximum number of sockets in TIME_WAIT state allowed in the system.  This limit exists only to prevent simple denial-of-service attacks.  The default value of NR_FILE*2 is adjusted depending on the memory in the system.  If this number is exceeded, the socket is closed and a warning is printed.
fr: Le nombre maximal de sockets dans l'état TIME_WAIT autorisées sur le système. Cette limite n'existe que pour éviter les attaques par déni de service. La valeur par défaut est NR_FILE*2, ajustée en fonction de la mémoire disponible. Si ce nombre est atteint, la socket est fermée et un avertissement est affiché.

note: type: TP
en: I<tcp_moderate_rcvbuf> (Boolean; default: enabled; since Linux 2.4.17/2.6.7)
fr: I<tcp_moderate_rcvbuf> (booléen ; activé par défaut ; Linux 2.4.17/2.6.7)

note: The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt type: Plain text
en: If enabled, TCP performs receive buffer auto-tuning, attempting to automatically size the buffer (no greater than I<tcp_rmem[2]>)  to match the size required by the path for full throughput.
fr: S'il est activé, TCP effectue un réglage automatique du tampon de réception, en essayant de trouver la bonne taille automatiquement (pas plus grand que I<tcp_rmem[2]>) pour correspondre à la taille nécessaire pour un débit maximal sur le chemin.

note: type: TP
en: I<tcp_mem> (since Linux 2.4)
fr: I<tcp_mem> (depuis Linux 2.4)

note: Since 2.4.0-test7 type: Plain text
en: This is a vector of 3 integers: [low, pressure, high].  These bounds, measured in units of the system page size, are used by TCP to track its memory usage.  The defaults are calculated at boot time from the amount of available memory.  (TCP can only use I<low memory> for this, which is limited to around 900 megabytes on 32-bit systems.  64-bit systems do not suffer this limitation.)
fr: Il s'agit d'un vecteur de trois entiers\ : [bas, charge, haut]. Ces limites, mesurées dans une unité qui correspond à la taille des pages système, sont utilisées par TCP pour surveiller sa consommation mémoire. Les valeurs par défaut sont calculées au moment du démarrage à partir de la mémoire disponible. (TCP ne peut utiliser que la I<mémoire basse> pour cela, qui est limitée aux environs de 900\ Mo sur les systèmes 32\ bits. Les systèmes 64\ bits ne souffrent pas de cette limitation.)

note: type: Plain text
en: TCP doesn't regulate its memory allocation when the number of pages it has allocated globally is below this number.
fr: TCP ne cherche pas à réguler ses allocations mémoire quand le nombre de pages qu'il a alloué est en dessous de ce nombre

note: type: Plain text
en: When the amount of memory allocated by TCP exceeds this number of pages, TCP moderates its memory consumption.  This memory pressure state is exited once the number of pages allocated falls below the I<low> mark.
fr: Lorsque la taille mémoire allouée par TCP dépasse ce nombre de pages, TCP modère sa consommation mémoire. L'état de mémoire chargée se termine lorsque le nombre de pages allouées descend en dessous de la marque I<bas>.

note: type: Plain text
en: The maximum number of pages, globally, that TCP will allocate.  This value overrides any other limits imposed by the kernel.
fr: Le nombre global maximal de pages que TCP allouera. Cette valeur surcharge tout autre limite imposée par le noyau.

note: type: TP
en: I<tcp_mtu_probing> (integer; default: 0; since Linux 2.6.17)
fr: I<tcp_mtu_probing> (entier ; 0 par défaut ; Linux 2.6.17)

note: The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt type: Plain text
en: This parameter controls TCP Packetization-Layer Path MTU Discovery.  The following values may be assigned to the file:
fr: Ce paramètre contrôle la découverte du MTU du chemin de la couche transport (« TCP Packetization-Layer Path MTU Discovery »). Le fichier peut prendre les valeurs suivantes :

note: type: Plain text
en: Disabled
fr: Désactivé

note: type: Plain text
en: Disabled by default, enabled when an ICMP black hole detected
fr: Désactivé par défaut, activé quand un trou noir ICMP est détecté

note: type: Plain text
en: Always enabled, use initial MSS of I<tcp_base_mss>.
fr: Toujours activé, utilise le MSS de départ de I<tcp_base_mss>.

note: type: TP
en: I<tcp_no_metrics_save> (Boolean; default: disabled; since Linux 2.6.6)
fr: I<tcp_no_metrics_save> (booléen ; désactivé par défaut ; depuis Linux 2.6.6)

note: The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt type: Plain text
en: By default, TCP saves various connection metrics in the route cache when the connection closes, so that connections established in the near future can use these to set initial conditions.  Usually, this increases overall performance, but it may sometimes cause performance degradation.  If I<tcp_no_metrics_save> is enabled, TCP will not cache metrics on closing connections.
fr: Par défaut, TCP sauve différentes métriques sur la connexion dans la cache des routes quand la connexion est fermée, de telle sorte que les connexions ouvertes rapidement après puissent les utiliser comme conditions initiales. D'habitude, cela augmente globalement les performances, mais peut parfois dégrader les performances. Si I<tcp_no_metrics_save> est activé, TCP ne sauvera pas de métrique dans la cache lors de la fermeture des connexions.

note: type: TP
en: I<tcp_orphan_retries> (integer; default: 8; since Linux 2.4)
fr: I<tcp_orphan_retries> (entier ; 8 par défaut ; depuis Linux 2.4)

note: Since 2.3.41 type: Plain text
en: The maximum number of attempts made to probe the other end of a connection which has been closed by our end.
fr: Le nombre maximal de tentatives pour accéder à l'autre extrémité d'une connexion dont notre côté a été fermé.

note: type: TP
en: I<tcp_reordering> (integer; default: 3; since Linux 2.4)
fr: I<tcp_reordering> (entier ; 3 par défaut ; depuis Linux 2.4)

note: Since 2.4.0-test7 type: Plain text
en: The maximum a packet can be reordered in a TCP packet stream without TCP assuming packet loss and going into slow start.  It is not advisable to change this number.  This is a packet reordering detection metric designed to minimize unnecessary back off and retransmits provoked by reordering of packets on a connection.
fr: Le nombre de réorganisations dans un flux TCP avant de supposer qu'un paquet est perdu et reprendre au début. Il n'est pas conseillé de modifier cette valeur. C'est une métrique sur la détection des réordonnancements de paquets conçue pour minimiser les retransmissions inutiles provoquées par la réorganisation des paquets dans une connexion.

note: type: TP
en: I<tcp_retrans_collapse> (Boolean; default: enabled; since Linux 2.2)
fr: I<tcp_retrans_collapse> (booléen ; activé par défaut ; depuis Linux 2.2)

note: Since 2.1.96 type: Plain text
en: Try to send full-sized packets during retransmit.
fr: Essayer d'envoyer des paquets de tailles complètes durant les réémissions.

note: type: TP
en: I<tcp_retries1> (integer; default: 3; since Linux 2.2)
fr: I<tcp_retries1> (entier ; 3 par défaut ; depuis Linux 2.2)

note: Since 2.1.43 type: Plain text
en: The number of times TCP will attempt to retransmit a packet on an established connection normally, without the extra effort of getting the network layers involved.  Once we exceed this number of retransmits, we first have the network layer update the route if possible before each new retransmit.  The default is the RFC specified minimum of 3.
fr: Le nombre de fois que TCP essayera de retransmettre un paquet sur une connexion établie normalement, sans demander de contribution supplémentaire de la couche réseau concernée. Une fois ce nombre atteint, la couche réseau doit remettre à jour son routage, si possible avant chaque nouvelle transmission. La valeur par défaut, 3, est le minimum indiqué dans la RFC.

note: type: TP
en: I<tcp_retries2> (integer; default: 15; since Linux 2.2)
fr: I<tcp_retries2> (entier ; 15 par défaut ; depuis Linux 2.2)

note: Since 2.1.43 type: Plain text
en: The maximum number of times a TCP packet is retransmitted in established state before giving up.  The default value is 15, which corresponds to a duration of approximately between 13 to 30 minutes, depending on the retransmission timeout.  The RFC\ 1122 specified minimum limit of 100 seconds is typically deemed too short.
fr: Le nombre de fois qu'un paquet TCP est retransmis sur une connexion établie avant d'abandonner. La valeur par défaut est 15, ce qui correspond à une durée entre 13 et 30 minutes suivant le délai maximal de retransmission. La limite minimale de 100 secondes spécifiée par la RFC\ 1122 est typiquement considérée comme trop courte.

note: type: TP
en: I<tcp_rfc1337> (Boolean; default: disabled; since Linux 2.2)
fr: I<tcp_rfc1337> (booléen ; désactivé par défaut ; depuis Linux 2.2)

note: Since 2.1.90 type: Plain text
en: Enable TCP behavior conformant with RFC\ 1337.  When disabled, if a RST is received in TIME_WAIT state, we close the socket immediately without waiting for the end of the TIME_WAIT period.
fr: Activer le comportement TCP conformément à la RFC\ 1337. Lorsqu'il n'est pas activé, si un RST est reçu en état TIME_WAIT, la socket est fermée immédiatement sans attendre la fin de la période TIME_WAIT.

note: type: TP
en: I<tcp_rmem> (since Linux 2.4)
fr: I<tcp_rmem> (depuis Linux 2.4)

note: Since 2.4.0-test7 type: Plain text
en: This is a vector of 3 integers: [min, default, max].  These parameters are used by TCP to regulate receive buffer sizes.  TCP dynamically adjusts the size of the receive buffer from the defaults listed below, in the range of these values, depending on memory available in the system.
fr: Il s'agit d'un vecteur de trois entiers\ : [min, défaut, max]. Ces paramètres sont utilisés par TCP pour régler la taille du tampon de réception. TCP ajuste dynamiquement la taille à partir de la valeur par défaut, dans l'intervalle de ces valeurs, en fonction de la mémoire disponible sur le système.

note: type: Plain text
en: minimum size of the receive buffer used by each TCP socket.  The default value is the system page size.  (On Linux 2.4, the default value is 4K, lowered to B<PAGE_SIZE> bytes in low-memory systems.)  This value is used to ensure that in memory pressure mode, allocations below this size will still succeed.  This is not used to bound the size of the receive buffer declared using B<SO_RCVBUF> on a socket.
fr: taille minimale du tampon de réception utilisée par chaque socket TCP. La valeur par défaut est la taille des pages du système (sous Linux 2.4, la valeur par défaut est de 4\ Ko et descend à B<PAGE_SIZE> octets sur les systèmes avec peu de mémoire). Cette valeur assure qu'en mode de mémoire chargée, les allocations en dessous de cette taille réussiront. Elle n'est pas utilisée pour limiter la taille du tampon de réception, déclarée en utilisant l'option B<SO_RCVBUF> sur la socket.

note: type: Plain text
en: the default size of the receive buffer for a TCP socket.  This value overwrites the initial default buffer size from the generic global I<net.core.rmem_default> defined for all protocols.  The default value is 87380 bytes.  (On Linux 2.4, this will be lowered to 43689 in low-memory systems.)  If larger receive buffer sizes are desired, this value should be increased (to affect all sockets).  To employ large TCP windows, the I<net.ipv4.tcp_window_scaling> must be enabled (default).
fr: la taille par défaut du tampon de réception pour une socket TCP. Cette valeur écrase la taille par défaut dans la valeur globale I<net.core.rmem_default> définie pour tous les protocoles. La valeur par défaut est 87380 octets (sous Linux 2.4, elle descend à 43689 sur les systèmes avec peu de mémoire). Si une taille plus grande est désirée, il faut augmenter cette valeur (pour affecter toutes les sockets). Pour utiliser une grande fenêtre TCP, l'option I<net.ipv4.tcp_window_scaling> doit être activée (par défaut).

note: type: Plain text
en: the maximum size of the receive buffer used by each TCP socket.  This value does not override the global I<net.core.rmem_max>.  This is not used to limit the size of the receive buffer declared using B<SO_RCVBUF> on a socket.  The default value is calculated using the formula
fr: la taille maximale du tampon de réception utilisé par chaque socket TCP. Cette valeur ne surcharge pas la valeur globale I<net.core.rmem_max>. Elle ne permet pas de limiter la taille du tampon de réception déclarée avec l'option B<SO_RCVBUF> sur la socket. La valeur par défaut est calculé par la formule :

note: type: Plain text
en: (On Linux 2.4, the default is 87380*2 bytes, lowered to 87380 in low-memory systems).
fr: (Sous Linux 2.4, la valeur par défaut est de 87380*2 octets, et descendre à 87380 sur les systèmes avec peu de mémoire)

note: type: TP
en: I<tcp_sack> (Boolean; default: enabled; since Linux 2.2)
fr: I<tcp_sack> (booléen ; activé par défaut ; depuis Linux 2.2)

note: Since 2.1.36 type: Plain text
en: Enable RFC\ 2018 TCP Selective Acknowledgements.
fr: Activer l'acquittement TCP sélectif (RFC\ 2018).

note: type: TP
en: I<tcp_slow_start_after_idle> (Boolean; default: enabled; since Linux 2.6.18)
fr: I<tcp_slow_start_after_idle> (booléen ; activé par défaut ; depuis Linux 2.6.18)

note: The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt type: Plain text
en: If enabled, provide RFC 2861 behavior and time out the congestion window after an idle period.  An idle period is defined as the current RTO (retransmission timeout).  If disabled, the congestion window will not be timed out after an idle period.
fr: S'il est activé, le comportement de la RFC 2861 est fournit et la fenêtre de congestion expire après une période d'inactivité. Une période d'inactivité est définie comme le RTO (« retransmission timeout » : le délai de retransmission). S'il est désactivé, la fenêtre de congestion n'expirera pas après une période d'inactivité.

note: type: TP
en: I<tcp_stdurg> (Boolean; default: disabled; since Linux 2.2)
fr: I<tcp_stdurg> (booléen ; désactivé par défaut ; depuis Linux 2.2)

note: Since 2.1.44 RFC 793 was ambiguous in its specification of the meaning of the urgent pointer.  RFC 1122 (and RFC 961) fixed on a particular resolution of this ambiguity (unfortunately the "wrong" one). type: Plain text
en: If this option is enabled, then use the RFC\ 1122 interpretation of the TCP urgent-pointer field.  According to this interpretation, the urgent pointer points to the last byte of urgent data.  If this option is disabled, then use the BSD-compatible interpretation of the urgent pointer: the urgent pointer points to the first byte after the urgent data.  Enabling this option may lead to interoperability problems.
fr: Activation de l'interprétation RFC\ 1122 du champ TCP Urgent-Pointer. Selon cette interprétation, le pointeur urgent pointe vers le dernier octet de données urgentes. Par défaut une interprétation compatible BSD de ce champ est utilisée, qui pointe vers le premier octet après les données urgentes. Valider cette option peut poser des problèmes d'interaction entre systèmes.

note: type: TP
en: I<tcp_syn_retries> (integer; default: 5; since Linux 2.2)
fr: I<tcp_syn_retries> (entier ; 5 par défaut ; depuis Linux 2.2)

note: Since 2.1.38 type: Plain text
en: The maximum number of times initial SYNs for an active TCP connection attempt will be retransmitted.  This value should not be higher than 255.  The default value is 5, which corresponds to approximately 180 seconds.
fr: Le nombre maximal de fois où un paquet SYN initial sera retransmis pour une tentative de connexion TCP active. Cette valeur ne doit pas dépasser 255. La valeur par défaut est 5, ce qui correspond approximativement à 180 secondes.

note: type: TP
en: I<tcp_synack_retries> (integer; default: 5; since Linux 2.2)
fr: I<tcp_synack_retries> (entier ; 5 par défaut ; depuis Linux 2.2)

note: Since 2.1.38 type: Plain text
en: The maximum number of times a SYN/ACK segment for a passive TCP connection will be retransmitted.  This number should not be higher than 255.
fr: Le nombre maximal de fois où un segment SYN/ACK sera retransmis sur une connexion TCP passive. Ce nombre ne doit pas dépasser 255.

note: type: TP
en: I<tcp_syncookies> (Boolean; since Linux 2.2)
fr: I<tcp_syncookies> (booléen ; depuis Linux 2.2)

note: Since 2.1.43 type: Plain text
en: Enable TCP syncookies.  The kernel must be compiled with B<CONFIG_SYN_COOKIES>.  Send out syncookies when the syn backlog queue of a socket overflows.  The syncookies feature attempts to protect a socket from a SYN flood attack.  This should be used as a last resort, if at all.  This is a violation of the TCP protocol, and conflicts with other areas of TCP such as TCP extensions.  It can cause problems for clients and relays.  It is not recommended as a tuning mechanism for heavily loaded servers to help with overloaded or misconfigured conditions.  For recommended alternatives see I<tcp_max_syn_backlog>, I<tcp_synack_retries>, and I<tcp_abort_on_overflow>.
fr: Valider les syncookies TCP. Le noyau doit être compilé avec l'option B<CONFIG_SYN_COOKIES>. Envoie des syncookies lorsque la file d'attente des connexions sur une socket déborde. C’est utilisé pour se protéger d'une attaque de type «\ SYN flood\ ». Ce ne est à utiliser qu'en dernier ressort. C'est une violation du protocole TCP, et entre en conflit avec d'autres fonctions comme les extensions TCP. Cela peut poser des problèmes avec les clients ou les relais. Ce mécanisme n'est pas considéré comme un moyen de réglage sur un serveur très chargé ou mal configuré. Pour des alternatives acceptables, consultez I<tcp_max_syn_backlog>, I<tcp_synack_retries>, I<tcp_abort_on_overflow>.

note: type: TP
en: I<tcp_timestamps> (Boolean; default: enabled; since Linux 2.2)
fr: I<tcp_timestamps> (booléen ; activé par défaut ; depuis Linux 2.2)

note: Since 2.1.36 type: Plain text
en: Enable RFC\ 1323 TCP timestamps.
fr: Activer les horodatages TCP (RFC 1323).

note: type: TP
en: I<tcp_tso_win_divisor> (integer; default: 3; since Linux 2.6.9)
fr: I<tcp_tso_win_divisor> (entier ; 3 par défaut ; depuis Linux 2.6.9)

note: type: Plain text
en: This parameter controls what percentage of the congestion window can be consumed by a single TCP Segmentation Offload (TSO) frame.  The setting of this parameter is a tradeoff between burstiness and building larger TSO frames.
fr: Ce paramètre contrôle le pourcentage de la fenêtre de congestion qui peut être utilisé par une unique trame de segmentation (TSO : « TCP Segmentation Offload »). La valeur de ce paramètre est un compromis entre une transmission par rafales et construire des trames avec un TSO plus importants.

note: type: TP
en: I<tcp_tw_recycle> (Boolean; default: disabled; since Linux 2.4)
fr: I<tcp_tw_recycle> (booléen ; désactivé par défaut ; depuis Linux 2.4)

note: Since 2.3.15 The following is from 2.6.12: Documentation/networking/ip-sysctl.txt type: Plain text
en: Enable fast recycling of TIME_WAIT sockets.  Enabling this option is not recommended since this causes problems when working with NAT (Network Address Translation).
fr: Activer le recyclage rapide des sockets TIME_WAIT. Cette option n'est pas recommandée car elle peut poser des problèmes avec les redirections NAT (Network Address Translation).

note: type: TP
en: I<tcp_tw_reuse> (Boolean; default: disabled; since Linux 2.4.19/2.6)
fr: I<tcp_tw_reuse> (booléen ; désactivé par défaut ; depuis Linux 2.4.19/2.6)

note: Since 2.4.19/2.5.43 The following is from 2.6.12: Documentation/networking/ip-sysctl.txt type: Plain text
en: Allow to reuse TIME_WAIT sockets for new connections when it is safe from protocol viewpoint.  It should not be changed without advice/request of technical experts.
fr: Permet de réutiliser les sockets TIME_WAIT pour les nouvelles connexions quand c'est sûr du point de vue du protocole. Cela ne devrait pas être modifié sans l'avis ou la demande d'experts techniques.

note: type: TP
en: I<tcp_vegas_cong_avoid> (Boolean; default: disabled; Linux 2.2 to 2.6.13)
fr: I<tcp_vegas_cong_avoid> (booléen ; désactivé par défaut ; Linux 2.2 à 2.6.13)

note: Since 2.1.8; removed in 2.6.13 The following is from 2.6.12: Documentation/networking/ip-sysctl.txt type: Plain text
en: Enable TCP Vegas congestion avoidance algorithm.  TCP Vegas is a sender-side only change to TCP that anticipates the onset of congestion by estimating the bandwidth.  TCP Vegas adjusts the sending rate by modifying the congestion window.  TCP Vegas should provide less packet loss, but it is not as aggressive as TCP Reno.
fr: Active l'algorithme TCP Vegas d'évitement de congestion. TCP Vegas est une modification côté émetteur de TCP qui anticipe la congestion en estimant la bande passante. TCP Vegas ajuste la vitesse d'émission en modifiant la fenêtre de congestion. TCP Vegas devrait fournir moins de perte de paquets, mais n'est pas aussi agressif que TCP Reno.

note: type: TP
en: I<tcp_westwood> (Boolean; default: disabled; Linux 2.4.26/2.6.3 to 2.6.13)
fr: I<tcp_westwood> (booléen ; désactivé par défaut ; Linux 2.4.26/2.6.3 à 2.6.13)

note: type: Plain text
en: Enable TCP Westwood+ congestion control algorithm.  TCP Westwood+ is a sender-side only modification of the TCP Reno protocol stack that optimizes the performance of TCP congestion control.  It is based on end-to-end bandwidth estimation to set congestion window and slow start threshold after a congestion episode.  Using this estimation, TCP Westwood+ adaptively sets a slow start threshold and a congestion window which takes into account the bandwidth used at the time congestion is experienced.  TCP Westwood+ significantly increases fairness with respect to TCP Reno in wired networks and throughput over wireless links.
fr: Active l'algorithme TCP Westwood+ de contrôle de congestion. TCP Westwood+ est une modification côté émetteur de la pile de protocole TCP Reno qui optimise la performance du contrôle de congestion TCP. Il est basé sur une estimation de bande passante de bout en bout pour définir la fenêtre de congestion et un redémarrage lent après un épisode de congestion. Grâce à cette estimation, TCP Westwood+ définit de façon adaptative une limite de démarrage lent et une fenêtre de congestion qui prennent en compte la bande passante utilisée au moment où la congestion se produit. TCP Westwood+ augmente de façon significative l'équité par rapport à TCP Reno dans les réseaux filaires, et le débit sur des liens sans fil.

note: type: TP
en: I<tcp_window_scaling> (Boolean; default: enabled; since Linux 2.2)
fr: I<tcp_window_scaling> (booléen ; activé par défaut ; depuis Linux 2.2)

note: Since 2.1.36 type: Plain text
en: Enable RFC\ 1323 TCP window scaling.  This feature allows the use of a large window (E<gt> 64K) on a TCP connection, should the other end support it.  Normally, the 16 bit window length field in the TCP header limits the window size to less than 64K bytes.  If larger windows are desired, applications can increase the size of their socket buffers and the window scaling option will be employed.  If I<tcp_window_scaling> is disabled, TCP will not negotiate the use of window scaling with the other end during connection setup.
fr: Activer le dimensionnement de la fenêtre TCP (RFC\ 1323). Cette fonctionnalité permet d'utiliser une grande fenêtre (E<gt> 64\ Ko) sur une connexion TCP si le correspondant le prend en charge. Normalement, les 16 bits du champ de longueur de fenêtre dans l'en-tête TCP limitent la taille à 64\ Ko. Si des fenêtres plus grandes sont voulues, l'application peut augmenter la taille du tampon de la socket et activer l'option tcp_window_scaling. Si I<tcp_window_scaling> est inhibée, TCP ne négociera pas l'utilisation du dimensionnement des fenêtres avec le correspondant lors de l'initialisation de la connexion.

note: type: TP
en: I<tcp_wmem> (since Linux 2.4)
fr: I<tcp_wmem> (depuis Linux 2.4)

note: Since 2.4.0-test7 type: Plain text
en: This is a vector of 3 integers: [min, default, max].  These parameters are used by TCP to regulate send buffer sizes.  TCP dynamically adjusts the size of the send buffer from the default values listed below, in the range of these values, depending on memory available.
fr: Il s'agit d'un vecteur de trois entiers\ : [min, défaut, max]. Ces paramètres servent à TCP pour réguler la taille du tampon d'émission. La taille est ajustée dynamiquement à partir de la valeur par défaut, dans l'intervalle de ces valeurs, en fonction de la mémoire disponible.

note: type: Plain text
en: Minimum size of the send buffer used by each TCP socket.  The default value is the system page size.  (On Linux 2.4, the default value is 4K bytes.)  This value is used to ensure that in memory pressure mode, allocations below this size will still succeed.  This is not used to bound the size of the send buffer declared using B<SO_SNDBUF> on a socket.
fr: La taille minimale du tampon d'émission utilisé par chaque socket TCP. La valeur par défaut est la taille des pages du système (sous Linux 2.4, la valeur par défaut est de 4\ Ko). Cette valeur assure qu'en mode de mémoire chargée, les allocations en dessous de cette taille réussiront. Elle n'est pas utilisée pour limiter la taille du tampon de réception, déclarée en utilisant l'option B<SO_SNDBUF> sur la socket.

note: True in Linux 2.4 and 2.6 type: Plain text
en: The default size of the send buffer for a TCP socket.  This value overwrites the initial default buffer size from the generic global I</proc/sys/net/core/wmem_default> defined for all protocols.  The default value is 16K bytes.  If larger send buffer sizes are desired, this value should be increased (to affect all sockets).  To employ large TCP windows, the I</proc/sys/net/ipv4/tcp_window_scaling> must be set to a nonzero value (default).
fr: La taille par défaut du tampon d'émission pour une socket TCP. Cette valeur surcharge la taille par défaut de valeur globale I</proc/sys/net/core/wmem_default> définie pour tous les protocoles. La valeur par défaut est 16\ Ko. Si une taille plus grande est désirée, il faut augmenter cette valeur (pour affecter toutes les sockets). Pour utiliser une grande fenêtre TCP, I</proc/sys/net/ipv4/tcp_window_scaling> doit être positionné à une valeur non nulle (par défaut).

note: type: Plain text
en: The maximum size of the send buffer used by each TCP socket.  This value does not override the value in I</proc/sys/net/core/wmem_max>.  This is not used to limit the size of the send buffer declared using B<SO_SNDBUF> on a socket.  The default value is calculated using the formula
fr: I<max> - la taille maximale du tampon d'émission utilisé par chaque socket TCP. Cette valeur ne surcharge pas la valeur globale qui se trouve dans I</proc/sys/net/core/wmem_max>. Elle ne permet pas de limiter la taille du tampon de réception déclarée avec l'option B<SO_SNDBUF> sur la socket. La valeur par défaut est calculée avec la formule :

note: type: Plain text
en: (On Linux 2.4, the default value is 128K bytes, lowered 64K depending on low-memory systems.)
fr: Sous Linux 2.4, la valeur par défaut est de 128\ Ko et descendre à 64\ Ko sur les systèmes avec peu de mémoire)

note: type: TP
en: I<tcp_workaround_signed_windows> (Boolean; default: disabled; since Linux 2.6.26)
fr: I<tcp_workaround_signed_windows> (booléen ; désactivé par défaut ; depuis Linux 2.6.26)

note: type: Plain text
en: If enabled, assume that no receipt of a window-scaling option means that the remote TCP is broken and treats the window as a signed quantity.  If disabled, assume that the remote TCP is not broken even if we do not receive a window scaling option from it.
fr: S'il est activé, supposer que l'absence de réception d'une option de dimensionnement de la fenêtre signifie que la pile TCP distante n'est pas correcte et traite la fenêtre comme une quantité signée. S'il est désactivé, supposer que les piles TCP distantes ne sont jamais disfonctionnelles même si aucune option de dimensionnement de la fenêtre n'est reçue de leur part.

note: or SOL_TCP on Linux type: Plain text
en: To set or get a TCP socket option, call B<getsockopt>(2)  to read or B<setsockopt>(2)  to write the option with the option level argument set to B<IPPROTO_TCP>.  Unless otherwise noted, I<optval> is a pointer to an I<int>.  In addition, most B<IPPROTO_IP> socket options are valid on TCP sockets.  For more information see B<ip>(7).
fr: Pour lire ou écrire une option de socket TCP, appeler B<getsockopt>(2) pour la lecture ou B<setsockopt>(2) pour l'écriture, avec l'argument niveau de socket valant B<IPPROTO_TCP>. Sauf mention contraire, I<optval> est un pointeur vers un I<int>. De plus, la plupart des options de socket B<IPPROTO_IP> sont valables sur les sockets TCP. Pour plus de détails, voir B<ip>(7).

note: type: TP
en: B<TCP_CONGESTION> (since Linux 2.6.13)
fr: B<TCP_CONGESTION> (depuis Linux 2.6.13)

note: commit 5f8ef48d240963093451bcf83df89f1a1364f51d Author: Stephen Hemminger <shemminger@osdl.org> type: Plain text
en: The argument for this option is a string.  This option allows the caller to set the TCP congestion control algorithm to be used, on a per-socket basis.  Unprivileged processes are restricted to choosing one of the algorithms in I<tcp_allowed_congestion_control> (described above).  Privileged processes (B<CAP_NET_ADMIN>)  can choose from any of the available congestion-control algorithms (see the description of I<tcp_available_congestion_control> above).
fr: L’argument pour cette option est une chaîne. Cette option permet à l’appelant de définir l’algorithme de contrôle de congestion TCP par utilisateur. Les processus non privilégiés sont restreints à utiliser un des algorithmes de I<tcp_allowed_congestion_control> (décrit ci-dessus). Les processus privilégiés (B<CAP_NET_ADMIN>) peuvent choisir n’importe quel algorithme de contrôle de congestion disponible (consultez la description de I<tcp_available_congestion_control> ci-dessus).

note: type: TP
en: B<TCP_CORK> (since Linux 2.2)
fr: B<TCP_CORK> (depuis Linux 2.2)

note: precisely: since 2.1.127 type: Plain text
en: If set, don't send out partial frames.  All queued partial frames are sent when the option is cleared again.  This is useful for prepending headers before calling B<sendfile>(2), or for throughput optimization.  As currently implemented, there is a 200 millisecond ceiling on the time for which output is corked by B<TCP_CORK>.  If this ceiling is reached, then queued data is automatically transmitted.  This option can be combined with B<TCP_NODELAY> only since Linux 2.5.71.  This option should not be used in code intended to be portable.
fr: Ne pas envoyer de trames partielles. Toutes les trames partielles en attente sont envoyées lorsque cette option est effacée à nouveau. Cela permet de préparer les en-têtes avant d'appeler B<sendfile>(2), ou pour optimiser le débit. Avec l'implémentation actuelle, il y a une limite de 200 millisecondes au temps pendant lequel des données sont agrégées avec B<TCP_CORK>. Si cette limite est atteinte, les données mises en attente sont automatiquement transmises. Cette option ne peut être combinée avec B<TCP_NODELAY> que depuis Linux 2.5.71. Cette option ne doit pas être utilisée dans du code conçu pour être portable.

note: type: TP
en: B<TCP_DEFER_ACCEPT> (since Linux 2.4)
fr: B<TCP_DEFER_ACCEPT> (depuis Linux 2.4)

note: Precisely: since 2.3.38 Useful references: http://www.techrepublic.com/article/take-advantage-of-tcp-ip-options-to-optimize-data-transmission/ http://unix.stackexchange.com/questions/94104/real-world-use-of-tcp-defer-accept type: Plain text
en: Allow a listener to be awakened only when data arrives on the socket.  Takes an integer value (seconds), this can bound the maximum number of attempts TCP will make to complete the connection.  This option should not be used in code intended to be portable.
fr: Permettre à un processus en écoute de n'être réveillé que si des données arrivent sur la socket. Prend une valeur entière (en secondes), correspondant au nombre maximal de tentatives que TCP fera pour terminer la connexion. Cette option ne doit pas être utilisée dans du code conçu pour être portable.

note: type: TP
en: B<TCP_INFO> (since Linux 2.4)
fr: B<TCP_INFO> (depuis Linux 2.4)

note: type: Plain text
en: Used to collect information about this socket.  The kernel returns a I<struct tcp_info> as defined in the file I</usr/include/linux/tcp.h>.  This option should not be used in code intended to be portable.
fr: Fournit des informations sur la socket. Le noyau renvoie une structure I<struct tcp_info> comme définie dans le fichier I</usr/include/linux/tcp.h>. Cette option ne doit pas être utilisée dans du code conçu pour être portable.

note: type: TP
en: B<TCP_KEEPCNT> (since Linux 2.4)
fr: B<TCP_KEEPCNT> (depuis Linux 2.4)

note: Precisely: since 2.3.18 type: Plain text
en: The maximum number of keepalive probes TCP should send before dropping the connection.  This option should not be used in code intended to be portable.
fr: Le nombre maximal de messages keepalive envoyés par TCP avant d'abandonner une connexion. Cette option ne doit pas être utilisée dans du code conçu pour être portable.

note: type: TP
en: B<TCP_KEEPIDLE> (since Linux 2.4)
fr: B<TCP_KEEPIDLE> (depuis Linux 2.4)

note: Precisely: since 2.3.18 type: Plain text
en: The time (in seconds) the connection needs to remain idle before TCP starts sending keepalive probes, if the socket option B<SO_KEEPALIVE> has been set on this socket.  This option should not be used in code intended to be portable.
fr: La durée (en secondes) d'inactivité sur une connexion avant que TCP commence à envoyer les messages keepalive, si l'option B<SO_KEEPALIVE> a été activée sur la socket. Cette option ne doit pas être employée dans du code conçu pour être portable.

note: type: TP
en: B<TCP_KEEPINTVL> (since Linux 2.4)
fr: B<TCP_KEEPINTVL> (depuis Linux 2.4)

note: Precisely: since 2.3.18 type: Plain text
en: The time (in seconds) between individual keepalive probes.  This option should not be used in code intended to be portable.
fr: Délai (en seconde) entre deux messages keepalive. Cette option ne doit pas être utilisée dans du code conçu pour être portable.

note: type: TP
en: B<TCP_LINGER2> (since Linux 2.4)
fr: B<TCP_LINGER2> (depuis Linux 2.4)

note: Precisely: since 2.3.41 type: Plain text
en: The lifetime of orphaned FIN_WAIT2 state sockets.  This option can be used to override the system-wide setting in the file I</proc/sys/net/ipv4/tcp_fin_timeout> for this socket.  This is not to be confused with the B<socket>(7)  level option B<SO_LINGER>.  This option should not be used in code intended to be portable.
fr: La durée des sockets orphelines dans l'état FIN_WAIT2. Cette option peut servir à surcharger la valeur du paramètre système du fichier I</proc/sys/net/ipv4/tcp_fin_timeout> spécialement pour la socket. À ne pas confondre avec l'option B<SO_LINGER> du niveau B<socket>(7). Cette option ne doit pas être utilisée dans du code conçu pour être portable.

note: Present in Linux 1.0 type: Plain text
en: The maximum segment size for outgoing TCP packets.  In Linux 2.2 and earlier, and in Linux 2.6.28 and later, if this option is set before connection establishment, it also changes the MSS value announced to the other end in the initial packet.  Values greater than the (eventual) interface MTU have no effect.  TCP will also impose its minimum and maximum bounds over the value provided.
fr: La taille maximale de segment pour les paquets TCP sortants. Dans Linux 2.2 et les versions précédentes, ainsi que dans Linux 2.6.28 et les versions suivantes, si cette option est définie avant d'établir la connexion, elle modifie également la valeur MSS annoncée à l'autre extrémité, dans le paquet initial. Les valeurs supérieures au MTU de l'interface sont ignorées et n'ont pas d'effet. TCP imposera ses limites minimales et maximales plutôt que les valeurs fournies.

note: Present in Linux 1.0 type: Plain text
en: If set, disable the Nagle algorithm.  This means that segments are always sent as soon as possible, even if there is only a small amount of data.  When not set, data is buffered until there is a sufficient amount to send out, thereby avoiding the frequent sending of small packets, which results in poor utilization of the network.  This option is overridden by B<TCP_CORK>; however, setting this option forces an explicit flush of pending output, even if B<TCP_CORK> is currently set.
fr: Désactiver l'algorithme Nagle. Cela signifie que les paquets seront envoyés dès que possible, même s'il n'y a que très peu de données. Sinon, les données sont conservées jusqu'à ce qu'il y en ait un nombre suffisant, pour éviter d'envoyer de fréquents petits paquets, au détriment du réseau. Cette option est moins prioritaire que B<TCP_CORK>. Cependant, activer cette option force un vidage des données actuellement en attente, même si B<TCP_CORK> est actif.

note: type: TP
en: B<TCP_QUICKACK> (since Linux 2.4.4)
fr: B<TCP_QUICKACK> (depuis Linux 2.4.4)

note: type: Plain text
en: Enable quickack mode if set or disable quickack mode if cleared.  In quickack mode, acks are sent immediately, rather than delayed if needed in accordance to normal TCP operation.  This flag is not permanent, it only enables a switch to or from quickack mode.  Subsequent operation of the TCP protocol will once again enter/leave quickack mode depending on internal protocol processing and factors such as delayed ack timeouts occurring and data transfer.  This option should not be used in code intended to be portable.
fr: Valider le mode quickack, ou l'inhiber si l'option est nulle. En mode quickack, les acquittements sont envoyés immédiatement plutôt que retardés si besoin par rapport au fonctionnement normal de TCP. Cet attribut n'est pas permanent, il s'agit seulement d'un basculement vers ou depuis le mode quickack. Les opérations ultérieures du protocole TCP feront à nouveau entrer/quitter le mode quickack en fonction des traitements internes du protocole et de facteurs tels que les délais d'acquittements retardés, ou les transferts de données. Cette option ne doit pas être utilisée dans du code conçu pour être portable.

note: type: TP
en: B<TCP_SYNCNT> (since Linux 2.4)
fr: B<TCP_SYNCNT> (depuis Linux 2.4)

note: Precisely: since 2.3.18 type: Plain text
en: Set the number of SYN retransmits that TCP should send before aborting the attempt to connect.  It cannot exceed 255.  This option should not be used in code intended to be portable.
fr: Indique le nombre de retransmissions de SYN que TCP doit envoyer avant d'annuler la tentative de connexion. Ne doit pas dépasser 255. Cette option ne doit pas être utilisée dans du code conçu pour être portable.

note: type: TP
en: B<TCP_USER_TIMEOUT> (since Linux 2.6.37)
fr: B<TCP_USER_TIMEOUT> (depuis Linux 2.6.37)

note: commit dca43c75e7e545694a9dd6288553f55c53e2a3a3 Author: Jerry Chu <hkchu@google.com> The following text taken nearly verbatim from Jerry Chu's (excellent) commit message. type: Plain text
en: This option takes an I<unsigned int> as an argument.  When the value is greater than 0, it specifies the maximum amount of time in milliseconds that transmitted data may remain unacknowledged before TCP will forcibly close the corresponding connection and return B<ETIMEDOUT> to the application.  If the option value is specified as 0, TCP will to use the system default.
fr: Cette option prend un I<unsigned int> en argument. Quand la valeur est strictement positive, elle indique la durée maximale en milliseconde pendant laquelle les données transmises peuvent rester sans acquittement avant que TCP ne force la fermeture de connexion correspondante et renvoie B<ETIMEDOUT> à l’application. Si la valeur d’option indiquée est 0, TCP utilisera la valeur par défaut du système.

note: type: Plain text
en: Increasing user timeouts allows a TCP connection to survive extended periods without end-to-end connectivity.  Decreasing user timeouts allows applications to "fail fast", if so desired.  Otherwise, failure may take up to 20 minutes with the current system defaults in a normal WAN environment.
fr: Augmenter les délais par utilisateur permet à une connexion TCP de survivre pendant une période plus importante sans connectivité directe. Diminuer les délais par utilisateur permet aux applications d’« échouer rapidement » si nécessaire. Sinon, les échecs peuvent prendre jusqu’à 20 minutes avec les valeurs par défaut actuelles du système dans un environnement WAN normal.

note: type: Plain text
en: This option can be set during any state of a TCP connection, but is only effective during the synchronized states of a connection (ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, and LAST-ACK).  Moreover, when used with the TCP keepalive (B<SO_KEEPALIVE>)  option, B<TCP_USER_TIMEOUT> will override keepalive to determine when to close a connection due to keepalive failure.
fr: Cette option peut être définie pendant n’importe quel état d’une connexion TCP, main n’est effective que pendant les états synchronisés d’une connexion (ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING et LAST-ACK). De plus, lorsqu’elle est utilisée avec l’option TCP keepalive (B<SO_KEEPALIVE>), B<TCP_USER_TIMEOUT> écrasera keepalive pour déterminer quand fermer une connexion à cause d’une erreur keepalive.

note: type: Plain text
en: The option has no effect on when TCP retransmits a packet, nor when a keepalive probe is sent.
fr: L’option est sans effet lorsque TCP retransmet un paquet ou quand un message keepalive est envoyé.

note: type: Plain text
en: This option, like many others, will be inherited by the socket returned by B<accept>(2), if it was set on the listening socket.
fr: Cette option, comme bien d’autres, sera héritée par la socket renvoyée par B<accept>(2) si elle avait été définie sur la socket d’écoute.

note: type: Plain text
en: Further details on the user timeout feature can be found in RFC\ 793 and RFC\ 5482 ("TCP User Timeout Option").
fr: De plus amples précisions sur la fonctionnalité de délai par utilisateur sont disponibles dans les RFC 793 et RFC 5482 (« TCP User Timeout Option »).

note: type: TP
en: B<TCP_WINDOW_CLAMP> (since Linux 2.4)
fr: B<TCP_WINDOW_CLAMP> (depuis Linux 2.4)

note: Precisely: since 2.3.41 type: Plain text
en: Bound the size of the advertised window to this value.  The kernel imposes a minimum size of SOCK_MIN_RCVBUF/2.  This option should not be used in code intended to be portable.
fr: Limite la taille de la fenêtre. Le noyau impose une taille minimale de SOCK_MIN_RCVBUF/2. Cette option ne doit pas être employée dans du code conçu pour être portable.

note: type: SS
en: Sockets API
fr: API des sockets

note: type: Plain text
en: TCP provides limited support for out-of-band data, in the form of (a single byte of) urgent data.  In Linux this means if the other end sends newer out-of-band data the older urgent data is inserted as normal data into the stream (even when B<SO_OOBINLINE> is not set).  This differs from BSD-based stacks.
fr: TCP fourni une prise en charge limitée des données hors-bande, sous la forme de données urgentes (un seul octet). Sous Linux cela signifie que si l'autre côté envoie de nouvelles données hors-bande, les données urgentes plus anciennes sont insérées comme des données normales dans le flux (même quand B<SO_OOBINLINE> n'est pas actif). Cela diffère des piles basées sur BSD.

note: type: Plain text
en: Linux uses the BSD compatible interpretation of the urgent pointer field by default.  This violates RFC\ 1122, but is required for interoperability with other stacks.  It can be changed via I</proc/sys/net/ipv4/tcp_stdurg>.
fr: Linux utilise par défaut une interprétation compatible BSD du champ Urgent-Pointer. Cela viole la RFC\ 1122, mais est indispensable pour l'interopérabilité avec les autres piles. On peut modifier ce comportement avec I</proc/sys/net/ipv4/tcp_stdurg>.

note: type: Plain text
en: It is possible to peek at out-of-band data using the B<recv>(2)  B<MSG_PEEK> flag.
fr: Il est possible de jeter un coup d'œil aux données hors-bande en utilisant l'attribut B<MSG_PEEK> de B<recv>(2).

note: type: Plain text
en: Since version 2.4, Linux supports the use of B<MSG_TRUNC> in the I<flags> argument of B<recv>(2)  (and B<recvmsg>(2)).  This flag causes the received bytes of data to be discarded, rather than passed back in a caller-supplied buffer.  Since Linux 2.4.4, B<MSG_TRUNC> also has this effect when used in conjunction with B<MSG_OOB> to receive out-of-band data.
fr: Depuis la version 2.4, Linux prend en charge l'utilisation de B<MSG_TRUNC> dans le paramètre I<flags> de B<recv>(2) (et B<recvmsg>(2)). Cet attribut a pour effet que les octets de données reçus sont ignorés, plutôt que fournit au tampon fournit par l'appelant. Depuis Linux 2.4.4, B<MSG_TRUNC> a également un effet lorsqu'il est combiné à B<MSG_OOB> pour recevoir les données hors-bande.

note: type: Plain text
en: The following B<ioctl>(2)  calls return information in I<value>.  The correct syntax is:
fr: Les B<ioctl>(2)s suivants renvoient des informations dans I<valeur>. La syntaxe correcte est\ :

note: type: Plain text
en: B<int>I< value>B<;>
    I<error>B< = ioctl(>I<tcp_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>
fr: B<int>I< valeur>B<;>
    I<error>B< = ioctl(>I<tcp_socket>B<, >I<ioctl_type>B<, &>I<valeur>B<);>

note: type: Plain text
en: I<ioctl_type> is one of the following:
fr: I<ioctl_type> est l'une des valeurs suivantes\ :

note: FIXME http://sources.redhat.com/bugzilla/show_bug.cgi?id=12002, filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers SIOCOUTQ also has an effect for UNIX domain sockets, but not quite what userland might expect. It seems to return the number of bytes allocated for buffers containing pe
en: Returns the amount of queued unread data in the receive buffer.  The socket must not be in LISTEN state, otherwise an error (B<EINVAL>)  is returned.  B<SIOCINQ> is defined in I<E<lt>linux/sockios.hE<gt>>.  Alternatively, you can use the synonymous B<FIONREAD>, defined in I<E<lt>sys/ioctl.hE<gt>>.
fr: Renvoie la quantité de données non lues en attente dans le tampon de réception. La socket ne doit pas être dans l'état LISTEN, sinon l'erreur B<EINVAL> est renvoyée. B<SIOCINQ> est défini dans I<E<lt>linux/sockios.hE<gt>>. Une alternative est d'utiliser le synonyme B<FIONREAD>, défini dans I<E<lt>sys/ioctl.hE<gt>>.

note: type: Plain text
en: Returns true (i.e., I<value> is nonzero) if the inbound data stream is at the urgent mark.
fr: Renvoie vrai (c'est-à-dire une I<valeur> non nulle) si le flux de données entrantes est à la marque de données urgentes.

note: type: Plain text
en: If the B<SO_OOBINLINE> socket option is set, and B<SIOCATMARK> returns true, then the next read from the socket will return the urgent data.  If the B<SO_OOBINLINE> socket option is not set, and B<SIOCATMARK> returns true, then the next read from the socket will return the bytes following the urgent data (to actually read the urgent data requires the B<recv(MSG_OOB)> flag).
fr: Si l'option B<SO_OOBINLINE> est activée, et B<SIOCATMARK> renvoie vrai, la prochaine lecture sur la socket renverra les données urgentes. Si l'option B<SO_OOBINLINE> n'est pas activée, et B<SIOCATMARK> renvoie vrai, la prochaine lecture sur la socket renverra les octets suivant les données urgentes (pour lire les données urgentes, il faut utiliser l'option B<MSG_OOB> de B<recv>()).

note: type: Plain text
en: Note that a read never reads across the urgent mark.  If an application is informed of the presence of urgent data via B<select>(2)  (using the I<exceptfds> argument) or through delivery of a B<SIGURG> signal, then it can advance up to the mark using a loop which repeatedly tests B<SIOCATMARK> and performs a read (requesting any number of bytes) as long as B<SIOCATMARK> returns false.
fr: Notez qu'une lecture ne lit jamais de part et d'autre de la marque de données urgentes. Si une application est informée de la présence de données urgentes avec B<select>(2) (en utilisant l'argument I<exceptfds>) ou par la réception du signal B<SIGURG>, il peut avancer jusqu'à la marque avec une boucle qui teste de façon répétée B<SIOCATMARK> et fait une lecture (demandant un nombre quelconque d'octets) tant que B<SIOCATMARK> renvoie faux.

note: FIXME http://sources.redhat.com/bugzilla/show_bug.cgi?id=12002, filed 2010-09-10, may cause SIOCOUTQ to be defined in glibc headers type: Plain text
en: Returns the amount of unsent data in the socket send queue.  The socket must not be in LISTEN state, otherwise an error (B<EINVAL>)  is returned.  B<SIOCOUTQ> is defined in I<E<lt>linux/sockios.hE<gt>>.  Alternatively, you can use the synonymous B<TIOCOUTQ>, defined in I<E<lt>sys/ioctl.hE<gt>>.
fr: Renvoie la quantité de données non envoyées en attente dans le tampon d'émission. La socket ne doit pas être dans l'état LISTEN, sinon l'erreur B<EINVAL> est renvoyée. B<SIOCOUTQ> est défini dans I<E<lt>linux/sockios.hE<gt>>. Une alternative est d'utiliser le synonyme B<TIOCOUTQ>, défini dans I<E<lt>sys/ioctl.hE<gt>>.

note: type: Plain text
en: When a network error occurs, TCP tries to resend the packet.  If it doesn't succeed after some time, either B<ETIMEDOUT> or the last received error on this connection is reported.
fr: Quand une erreur réseau se produit, TCP tente de renvoyer le paquet. S'il ne réussit pas après un certain temps, soit B<ETIMEDOUT> soit la dernière erreur reçue sur la connexion est renvoyée.

note: type: Plain text
en: Some applications require a quicker error notification.  This can be enabled with the B<IPPROTO_IP> level B<IP_RECVERR> socket option.  When this option is enabled, all incoming errors are immediately passed to the user program.  Use this option with care \(em it makes TCP less tolerant to routing changes and other normal network conditions.
fr: Certaines applications demandent une notification d'erreur plus rapide. Cela peut être validé avec l'option de socket B<IP_RECVERR> de niveau B<IPPROTO_IP>. Quand cette option est active, toutes les erreurs arrivant sont immédiatement passées au programme utilisateur. Employez cette option avec précaution, elle rend TCP moins tolérant aux modifications de routage et autres conditions réseau normales.

note: type: Plain text
en: Passed socket address type in I<sin_family> was not B<AF_INET>.
fr: Le type d'adresse de la socket passée dans I<sin_family> n'était pas B<AF_INET>.

note: type: Plain text
en: The other end closed the socket unexpectedly or a read is executed on a shut down socket.
fr: L'autre extrémité a fermé inopinément la socket, ou une lecture est tentée sur une socket terminée.

note: type: Plain text
en: The other end didn't acknowledge retransmitted data after some time.
fr: L'autre côté n'a pas acquitté les données retransmises après un certain délai.

note: type: Plain text
en: Any errors defined for B<ip>(7)  or the generic socket layer may also be returned for TCP.
fr: Toutes les erreurs définies dans B<ip>(7) ou au niveau générique des sockets peuvent aussi se produire avec TCP.

note: type: Plain text
en: Support for Explicit Congestion Notification, zero-copy B<sendfile>(2), reordering support and some SACK extensions (DSACK) were introduced in 2.4.  Support for forward acknowledgement (FACK), TIME_WAIT recycling, and per-connection keepalive socket options were introduced in 2.3.
fr: La prise en charge de notification explicite de congestion, l'émission de fichiers sans copie avec B<sendfile>(2), le réordonnancement et certaines extensions SACK (DSACK) ont été introduits dans Linux 2.4. La prise en charge du Forward Acknowledgement (FACK), le recyclage de TIME_WAIT et les options keepalive des sockets par connexion ont été introduits dans Linux 2.3.

note: type: Plain text
en: Not all errors are documented.
fr: Toutes les erreurs ne sont pas documentées.

note: Only a single Linux kernel version is described Info for 2.2 was lost. Should be added again, or put into a separate page. .SH AUTHORS This man page was originally written by Andi Kleen. It was updated for 2.4 by Nivedita Singhvi with input from Alexey Kuznetsov's Documentation/networking/ip-sysctl.
en: IPv6 is not described.
fr: IPv6 n'est pas décrit.

note: type: Plain text
en: RFC\ 793 for the TCP specification.
fr: RFC\ 793 pour les spécifications TCP.

note: type: Plain text
en: RFC\ 1122 for the TCP requirements and a description of the Nagle algorithm.
fr: RFC\ 1122 pour les nécessités TCP et une description de l'algorithme Nagle.

note: type: Plain text
en: RFC\ 1323 for TCP timestamp and window scaling options.
fr: RFC\ 1323 pour les options d'horodatage et la fenêtre TCP.

note: type: Plain text
en: RFC\ 1337 for a description of TIME_WAIT assassination hazards.
fr: RFC\ 1337 pour une description des dangers de TIME_WAIT.

note: type: Plain text
en: RFC\ 3168 for a description of Explicit Congestion Notification.
fr: RFC\ 3168 pour une description de la notification explicite de congestion.

note: type: Plain text
en: RFC\ 2581 for TCP congestion control algorithms.
fr: RFC\ 2581 pour des algorithmes de contrôle de congestion TCP.

note: type: Plain text
en: RFC\ 2018 and RFC\ 2883 for SACK and extensions to SACK.
fr: RFC\ 2018 et RFC\ 2883 pour SACK et ses extensions.

note: type: TH
en: 2013-07-31
fr: 31 juillet 2013

note: type: Plain text
en: udp - User Datagram Protocol for IPv4
fr: udp - Protocole UDP pour IPv4

note: type: Plain text
en: This is an implementation of the User Datagram Protocol described in RFC\ 768.  It implements a connectionless, unreliable datagram packet service.  Packets may be reordered or duplicated before they arrive.  UDP generates and checks checksums to catch transmission errors.
fr: Il s'agit d'une implémentation de l'User Datagram Protocol décrit dans la RFC\ 768. Elle implémente un service de paquets datagrammes non fiable, sans connexion. Les paquets peuvent être réordonnés ou dupliqués avant leur arrivée. UDP crée et vérifie des sommes de contrôle pour détecter les erreurs de transmission.

note: type: Plain text
en: When a UDP socket is created, its local and remote addresses are unspecified.  Datagrams can be sent immediately using B<sendto>(2)  or B<sendmsg>(2)  with a valid destination address as an argument.  When B<connect>(2)  is called on the socket, the default destination address is set and datagrams can now be sent using B<send>(2)  or B<write>(2)  without specifying a destination address.  It is still possible to send to other destinations by passing an address to B<sendto>(2)  or B<sendmsg>(2).  In order to receive packets, the socket can be bound to a local address first by using B<bind>(2).  Otherwise the socket layer will automatically assign a free local port out of the range defined by I</proc/sys/net/ipv4/ip_local_port_range> and bind the socket to B<INADDR_ANY>.
fr: Lorsqu'une socket UDP est créée, ses adresses locales et distantes sont indéterminées. Les datagrammes peuvent être envoyés immédiatement en utilisant B<sendto>(2) ou B<sendmsg>(2) avec une adresse de destination valable en argument. Lorsque B<connect>(2) est appelé sur une socket, l'adresse de destination par défaut est définie, et les datagrammes pourront être envoyés avec B<send>(2) ou B<write>(2) sans indiquer d'adresse de destination. Il restera possible d'envoyer des données à d'autres destinations en passant l'adresse à B<sendto>(2) ou B<sendmsg>(2). Afin de recevoir les paquets, une socket doit être attachée à une adresse locale en utilisant B<bind>(2). Sinon la couche socket affectera automatiquement un port local libre, hors de l'intervalle défini par I</proc/sys/net/ipv4/ip_local_port_range> et attacher la socket à l'adresse B<INADDR_ANY>.

note: type: Plain text
en: All receive operations return only one packet.  When the packet is smaller than the passed buffer, only that much data is returned; when it is bigger, the packet is truncated and the B<MSG_TRUNC> flag is set.  B<MSG_WAITALL> is not supported.
fr: Les opérations de réception ne renvoient qu'un seul paquet à la fois. Si le paquet est plus petit que le tampon transmis, il n'y aura pas plus de données renvoyées. S'il est plus grand, le paquet sera tronqué et le drapeau B<MSG_TRUNC> sera activé. B<MSG_WAITALL> n'est pas pris en charge.

note: type: Plain text
en: IP options may be sent or received using the socket options described in B<ip>(7).  They are processed by the kernel only when the appropriate I</proc> parameter is enabled (but still passed to the user even when it is turned off).  See B<ip>(7).
fr: Les options IP peuvent être envoyées ou lues en utilisant les options des sockets décrites dans B<ip>(7). Elles ne sont traitées par le noyau que lorsque le paramètre I</proc> approprié est activé (mais sont quand même fournies à l'utilisateur quant il est inhibé). Consultez B<ip>(7).

note: type: Plain text
en: When the B<MSG_DONTROUTE> flag is set on sending, the destination address must refer to a local interface address and the packet is sent only to that interface.
fr: Quand l'attribut B<MSG_DONTROUTE> est actif à l'émission, l'adresse de destination doit représenter une adresse d'interface locale, et le paquet n'est envoyé qu'à cette interface.

note: type: Plain text
en: By default, Linux UDP does path MTU (Maximum Transmission Unit) discovery.  This means the kernel will keep track of the MTU to a specific target IP address and return B<EMSGSIZE> when a UDP packet write exceeds it.  When this happens, the application should decrease the packet size.  Path MTU discovery can be also turned off using the B<IP_MTU_DISCOVER> socket option or the I</proc/sys/net/ipv4/ip_no_pmtu_disc> file; see B<ip>(7)  for details.  When turned off, UDP will fragment outgoing UDP packets that exceed the interface MTU.  However, disabling it is not recommended for performance and reliability reasons.
fr: Par défaut, l'UDP sous Linux utilise la détection de MTU («\ Maximum Transmission Unit\ ») par chemin. Cela signifie que le noyau garde en mémoire le MTU vers une adresse IP particulière, et renvoie B<EMSGSIZE> lorsqu'une écriture sur une socket UDP dépasse cette taille. Dans ce cas, l'application doit réduire la taille du paquet. La détection de MTU par chemin peut être désactivée avec l'option de socket B<IP_MTU_DISCOVER> ou le fichier I</proc/sys/net/ipv4/ip_no_pmtu_disc> ; consultez B<ip>(7) pour plus de détails. Lorsque cette option est désactivée, UDP fragmente les paquets sortants dont la taille dépasse le MTU de l'interface. C’est cependant découragé, pour des raisons de performance et de fiabilité.

note: type: Plain text
en: UDP uses the IPv4 I<sockaddr_in> address format described in B<ip>(7).
fr: UDP utilise le format d'adresse IPv4 I<sockaddr_in> comme indiqué dans B<ip>(7).

note: type: Plain text
en: All fatal errors will be passed to the user as an error return even when the socket is not connected.  This includes asynchronous errors received from the network.  You may get an error for an earlier packet that was sent on the same socket.  This behavior differs from many other BSD socket implementations which don't pass any errors unless the socket is connected.  Linux's behavior is mandated by B<RFC\ 1122>.
fr: Toutes les erreurs fatales seront transmises à l'utilisateur comme un retour d'erreur même lorsque la socket n'est pas connectée. Ça comprend les erreurs asynchrones reçues du réseau. Vous pouvez ainsi recevoir une erreur due à un paquet précédemment envoyé sur la même socket. Ce comportement diffère de celui de nombreuses autres implémentations des sockets BSD, qui ne transmettent pas d'erreur si la socket n'est pas connectée. Le comportement de Linux correspond à la B<RFC\ 1122>.

note: type: Plain text
en: For compatibility with legacy code, in Linux 2.0 and 2.2 it was possible to set the B<SO_BSDCOMPAT> B<SOL_SOCKET> option to receive remote errors only when the socket has been connected (except for B<EPROTO> and B<EMSGSIZE>).  Locally generated errors are always passed.  Support for this socket option was removed in later kernels; see B<socket>(7)  for further information.
fr: Pour assurer la compatibilité avec du code ancien, sous Linux 2.0 et 2.2, l'option B<SOL_SOCKET> B<SO_BSDCOMPAT> pouvait être définie pour ne recevoir les erreurs distantes que si la socket a été connectée (sauf pour B<EPROTO> et B<EMSGSIZE>). Les erreurs locales sont toujours transmises. La gestion de cette option a été supprimée dans les noyaux plus récents\ ; consultez B<socket>(7) pour plus d'informations.

note: type: Plain text
en: When the B<IP_RECVERR> option is enabled, all errors are stored in the socket error queue, and can be received by B<recvmsg>(2)  with the B<MSG_ERRQUEUE> flag set.
fr: Lorsque l'option B<IP_RECVERR> est active, toutes les erreurs sont stockées dans la file d'erreur de la socket et peuvent être lues avec B<recvmsg>(2) en activant son option B<MSG_ERRQUEUE>.

note: type: Plain text
en: System-wide UDP parameter settings can be accessed by files in the directory I</proc/sys/net/ipv4/>.
fr: La configuration des paramètres système pour UDP est accessible par les fichiers du répertoire I</proc/sys/net/ipv4/>.

note: type: TP
en: I<udp_mem> (since Linux 2.6.25)
fr: I<udp_mem> (depuis Linux 2.6.25)

note: type: Plain text
en: This is a vector of three integers governing the number of pages allowed for queueing by all UDP sockets.
fr: C'est un vecteur de trois entiers qui contrôle le nombre de pages permises pour la file d’attente de toutes les sockets UDP.

note: type: Plain text
en: Below this number of pages, UDP is not bothered about its memory appetite.  When the amount of memory allocated by UDP exceeds this number, UDP starts to moderate memory usage.
fr: En dessous de ce nombre de pages, UDP ne se soucie pas de son appétit en mémoire. Quand la quantité de mémoire allouée par UDP dépasse cette valeur, UDP commence à limiter son utilisation mémoire.

note: type: Plain text
en: This value was introduced to follow the format of I<tcp_mem> (see B<tcp>(7)).
fr: Cette valeur a été introduite pour suivre le format de I<tcp_mem> (voir B<tcp>(7)).

note: type: Plain text
en: Number of pages allowed for queueing by all UDP sockets.
fr: Nombre de pages permises pour la file d’attente de toutes les sockets UDP.

note: type: Plain text
en: Defaults values for these three items are calculated at boot time from the amount of available memory.
fr: Les valeurs par défaut pour ces trois éléments sont calculées au démarrage à partir de la quantité de mémoire disponible.

note: type: TP
en: I<udp_rmem_min> (integer; default value: PAGE_SIZE; since Linux 2.6.25)
fr: I<udp_rmem_min> (entier ; PAGE_SIZE par défaut ; depuis Linux 2.6.25)

note: type: Plain text
en: Minimal size, in bytes, of receive buffers used by UDP sockets in moderation.  Each UDP socket is able to use the size for receiving data, even if total pages of UDP sockets exceed I<udp_mem> pressure.
fr: Taille minimale, en octets, des tampons de réception utilisés par les sockets UDP dans le mode de modération. Chaque socket UDP peut utiliser cette taille pour recevoir des données, même si le nombre total de pages pour les sockets UDP dépasse le seuil I<udp_mem>.

note: type: TP
en: I<udp_wmem_min> (integer; default value: PAGE_SIZE; since Linux 2.6.25)
fr: I<udp_wmem_min> (entier ; PAGE_SIZE par défaut ; depuis Linux 2.6.25)

note: type: Plain text
en: Minimal size, in bytes, of send buffer used by UDP sockets in moderation.  Each UDP socket is able to use the size for sending data, even if total pages of UDP sockets exceed I<udp_mem> pressure.
fr: Taille minimale, en octets, du tampon d'émission utilisé par les sockets UDP dans le mode de modération. Chaque socket UDP peut utiliser cette taille pour envoyer des données, même si le nombre total de pages pour les sockets UDP dépasse le seuil I<udp_mem>.

note: type: Plain text
en: To set or get a UDP socket option, call B<getsockopt>(2)  to read or B<setsockopt>(2)  to write the option with the option level argument set to B<IPPROTO_UDP>.  Unless otherwise noted, I<optval> is a pointer to an I<int>.
fr: Pour lire ou écrire une option de socket UDP, appeler B<getsockopt>(2) pour la lecture ou B<setsockopt>(2) pour l'écriture, avec l'argument de niveau d'option valant B<IPPROTO_UDP>. Sauf mention contraire, I<optval> est un pointeur vers un I<int>.

note: type: TP
en: B<UDP_CORK> (since Linux 2.5.44)
fr: B<UDP_CORK> (depuis Linux 2.5.44)

note: FIXME document UDP_ENCAP (new in kernel 2.5.67) From include/linux/udp.h: /* UDP encapsulation types */ #define UDP_ENCAP_ESPINUDP_NON_IKE      1 /* draft-ietf-ipsec-nat-t-ike-00/01 */ #define UDP_ENCAP_ESPINUDP      2 /* draft-ietf-ipsec-udp-encaps-06 */ #define UDP_ENCAP_L2TPINUDP     3 /* rfc2661
en: If this option is enabled, then all data output on this socket is accumulated into a single datagram that is transmitted when the option is disabled.  This option should not be used in code intended to be portable.
fr: Si cette option est active, toutes les données en sortie sur cette socket sont accumulées dans un unique datagramme qui est émis dès que l'option est désactivée. Cette option ne doit pas être utilisée dans des programmes destinés à être portables.

note: type: Plain text
en: These ioctls can be accessed using B<ioctl>(2).  The correct syntax is:
fr: Ces ioctls sont accessibles à travers l'appel système B<ioctl>(2). La syntaxe correcte est\ :

note: See http://www.securiteam.com/unixfocus/5KP0I15IKO.html "GNUnet DoS (UDP Socket Unreachable)", 14 May 2006 type: Plain text
en: Gets a pointer to an integer as argument.  Returns the size of the next pending datagram in the integer in bytes, or 0 when no datagram is pending.  B<Warning:> Using B<FIONREAD>, it is impossible to distinguish the case where no datagram is pending from the case where the next pending datagram contains zero bytes of data.  It is safer to use B<select>(2), B<poll>(2), or B<epoll>(7)  to distinguish these cases.
fr: Prend en argument un pointeur sur un entier. Y écrit la taille en octets du prochain datagramme en attente, ou 0 si aucun datagramme  n'est disponible. B<Attention :> en utilisant B<FIONREAD>, il est impossible de distinguer le cas où aucun datagramme n'est en attente du cas où le prochain datagramme en attente contient 0 octet de données. Il est préférable d'utiliser B<select>(2), B<poll>(2), ou B<epoll>(7)  pour différencier ces cas.

note: type: Plain text
en: Returns the number of data bytes in the local send queue.  Only supported with Linux 2.4 and above.
fr: Renvoie le nombre d'octets de données dans la file d'émission locale. Seulement sur Linux 2.4 et ultérieurs.

note: type: Plain text
en: In addition, all ioctls documented in B<ip>(7)  and B<socket>(7)  are supported.
fr: De plus, les ioctls documentés dans B<ip>(7) et B<socket>(7) sont pris en charge.

note: type: Plain text
en: All errors documented for B<socket>(7)  or B<ip>(7)  may be returned by a send or receive on a UDP socket.
fr: Toutes les erreurs documentées pour B<socket>(7) ou B<ip>(7) peuvent être renvoyées lors d'une émission ou d'une réception sur une socket UDP.

note: type: Plain text
en: No receiver was associated with the destination address.  This might be caused by a previous packet sent over the socket.
fr: Aucun correspondant sur l'adresse destination associée à la socket. Ça peut être causé par l'émission antérieure d'un paquet sur la socket.

note: .SH CREDITS This man page was written by Andi Kleen. type: Plain text
en: B<IP_RECVERR> is a new feature in Linux 2.2.
fr: B<IP_RECVERR> est une nouveauté de Linux 2.2.

note: type: Plain text
en: RFC\ 768 for the User Datagram Protocol.
fr: RFC\ 768 pour le protocole UDP.

note: type: Plain text
en: RFC\ 1122 for the host requirements.
fr: RFC\ 1122 pour les nécessités de l'hôte.

note: type: Plain text
en: RFC\ 1191 for a description of path MTU discovery.
fr: RFC\ 1191 pour une description de la recherche du MTU du chemin.

note: type: TH
en: 2008-12-03
fr: 3 décembre 2008

note: type: Plain text
en: udplite - Lightweight User Datagram Protocol
fr: udplite - Protocole « Lightweight User Datagram Protocol »

note: type: Plain text
en: This is an implementation of the Lightweight User Datagram Protocol (UDP-Lite), as described in RFC\ 3828.
fr: C'est une implémentation du protocol « Lightweight User Datagram Protocol » (UDP-Lite, version légère de UDP), comme décrit dans la RFC 3828.

note: type: Plain text
en: UDP-Lite is an extension of UDP (RFC\ 768) to support variable-length checksums.  This has advantages for some types of multimedia transport that may be able to make use of slightly damaged datagrams, rather than having them discarded by lower-layer protocols.
fr: UDP-Lite est une extension de UDP (RFC 768) pour prendre en charge des sommes de contrôle de taille variable. Cela a des avantages pour certains types de communication multimedia qui peuvent être capable d'utiliser des datagrammes légèrement abîmés, plutôt que de les ignorer dans les couches basses du protocole.

note: type: Plain text
en: The variable-length checksum coverage is set via a B<setsockopt>(2)  option.  If this option is not set, the only difference to UDP is in using a different IP protocol identifier (IANA number 136).
fr: La couverture de la somme de contrôle de taille variable se fait par un option B<setsockopt>(2). Si cette option n'est pas positionnée, la seule différence avec UDP réside dans l'utilisation d'un identifiant de protocole IP différent (numéro IANA 136).

note: type: Plain text
en: The UDP-Lite implementation is a full extension of B<udp>(7)\(emthat is, it shares the same API and API behaviour, and in addition offers two socket options to control the checksum coverage.
fr: L'implémentation UDP-Lite est une extension complète de B<udp>(7), c'est-à-dire qu'elle partage la même API et le même comportement de l'API et offre en plus deux nouvelles options de socket pour contrôler la couverture de la somme de contrôle.

note: type: Plain text
en: UDP-Litev4 uses the I<sockaddr_in> address format described in B<ip>(7).  UDP-Litev6 uses the I<sockaddr_in6> address format described in B<ipv6>(7).
fr: UDP-Litev4 utilise le format d'adresse I<sockaddr_in> décrit dans B<ip>(7). UDP-Litev6 utilise le format d'adresse I<sockaddr_in6> décrit dans B<ipv6>(7).

note: type: Plain text
en: To set or get a UDP-Lite socket option, call B<getsockopt>(2)  to read or B<setsockopt>(2)  to write the option with the option level argument set to B<IPPROTO_UDPLITE>.  In addition, all B<IPPROTO_UDP> socket options are valid on a UDP-Lite socket.  See B<udp>(7)  for more information.
fr: Pour lire ou écrire une option de socket UDP-Lite, appeler B<getsockopt>(2) pour la lecture ou B<setsockopt>(2) pour l'écriture, avec l'argument niveau de socket valant B<IPPROTO_UDPLITE>. De plus, la plupart des options de socket B<IPPROTO_UDP> sont valables sur les sockets UDP-Lite. Pour plus de détails, consultez B<udp>(7).

note: type: Plain text
en: The following two options are specific to UDP-Lite.
fr: Les deux opérations suivantes sont spécifiques à UDP-Lite.

note: type: Plain text
en: This option sets the sender checksum coverage and takes an I<int> as argument, with a checksum coverage value in the range 0..2^16-1.
fr: Cette option configure la couverture de la somme de contrôle pour les émissions et prend un paramètre de type I<int>, avec une couverture de somme de contrôle dans l'intervalle 0..2^16-1.

note: type: Plain text
en: A value of 0 means that the entire datagram is always covered.  Values from 1-7 are illegal (RFC\ 3828, 3.1) and are rounded up to the minimum coverage of 8.
fr: Une valeur de 0 signifie que le datagramme en entier est couvert. Les valeurs de 1 à 7 ne sont pas autorisées (RFC\ 3828, 3.1) et sont remplacées par 8, la couverture minimale.

note: type: Plain text
en: With regard to IPv6 jumbograms (RFC\ 2675), the UDP-Litev6 checksum coverage is limited to the first 2^16-1 octets, as per RFC\ 3828, 3.5.  Higher values are therefore silently truncated to 2^16-1.  If in doubt, the current coverage value can always be queried using B<getsockopt>(2).
fr: Par rapport aux jumbogrammes IPv6 (RFC\ 2675), la couverture de la somme de contrôle UDP-Litev6 est limitée aux premier 2^16-1 octets, comme d'après la RFC 3828, 3.5. Les valeurs les plus hautes sont donc tronquées à 2^16-1. En cas de doute, la valeur de couverture en cours peut toujours être demandée en utilisant B<getsockopt>(2).

note: type: Plain text
en: This is the receiver-side analogue and uses the same argument format and value range as B<UDPLITE_SEND_CSCOV>.  This option is not required to enable traffic with partial checksum coverage.  Its function is that of a traffic filter: when enabled, it instructs the kernel to drop all packets which have a coverage I<less> than the specified coverage value.
fr: Il s'agit de l'option analogue pour la réception. Elle utilise un paramètre au même format et avec le même intervalle que B<UDPLITE_SEND_CSCOV>. Cette option n'est pas obligée d'autoriser le trafic avec une couverture de somme de contrôle partielle. Son rôle est celui d'un filtre de trafic : lorsqu'elle est activée, elle indique au noyau d'ignorer tous les paquets dont la couverture est I<inférieure> à celle indiquée dans la valeur de couverture.

note: SO_NO_CHECK exists and is supported by UDPv4, but is commented out in socket(7), hence also commented out here .PP Since UDP-Lite mandates checksums, checksumming can not be disabled via the .B SO_NO_CHECK option from .BR socket (7). type: Plain text
en: When the value of B<UDPLITE_RECV_CSCOV> exceeds the actual packet coverage, incoming packets are silently dropped, but may generate a warning message in the system log.
fr: Quand la valeur B<UDPLITE_RECV_CSCOV> dépasse la couverture du paquet en cours, le paquet est simplement ignoré, mais il peut générer un avertissement dans le journal système.

note: type: Plain text
en: All errors documented for B<udp>(7)  may be returned.  UDP-Lite does not add further errors.
fr: Toutes les erreurs documentées pour B<udp>(7) peuvent être renvoyées. UDP-Lite n'ajoute pas d'autres erreurs.

note: type: Plain text
en: I</proc/net/snmp> - basic UDP-Litev4 statistics counters.
fr: I</proc/net/snmp> - compteurs de statistiques de base UDP-Litev4.

note: type: Plain text
en: I</proc/net/snmp6> - basic UDP-Litev6 statistics counters.
fr: I</proc/net/snmp6> - compteurs de statistiques de base UDP-Litev6.

note: type: Plain text
en: UDP-Litev4/v6 first appeared in Linux 2.6.20.
fr: UDP-Litev4/v6 est apparu dans Linux 2.6.20.

note: FIXME . remove this section once glibc supports UDP-Lite type: Plain text
en: Where glibc support is missing, the following definitions are needed:
fr: Quand la prise en charge de la glibc n'est pas présente, les définitions suivantes sont nécessaires :

note: type: Plain text
en: RFC\ 3828 for the Lightweight User Datagram Protocol (UDP-Lite).
fr: RFC\ 3828 pour le protocole « Lightweight User Datagram Protocol » (UDP-Lite).

note: type: Plain text
en: I<Documentation/networking/udplite.txt> in the Linux kernel source tree
fr: I<Documentation/networking/udplite.txt> dans l'arborescence des sources du noyau Linux.

note: type: Plain text
en: unix - sockets for local interprocess communication
fr: unix - Sockets pour communications locales entre processus

note: type: Plain text
en: The B<AF_UNIX> (also known as B<AF_LOCAL>)  socket family is used to communicate between processes on the same machine efficiently.  Traditionally, UNIX domain sockets can be either unnamed, or bound to a filesystem pathname (marked as being of type socket).  Linux also supports an abstract namespace which is independent of the filesystem.
fr: La famille de socket B<AF_UNIX> (aussi connue sous le nom B<AF_LOCAL>) sert à communiquer efficacement entre processus sur la même machine. Traditionnellement, les sockets de domaine UNIX peuvent ne pas être nommées ou bien être liées à un chemin d'accès, lequel sera marqué comme étant de type socket, sur un système de fichiers. Linux gère également un espace de noms abstrait, indépendant du système de fichiers.

note: type: Plain text
en: Valid types are: B<SOCK_STREAM>, for a stream-oriented socket and B<SOCK_DGRAM>, for a datagram-oriented socket that preserves message boundaries (as on most UNIX implementations, UNIX domain datagram sockets are always reliable and don't reorder datagrams); and (since Linux 2.6.4)  B<SOCK_SEQPACKET>, for a connection-oriented socket that preserves message boundaries and delivers messages in the order that they were sent.
fr: Les types valables sont\ : B<SOCK_STREAM>, pour une socket orientée flux et B<SOCK_DGRAM>, pour une socket orientée datagramme, préservant les limites entre messages (comme sur la plupart des implémentations UNIX, les sockets datagramme de domaine UNIX sont toujours fiables et ne réordonnent pas les datagrammes)\ ; et (depuis Linux 2.6.4) B<SOCK_SEQPACKET>, pour une socket orientée connexion, préservant les limites entre messages et délivrant les messages dans l'ordre où ils ont été envoyés.

note: type: Plain text
en: UNIX domain sockets support passing file descriptors or process credentials to other processes using ancillary data.
fr: Les sockets de domaine UNIX prennent en charge la transmission de descripteurs de fichier ou d'identificateurs d'un processus à l'autre en utilisant des données annexes.

note: type: Plain text
en: A UNIX domain socket address is represented in the following structure:
fr: Une adresse de socket de domaine UNIX est représentée dans la structure suivante :

note: type: Plain text
en: struct sockaddr_un {
        sa_family_t sun_family;               /* AF_UNIX */
        char        sun_path[UNIX_PATH_MAX];  /* pathname */
    };
fr: struct sockaddr_un {
        sa_family_t sun_family;               /* AF_UNIX */
        char        sun_path[UNIX_PATH_MAX];  /* chemin accès */
    };

note: type: Plain text
en: I<sun_family> always contains B<AF_UNIX>.
fr: I<sun_family> contient toujours la valeur B<AF_UNIX>.

note: type: Plain text
en: Three types of address are distinguished in this structure:
fr: On considère trois types d'adresse pour cette structure :

note: type: Plain text
en: I<pathname>: a UNIX domain socket can be bound to a null-terminated filesystem pathname using B<bind>(2).  When the address of the socket is returned by B<getsockname>(2), B<getpeername>(2), and B<accept>(2), its length is
fr: I<chemin d'accès> : une socket de domaine UNIX peut être liée, avec B<bind>(2), à un système de fichiers dont le chemin d'accès est une chaîne de caractères terminée par l’octet NULL. Lorsque l'adresse de la socket est obtenue avec B<getsockname>(2), B<getpeername>(2) ou B<accept>(2), sa longueur vaut

note: type: Plain text
en: and I<sun_path> contains the null-terminated pathname.
fr: et I<sun_path> contient une chaîne de caractères, terminée par un octet nul, représentant le chemin d'accès.

note: There is quite some variation across implementations: FreeBSD says the length is 16 bytes, HP-UX 11 says it's zero bytes. type: Plain text
en: I<unnamed>: A stream socket that has not been bound to a pathname using B<bind>(2)  has no name.  Likewise, the two sockets created by B<socketpair>(2)  are unnamed.  When the address of an unnamed socket is returned by B<getsockname>(2), B<getpeername>(2), and B<accept>(2), its length is I<sizeof(sa_family_t)>, and I<sun_path> should not be inspected.
fr: I<sans nom> : une socket orientée flux qui n'a pu être liée à un chemin d'accès avec B<bind>(2) n'a pas de nom. De la même façon, les deux sockets crées avec B<socketpair>(2) ne sont pas nommées. Lorsque l'adresse d'une socket sans nom est obtenue avec B<getsockname>(2), B<getpeername>(2) ou B<accept>(2), sa longueur vaut I<sizeof(sa_family_t)>, et il n'est pas nécessaire de vérifier I<sun_path>.

note: type: Plain text
en: I<abstract>: an abstract socket address is distinguished by the fact that I<sun_path[0]> is a null byte (\(aq\e0\(aq).  The socket's address in this namespace is given by the additional bytes in I<sun_path> that are covered by the specified length of the address structure.  (Null bytes in the name have no special significance.)  The name has no connection with filesystem pathnames.  When the address of an abstract socket is returned by B<getsockname>(2), B<getpeername>(2), and B<accept>(2), the returned I<addrlen> is greater than I<sizeof(sa_family_t)> (i.e., greater than 2), and the name of the socket is contained in the first I<(addrlen - sizeof(sa_family_t))> bytes of I<sun_path>.  The abstract socket namespace is a nonportable Linux extension.
fr: I<abstraite> : une adresse de socket abstraite se reconnaît par le fait que I<sun_path[0]> est un octet nul (« \e0 »). L'adresse de la socket dans cet espace est donnée par le reste des octets dans I<sun_path> qui sont couverts par la longueur indiquée de la structure de l'adresse. (Les octets nuls dans le nom n'ont pas de signification particulière.) Le nom n'a aucun rapport avec les chemins d'accès sur les systèmes de fichiers. Lorsque l'adresse d'une socket abstraite est obtenue avec B<getsockname>(2), B<getpeername>(2) ou B<accept>(2), l'I<addrlen> obtenue est plus grande que I<sizeof(sa_family_t)> (c'est-à-dire plus grande que 2), et le nom de la socket est contenu dans les premiers bits I<(addrlen - sizeof(sa_family_t))> de I<sun_path>. L'espace de noms des sockets abstraites est une extension Linux non portable.

note: type: Plain text
en: For historical reasons these socket options are specified with a B<SOL_SOCKET> type even though they are B<AF_UNIX> specific.  They can be set with B<setsockopt>(2)  and read with B<getsockopt>(2)  by specifying B<SOL_SOCKET> as the socket family.
fr: Pour des raisons historiques, les options de ces sockets sont indiquées avec un type B<SOL_SOCKET> même si elles sont spécifiques B<AF_UNIX>. Elles peuvent être définies avec B<setsockopt>(2) et lues avec B<getsockopt>(2) en indiquant la famille B<SOL_SOCKET>.

note: type: Plain text
en: Enables the receiving of the credentials of the sending process in an ancillary message.  When this option is set and the socket is not yet connected a unique name in the abstract namespace will be generated automatically.  Expects an integer boolean flag.
fr: Valide la réception des identifiants du processus émetteur dans un message annexe. Lorsque cette option est active et la socket non encore connectée un nom unique dans l'espace abstrait sera généré automatiquement. Un attribut booléen entier est attendu.

note: type: SS
en: Autobind feature
fr: Fonctionnalité d'autolien (« autobind »)

note: i.e., sizeof(short) type: Plain text
en: If a B<bind>(2)  call specifies I<addrlen> as I<sizeof(sa_family_t)>, or the B<SO_PASSCRED> socket option was specified for a socket that was not explicitly bound to an address, then the socket is autobound to an abstract address.  The address consists of a null byte followed by 5 bytes in the character set I<[0-9a-f]>.  Thus, there is a limit of 2^20 autobind addresses.  (From Linux 2.1.15, when the autobind feature was added, 8 bytes were used, and the limit was thus 2^32 autobind addresses.  The change to 5 bytes came in Linux 2.3.15.)
fr: Si un appel B<bind>(2) indique I<addrlen> comme I<sizeof(sa_family_t)>, ou si l'option de socket B<SO_PASSCRED> était indiquée pour une socket qui n'était pas liée explicitement à une adresse, alors la socket est autoliée à une adresse abstraite. L'adresse est constitué d'un octet nul suivi par cinq octets de l'ensemble de caractères I<[0-9a-f]>. Le nombre d'adresses autoliées est donc limité à 2^20 (à partir de Linux 2.1.15, quand la fonctionnalité d'autolien a été ajoutée, huit octets étaient utilisés, et le nombre d'adresses autoliées était donc limité à 2^32. La modification à cinq octets est intervenue avec Linux 2.3.15).

note: type: Plain text
en: The following paragraphs describe domain-specific details and unsupported features of the sockets API for UNIX domain sockets on Linux.
fr: Les paragraphes suivants décrivent des détails spécifiques au domaine UNIX, et des fonctionnalités de l'API des sockets du domaine UNIX non prises en charge sous Linux.

note: type: Plain text
en: UNIX domain sockets do not support the transmission of out-of-band data (the B<MSG_OOB> flag for B<send>(2)  and B<recv>(2)).
fr: Les sockets de domaine UNIX ne prennent pas en charge la notion de données hors-bande (l'attribut B<MSG_OOB> de B<send>(2) et B<recv>(2)).

note: type: Plain text
en: The B<send>(2)  B<MSG_MORE> flag is not supported by UNIX domain sockets.
fr: L'attribut B<MSG_MORE> de B<send>(2) n'est pas pris en charge sur les sockets de domaine UNIX.

note: type: Plain text
en: The use of B<MSG_TRUNC> in the I<flags> argument of B<recv>(2)  is not supported by UNIX domain sockets.
fr: L'utilisation de B<MSG_TRUNC> dans la paramètre I<flags> de B<recv>(2) n'est pas prise en charge sur les sockets de domaine UNIX.

note: type: Plain text
en: The B<SO_SNDBUF> socket option does have an effect for UNIX domain sockets, but the B<SO_RCVBUF> option does not.  For datagram sockets, the B<SO_SNDBUF> value imposes an upper limit on the size of outgoing datagrams.  This limit is calculated as the doubled (see B<socket>(7))  option value less 32 bytes used for overhead.
fr: L'option B<SO_SNDBUF> a un effet pour les sockets de domaine UNIX, mais B<SO_RCVBUF> n'en a pas. Pour les sockets datagramme, la valeur B<SO_SNDBUF> impose une limite supérieure à la taille des datagrammes sortants. Cette limite est calculée comme le double de la valeur de l'option, moins 32 octets utilisés par le système (consultez B<socket>(7)).

note: type: SS
en: Ancillary messages
fr: Messages annexes

note: type: Plain text
en: Ancillary data is sent and received using B<sendmsg>(2)  and B<recvmsg>(2).  For historical reasons the ancillary message types listed below are specified with a B<SOL_SOCKET> type even though they are B<AF_UNIX> specific.  To send them set the I<cmsg_level> field of the struct I<cmsghdr> to B<SOL_SOCKET> and the I<cmsg_type> field to the type.  For more information see B<cmsg>(3).
fr: Les données annexes sont envoyées et reçues en utilisant B<sendmsg>(2) et B<recvmsg>(2). Pour des raisons historiques, les messages annexes listés ci-dessous sont indiqués avec un type B<SOL_SOCKET> même s'ils sont spécifiques B<AF_UNIX>. Pour les envoyer, définissez le champ I<cmsg_level> de la structure I<cmsghdr> à B<SOL_SOCKET> et le champ I<cmsg_type> avec le type du message. Pour plus de détails, consultez B<cmsg>(3).

note: type: Plain text
en: Send or receive a set of open file descriptors from another process.  The data portion contains an integer array of the file descriptors.  The passed file descriptors behave as though they have been created with B<dup>(2).
fr: Envoie ou reçoit un jeu de descripteurs de fichier ouverts par un autre processus. La portion de données contient une table de descripteurs. Les descripteurs passés se comportent comme s'ils avaient été créés avec B<dup>(2).

note: type: Plain text
en: Send or receive UNIX credentials.  This can be used for authentication.  The credentials are passed as a I<struct ucred> ancillary message.  Thus structure is defined in I<E<lt>sys/socket.hE<gt>> as follows:
fr: Envoyer ou recevoir les identifiants UNIX. Ça peut servir à l'authentification. Les identifications sont passés en message annexe en I<struct ucred>. La structure est définie dans I<E<lt>sys/socket.hE<gt>> comme ceci :

note: type: Plain text
en: struct ucred {
        pid_t pid;    /* process ID of the sending process */
        uid_t uid;    /* user ID of the sending process */
        gid_t gid;    /* group ID of the sending process */
    };
fr: struct ucred {
        pid_t pid;    /* PID processus émetteur */
        uid_t uid;    /* UID processus émetteur */
        gid_t gid;    /* GID processus émetteur */
    };

note: type: Plain text
en: Since glibc 2.8, the B<_GNU_SOURCE> feature test macro must be defined (before including I<any> header files) in order to obtain the definition of this structure.
fr: Depuis la glibc 2.8, la macro de test de fonctionnalités B<_GNU_SOURCE> doit être définie (avant d'inclure I<tout> fichier d'en\(hytête) afin d'obtenir la définition de cette structure.

note: type: Plain text
en: The credentials which the sender specifies are checked by the kernel.  A process with effective user ID 0 is allowed to specify values that do not match its own.  The sender must specify its own process ID (unless it has the capability B<CAP_SYS_ADMIN>), its user ID, effective user ID, or saved set-user-ID (unless it has B<CAP_SETUID>), and its group ID, effective group ID, or saved set-group-ID (unless it has B<CAP_SETGID>).  To receive a I<struct ucred> message the B<SO_PASSCRED> option must be enabled on the socket.
fr: Les identifiants que l'émetteur envoie sont vérifiés par le noyau. Un processus avec un UID effectif nul est autorisé à indiquer des valeurs autres que les siennes. L'émetteur doit indiquer son propre PID (sauf s'il a la capacité B<CAP_SYS_ADMIN>), son UID réel, effectif ou sauvé (sauf s'il a la capacité B<CAP_SETUID>), et son GID réel, effectif ou sauvé (sauf s'il a la capacité B<CAP_SETGID>). Pour recevoir un message I<struct ucred> l'option B<SO_PASSCRED> doit être validée sur la socket.

note: type: Plain text
en: I<ioctl_type> can be:
fr: I<ioctl_type> peut être\ :

note: type: Plain text
en: The specified local address is already in use or the filesystem socket object already exists.
fr: L'adresse locale indiquée est déjà utilisée ou l'objet existe déjà dans le système de fichiers.

note: type: Plain text
en: The remote address specified by B<connect>(2)  was not a listening socket.  This error can also occur if the target filename is not a socket.
fr: L'adresse distante indiquée par B<connect>(2) n'était pas une socket en attente de connexions. Cette erreur peut également se produire si le nom de fichier cible n'est pas une socket.

note: type: Plain text
en: Remote socket was unexpectedly closed.
fr: La socket distante a été fermée de manière inattendue.

note: type: Plain text
en: User memory address was not valid.
fr: Adresse mémoire utilisateur incorrecte.

note: type: Plain text
en: Invalid argument passed.  A common cause is that the value B<AF_UNIX> was not specified in the I<sun_type> field of passed addresses, or the socket was in an invalid state for the applied operation.
fr: Argument non valable. Une cause habituelle est que la valeur de B<AF_UNIX> n'était pas indiquée dans le champ I<sun_type> de l'adresse passée, ou que la socket était dans un état non valable pour l'opération.

note: type: Plain text
en: B<connect>(2)  called on an already connected socket or a target address was specified on a connected socket.
fr: B<connect>(2) a été appelée sur une socket déjà connectée, ou l'adresse cible a été indiquée sur une socket connectée.

note: type: Plain text
en: The pathname in the remote address specified to B<connect>(2)  did not exist.
fr: Le chemin de l'adresse distante indiquée à B<connect>(2) n'existait pas.

note: type: Plain text
en: Socket operation needs a target address, but the socket is not connected.
fr: L'opération nécessite une adresse cible, mais la socket n'est pas connectée.

note: type: Plain text
en: Stream operation called on non-stream oriented socket or tried to use the out-of-band data option.
fr: Opération de flux sur une socket non orientée flux, ou tentative d'utiliser des options de données hors-bande.

note: type: Plain text
en: The sender passed invalid credentials in the I<struct ucred>.
fr: L'émetteur a transmis des identifiants incorrects dans la I<struct ucred>.

note: type: Plain text
en: Remote socket was closed on a stream socket.  If enabled, a B<SIGPIPE> is sent as well.  This can be avoided by passing the B<MSG_NOSIGNAL> flag to B<sendmsg>(2)  or B<recvmsg>(2).
fr: La socket distante, de type flux, a été fermée. Dans ce cas un signal B<SIGPIPE> est émis également. Cela peut être évité en passant l'attribut B<MSG_NOSIGNAL> dans B<sendmsg>(2) ou B<recvmsg>(2).

note: type: Plain text
en: Passed protocol is not B<AF_UNIX>.
fr: Le protocole passé n'est pas B<AF_UNIX>.

note: type: Plain text
en: Remote socket does not match the local socket type (B<SOCK_DGRAM> versus B<SOCK_STREAM>)
fr: La socket distante ne correspond pas au type local (B<SOCK_DGRAM> contre B<SOCK_STREAM>)

note: type: Plain text
en: Unknown socket type.
fr: Type de socket inconnu.

note: type: Plain text
en: Other errors can be generated by the generic socket layer or by the filesystem while generating a filesystem socket object.  See the appropriate manual pages for more information.
fr: D'autres erreurs peuvent être déclenchées par le niveau socket générique ou par le système de fichiers. Consultez les pages de manuel correspondantes pour plus de détails.

note: type: Plain text
en: B<SCM_CREDENTIALS> and the abstract namespace were introduced with Linux 2.2 and should not be used in portable programs.  (Some BSD-derived systems also support credential passing, but the implementation details differ.)
fr: B<SCM_CREDENTIALS> et l'espace de noms abstrait ont été introduits avec Linux 2.2 et ne doivent pas être utilisés dans des programmes portables. (Certains systèmes dérivés de BSD prennent aussi en charge le passage d'identifiants, mais les détails d'implémentation diffèrent).

note: type: Plain text
en: In the Linux implementation, sockets which are visible in the filesystem honor the permissions of the directory they are in.  Their owner, group and their permissions can be changed.  Creation of a new socket will fail if the process does not have write and search (execute) permission on the directory the socket is created in.  Connecting to the socket object requires read/write permission.  This behavior differs from many BSD-derived systems which ignore permissions for UNIX domain sockets.  Portable programs should not rely on this feature for security.
fr: Dans l'implémentation Linux, les sockets qui sont visibles dans le système de fichiers honorent les permissions du répertoire où elles se trouvent. Leur propriétaire, groupe et autorisations peuvent être changés. La création d'une nouvelle socket échouera si le processus n'a pas le droit d'écrire et de parcourir (exécution) dans le répertoire où elle est créée. La connexion sur une socket nécessite les permissions de lecture/écriture. Le comportement diffère de plusieurs systèmes dérivés de BSD qui ignorent les permissions sur les sockets de domaine UNIX. Les programmes portables ne doivent pas s'appuyer sur ces fonctionnalités pour la sécurité.

note: type: Plain text
en: Binding to a socket with a filename creates a socket in the filesystem that must be deleted by the caller when it is no longer needed (using B<unlink>(2)).  The usual UNIX close-behind semantics apply; the socket can be unlinked at any time and will be finally removed from the filesystem when the last reference to it is closed.
fr: Lier une socket avec un nom de fichier crée la socket dans le système de fichiers, qu'il faudra détruire lorsqu'elle n'est plus utile (en appelant B<unlink>(2)). La sémantique habituelle UNIX s'applique\ ; la socket peut être effacée à tout moment, et sera effectivement supprimée lorsque sa dernière référence sera fermée.

note: type: Plain text
en: To pass file descriptors or credentials over a B<SOCK_STREAM>, you need to send or receive at least one byte of nonancillary data in the same B<sendmsg>(2)  or B<recvmsg>(2)  call.
fr: Pour passer un descripteur ou des identifiants par dessus un B<SOCK_STREAM>, il faut envoyer ou recevoir au moins un octet de donnée non méta dans l'appel B<sendmsg>(2) ou B<recvmsg>(2) correspondant.

note: type: Plain text
en: UNIX domain stream sockets do not support the notion of out-of-band data.
fr: Les sockets flux UNIX ne prennent pas en charge la notion de données hors-bande.

note: type: Plain text
en: See B<bind>(2).
fr: Consultez B<bind>(2).

note: type: Plain text
en: For an example of the use of B<SCM_RIGHTS> see B<cmsg>(3).
fr: Pour un exemple de l'utilisation de B<SCM_RIGHTS>, consultez B<cmsg>(3).

note: type: Plain text
en: x25 - ITU-T X.25 / ISO-8208 protocol interface.
fr: x25 - Interface du protocole ITU-T X.25 / ISO-8208

note: type: Plain text
en: X25 sockets provide an interface to the X.25 packet layer protocol.  This allows applications to communicate over a public X.25 data network as standardized by International Telecommunication Union's recommendation X.25 (X.25 DTE-DCE mode).  X25 sockets can also be used for communication without an intermediate X.25 network (X.25 DTE-DTE mode) as described in ISO-8208.
fr: Les sockets X25 fournissent une interface pour le protocole par paquets X.25. Elles permettent aux applications de communiquer sur un réseau X.25 public normalisé par la recommandation de l'International Telecommunication Union (X.25 mode DTE-DCE). Les sockets X25 peuvent aussi servir à communiquer sans réseau intermédiaire X.25 (X.25 mode DTE-DTE) décrit par ISO-8208.

note: type: Plain text
en: Message boundaries are preserved \(em a B<read>(2)  from a socket will retrieve the same chunk of data as output with the corresponding B<write>(2)  to the peer socket.  When necessary, the kernel takes care of segmenting and reassembling long messages by means of the X.25 M-bit.  There is no hard-coded upper limit for the message size.  However, reassembling of a long message might fail if there is a temporary lack of system resources or when other constraints (such as socket memory or buffer size limits) become effective.  If that occurs, the X.25 connection will be reset.
fr: Les frontières de message sont préservées \(em un B<read>(2) sur la socket retrouvera le même bloc de donnée que celui du B<write>(2) sur la socket correspondante. Si nécessaire, le noyau prend soin de segmenter et réassembler les messages longs par le biais du bit M de X.25. Il n'y a pas de limite maximale pour la taille du message, toutefois le réassemblage d'un long message peut échouer en cas de manque temporaire de ressource système ou si d'autres contraintes (taille mémoire, limite de tampon) entrent en jeu. Si cela se produit, la connexion X.25 sera réinitialisée.

note: type: SS
en: Socket addresses
fr: Adresses de socket

note: type: Plain text
en: The B<AF_X25> socket address family uses the I<struct sockaddr_x25> for representing network addresses as defined in ITU-T recommendation X.121.
fr: L'adresse d'une socket de la famille B<AF_X25> utilise une I<struct sockaddr_x25> pour représenter les adresses réseau définies par la recommandation X.121 de l'ITU-T.

note: type: Plain text
en: struct sockaddr_x25 {
        sa_family_t sx25_family;    /* must be AF_X25 */
        x25_address sx25_addr;      /* X.121 Address */
    };
fr: struct sockaddr_x25 {
        sa_family_t	sx25_family;   /* doit être AF_X25 */
        x25_address	sx25_addr;     /* adresse X.121    */
    };

note: type: Plain text
en: I<sx25_addr> contains a char array I<x25_addr[]> to be interpreted as a null-terminated string.  I<sx25_addr.x25_addr[]> consists of up to 15 (not counting the terminating null byte) ASCII characters forming the X.121 address.  Only the decimal digit characters from \(aq0\(aq to \(aq9\(aq are allowed.
fr: I<sx25_addr> contient une table de caractères I<x25_addr[]> à interpréter comme une chaîne terminée par un caractère nul. I<sx25_addr.x25_addr[]> contient jusqu'à 15 caractères ASCII (sans compter l’octet NULL final) formant l'adresse X.121. Seuls les chiffres décimaux de 0 à 9 sont autorisés.

note: type: Plain text
en: The following X.25-specific socket options can be set by using B<setsockopt>(2)  and read with B<getsockopt>(2)  with the I<level> argument set to B<SOL_X25>.
fr: Les options suivantes spécifiques aux sockets X.25 peuvent être définies avec B<setsockopt>(2) et lues avec B<getsockopt>(2) en utilisant un paramètre I<level> valant B<SOL_X25>.

note: type: Plain text
en: Controls whether the X.25 Q-bit (Qualified Data Bit) is accessible by the user.  It expects an integer argument.  If set to 0 (default), the Q-bit is never set for outgoing packets and the Q-bit of incoming packets is ignored.  If set to 1, an additional first byte is prepended to each message read from or written to the socket.  For data read from the socket, a 0 first byte indicates that the Q-bits of the corresponding incoming data packets were not set.  A first byte with value 1 indicates that the Q-bit of the corresponding incoming data packets was set.  If the first byte of the data written to the socket is 1, the Q-bit of the corresponding outgoing data packets will be set.  If the first byte is 0, the Q-bit will not be set.
fr: Contrôle si le bit Q\ X.25 (Qualified Data Bit) est accessible par l'utilisateur. Il attend un argument entier. S'il est nul (par défaut), le bit Q n'est jamais mis pour les paquets sortants et le bit Q des paquets entrants est ignoré. S'il vaut 1, un premier octet supplémentaire est accolé à chaque message lus ou écrits sur la socket. Pour les données lues depuis la socket, un premier octet nul indique que le bit Q des données correspondantes n'était pas actif. Un premier octet avec une valeur 1 indique que le bit Q était validé. Si le premier octet des donnés écrites sur la socket est 1, le bit Q sera activé\ ; si le premier octet est 0, le bit Q sera inhibé.

note: type: Plain text
en: The AF_X25 protocol family is a new feature of Linux 2.2.
fr: La famille de protocole AF_X25 est une nouveauté avec Linux 2.2.

note: type: Plain text
en: Plenty, as the X.25 PLP implementation is B<CONFIG_EXPERIMENTAL>.
fr: Beaucoup, l'implémentation X.25 PLP est considérée comme B<CONFIG_EXPERIMENTAL>.

note: type: Plain text
en: This man page is incomplete.
fr: Cette page de manuel est incomplète.

note: type: Plain text
en: There is no dedicated application programmer's header file yet; you need to include the kernel header file I<E<lt>linux/x25.hE<gt>>.  B<CONFIG_EXPERIMENTAL> might also imply that future versions of the interface are not binary compatible.
fr: Il n'y a pas encore de fichier d'en-tête dédié pour les applications, il faut inclure l'en-tête du noyau I<E<lt>linux/x25.hE<gt>>. B<CONFIG_EXPERIMENTAL> implique aussi que les versions à venir seront peut-être incompatibles au niveau binaire.

note: type: Plain text
en: X.25 N-Reset events are not propagated to the user process yet.  Thus, if a reset occurred, data might be lost without notice.
fr: Les événements N-Reset X.25 ne sont pas encore propagés au processus utilisateur. Ainsi, si une réinitialisation se produit, des données peuvent être perdues sans avertissement.

note: type: Plain text
en: Jonathan Simon Naylor: \(lqThe Re-Analysis and Re-Implementation of X.25.\(rq The URL is E<.UR ftp://ftp.pspt.fi\:/pub\:/ham\:/linux\:/ax25\:/x25doc.tgz> E<.UE .>
fr: Jonathan Simon Naylor: \(lqThe Re-Analysis and Re-Implementation of X.25.\(rq L'URL est E<.UR ftp://ftp.pspt.fi\:/pub\:/ham\:/linux\:/ax25\:/x25doc.tgz> E<.UE .>
