From fc22b3d6507c6745911b9dfcc68f1e665ae13dbc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 15 Apr 2024 21:43:11 +0200 Subject: Adding upstream version 4.22.0. Signed-off-by: Daniel Baumann --- po/es/man7/unix.7.po | 2698 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2698 insertions(+) create mode 100644 po/es/man7/unix.7.po (limited to 'po/es/man7/unix.7.po') diff --git a/po/es/man7/unix.7.po b/po/es/man7/unix.7.po new file mode 100644 index 00000000..7c1de992 --- /dev/null +++ b/po/es/man7/unix.7.po @@ -0,0 +1,2698 @@ +# Spanish translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Juan Piernas , 1999-2000. +# Miguel Pérez Ibars , 2005. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-01 17:12+0100\n" +"PO-Revision-Date: 2005-06-26 19:53+0200\n" +"Last-Translator: Miguel Pérez Ibars \n" +"Language-Team: Spanish \n" +"Language: es\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: Lokalize 20.04.1\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 fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-12-21" +msgstr "21 Diciembre 2023" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "Páginas de manual de Linux 6.06" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "NOMBRE" + +#. 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 - Conectores para la comunicación local entre procesos." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +msgstr "SINOPSIS" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "" +#| "B<#include Esys/types.hE>\n" +#| "B<#include Esys/xattr.hE>\n" +msgid "" +"B<#include Esys/socket.hE>\n" +"B<#include Esys/un.hE>\n" +msgstr "" +"B<#include Esys/types.hE>\n" +"B<#include Esys/xattr.hE>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "IB< = socketpair(AF_UNIX, type, 0, int *>IB<);>" +msgid "" +"IB< = socket(AF_UNIX, type, 0);>\n" +"IB< = socketpair(AF_UNIX, type, 0, int *>IB<);>\n" +msgstr "IB< = socketpair(AF_UNIX, type, 0, int *>IB<);>" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPCIÓN" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The B (also known as B) socket family is used to " +#| "communicate between processes on the same machine efficiently. Unix " +#| "sockets can be either anonymous (created by B(2)) or " +#| "associated with a file of type socket. Linux also supports an abstract " +#| "namespace which is independent of the file system." +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 familia de conectores B (también conocida como B) se " +"usa para comunicar procesos en la misma máquina de manera eficiente. Los " +"conectores Unix pueden ser o bien anónimos (creados mediante " +"B(2)) o bien estar asociados con un fichero de tipo conector. " +"Linux también soporta un espacio de nombres abstracto que es independiente " +"del sistema de ficheros." + +#. 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 "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "Unix sockets support passing file descriptors or process credentials to " +#| "other processes using ancillary data." +msgid "" +"UNIX domain sockets support passing file descriptors or process credentials " +"to other processes using ancillary data." +msgstr "" +"Los conectores Unix soportan el paso de descriptores de fichero o " +"credenciales de proceso a otros procesos, usando datos auxiliares." + +#. 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 "Formato de las direcciones" + +#. 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 "" + +#. #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]; /* nombre de la ruta */\n" +"};\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I field always contains B. On Linux, I " +"is 108 bytes in size; see also BUGS, below." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +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 "" + +#. 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 "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "Pathnames" +msgid "pathname" +msgstr "Nombres de Ruta" + +#. 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 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 +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 "" + +#. 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 +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 "" + +#. 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 "" + +#. 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 "" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "\\[bu]" +msgstr "\\[bu]" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "Opciones de los conectores" + +#. 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 "" +"Por razones históricas estas opciones de los conectores se especifican con " +"un tipo B, aunque sean específicas de B. Se pueden " +"configurar con B(2) y leer con B(2) especificando " +"B como familia del conector." + +#. 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 +#, fuzzy +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 "" +"Habilita la recepción de las credenciales del proceso emisor en un mensaje " +"auxiliar." + +#. 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 "" +"Cuando esta opción está activa y el conector no está conectado aún, se " +"genera automáticamente un nombre único en el espacio de nombres abstracto." + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "Vea 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 fedora-40 fedora-rawhide mageia-cauldron +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 "" + +#. 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 "" + +#. 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 "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B" +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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. i.e., sizeof(short) +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +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 "" + +#. 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 "" + +#. 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 "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "Unix domain stream sockets do not support the notion of out-of-band data." +msgid "" +"UNIX domain sockets do not support the transmission of out-of-band data (the " +"B flag for B(2) and B(2))." +msgstr "" +"Los conectores orientados a conexión del dominio Unix no soportan la noción " +"de \"datos fuera de orden\"." + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" +"Los datos auxiliares se envían y reciben usando B(2) y " +"B(2). Por razones históricas, estos los tipos de mensajes " +"auxiliares listados arriba se especifican con un tipo B, aunque " +"son específicos de B. Para enviarlos, asigne al campo I " +"de la estructura I el valor B y al campo I " +"el tipo. Para más información, vea 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 +#, fuzzy +#| msgid "" +#| "Send or receive a set of open file descriptors from another process. The " +#| "data portion contains an integer array of the file descriptors. The " +#| "passed file descriptors behave as though they have been created with " +#| "B(2)." +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 "" +"Enviar o recibir un conjunto de descriptores de fichero abiertos a/desde " +"otro proceso. La parte de datos contiene un array de enteros con los " +"descriptores de fichero. Los descriptores de fichero pasados se comportan " +"como si hubieran sido creados con B(2)." + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. commit bba14de98753cb6599a2dae0e520714b2153522d +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +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 "" + +#. 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 +#, fuzzy +#| msgid "" +#| "Send or receive unix credentials. This can be used for authentication. " +#| "The credentials are passed as a B ancillary message." +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 "" +"Enviar o recibir credenciales Unix. Esto se puede usar para autenticación. " +"Las credenciales se pasan como un mensaje auxiliar B." + +#. 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 del proceso emisor */\n" +" uid_t uid; /* UID del proceso emisor */\n" +" gid_t gid; /* GID del proceso emisor */\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 "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The credentials which the sender specifies are checked by the kernel. A " +#| "process with effective user ID 0 is allowed to specify values that do not " +#| "match his own. The sender must specify its own process ID (unless it has " +#| "the capability B), its user ID, effective user ID or set " +#| "user ID (unless it has B), and its group id, effective group " +#| "ID or set group ID (unless it has B). To receive a B message the B option must be enabled on the socket." +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 "" +"El núcleo comprueba las credenciales que el emisor especifíca. Un proceso " +"con identificador de usuario efectivo 0 puede especificar valores que no " +"coincidan con los suyos. El emisor debe especificar su propio identificador " +"de proceso (a menos que posea la capacidad B), sus " +"identificador de usuario, identificador de usuario efectivo o identificador " +"de usuario de conjunto (a menos que posea la capacidad B) y sus " +"identificador de grupo, identificador de grupo efectivo o identificador de " +"grupo de conjunto (a menos que posea la capacidad B). Para " +"recibir un mensaje B la opción B debe estar " +"activa en el conector." + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ERRORS" +msgstr "ERRORES" + +#. 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 +#, fuzzy +#| msgid "" +#| "Selected local address is already taken or filesystem socket object " +#| "already exists." +msgid "" +"The specified local address is already in use or the filesystem socket " +"object already exists." +msgstr "" +"La dirección local seleccionada ya está en uso o el objeto conector del " +"sistema de ficheros ya existe." + +#. 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 "" + +#. 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 "" + +#. 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 "Se ha cerrado inesperadamente el conector remoto." + +#. 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 "La dirección de memoria de usuario no es válida." + +#. 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 +#, fuzzy +#| msgid "" +#| "Invalid argument passed. A common cause is the missing setting of AF_UNIX " +#| "in the sun_type field of passed addresses or the socket being in an " +#| "invalid state for the applied operation." +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 "" +"Se ha pasado un argumento inválido. Una causa común es olvidar asignar " +"AF_UNIX al campo sun_type de las direcciones pasadas o que el conector se " +"encuentre en un estado inválido para la operación aplicada." + +#. 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 "" +"Se ha llamado a B(2) sobre un conector ya conectado o se ha " +"especificado una dirección de destino en un conector conectado." + +#. 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 "" +"Se ha alcanzado el límite máximo de archivos abiertos para el conjunto del " +"sistema." + +#. 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 "" + +#. 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 "Sin memoria." + +#. 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 "" +"La operación del conector necesita una dirección de destino pero el conector " +"no está conectado." + +#. 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 "" +"Se ha invocado una operación orientada a conexión sobre un conector no " +"orientado a conexión o se ha intentado usar la opción de \"datos fuera de " +"orden\"." + +#. 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 "El emisor ha pasado credenciales inválidas en 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 "" +"Se ha cerrado el conector remoto de un conector orientado a conexión. Si se " +"ha activado, también se enviará una señal B. Esto se puede evitar " +"pasando la opción B a B(2) o a 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 "El protocolo pasado no es 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 "" +"El tipo del conector remoto no coincide con el tipo del conector local " +"(B contra 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 "Tipo de conector desconocido." + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" +"La capa de conectores genérica, o el sistema de ficheros al generar un " +"objeto conector en el sistema de fichero, pueden producir otros errores. Vea " +"las páginas de manual adecuadas para más información." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "VERSIONS" +msgstr "VERSIONES" + +#. 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 y el espacio de nombres abstracto fueron introducidos en " +"la versión 2.2 de Linux y no deberían usarse en programas transportables. " +"(Algunos sistemas derivados de BSD también soportan el paso de credenciales, " +"pero los detalles de implementación difieren.)" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NOTES" +msgstr "NOTAS" + +#. 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 "" +"Ligar un conector con un nombre de fichero crea un conector en el sistema de " +"ficheros que debe ser borrado por el invocador cuando no se necesite más " +"(usando B(2)). Se aplica la semántica habitual de UNIX detrás de una " +"operación de cierre: el conector puede ser desligado en cualquier instante y " +"será finalmente eliminado del sistema de ficheros cuando se cierre la última " +"referecia a él." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +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 "" + +#. 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 "" +"Los conectores orientados a conexión del dominio UNIX no soportan la noción " +"de \"datos fuera de orden\"." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "BUGS" +msgstr "ERRORES" + +#. The behavior on Solaris is quite similar. +#. 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 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 "" + +#. 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 "" + +#. 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 "" + +# +#. 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 "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +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 "" + +#. 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 "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "EXAMPLES" +msgstr "EJEMPLOS" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "Código fuente" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, 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: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For examples of the use of B, see B(3) and " +"B(2)." +msgstr "" + +#. 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 "VÉASE TAMBIÉN" + +#. 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 Febrero 2023" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Páginas de manual de Linux 6.03" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid " memset(&name, 0, sizeof(struct sockaddr_un));\n" +msgid " memset(&name, 0, sizeof(name));\n" +msgstr " memset(&name, 0, sizeof(struct sockaddr_un));\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " /* Bind socket to socket name. */\n" +msgstr "" + +#. 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 +#, fuzzy, no-wrap +#| msgid "" +#| " ret = bind(connection_socket, (const struct sockaddr *) &name,\n" +#| " sizeof(struct sockaddr_un));\n" +#| " if (ret == -1) {\n" +#| " perror(\"bind\");\n" +#| " exit(EXIT_FAILURE);\n" +#| " }\n" +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(struct sockaddr_un));\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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " ret = read(data_socket, buffer, BUFFER_SIZE);\n" +#| " if (ret == -1) {\n" +#| " perror(\"read\");\n" +#| " exit(EXIT_FAILURE);\n" +#| " }\n" +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, BUFFER_SIZE);\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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid " buffer[BUFFER_SIZE - 1] = 0;\n" +msgid " buffer[sizeof(buffer) - 1] = 0;\n" +msgstr " buffer[BUFFER_SIZE - 1] = 0;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " /* Handle commands. */\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " if (!strncmp(buffer, \"DOWN\", BUFFER_SIZE)) {\n" +#| " down_flag = 1;\n" +#| " break;\n" +#| " }\n" +msgid "" +" if (!strncmp(buffer, \"DOWN\", sizeof(buffer))) {\n" +" down_flag = 1;\n" +" break;\n" +" }\n" +msgstr "" +" if (!strncmp(buffer, \"DOWN\", BUFFER_SIZE)) {\n" +" down_flag = 1;\n" +" break;\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " if (!strncmp(buffer, \"END\", BUFFER_SIZE)) {\n" +#| " break;\n" +#| " }\n" +msgid "" +" if (!strncmp(buffer, \"END\", sizeof(buffer))) {\n" +" break;\n" +" }\n" +msgstr "" +" if (!strncmp(buffer, \"END\", BUFFER_SIZE)) {\n" +" break;\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " /* Add received summand. */\n" +msgstr "" + +#. 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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " sprintf(buffer, \"%d\", result);\n" +#| " ret = write(data_socket, buffer, BUFFER_SIZE);\n" +#| " if (ret == -1) {\n" +#| " perror(\"write\");\n" +#| " exit(EXIT_FAILURE);\n" +#| " }\n" +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, BUFFER_SIZE);\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 "" + +#. 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 "" + +#. 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 "" + +#. 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 "" + +#. 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 +#, fuzzy, no-wrap +#| msgid "" +#| "int\n" +#| "main(int argc, char *argv[])\n" +#| "{\n" +#| " struct sockaddr_un addr;\n" +#| " int i;\n" +#| " int ret;\n" +#| " int data_socket;\n" +#| " char buffer[BUFFER_SIZE];\n" +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 i;\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 +#, fuzzy, no-wrap +#| msgid " memset(&addr, 0, sizeof(struct sockaddr_un));\n" +msgid " memset(&addr, 0, sizeof(addr));\n" +msgstr " memset(&addr, 0, sizeof(struct sockaddr_un));\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " /* Connect socket to socket address. */\n" +msgstr "" + +#. 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 +#, fuzzy, no-wrap +#| msgid "" +#| " ret = connect (data_socket, (const struct sockaddr *) &addr,\n" +#| " sizeof(struct sockaddr_un));\n" +#| " if (ret == -1) {\n" +#| " fprintf(stderr, \"The server is down.\\en\");\n" +#| " exit(EXIT_FAILURE);\n" +#| " }\n" +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(struct sockaddr_un));\n" +" if (ret == -1) {\n" +" fprintf(stderr, \"The server is down.\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " /* Send arguments. */\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " for (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 (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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, 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" +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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " ret = read(data_socket, buffer, BUFFER_SIZE);\n" +#| " if (ret == -1) {\n" +#| " perror(\"read\");\n" +#| " exit(EXIT_FAILURE);\n" +#| " }\n" +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, BUFFER_SIZE);\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 "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid " buffer[BUFFER_SIZE - 1] = 0;\n" +msgid " buffer[sizeof(buffer) - 1] = 0;\n" +msgstr " buffer[BUFFER_SIZE - 1] = 0;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " printf(\"Result = %s\\en\", buffer);\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " /* Close socket. */\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " close(data_socket);\n" +msgstr " close(data_socket);\n" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-07-15" +msgstr "15 ​​Julio 2023" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Páginas de manual de Linux 6.05.01" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-21" +msgstr "21 Marzo 2023" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Linux man-pages 6.04" -- cgit v1.2.3