# French translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Christophe Blaess , 1996-2003. # Stéphan Rafin , 2002. # Thierry Vignaud , 1999, 2002. # François Micaux, 2002. # Alain Portal , 2003-2008. # Jean-Philippe Guérard , 2005-2006. # Jean-Luc Coulon (f5ibh) , 2006-2007. # Julien Cristau , 2006-2007. # Thomas Huriaux , 2006-2008. # Nicolas François , 2006-2008. # Florentin Duneau , 2006-2010. # Simon Paillard , 2006, 2013-2014. # Denis Barbier , 2006, 2010. # David Prévot , 2010-2014. # Jean-Paul Guillonneau , 2021. msgid "" msgstr "" "Project-Id-Version: perkamon\n" "POT-Creation-Date: 2024-06-01 06:33+0200\n" "PO-Revision-Date: 2021-12-01 11:37+0100\n" "Last-Translator: Jean-Paul Guillonneau \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: vim\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "UNIX" msgstr "UNIX" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 mai 2024" #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" msgstr "Pages du manuel de Linux 6.8" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "NOM" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "unix - sockets for local interprocess communication" msgstr "unix – Sockets pour communications locales entre processus" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "SYNOPSIS" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B<#include Esys/socket.hE>\n" "B<#include Esys/un.hE>\n" msgstr "" "B<#include Esys/socket.hE>\n" "B<#include Esys/un.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "IB< = socket(AF_UNIX, type, 0);>\n" "IB< = socketpair(AF_UNIX, type, 0, int *>IB<);>\n" msgstr "" "IB< = socket(AF_UNIX, type, 0);>\n" "IB< = socketpair(AF_UNIX, type, 0, int *>IB<);>\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "DESCRIPTION" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B (also known as B) 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." msgstr "" "La famille de sockets B (aussi connue sous le nom de B) " "sert à communiquer efficacement entre processus sur la même machine. " "Traditionnellement, les sockets de domaine UNIX peuvent ne pas être nommés " "ou bien être liés à un chemin d'accès de système de fichiers, lequel sera " "marqué comme étant de type socket. Linux gère également un espace de noms " "abstrait, indépendant du système de fichiers." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Valid socket types in the UNIX domain are: B, for a stream-" "oriented socket; B, 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, for a sequenced-packet socket that " "is connection-oriented, preserves message boundaries, and delivers messages " "in the order that they were sent." msgstr "" "Les types de sockets valables dans le domaine UNIX sont\\ : B " "pour un socket orienté flux et B pour un socket orienté " "datagramme qui préserve 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 pour un socket orienté connexion, préservant les limites " "entre messages et délivrant les messages dans l'ordre où ils ont été envoyés." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "UNIX domain sockets support passing file descriptors or process credentials " "to other processes using ancillary data." msgstr "" "Les sockets de domaine UNIX prennent en charge la transmission de " "descripteurs de fichier ou d'accréditations d'un processus à l'autre en " "utilisant des données annexes." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Address format" msgstr "Formats d'adresse" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "A UNIX domain socket address is represented in the following structure:" msgstr "" "Une adresse de socket de domaine UNIX est représentée dans la structure " "suivante :" #. #define UNIX_PATH_MAX 108 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct sockaddr_un {\n" " sa_family_t sun_family; /* AF_UNIX */\n" " char sun_path[108]; /* Pathname */\n" "};\n" msgstr "" "struct sockaddr_un {\n" " sa_family_t sun_family; /* AF_UNIX */\n" " char sun_path[108]; /* Chemin d’accès */\n" "};\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The I field always contains B. On Linux, " #| "I is 108 bytes in size; see also NOTES, below." msgid "" "The I field always contains B. On Linux, I " "is 108 bytes in size; see also BUGS, below." msgstr "" "Le champ I contient toujours B. Dans Linux, I " "a pour taille 108 octets. Consultez NOTES, ci-dessous." #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "Various systems calls (for example, B(2), B(2), and " #| "B(2)) take a I argument as input. Some other " #| "system calls (for example, B(2), B(2), " #| "B(2), and B(2)) return an argument of this type." msgid "" "Various system calls (for example, B(2), B(2), and " "B(2)) take a I argument as input. Some other system " "calls (for example, B(2), B(2), B(2), " "and B(2)) return an argument of this type." msgstr "" "Divers appels système (par exemple, B(2), B(2) et " "B(2)) prennent un argument I en entrée. D’autres appels " "système (par exemple, B(2), B(2), B(2) " "et B(2)) renvoient un argument de ce type." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Three types of address are distinguished in the I structure:" msgstr "" "Trois types d’adresse sont remarquables dans la structure I :" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "pathname" msgstr "pathname" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "I: a UNIX domain socket can be bound to a null-terminated " #| "filesystem pathname using B(2). When the address of a pathname " #| "socket is returned (by one of the system calls noted above), its length is" msgid "" "a UNIX domain socket can be bound to a null-terminated filesystem pathname " "using B(2). When the address of a pathname socket is returned (by one " "of the system calls noted above), its length is" msgstr "" "I : un socket de domaine UNIX peut être lié, avec " "B(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 du socket est " "obtenue (avec un des appels système ci-dessus) sa longueur vaut" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid " offsetof(struct sockaddr_un, sun_path) + strlen(sun_path) + 1\n" msgid "offsetof(struct sockaddr_un, sun_path) + strlen(sun_path) + 1\n" msgstr " offsetof(struct sockaddr_un, sun_path) + strlen(sun_path) + 1\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "and I contains the null-terminated pathname. (On Linux, the above " "B() expression equates to the same value as " "I, but some other implementations include other fields " "before I, so the B() expression more portably describes " "the size of the address structure.)" msgstr "" "et I contient le chemin avec un octet NULL final. (Dans Linux, " "l’expression ci-dessus B() est égale à la même valeur que " "I, mais quelques autres implémentations incluent " "d’autres champs avant I, aussi l’expression B() plus " "portable décrit la taille de la structure d’adresse.)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "For further details of pathname sockets, see below." msgstr "Pour plus de détails sur les sockets chemin, voir ci-après." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "unnamed" msgstr "" #. 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 #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "I: A stream socket that has not been bound to a pathname using " #| "B(2) has no name. Likewise, the two sockets created by " #| "B(2) are unnamed. When the address of an unnamed socket is " #| "returned, its length is I, and I should " #| "not be inspected." msgid "" "A stream socket that has not been bound to a pathname using B(2) has " "no name. Likewise, the two sockets created by B(2) are " "unnamed. When the address of an unnamed socket is returned, its length is " "I, and I should not be inspected." msgstr "" "I : un socket flux qui n'a pas été lié à un chemin d'accès avec " "B(2) n'a pas de nom. De la même façon, les deux sockets créés avec " "B(2) ne sont pas nommés. Lorsque l'adresse d'un socket sans nom " "est obtenue, sa longueur vaut I et il n'est pas " "nécessaire de vérifier I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "abstract" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "I: an abstract socket address is distinguished (from a pathname " #| "socket) by the fact that I is a null byte " #| "(\\(aq\\e0\\(aq). The socket's address in this namespace is given by the " #| "additional bytes in I 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, the returned " #| "I is greater than I (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." msgid "" "an abstract socket address is distinguished (from a pathname socket) by the " "fact that I is a null byte (\\[aq]\\e0\\[aq]). The socket's " "address in this namespace is given by the additional bytes in I " "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, the returned I is greater than I (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." msgstr "" "I : une adresse de socket abstrait se distingue d’un socket de " "chemin par le fait que I est un octet NULL (« \\e0 »). " "L'adresse du socket dans cet espace de noms est donnée par le reste des " "octets dans I qui sont enrobés dans la longueur indiquée de la " "structure d'adresse. (Les octets NULL dans le nom n'ont pas de signification " "particulière.) Le nom n'a aucun rapport avec les chemins d'accès de systèmes " "de fichiers. Lorsque l'adresse d'un socket abstrait est obtenue, " "l'I obtenue est plus grande que I (c'est-à-" "dire plus grande que 2), et le nom du socket est contenu dans les premiers " "bits I<(addrlen\\ -\\ sizeof(sa_family_t))> de I." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Pathname sockets" msgstr "Sockets chemin d’accès" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When binding a socket to a pathname, a few rules should be observed for " "maximum portability and ease of coding:" msgstr "" "Lors de la liaison d’un socket à un chemin, quelques règles doivent être " "observées pour une portabilité maximale et une facilité de codage :" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "\\[bu]" msgstr "-" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The pathname in I should be null-terminated." msgstr "Le chemin dans I doit être terminé par un octet NULL ;" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The length of the pathname, including the terminating null byte, should not " "exceed the size of I." msgstr "" "La taille du chemin, y compris l’octet NULL final, ne doit pas excéder la " "taille de I ;" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument that describes the enclosing I " "structure should have a value of at least:" msgstr "" "L’argument I décrivant la structure enfermant I doit " "avoir une valeur d’au moins :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid " offsetof(struct sockaddr_un, sun_path)+strlen(addr.sun_path)+1\n" msgid "offsetof(struct sockaddr_un, sun_path)+strlen(addr.sun_path)+1\n" msgstr " offsetof(struct sockaddr_un, sun_path)+strlen(addr.sun_path)+1\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "or, more simply, I can be specified as I." msgstr "" "ou, plus simplement, I peut être indiqué comme I." #. Linux does this, including for the case where the supplied path #. is 108 bytes #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There is some variation in how implementations handle UNIX domain socket " "addresses that do not follow the above rules. For example, some (but not " "all) implementations append a null terminator if none is present in the " "supplied I." msgstr "" "Il y a quelques variations dans la façon dont les implémentations gèrent les " "adresses de socket de domaine UNIX qui ne suivent pas les règles ci-dessus." "Par exemple, quelques implémentations (mais pas toutes) ajoutent un octet " "NULL final si aucun n’est présent dans le I fourni." #. HP-UX #. Modern BSDs generally have 104, Tru64 and AIX have 104, #. Solaris and Irix have 108 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When coding portable applications, keep in mind that some implementations " "have I as short as 92 bytes." msgstr "" "Lors du codage d’applications portables, il faut penser que certaines " "implémentations ont un I aussi court que 92 octets." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Various system calls (B(2), B(2), B(2), " "B(2)) return socket address structures. When applied to UNIX " "domain sockets, the value-result I argument supplied to the call " "should be initialized as above. Upon return, the argument is set to " "indicate the I size of the address structure. The caller should " "check the value returned in this argument: if the output value exceeds the " "input value, then there is no guarantee that a null terminator is present in " "I. (See BUGS.)" msgstr "" "Divers appels système (B(2), B(2), B(2), " "B(2)) renvoient les structures d’adresse de socket. Lorsque " "appliqué à des sockets de domaine UNIX, l’argument « value-result » " "I fourni à l’appel devrait être initialisé comme ci-dessus. Au " "renvoi, l’argument est réglé pour indiquer la taille I de la " "structure d’adresse. L’appelant devrait vérifier la valeur renvoyée dans cet " "argument. Si la valeur de sortie excède la valeur d’entrée, alors il n’y a " "aucune garantie qu’un octet NULL final soit présent dans I. " "(Consultez BOGUES.)" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Pathname socket ownership and permissions" msgstr "Permissions et appartenance des sockets chemin d’accès" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the Linux implementation, pathname sockets honor the permissions of the " "directory they are in. Creation of a new socket fails if the process does " "not have write and search (execute) permission on the directory in which the " "socket is created." msgstr "" "Dans l’implémentation de Linux, les sockets chemin d'accès respectent les " "permissions du répertoire dans lequel ils sont. La création d’un nouveau " "socket échoue si le processus n’a pas les permissions d’écriture et de " "recherche (exécution) dans le répertoire où le socket est créé." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On Linux, connecting to a stream socket object requires write permission on " "that socket; sending a datagram to a datagram socket likewise requires write " "permission on that socket. POSIX does not make any statement about the " "effect of the permissions on a socket file, and on some systems (e.g., older " "BSDs), the socket permissions are ignored. Portable programs should not " "rely on this feature for security." msgstr "" "Dans Linux, la connexion à un objet de socket flux nécessite la permission " "en écriture sur ce socket. De même, l’envoi d’un datagramme à un socket " "datagramme nécessite la permission en écriture sur ce socket. POSIX ne fait " "aucune déclaration sur les effets des permissions sur un fichier de socket, " "et sur certains systèmes (par exemple, les BSD anciens) les permissions de " "socket sont ignorées. Les programmes portables ne devraient pas se fier à " "cette fonctionnalité pour la sécurité." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When creating a new socket, the owner and group of the socket file are set " "according to the usual rules. The socket file has all permissions enabled, " "other than those that are turned off by the process B(2)." msgstr "" "Lors de la création d’un nouveau socket, le propriétaire et le groupe d’un " "fichier de socket sont définis selon les règles habituelles. Le fichier de " "socket a toutes les permissions activées, autres que celles désactivées par " "le processus B(2)." #. However, fchown() and fchmod() do not seem to have an effect #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The owner, group, and permissions of a pathname socket can be changed (using " "B(2) and B(2))." msgstr "" "Le propriétaire, le groupe et les permissions d’un socket chemin d'accès " "peuvent être modifiés (avec B(2) et B(2))." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Abstract sockets" msgstr "Sockets abstraits" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Socket permissions have no meaning for abstract sockets: the process " "B(2) has no effect when binding an abstract socket, and changing the " "ownership and permissions of the object (via B(2) and " "B(2)) has no effect on the accessibility of the socket." msgstr "" "Les permissions de socket n’ont aucun sens pour les sockets abstraits : le " "processus B(2) n’a aucun effet lors de la liaison d’un socket " "abstrait et modifier le propriétaire et les permissions de l’objet (avec " "B(2) et B(2)) n’a aucun effet sur l’accessibilité du socket." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Abstract sockets automatically disappear when all open references to the " "socket are closed." msgstr "" "Les sockets abstraits disparaissent automatiquement quand toutes les " "références de socket ouvertes sont refermées." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The abstract socket namespace is a nonportable Linux extension." msgstr "" "L’espace de noms de sockets abstraits est une extension non portable de " "Linux." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Socket options" msgstr "Options de socket" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For historical reasons, these socket options are specified with a " "B type even though they are B specific. They can be " "set with B(2) and read with B(2) by specifying " "B as the socket family." msgstr "" "Pour des raisons historiques, les options de ces sockets sont indiquées avec " "un type B même si elles sont spécifiques à B. Elles " "peuvent être définies avec B(2) et lues avec B(2) en " "indiquant B comme famille de sockets." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Enabling this socket option causes receipt of the credentials of the sending " "process in an B message in each subsequently " "received message. The returned credentials are those specified by the " "sender using B, or a default that includes the sender's " "PID, real user ID, and real group ID, if the sender did not specify " "B ancillary data." msgstr "" "Activer cette option de socket provoque la réception des accréditations du " "processus émetteur dans un message B dans chaque " "message reçu ultérieur. Les accréditations renvoyées sont celles indiquées " "par l’émetteur en utilisant B ou celles par défaut qui " "incluent le PID, l’ID utilisateur réel et l’ID groupe réel de l’émetteur si " "celui-ci ne précise pas les données auxiliaires B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When this option is set and the socket is not yet connected, a unique name " "in the abstract namespace will be generated automatically." msgstr "" "Lorsque cette option est active et le socket non encore connecté, un nom " "unique dans l'espace de noms abstrait sera généré automatiquement." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The value given as an argument to B(2) and returned as the " "result of B(2) is an integer boolean flag." msgstr "" "La valeur donnée comme argument pour B(2) et renvoyée comme " "résultat de B(2) est un indicateur booléen entier." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Enables receiving of the SELinux security label of the peer socket in an " "ancillary message of type B (see below)." msgstr "" "Activer la réception de l’étiquette de sécurité SELinux du socket pair dans " "un message annexe de type B (voir ci-dessous)." #. commit 877ce7c1b3afd69a9b1caeb1b9964c992641f52a #. commit 37a9a8df8ce9de6ea73349c9ac8bdf6ba4ec4f70 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B option is supported for UNIX domain datagram sockets since " "Linux 2.6.18; support for UNIX domain stream sockets was added in Linux 4.2." msgstr "" "L’option B est gérée par les sockets datagramme de domaine UNIX " "depuis Linux 2.6.18. La prise en charge pour les sockets flux de domaine " "UNIX a été ajoutée dans Linux 4.2." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "See B(7)." msgstr "Consulter B(7)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "This read-only socket option returns the credentials of the peer process " #| "connected to this socket. The returned credentials are those that were " #| "in effect at the time of the call to B(2) or B(2)." msgid "" "This read-only socket option returns the credentials of the peer process " "connected to this socket. The returned credentials are those that were in " "effect at the time of the call to B(2), B(2), or " "B(2)." msgstr "" "Cette option de socket en lecture exclusivement renvoie les accréditations " "du processus pair connecté à ce socket. Les accréditations renvoyées sont " "celles effectives au moment de l’appel à B(2) ou B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The argument to B(2) is a pointer to a I structure; " "define the B<_GNU_SOURCE> feature test macro to obtain the definition of " "that structure from Isys/socket.hE>." msgstr "" "L’argument de B(2) est un pointeur vers une structure I. " "Est définie la macro de test de fonctionnalité B<_GNU_SOURCE> pour obtenir " "la définition de cette structure à partir de Isys/socket.hE>." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The use of this option is possible only for connected B stream " "sockets and for B stream and datagram socket pairs created using " "B(2)." msgstr "" "L’utilisation de cette option est possible seulement pour les sockets flux " "B connectés et pour les pairs de sockets flux et datagramme " "B créés en utilisant B(2)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This read-only socket option returns the security context of the peer socket " "connected to this socket. By default, this will be the same as the security " "context of the process that created the peer socket unless overridden by the " "policy or by a process with the required permissions." msgstr "" "Cette option de socket en lecture exclusivement renvoie le contexte de " "sécurité du socket pair connecté à ce socket. Par défaut, cela sera le même " "que le contexte de sécurité du processus ayant créé le socket pair à moins " "qu’il ne soit écrasé par la politique ou par un processus ayant les " "permissions requises." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The argument to B(2) is a pointer to a buffer of the specified " "length in bytes into which the security context string will be copied. If " "the buffer length is less than the length of the security context string, " "then B(2) returns -1, sets I to B, and returns " "the required length via I. The caller should allocate at least " "B bytes for the buffer initially, although this is not guaranteed " "to be sufficient. Resizing the buffer to the returned length and retrying " "may be necessary." msgstr "" "L’argument de B(2) est un pointeur vers un tampon de la longueur " "indiquée en octets dans lequel la chaîne de contexte de sécurité sera " "copiée. Si la taille du tampon est inférieure à celle de la chaîne du " "contexte de sécurité, alors B(2) renvoie B<-1>, définit I " "à B et renvoie la taille requise à l’aide de I. L’appelant " "doit allouer initialement au moins B octets pour le tampon, bien " "que cela ne soit pas garanti d'être suffisant. Redimensionner le tampon à la " "taille renvoyée et réessayer peuvent être nécessaires." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The security context string may include a terminating null character in the " "returned length, but is not guaranteed to do so: a security context \"foo\" " "might be represented as either {'f','o','o'} of length 3 or " "{'f','o','o','\\e0'} of length 4, which are considered to be " "interchangeable. The string is printable, does not contain non-terminating " "null characters, and is in an unspecified encoding (in particular, it is not " "guaranteed to be ASCII or UTF-8)." msgstr "" "La chaîne de contexte de sécurité peut inclure un octet NULL final dans la " "taille renvoyée, mais il n’est pas garanti que ce soit fait : un contexte de " "sécurité « abc » peut être représenté soit par {'a','b','c'} de taille 3, ou " "{'a','b','c','\\e0'} de taille 4, qui sont considérés comme " "interchangeables. La chaîne peut être affichée, mais ne contient pas d’octet " "NULL final, et elle est dans un encodage non précisé (en particulier, il " "n’est pas garanti que ce soit ASCII ou UTF-8)." #. commit 0b811db2cb2aabc910e53d34ebb95a15997c33e7 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The use of this option for sockets in the B address family is " "supported since Linux 2.6.2 for connected stream sockets, and since Linux " "4.18 also for stream and datagram socket pairs created using " "B(2)." msgstr "" "L’utilisation de cette option pour les sockets dans la famille d’adresses " "B est prise en charge depuis Linux 2.6.2 pour les sockets flux " "connectés et aussi, depuis Linux 4.18, pour les pairs de socket flux et " "datagramme créés en utilisant B(2)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Autobind feature" msgstr "Fonctionnalité d'autolien (« autobind »)" #. i.e., sizeof(short) #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "If a B(2) call specifies I as I, or " #| "the B 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.)" msgid "" "If a B(2) call specifies I as I, or the " "B 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\\[ha]20 autobind " "addresses. (From Linux 2.1.15, when the autobind feature was added, 8 bytes " "were used, and the limit was thus 2\\[ha]32 autobind addresses. The change " "to 5 bytes came in Linux 2.3.15.)" msgstr "" "Si un appel B(2) indique I comme I, ou " "si l'option de socket B était indiquée pour un socket qui " "n'était pas lié explicitement à une adresse, alors le socket est autolié à " "une adresse abstraite. L'adresse est constituée d'un octet NULL 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)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Sockets API" msgstr "API des sockets" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following paragraphs describe domain-specific details and unsupported " "features of the sockets API for UNIX domain sockets on Linux." msgstr "" "Les paragraphes suivants décrivent des détails spécifiques aux domaines et " "des fonctionnalités de l'API des sockets de domaine UNIX non prises en " "charge sous Linux." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "UNIX domain sockets do not support the transmission of out-of-band data (the " "B flag for B(2) and B(2))." msgstr "" "Les sockets de domaine UNIX ne prennent pas en charge la transmission de " "données hors-bande (l'indicateur B de B(2) et B(2))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B(2) B flag is not supported by UNIX domain sockets." msgstr "" "L'indicateur B de B(2) n'est pas pris en charge sur les " "sockets de domaine UNIX." #. commit 9f6f9af7694ede6314bed281eec74d588ba9474f #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Before Linux 3.4, the use of B in the I argument of " "B(2) was not supported by UNIX domain sockets." msgstr "" "Avant Linux 3.4, l'utilisation de B dans le paramètre I de " "B(2) n'était pas prise en charge par les sockets de domaine UNIX." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B socket option does have an effect for UNIX domain sockets, " "but the B option does not. For datagram sockets, the " "B value imposes an upper limit on the size of outgoing " "datagrams. This limit is calculated as the doubled (see B(7)) " "option value less 32 bytes used for overhead." msgstr "" "L'option B de socket a un effet pour les sockets de domaine UNIX, " "mais l’option B n'en a pas. Pour les sockets datagramme, la " "valeur B 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 surdébit." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Ancillary messages" msgstr "Messages annexes" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Ancillary data is sent and received using B(2) and B(2). " "For historical reasons, the ancillary message types listed below are " "specified with a B type even though they are B " "specific. To send them, set the I field of the struct " "I to B and the I field to the type. For " "more information, see B(3)." msgstr "" "Les données annexes sont envoyées et reçues en utilisant B(2) et " "B(2). Pour des raisons historiques, les messages annexes listés ci-" "dessous sont indiqués avec un type B même s'ils sont spécifiques " "B. Pour les envoyer, définissez le champ I de la " "structure I à B et le champ I au type. Pour " "plus de détails, consultez B(3)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Send or receive a set of open file descriptors from another process. The " "data portion contains an integer array of the file descriptors." msgstr "" "Envoyer ou recevoir un jeu de descripteurs de fichier ouverts d’un autre " "processus. La partie données contient un tableau d’entiers de descripteurs " "de fichier." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Commonly, this operation is referred to as \"passing a file descriptor\" to " "another process. However, more accurately, what is being passed is a " "reference to an open file description (see B(2)), and in the receiving " "process it is likely that a different file descriptor number will be used. " "Semantically, this operation is equivalent to duplicating (B(2)) a " "file descriptor into the file descriptor table of another process." msgstr "" "Couramment, cette opération est appelée « passage d’un descripteur de " "fichier » à un autre processus. Cependant, plus précisément, ce qui a été " "passé est une référence à une description de fichier ouvert (consultez " "B(2)), et, dans le processus récepteur, il est probable qu’un numéro " "différent de descripteur de fichier sera utilisé. Sémantiquement, cette " "opération est équivalente à dupliquer (B(2)) un descripteur de fichier " "dans une table de descripteurs de fichier d’un autre processus." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the buffer used to receive the ancillary data containing file descriptors " "is too small (or is absent), then the ancillary data is truncated (or " "discarded) and the excess file descriptors are automatically closed in the " "receiving process." msgstr "" "Si le tampon utilisé pour recevoir les données annexes contenant les " "descripteurs de fichier est trop petit (ou absent), alors les données " "annexes sont tronquées (ou ignorées) et les descripteurs de fichier en excès " "sont automatiquement clos dans le processus récepteur." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the number of file descriptors received in the ancillary data would cause " "the process to exceed its B resource limit (see " "B(2)), the excess file descriptors are automatically closed in " "the receiving process." msgstr "" "Si le nombre de descripteurs de fichier reçus dans les données annexes " "conduit le processus à dépasser la limite de ressources B " "(consultez B(2)), les descripteurs de fichier en excès sont " "automatiquement clos dans le processus récepteur." #. commit bba14de98753cb6599a2dae0e520714b2153522d #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The kernel constant B defines a limit on the number of file " #| "descriptors in the array. Attempting to send an array larger than this " #| "limit causes B(2) to fail with the error B. " #| "B has the value 253 (or 255 in kernels before 2.6.38)." msgid "" "The kernel constant B defines a limit on the number of file " "descriptors in the array. Attempting to send an array larger than this " "limit causes B(2) to fail with the error B. B " "has the value 253 (or 255 before Linux 2.6.38)." msgstr "" "La constante du noyau B définit une limite au nombre de " "descripteurs de fichier dans la table. Essayer d’envoyer une table plus " "grande que cette limite provoque l’échec de B(2) avec l’erreur " "B. B a la valeur 253 (ou 255 dans les noyaux " "avant 2.6.38)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Send or receive UNIX credentials. This can be used for authentication. The " "credentials are passed as a I ancillary message. This " "structure is defined in Isys/socket.hE> as follows:" msgstr "" "Envoyer ou recevoir les accréditations UNIX. Cela peut servir à " "l'authentification. Les accréditations sont passées en message annexe " "I. Cette structure est définie dans Isys/socket." "hE> comme ceci :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct ucred {\n" " pid_t pid; /* Process ID of the sending process */\n" " uid_t uid; /* User ID of the sending process */\n" " gid_t gid; /* Group ID of the sending process */\n" "};\n" msgstr "" "struct ucred {\n" " pid_t pid; /* PID processus émetteur */\n" " uid_t uid; /* UID processus émetteur */\n" " gid_t gid; /* GID processus émetteur */\n" "};\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since glibc 2.8, the B<_GNU_SOURCE> feature test macro must be defined " "(before including I header files) in order to obtain the definition of " "this structure." msgstr "" "Depuis la glibc 2.8, la macro de test de fonctionnalités B<_GNU_SOURCE> doit " "être définie (avant d'inclure I fichier d'en\\(hytête) afin d'obtenir " "la définition de cette structure." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The credentials which the sender specifies are checked by the kernel. A " "privileged process 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, in which case the PID of any existing process may be " "specified), its real user ID, effective user ID, or saved set-user-ID " "(unless it has B), and its real group ID, effective group ID, or " "saved set-group-ID (unless it has B)." msgstr "" "Les accréditations que l'émetteur envoie sont vérifiées par le noyau. Un " "processus privilégié est autorisé à indiquer des valeurs qui ne " "correspondent pas aux siennes. L'émetteur doit indiquer son propre PID (sauf " "s'il a la capacité B), auquel cas le PID de n’importe quel " "processus existants peut être indiqué, son ID utilisateur réel, son ID " "utilisateur effectif ou son « saved set-user-ID » (sauf s'il a la capacité " "B) et son ID groupe réel, son ID groupe effectif ou son « saved " "set-group-ID » (sauf s'il a la capacité B)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To receive a I message, the B option must be " "enabled on the socket." msgstr "" "Pour recevoir un message I, l’option B doit " "être activée sur le socket." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Receive the SELinux security context (the security label) of the peer " "socket. The received ancillary data is a null-terminated string containing " "the security context. The receiver should allocate at least B " "bytes in the data portion of the ancillary message for this data." msgstr "" "Recevoir le contexte de sécurité SELinux (l’étiquette de sécurité) du socket " "pair. Les données annexes reçues sont une chaîne terminée par un octet NULL " "final contenant le contexte de sécurité. Le récepteur doit au moins allouer " "B octets dans la partie données du message annexe pour ces données." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To receive the security context, the B option must be enabled on " "the socket (see above)." msgstr "" "Pour recevoir le contexte de sécurité, l’option B doit être " "activée sur le socket (voir ci-dessus)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When sending ancillary data with B(2), only one item of each of the " "above types may be included in the sent message." msgstr "" "Lors de l’envoi des données annexes avec B(2), seul un élément de " "chacun des types ci-dessus peut être inclus dans le message envoyé." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "At least one byte of real data should be sent when sending ancillary data. " "On Linux, this is required to successfully send ancillary data over a UNIX " "domain stream socket. When sending ancillary data over a UNIX domain " "datagram socket, it is not necessary on Linux to send any accompanying real " "data. However, portable applications should also include at least one byte " "of real data when sending ancillary data over a datagram socket." msgstr "" "Au moins un octet des données réelles doit être envoyé lors de l’envoi des " "données annexes. Sur Linux, cela est nécessaire pour envoyer avec succès les " "données annexes sur un socket flux de domaine UNIX. Lors de l’envoi des " "données annexes à travers un socket datagramme de domaine UNIX, il n’est pas " "nécessaire sur Linux d’envoyer en accompagnement une donnée quelconque " "réelle. Cependant, les applications portables devraient aussi inclure au " "moins un octet des données réelles lors de l’envoi de données annexes à " "travers un socket datagramme." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When receiving from a stream socket, ancillary data forms a kind of barrier " "for the received data. For example, suppose that the sender transmits as " "follows:" msgstr "" "Lors de la réception à partir d’un socket flux, les données annexes forment " "une sorte de barrière pour les données reçues. Par exemple, en supposant que " "l’émetteur transmet comme suit :" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(1)" msgstr "(1)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B(2) of four bytes, with no ancillary data." msgstr "B(2) de quatre octets sans données annexes." #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(2)" msgstr "(2)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B(2) of one byte, with ancillary data." msgstr "B(2) d’un octet avec données annexes." #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "(3)" msgstr "(3)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Suppose that the receiver now performs B(2) calls each with a " "buffer size of 20 bytes. The first call will receive five bytes of data, " "along with the ancillary data sent by the second B(2) call. The " "next call will receive the remaining four bytes of data." msgstr "" "En supposant que le récepteur réalise maintenant des appels B(2) " "avec chacun une taille de tampon de 20 octets, le premier appel recevra " "5 octets de données, avec les données annexes envoyées par le second appel " "B(2). Le prochain appel recevra les 4 octets de données restants." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the space allocated for receiving incoming ancillary data is too small " "then the ancillary data is truncated to the number of headers that will fit " "in the supplied buffer (or, in the case of an B file descriptor " "list, the list of file descriptors may be truncated). If no buffer is " "provided for incoming ancillary data (i.e., the I field of the " "I structure supplied to B(2) is NULL), then the incoming " "ancillary data is discarded. In both of these cases, the B flag " "will be set in the I value returned by B(2)." msgstr "" "Si l’espace alloué pour recevoir les données annexes entrantes est trop " "petit, alors ces données sont tronquées au nombre d’en-têtes qui peuvent " "loger dans le tampon fourni (ou, dans le cas de liste de descripteurs de " "fichier B, cette liste peut être tronquée). Si aucun tampon " "n’est fourni pour les données annexes entrantes (c’est-à-dire si le champ " "I de la structure I fourni à B(2) est NULL), " "alors les données annexes entrantes sont ignorées. Dans les deux cas, " "l’indicateur B sera réglé dans la valeur I " "renvoyée par B(2)." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Ioctls" msgstr "Ioctls" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following B(2) calls return information in I. The " "correct syntax is:" msgstr "" "Les appels B(2) suivants renvoient des informations dans I. La " "syntaxe correcte est\\ :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BI< value>B<;>\n" "IB< = ioctl(>IB<, >IB<, &>IB<);>\n" msgstr "" "BI< value>B<;>\n" "IB< = ioctl(>IB<, >IB<, &>IB<);>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I can be:" msgstr "I peut être\\ :" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. #-#-#-#-# archlinux: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/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 pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# debian-bookworm: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. 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 pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# debian-unstable: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/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 pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# fedora-40: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/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 pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# fedora-rawhide: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/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 pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# mageia-cauldron: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/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 pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# opensuse-leap-15-6: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/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 pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #. #-#-#-#-# opensuse-tumbleweed: unix.7.pot (PACKAGE VERSION) #-#-#-#-# #. FIXME . https://www.sourceware.org/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 pending output. #. That number is normally larger than the number of bytes of pending #. output. Since this info is, from userland's point of view, imprecise, #. and it may well change, probably best not to document this now. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For B sockets, this call returns the number of unread bytes in " "the receive buffer. The socket must not be in LISTEN state, otherwise an " "error (B) is returned. B is defined in Ilinux/" "sockios.hE>. Alternatively, you can use the synonymous B, " "defined in Isys/ioctl.hE>. For B sockets, the " "returned value is the same as for Internet domain datagram sockets; see " "B(7)." msgstr "" "Pour les sockets B, cet appel renvoie la quantité de données " "non lues dans le tampon de réception. Le socket ne doit pas être dans l'état " "LISTEN, sinon l'erreur B est renvoyée. B est défini dans " "Ilinux/sockios.hE>. Une alternative est d'utiliser le synonyme " "B défini dans Isys/ioctl.hE>. Pour les sockets " "B, la valeur renvoyée est la même que pour les sockets " "datagramme de domaine Internet. Consultez B(7)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "ERREURS" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The specified local address is already in use or the filesystem socket " "object already exists." msgstr "" "L'adresse locale indiquée est déjà utilisée ou l'objet de socket de système " "de fichiers existe déjà." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This error can occur for B(2) when sending a file descriptor as " "ancillary data over a UNIX domain socket (see the description of " "B, above), and indicates that the file descriptor number that is " "being sent is not valid (e.g., it is not an open file descriptor)." msgstr "" "Cette erreur peut survenir pour B(2) lors de l’envoi d’un " "descripteur de fichier pour des données annexes au travers d’un socket de " "domaine UNIX (consultez la description de B ci-dessus) et " "indique que le numéro de descripteur de fichier envoyé n’est pas valable " "(par exemple, ce n’est pas un descripteur de fichier ouvert)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The remote address specified by B(2) was not a listening socket. " "This error can also occur if the target pathname is not a socket." msgstr "" "L'adresse distante indiquée par B(2) n'était pas un socket en " "écoute. Cette erreur peut également se produire si le nom de chemin cible " "n'est pas un socket." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Remote socket was unexpectedly closed." msgstr "Le socket distant a été fermé de manière inattendue." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "User memory address was not valid." msgstr "Adresse mémoire utilisateur incorrecte." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Invalid argument passed. A common cause is that the value B was " "not specified in the I field of passed addresses, or the socket " "was in an invalid state for the applied operation." msgstr "" "Argument passé non valable. Une cause habituelle est que la valeur de " "B n'était pas indiquée dans le champ I des adresses " "passées ou que le socket était dans un état non valable pour l'opération " "appliquée." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(2) called on an already connected socket or a target address was " "specified on a connected socket." msgstr "" "B(2) a été appelée sur un socket déjà connecté ou l'adresse cible a " "été indiquée sur un socket connecté." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The system-wide limit on the total number of open files has been reached." msgstr "" "La limite du nombre total de fichiers ouverts pour le système entier a été " "atteinte." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The pathname in the remote address specified to B(2) did not exist." msgstr "" "Le chemin de l'adresse distante indiquée à B(2) n'existait pas." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Out of memory." msgstr "Plus assez de mémoire." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Socket operation needs a target address, but the socket is not connected." msgstr "" "L'opération nécessite une adresse cible, mais le socket n'est pas connecté." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Stream operation called on non-stream oriented socket or tried to use the " "out-of-band data option." msgstr "" "Opération de flux appelée sur un socket non orienté flux ou tentative " "d'utiliser une option de données hors-bande." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The sender passed invalid credentials in the I." msgstr "" "L'émetteur a transmis des accréditations incorrectes dans I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Remote socket was closed on a stream socket. If enabled, a B is " "sent as well. This can be avoided by passing the B flag to " "B(2) or B(2)." msgstr "" "Le socket distant a été fermé à cause d’un socket flux. Si activé, un signal " "B est émis également. Cela peut être évité en passant l'indicateur " "B dans B(2) ou B(2)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Passed protocol is not B." msgstr "Le protocole fourni n'est pas B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Remote socket does not match the local socket type (B versus " "B)." msgstr "" "Le socket distant ne correspond pas au type de socket local (B " "versus B)" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Unknown socket type." msgstr "Type de socket inconnu." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "While sending an ancillary message containing credentials " "(B), the caller specified a PID that does not match any " "existing process." msgstr "" "Lors de l’envoi d’un message annexe contenant des accréditations " "(B), l’appelant a indiqué un PID ne correspondant à aucun " "processus existant." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This error can occur for B(2) when sending a file descriptor as " "ancillary data over a UNIX domain socket (see the description of " "B, above). It occurs if the number of \"in-flight\" file " "descriptors exceeds the B resource limit and the caller does " "not have the B capability. An in-flight file descriptor " "is one that has been sent using B(2) but has not yet been accepted " "in the recipient process using B(2)." msgstr "" "Cette erreur peut se produire pour B(2) lors de l’envoi d’un " "descripteur de fichier pour des données annexes à travers un socket de " "domaine UNIX (consultez la description de B, ci-dessus). Cela se " "produit si le nombre de descripteurs de fichier « en cours » excède la " "limite de ressources B et si l’appelant n’a pas la capacité " "B. Un descripteur de fichier en cours est un descripteur " "qui a été envoyé en utilisant B(2) mais qui n’a pas encore été " "accepté dans le processus récepteur en utilisant B(2)." #. commit 712f4aad406bb1ed67f3f98d04c044191f0ff593 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This error is diagnosed since mainline Linux 4.5 (and in some earlier kernel " "versions where the fix has been backported). In earlier kernel versions, it " "was possible to place an unlimited number of file descriptors in flight, by " "sending each file descriptor with B(2) and then closing the file " "descriptor so that it was not accounted against the B " "resource limit." msgstr "" "Cette erreur est décelée depuis Linux 4.5 (et dans quelques versions " "précédentes dans lesquelles le correctif a été rétroporté). Dans les " "versions du noyau précédentes, il était possible d’avoir un nombre illimité " "de descripteurs de fichier en cours en envoyant chaque descripteur de " "fichier avec B(2) et ensuite en fermant le descripteur de fichier " "de telle façon qu’il ne soit pas pris en compte pour la limite de ressources " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "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." msgstr "" "D'autres erreurs peuvent être déclenchées par la couche générique de socket " "ou par le système de fichiers lors de la génération d’un objet socket de " "système de fichiers. Consultez les pages de manuel correspondantes pour plus " "de détails." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "VERSIONS" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B 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.)" msgstr "" "B 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'accréditations, mais les détails d'implémentation diffèrent)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "NOTES" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "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(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." msgstr "" "Lier un socket avec un nom de fichier crée un socket dans le système de " "fichiers que l’appelant doit détruire lorsqu'il n'est plus utile (en " "utilisant B(2)). La sémantique habituelle la plus proche d’UNIX " "s'applique\\ ; le socket peut être délié à tout moment et sera finalement " "supprimé du système de fichiers lorsque sa dernière référence sera fermée." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "To pass file descriptors or credentials over a B socket, you " #| "must to send or receive at least one byte of nonancillary data in the " #| "same B(2) or B(2) call." msgid "" "To pass file descriptors or credentials over a B socket, you " "must send or receive at least one byte of nonancillary data in the same " "B(2) or B(2) call." msgstr "" "Pour passer des descripteurs de fichier ou des accréditations à travers un " "socket B, il faut envoyer ou recevoir au moins un octet de " "données non annexes dans le même appel B(2) ou B(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "UNIX domain stream sockets do not support the notion of out-of-band data." msgstr "" "Les sockets flux de domaine UNIX ne prennent pas en charge la notion de " "données hors-bande." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BUGS" msgstr "BOGUES" #. The behavior on Solaris is quite similar. #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "When binding a socket to an address, Linux is one of the implementations " #| "that appends a null terminator if none is supplied in I. In " #| "most cases this is unproblematic: when the socket address is retrieved, " #| "it will be one byte longer than that supplied when the socket was bound. " #| "However, there is one case where confusing behavior can result: if 108 " #| "non-null bytes are supplied when a socket is bound, then the addition of " #| "the null terminator takes the length of the pathname beyond " #| "I. Consequently, when retrieving the socket address " #| "(for example, via B(2)), if the input I argument for the " #| "retrieving call is specified as I, then the " #| "returned address structure I have a null terminator in I." msgid "" "When binding a socket to an address, Linux is one of the implementations " "that append a null terminator if none is supplied in I. In most " "cases this is unproblematic: when the socket address is retrieved, it will " "be one byte longer than that supplied when the socket was bound. However, " "there is one case where confusing behavior can result: if 108 non-null bytes " "are supplied when a socket is bound, then the addition of the null " "terminator takes the length of the pathname beyond I. " "Consequently, when retrieving the socket address (for example, via " "B(2)), if the input I argument for the retrieving call is " "specified as I, then the returned address " "structure I have a null terminator in I." msgstr "" "Lors de la liaison d’un socket à une adresse, Linux est une des " "implémentations qui ajoute un octet NULL final si aucun n’est fourni dans " "I. Dans la plupart des cas cela ne pose aucun problème : quand " "l’adresse du socket est récupérée, elle sera plus grande d’un octet que " "celle fournie lors de la liaison du socket. Cependant, il existe un cas où " "un comportement déroutant peut se produire : si 108 octets non NULL sont " "fournis quand un socket est lié, alors l’ajout de l’octet NULL final " "incorpore la longueur du nom de chemin au-delà de I. Par " "conséquent, lors de la récupération de l’adresse du socket (par exemple, à " "l’aide de B(2)), si l’argument I de l’entrée pour l’appel " "de récupération est indiqué comme I, alors la " "structure d’adresse renvoyée I d’octet NULL final dans " "I." #. i.e., traditional BSD #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In addition, some implementations don't require a null terminator when " "binding a socket (the I argument is used to determine the length of " "I) and when the socket address is retrieved on these " "implementations, there is no null terminator in I." msgstr "" "De plus, quelques implémentations n’ont pas besoin d’octet NULL final lors " "de liaison d’un socket (l’argument I est utilisé pour déterminer la " "taille de I) et lorsqu’une adresse de socket est récupérée sur ces " "implémentations, il n’y a pas d’octet NULL final dans I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Applications that retrieve socket addresses can (portably) code to handle " "the possibility that there is no null terminator in I by " "respecting the fact that the number of valid bytes in the pathname is:" msgstr "" "Les applications qui récupèrent les adresses de socket peuvent coder (de " "manière portable) pour gérer la possibilité d’absence d’octet NULL final " "dans I en respectant le fait que le nombre d’octets autorisés dans " "le nom de chemin est :" # #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid " strnlen(addr.sun_path, addrlen - offsetof(sockaddr_un, sun_path))\n" msgid "strnlen(addr.sun_path, addrlen - offsetof(sockaddr_un, sun_path))\n" msgstr " strnlen(addr.sun_path, addrlen - offsetof(sockaddr_un, sun_path))\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Alternatively, an application can retrieve the socket address by allocating " "a buffer of size I that is zeroed out before " "the retrieval. The retrieving call can specify I as " "I, and the extra zero byte ensures that there " "will be a null terminator for the string returned in I:" msgstr "" "Sinon, une application peut récupérer l’adresse de socket en allouant un " "tampon de taille I mis à zéro avant la " "récupération. L’appel de récupération peut préciser I comme " "I et l’octet zéro supplémentaire assure qu’il " "y aura un octet NULL final dans la chaîne renvoyée dans I :" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "addrlen = sizeof(struct sockaddr_un);\n" #| "addrp = malloc(addrlen + 1);\n" #| "if (addrp == NULL)\n" #| " /* Handle error */ ;\n" #| "memset(addrp, 0, addrlen + 1);\n" msgid "" "void *addrp;\n" "\\&\n" "addrlen = sizeof(struct sockaddr_un);\n" "addrp = malloc(addrlen + 1);\n" "if (addrp == NULL)\n" " /* Handle error */ ;\n" "memset(addrp, 0, addrlen + 1);\n" "\\&\n" "if (getsockname(sfd, (struct sockaddr *) addrp, &addrlen)) == -1)\n" " /* handle error */ ;\n" "\\&\n" "printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-Esun_path);\n" msgstr "" "addrlen = sizeof(struct sockaddr_un);\n" "addrp = malloc(addrlen + 1);\n" "if (addrp == NULL)\n" " /* Gérer l’erreur */ ;\n" "memset(addrp, 0, addrlen + 1);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This sort of messiness can be avoided if it is guaranteed that the " "applications that I pathname sockets follow the rules outlined above " "under I." msgstr "" "Cette sorte de désordre peut être évité s’il est garanti que les " "applications qui I les sockets de chemin suivent les règles exposées " "ci-dessus dans I." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "EXEMPLES" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following code demonstrates the use of sequenced-packet sockets for " "local interprocess communication. It consists of two programs. The server " "program waits for a connection from the client program. The client sends " "each of its command-line arguments in separate messages. The server treats " "the incoming messages as integers and adds them up. The client sends the " "command string \"END\". The server sends back a message containing the sum " "of the client's integers. The client prints the sum and exits. The server " "waits for the next client to connect. To stop the server, the client is " "called with the command-line argument \"DOWN\"." msgstr "" "Le code suivant démontre l’utilisation de sockets de paquets ordonnés pour " "une communication inter-processus locale. Il est constitué de deux " "programmes. Le programme serveur attend une connexion d’un programme client. " "Le client envoie chacun de ses arguments de ligne de commande dans des " "messages séparés. Le serveur traite les messages entrants comme des entiers " "et fait leur somme. Le client envoie la chaîne de commande « END ». Le " "serveur renvoie un message contenant la somme des entiers du client. Le " "client affiche la somme et quitte. Le serveur attend la connexion d’un " "nouveau client. Pour stopper le serveur, le client est appelé avec " "l’argument de ligne de commande « DOWN »." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following output was recorded while running the server in the background " "and repeatedly executing the client. Execution of the server program ends " "when it receives the \"DOWN\" command." msgstr "" "La sortie suivante a été enregistrée alors que le serveur fonctionnait en " "arrière-plan et en exécutant le client de façon répétée. L’exécution du " "programme du serveur se termine quand il reçoit la commande « DOWN »." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Example output" msgstr "Sortie de l’exemple" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "$ B<./server &>\n" "[1] 25887\n" "$ B<./client 3 4>\n" "Result = 7\n" "$ B<./client 11 -5>\n" "Result = 6\n" "$ B<./client DOWN>\n" "Result = 0\n" "[1]+ Done ./server\n" "$\n" msgstr "" "$ B<./server &>\n" "[1] 25887\n" "$ B<./client 3 4>\n" "Result = 7\n" "$ B<./client 11 -5>\n" "Result = 6\n" "$ B<./client DOWN>\n" "Result = 0\n" "[1]+ Done ./server\n" "$\n" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source" msgstr "Source du programme" #. type: Plain text #: archlinux debian-unstable opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n" #| "#define BUFFER_SIZE 12\n" msgid "" "/*\n" " * File connection.h\n" " */\n" "#ifndef CONNECTION_H\n" "#define CONNECTION_H\n" "\\&\n" "#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n" "#define BUFFER_SIZE 12\n" "\\&\n" "#endif // include guard\n" msgstr "" "#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n" "#define BUFFER_SIZE 12\n" #. type: Plain text #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "" "/*\n" " * File server.c\n" " */\n" "\\&\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/types.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "\\&\n" "#include \"connection.h\"\n" "\\&\n" "int\n" "main(void)\n" "{\n" " int down_flag = 0;\n" " int ret;\n" " int connection_socket;\n" " int data_socket;\n" " int result;\n" " ssize_t r, w;\n" " struct sockaddr_un name;\n" " char buffer[BUFFER_SIZE];\n" "\\&\n" " /* Create local socket. */\n" "\\&\n" " connection_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (connection_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * For portability clear the whole structure, since some\n" " * implementations have additional (nonstandard) fields in\n" " * the structure.\n" " */\n" "\\&\n" " memset(&name, 0, sizeof(name));\n" "\\&\n" " /* Bind socket to socket name. */\n" "\\&\n" " name.sun_family = AF_UNIX;\n" " strncpy(name.sun_path, SOCKET_NAME, sizeof(name.sun_path) - 1);\n" "\\&\n" " ret = bind(connection_socket, (const struct sockaddr *) &name,\n" " sizeof(name));\n" " if (ret == -1) {\n" " perror(\"bind\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * Prepare for accepting connections. The backlog size is set\n" " * to 20. So while one request is being processed other requests\n" " * can be waiting.\n" " */\n" "\\&\n" " ret = listen(connection_socket, 20);\n" " if (ret == -1) {\n" " perror(\"listen\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* This is the main loop for handling connections. */\n" "\\&\n" " for (;;) {\n" "\\&\n" " /* Wait for incoming connection. */\n" "\\&\n" " data_socket = accept(connection_socket, NULL, NULL);\n" " if (data_socket == -1) {\n" " perror(\"accept\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " result = 0;\n" " for (;;) {\n" "\\&\n" " /* Wait for next data packet. */\n" "\\&\n" " r = read(data_socket, buffer, sizeof(buffer));\n" " if (r == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Ensure buffer is 0-terminated. */\n" "\\&\n" " buffer[sizeof(buffer) - 1] = 0;\n" "\\&\n" " /* Handle commands. */\n" "\\&\n" " if (!strncmp(buffer, \"DOWN\", sizeof(buffer))) {\n" " down_flag = 1;\n" " continue;\n" " }\n" "\\&\n" " if (!strncmp(buffer, \"END\", sizeof(buffer))) {\n" " break;\n" " }\n" "\\&\n" " if (down_flag) {\n" " continue;\n" " }\n" "\\&\n" " /* Add received summand. */\n" "\\&\n" " result += atoi(buffer);\n" " }\n" "\\&\n" " /* Send result. */\n" "\\&\n" " sprintf(buffer, \"%d\", result);\n" " w = write(data_socket, buffer, sizeof(buffer));\n" " if (w == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Close socket. */\n" "\\&\n" " close(data_socket);\n" "\\&\n" " /* Quit on DOWN command. */\n" "\\&\n" " if (down_flag) {\n" " break;\n" " }\n" " }\n" "\\&\n" " close(connection_socket);\n" "\\&\n" " /* Unlink the socket. */\n" "\\&\n" " unlink(SOCKET_NAME);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: Plain text #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "" "/*\n" " * File client.c\n" " */\n" "\\&\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/types.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "\\&\n" "#include \"connection.h\"\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int ret;\n" " int data_socket;\n" " ssize_t r, w;\n" " struct sockaddr_un addr;\n" " char buffer[BUFFER_SIZE];\n" "\\&\n" " /* Create local socket. */\n" "\\&\n" " data_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (data_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * For portability clear the whole structure, since some\n" " * implementations have additional (nonstandard) fields in\n" " * the structure.\n" " */\n" "\\&\n" " memset(&addr, 0, sizeof(addr));\n" "\\&\n" " /* Connect socket to socket address. */\n" "\\&\n" " addr.sun_family = AF_UNIX;\n" " strncpy(addr.sun_path, SOCKET_NAME, sizeof(addr.sun_path) - 1);\n" "\\&\n" " ret = connect(data_socket, (const struct sockaddr *) &addr,\n" " sizeof(addr));\n" " if (ret == -1) {\n" " fprintf(stderr, \"The server is down.\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Send arguments. */\n" "\\&\n" " for (int i = 1; i E argc; ++i) {\n" " w = write(data_socket, argv[i], strlen(argv[i]) + 1);\n" " if (w == -1) {\n" " perror(\"write\");\n" " break;\n" " }\n" " }\n" "\\&\n" " /* Request result. */\n" "\\&\n" " strcpy(buffer, \"END\");\n" " w = write(data_socket, buffer, strlen(buffer) + 1);\n" " if (w == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Receive result. */\n" "\\&\n" " r = read(data_socket, buffer, sizeof(buffer));\n" " if (r == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Ensure buffer is 0-terminated. */\n" "\\&\n" " buffer[sizeof(buffer) - 1] = 0;\n" "\\&\n" " printf(\"Result = %s\\en\", buffer);\n" "\\&\n" " /* Close socket. */\n" "\\&\n" " close(data_socket);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "For an example of the use of B see B(3)." msgid "" "For examples of the use of B, see B(3) and " "B(2)." msgstr "" "Pour un exemple de l'utilisation de B, consultez B(3)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "VOIR AUSSI" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(2), B(2), B(2), B(2), B(3), " "B(7), B(7), B(7), B(7)" msgstr "" "B(2), B(2), B(2), B(2), B(3), " "B(7), B(7), B(7), B(7)" #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-10" msgstr "10 février 2023" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Pages du manuel de Linux 6.03" #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "Various systems calls (for example, B(2), B(2), and " "B(2)) take a I argument as input. Some other system " "calls (for example, B(2), B(2), B(2), " "and B(2)) return an argument of this type." msgstr "" "Divers appels système (par exemple, B(2), B(2) et " "B(2)) prennent un argument I en entrée. D’autres appels " "système (par exemple, B(2), B(2), B(2) " "et B(2)) renvoient un argument de ce type." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "This read-only socket option returns the credentials of the peer process " "connected to this socket. The returned credentials are those that were in " "effect at the time of the call to B(2) or B(2)." msgstr "" "Cette option de socket en lecture exclusivement renvoie les accréditations " "du processus pair connecté à ce socket. Les accréditations renvoyées sont " "celles effectives au moment de l’appel à B(2) ou B(2)." #. The behavior on Solaris is quite similar. #. type: Plain text #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 msgid "" "When binding a socket to an address, Linux is one of the implementations " "that appends a null terminator if none is supplied in I. In most " "cases this is unproblematic: when the socket address is retrieved, it will " "be one byte longer than that supplied when the socket was bound. However, " "there is one case where confusing behavior can result: if 108 non-null bytes " "are supplied when a socket is bound, then the addition of the null " "terminator takes the length of the pathname beyond I. " "Consequently, when retrieving the socket address (for example, via " "B(2)), if the input I argument for the retrieving call is " "specified as I, then the returned address " "structure I have a null terminator in I." msgstr "" "Lors de la liaison d’un socket à une adresse, Linux est une des " "implémentations qui ajoute un octet NULL final si aucun n’est fourni dans " "I. Dans la plupart des cas cela ne pose aucun problème : quand " "l’adresse du socket est récupérée, elle sera plus grande d’un octet que " "celle fournie lors de la liaison du socket. Cependant, il existe un cas où " "un comportement déroutant peut se produire : si 108 octets non NULL sont " "fournis quand un socket est lié, alors l’ajout de l’octet NULL final " "incorpore la longueur du nom de chemin au-delà de I. Par " "conséquent, lors de la récupération de l’adresse du socket (par exemple, à " "l’aide de B(2)), si l’argument I de l’entrée pour l’appel " "de récupération est indiqué comme I, alors la " "structure d’adresse renvoyée I d’octet NULL final dans " "I." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "void *addrp;\n" msgstr "void *addrp;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "addrlen = sizeof(struct sockaddr_un);\n" "addrp = malloc(addrlen + 1);\n" "if (addrp == NULL)\n" " /* Handle error */ ;\n" "memset(addrp, 0, addrlen + 1);\n" msgstr "" "addrlen = sizeof(struct sockaddr_un);\n" "addrp = malloc(addrlen + 1);\n" "if (addrp == NULL)\n" " /* Gérer l’erreur */ ;\n" "memset(addrp, 0, addrlen + 1);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "if (getsockname(sfd, (struct sockaddr *) addrp, &addrlen)) == -1)\n" " /* handle error */ ;\n" msgstr "" "if (getsockname(sfd, (struct sockaddr *) addrp, &addrlen)) == -1)\n" " /* Gérer l’erreur */ ;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-Esun_path);\n" msgstr "printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-Esun_path);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "/*\n" " * File connection.h\n" " */\n" msgstr "" "/*\n" " * Fichier connection.h\n" " */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n" "#define BUFFER_SIZE 12\n" msgstr "" "#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n" "#define BUFFER_SIZE 12\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "/*\n" " * File server.c\n" " */\n" msgstr "" "/*\n" " * Fichier server.c\n" " */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "#include \"connection.h\"\n" msgstr "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "#include \"connection.h\"\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct sockaddr_un name;\n" " int down_flag = 0;\n" " int ret;\n" " int connection_socket;\n" " int data_socket;\n" " int result;\n" " char buffer[BUFFER_SIZE];\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct sockaddr_un name;\n" " int down_flag = 0;\n" " int ret;\n" " int connection_socket;\n" " int data_socket;\n" " int result;\n" " char buffer[BUFFER_SIZE];\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Create local socket. */\n" msgstr " /* Création du socket local. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " connection_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (connection_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " connection_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (connection_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * For portability clear the whole structure, since some\n" " * implementations have additional (nonstandard) fields in\n" " * the structure.\n" " */\n" msgstr "" " /*\n" " * Pour la portabilité effacer la structure entière, puisque\n" " * quelques implémentations ont des champs (non standard)\n" " * supplémentaires dans la structure.\n" " */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " memset(&name, 0, sizeof(name));\n" msgstr " memset(&name, 0, sizeof(name));\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Bind socket to socket name. */\n" msgstr " /* Liaison du socket au nom de socket. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " name.sun_family = AF_UNIX;\n" " strncpy(name.sun_path, SOCKET_NAME, sizeof(name.sun_path) - 1);\n" msgstr "" " name.sun_family = AF_UNIX;\n" " strncpy(name.sun_path, SOCKET_NAME, sizeof(name.sun_path) - 1);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " ret = bind(connection_socket, (const struct sockaddr *) &name,\n" " sizeof(name));\n" " if (ret == -1) {\n" " perror(\"bind\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " ret = bind(connection_socket, (const struct sockaddr *) &name,\n" " sizeof(name));\n" " if (ret == -1) {\n" " perror(\"bind\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /*\n" " * Prepare for accepting connections. The backlog size is set\n" " * to 20. So while one request is being processed other requests\n" " * can be waiting.\n" " */\n" msgstr "" " /*\n" " * Préparation à accepter les connexions. La taille de réserve\n" " * est réglée à 20. Aussi tandis qu’une requête est traitée,\n" " * d’autres peuvent être en attente.\n" " */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " ret = listen(connection_socket, 20);\n" " if (ret == -1) {\n" " perror(\"listen\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " ret = listen(connection_socket, 20);\n" " if (ret == -1) {\n" " perror(\"listen\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* This is the main loop for handling connections. */\n" msgstr " /* Ceci est la boucle principale pour gérer les connexions. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " for (;;) {\n" msgstr " for (;;) {\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Wait for incoming connection. */\n" msgstr " /* Attendre des connexions entrantes. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " data_socket = accept(connection_socket, NULL, NULL);\n" " if (data_socket == -1) {\n" " perror(\"accept\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " data_socket = accept(connection_socket, NULL, NULL);\n" " if (data_socket == -1) {\n" " perror(\"accept\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " result = 0;\n" " for (;;) {\n" msgstr "" " result = 0;\n" " for (;;) {\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Wait for next data packet. */\n" msgstr " /* Attendre le prochain paquet de données. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " ret = read(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " ret = read(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Ensure buffer is 0-terminated. */\n" msgstr " /* Assurer que le tampon soit terminé par NULL. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " buffer[sizeof(buffer) - 1] = 0;\n" msgstr " buffer[sizeof(buffer) - 1] = 0;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Handle commands. */\n" msgstr " /* Gérer les commandes. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (!strncmp(buffer, \"DOWN\", sizeof(buffer))) {\n" " down_flag = 1;\n" " break;\n" " }\n" msgstr "" " if (!strncmp(buffer, \"DOWN\", sizeof(buffer))) {\n" " down_flag = 1;\n" " break;\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (!strncmp(buffer, \"END\", sizeof(buffer))) {\n" " break;\n" " }\n" msgstr "" " if (!strncmp(buffer, \"END\", sizeof(buffer))) {\n" " break;\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Add received summand. */\n" msgstr " /* Faire la somme des termes reçus. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " result += atoi(buffer);\n" " }\n" msgstr "" " result += atoi(buffer);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Send result. */\n" msgstr " /* Envoyer le résultat. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " sprintf(buffer, \"%d\", result);\n" " ret = write(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " sprintf(buffer, \"%d\", result);\n" " ret = write(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Close socket. */\n" msgstr " /* Fermer le socket. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " close(data_socket);\n" msgstr " close(data_socket);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Quit on DOWN command. */\n" msgstr " /* Quitter avec la commande DOWN. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (down_flag) {\n" " break;\n" " }\n" " }\n" msgstr "" " if (down_flag) {\n" " break;\n" " }\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " close(connection_socket);\n" msgstr " close(connection_socket);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Unlink the socket. */\n" msgstr " /* Délier le socket. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " unlink(SOCKET_NAME);\n" msgstr " unlink(SOCKET_NAME);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "/*\n" " * File client.c\n" " */\n" msgstr "" "/*\n" " * Fichier client.c\n" " */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#include Eerrno.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "#include \"connection.h\"\n" msgstr "" "#include Eerrno.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "#include \"connection.h\"\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct sockaddr_un addr;\n" " int ret;\n" " int data_socket;\n" " char buffer[BUFFER_SIZE];\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct sockaddr_un addr;\n" " int ret;\n" " int data_socket;\n" " char buffer[BUFFER_SIZE];\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " data_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (data_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " data_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (data_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " memset(&addr, 0, sizeof(addr));\n" msgstr " memset(&addr, 0, sizeof(addr));\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Connect socket to socket address. */\n" msgstr " /* Connecter le socket à l’adresse de socket. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " addr.sun_family = AF_UNIX;\n" " strncpy(addr.sun_path, SOCKET_NAME, sizeof(addr.sun_path) - 1);\n" msgstr "" " addr.sun_family = AF_UNIX;\n" " strncpy(addr.sun_path, SOCKET_NAME, sizeof(addr.sun_path) - 1);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " ret = connect(data_socket, (const struct sockaddr *) &addr,\n" " sizeof(addr));\n" " if (ret == -1) {\n" " fprintf(stderr, \"The server is down.\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " ret = connect(data_socket, (const struct sockaddr *) &addr,\n" " sizeof(addr));\n" " if (ret == -1) {\n" " fprintf(stderr, \"Le serveur est arrêté.\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Send arguments. */\n" msgstr " /* Envoyer les arguments. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " for (int i = 1; i E argc; ++i) {\n" #| " ret = write(data_socket, argv[i], strlen(argv[i]) + 1);\n" #| " if (ret == -1) {\n" #| " perror(\"write\");\n" #| " break;\n" #| " }\n" #| " }\n" msgid "" " for (size_t i = 1; i E argc; ++i) {\n" " ret = write(data_socket, argv[i], strlen(argv[i]) + 1);\n" " if (ret == -1) {\n" " perror(\"write\");\n" " break;\n" " }\n" " }\n" msgstr "" " for (int i = 1; i E argc; ++i) {\n" " ret = write(data_socket, argv[i], strlen(argv[i]) + 1);\n" " if (ret == -1) {\n" " perror(\"write\");\n" " break;\n" " }\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Request result. */\n" msgstr " /* Résultat de la requête. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " strcpy(buffer, \"END\");\n" " ret = write(data_socket, buffer, strlen(buffer) + 1);\n" " if (ret == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " strcpy(buffer, \"END\");\n" " ret = write(data_socket, buffer, strlen(buffer) + 1);\n" " if (ret == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Receive result. */\n" msgstr " /* Recevoir le résultat. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " ret = read(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " ret = read(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Ensure buffer is 0-terminated. */\n" msgstr " /* Assurer que le tampon soit terminé par NULL. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " buffer[sizeof(buffer) - 1] = 0;\n" msgstr " buffer[sizeof(buffer) - 1] = 0;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " printf(\"Result = %s\\en\", buffer);\n" msgstr " printf(\"Result = %s\\en\", buffer);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Close socket. */\n" msgstr " /* Fermer le socket. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " close(data_socket);\n" msgstr " close(data_socket);\n" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "2023-12-21" msgstr "21 décembre 2023" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Pages du manuel de Linux 6.06" #. type: Plain text #: fedora-40 mageia-cauldron #, no-wrap msgid "" "/*\n" " * File connection.h\n" " */\n" "\\&\n" "#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n" "#define BUFFER_SIZE 12\n" "\\&\n" "/*\n" " * File server.c\n" " */\n" "\\&\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "#include \"connection.h\"\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct sockaddr_un name;\n" " int down_flag = 0;\n" " int ret;\n" " int connection_socket;\n" " int data_socket;\n" " int result;\n" " char buffer[BUFFER_SIZE];\n" "\\&\n" " /* Create local socket. */\n" "\\&\n" " connection_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (connection_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * For portability clear the whole structure, since some\n" " * implementations have additional (nonstandard) fields in\n" " * the structure.\n" " */\n" "\\&\n" " memset(&name, 0, sizeof(name));\n" "\\&\n" " /* Bind socket to socket name. */\n" "\\&\n" " name.sun_family = AF_UNIX;\n" " strncpy(name.sun_path, SOCKET_NAME, sizeof(name.sun_path) - 1);\n" "\\&\n" " ret = bind(connection_socket, (const struct sockaddr *) &name,\n" " sizeof(name));\n" " if (ret == -1) {\n" " perror(\"bind\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * Prepare for accepting connections. The backlog size is set\n" " * to 20. So while one request is being processed other requests\n" " * can be waiting.\n" " */\n" "\\&\n" " ret = listen(connection_socket, 20);\n" " if (ret == -1) {\n" " perror(\"listen\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* This is the main loop for handling connections. */\n" "\\&\n" " for (;;) {\n" "\\&\n" " /* Wait for incoming connection. */\n" "\\&\n" " data_socket = accept(connection_socket, NULL, NULL);\n" " if (data_socket == -1) {\n" " perror(\"accept\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " result = 0;\n" " for (;;) {\n" "\\&\n" " /* Wait for next data packet. */\n" "\\&\n" " ret = read(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Ensure buffer is 0-terminated. */\n" "\\&\n" " buffer[sizeof(buffer) - 1] = 0;\n" "\\&\n" " /* Handle commands. */\n" "\\&\n" " if (!strncmp(buffer, \"DOWN\", sizeof(buffer))) {\n" " down_flag = 1;\n" " break;\n" " }\n" "\\&\n" " if (!strncmp(buffer, \"END\", sizeof(buffer))) {\n" " break;\n" " }\n" "\\&\n" " /* Add received summand. */\n" "\\&\n" " result += atoi(buffer);\n" " }\n" "\\&\n" " /* Send result. */\n" "\\&\n" " sprintf(buffer, \"%d\", result);\n" " ret = write(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Close socket. */\n" "\\&\n" " close(data_socket);\n" "\\&\n" " /* Quit on DOWN command. */\n" "\\&\n" " if (down_flag) {\n" " break;\n" " }\n" " }\n" "\\&\n" " close(connection_socket);\n" "\\&\n" " /* Unlink the socket. */\n" "\\&\n" " unlink(SOCKET_NAME);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" "\\&\n" "/*\n" " * File client.c\n" " */\n" "\\&\n" "#include Eerrno.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "#include \"connection.h\"\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct sockaddr_un addr;\n" " int ret;\n" " int data_socket;\n" " char buffer[BUFFER_SIZE];\n" "\\&\n" " /* Create local socket. */\n" "\\&\n" " data_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (data_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * For portability clear the whole structure, since some\n" " * implementations have additional (nonstandard) fields in\n" " * the structure.\n" " */\n" "\\&\n" " memset(&addr, 0, sizeof(addr));\n" "\\&\n" " /* Connect socket to socket address. */\n" "\\&\n" " addr.sun_family = AF_UNIX;\n" " strncpy(addr.sun_path, SOCKET_NAME, sizeof(addr.sun_path) - 1);\n" "\\&\n" " ret = connect(data_socket, (const struct sockaddr *) &addr,\n" " sizeof(addr));\n" " if (ret == -1) {\n" " fprintf(stderr, \"The server is down.\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Send arguments. */\n" "\\&\n" " for (size_t i = 1; i E argc; ++i) {\n" " ret = write(data_socket, argv[i], strlen(argv[i]) + 1);\n" " if (ret == -1) {\n" " perror(\"write\");\n" " break;\n" " }\n" " }\n" "\\&\n" " /* Request result. */\n" "\\&\n" " strcpy(buffer, \"END\");\n" " ret = write(data_socket, buffer, strlen(buffer) + 1);\n" " if (ret == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Receive result. */\n" "\\&\n" " ret = read(data_socket, buffer, sizeof(buffer));\n" " if (ret == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Ensure buffer is 0-terminated. */\n" "\\&\n" " buffer[sizeof(buffer) - 1] = 0;\n" "\\&\n" " printf(\"Result = %s\\en\", buffer);\n" "\\&\n" " /* Close socket. */\n" "\\&\n" " close(data_socket);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: TH #: fedora-rawhide #, no-wrap msgid "2024-03-16" msgstr "16 mars 2024" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Pages du manuel de Linux 6.7" #. type: Plain text #: fedora-rawhide #, fuzzy, no-wrap #| msgid "" #| "#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n" #| "#define BUFFER_SIZE 12\n" msgid "" "/*\n" " * File connection.h\n" " */\n" "\\&\n" "#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n" "#define BUFFER_SIZE 12\n" msgstr "" "#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n" "#define BUFFER_SIZE 12\n" #. type: Plain text #: fedora-rawhide #, no-wrap msgid "" "/*\n" " * File server.c\n" " */\n" "\\&\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "\\&\n" "#include \"connection.h\"\n" "\\&\n" "int\n" "main(void)\n" "{\n" " int down_flag = 0;\n" " int ret;\n" " int connection_socket;\n" " int data_socket;\n" " int result;\n" " ssize_t r, w;\n" " struct sockaddr_un name;\n" " char buffer[BUFFER_SIZE];\n" "\\&\n" " /* Create local socket. */\n" "\\&\n" " connection_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (connection_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * For portability clear the whole structure, since some\n" " * implementations have additional (nonstandard) fields in\n" " * the structure.\n" " */\n" "\\&\n" " memset(&name, 0, sizeof(name));\n" "\\&\n" " /* Bind socket to socket name. */\n" "\\&\n" " name.sun_family = AF_UNIX;\n" " strncpy(name.sun_path, SOCKET_NAME, sizeof(name.sun_path) - 1);\n" "\\&\n" " ret = bind(connection_socket, (const struct sockaddr *) &name,\n" " sizeof(name));\n" " if (ret == -1) {\n" " perror(\"bind\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * Prepare for accepting connections. The backlog size is set\n" " * to 20. So while one request is being processed other requests\n" " * can be waiting.\n" " */\n" "\\&\n" " ret = listen(connection_socket, 20);\n" " if (ret == -1) {\n" " perror(\"listen\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* This is the main loop for handling connections. */\n" "\\&\n" " for (;;) {\n" "\\&\n" " /* Wait for incoming connection. */\n" "\\&\n" " data_socket = accept(connection_socket, NULL, NULL);\n" " if (data_socket == -1) {\n" " perror(\"accept\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " result = 0;\n" " for (;;) {\n" "\\&\n" " /* Wait for next data packet. */\n" "\\&\n" " r = read(data_socket, buffer, sizeof(buffer));\n" " if (r == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Ensure buffer is 0-terminated. */\n" "\\&\n" " buffer[sizeof(buffer) - 1] = 0;\n" "\\&\n" " /* Handle commands. */\n" "\\&\n" " if (!strncmp(buffer, \"DOWN\", sizeof(buffer))) {\n" " down_flag = 1;\n" " continue;\n" " }\n" "\\&\n" " if (!strncmp(buffer, \"END\", sizeof(buffer))) {\n" " break;\n" " }\n" "\\&\n" " if (down_flag) {\n" " continue;\n" " }\n" "\\&\n" " /* Add received summand. */\n" "\\&\n" " result += atoi(buffer);\n" " }\n" "\\&\n" " /* Send result. */\n" "\\&\n" " sprintf(buffer, \"%d\", result);\n" " w = write(data_socket, buffer, sizeof(buffer));\n" " if (w == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Close socket. */\n" "\\&\n" " close(data_socket);\n" "\\&\n" " /* Quit on DOWN command. */\n" "\\&\n" " if (down_flag) {\n" " break;\n" " }\n" " }\n" "\\&\n" " close(connection_socket);\n" "\\&\n" " /* Unlink the socket. */\n" "\\&\n" " unlink(SOCKET_NAME);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: Plain text #: fedora-rawhide #, no-wrap msgid "" "/*\n" " * File client.c\n" " */\n" "\\&\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/socket.hE\n" "#include Esys/un.hE\n" "#include Eunistd.hE\n" "\\&\n" "#include \"connection.h\"\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int ret;\n" " int data_socket;\n" " ssize_t r, w;\n" " struct sockaddr_un addr;\n" " char buffer[BUFFER_SIZE];\n" "\\&\n" " /* Create local socket. */\n" "\\&\n" " data_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n" " if (data_socket == -1) {\n" " perror(\"socket\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /*\n" " * For portability clear the whole structure, since some\n" " * implementations have additional (nonstandard) fields in\n" " * the structure.\n" " */\n" "\\&\n" " memset(&addr, 0, sizeof(addr));\n" "\\&\n" " /* Connect socket to socket address. */\n" "\\&\n" " addr.sun_family = AF_UNIX;\n" " strncpy(addr.sun_path, SOCKET_NAME, sizeof(addr.sun_path) - 1);\n" "\\&\n" " ret = connect(data_socket, (const struct sockaddr *) &addr,\n" " sizeof(addr));\n" " if (ret == -1) {\n" " fprintf(stderr, \"The server is down.\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Send arguments. */\n" "\\&\n" " for (int i = 1; i E argc; ++i) {\n" " w = write(data_socket, argv[i], strlen(argv[i]) + 1);\n" " if (w == -1) {\n" " perror(\"write\");\n" " break;\n" " }\n" " }\n" "\\&\n" " /* Request result. */\n" "\\&\n" " strcpy(buffer, \"END\");\n" " w = write(data_socket, buffer, strlen(buffer) + 1);\n" " if (w == -1) {\n" " perror(\"write\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Receive result. */\n" "\\&\n" " r = read(data_socket, buffer, sizeof(buffer));\n" " if (r == -1) {\n" " perror(\"read\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Ensure buffer is 0-terminated. */\n" "\\&\n" " buffer[sizeof(buffer) - 1] = 0;\n" "\\&\n" " printf(\"Result = %s\\en\", buffer);\n" "\\&\n" " /* Close socket. */\n" "\\&\n" " close(data_socket);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-21" msgstr "21 mars 2023" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Pages du manuel de Linux 6.04" #. type: TH #: opensuse-tumbleweed #, no-wrap msgid "Linux man-pages (unreleased)" msgstr "Pages du manuel de Linux (non publiées)"