summaryrefslogtreecommitdiffstats
path: root/po/es/man7/unix.7.po
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /po/es/man7/unix.7.po
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'po/es/man7/unix.7.po')
-rw-r--r--po/es/man7/unix.7.po2698
1 files changed, 2698 insertions, 0 deletions
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 <piernas@ditec.um.es>, 1999-2000.
+# Miguel Pérez Ibars <mpi79470@alu.um.es>, 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 <mpi79470@alu.um.es>\n"
+"Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\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 E<lt>sys/types.hE<gt>>\n"
+#| "B<#include E<lt>sys/xattr.hE<gt>>\n"
+msgid ""
+"B<#include E<lt>sys/socket.hE<gt>>\n"
+"B<#include E<lt>sys/un.hE<gt>>\n"
+msgstr ""
+"B<#include E<lt>sys/types.hE<gt>>\n"
+"B<#include E<lt>sys/xattr.hE<gt>>\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 "I<error>B< = socketpair(AF_UNIX, type, 0, int *>I<sv>B<);>"
+msgid ""
+"I<unix_socket>B< = socket(AF_UNIX, type, 0);>\n"
+"I<error>B< = socketpair(AF_UNIX, type, 0, int *>I<sv>B<);>\n"
+msgstr "I<error>B< = socketpair(AF_UNIX, type, 0, int *>I<sv>B<);>"
+
+#. 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<PF_UNIX> (also known as B<PF_LOCAL>) socket family is used to "
+#| "communicate between processes on the same machine efficiently. Unix "
+#| "sockets can be either anonymous (created by B<socketpair>(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<AF_UNIX> (also known as B<AF_LOCAL>) socket family is used to "
+"communicate between processes on the same machine efficiently. "
+"Traditionally, UNIX domain sockets can be either unnamed, or bound to a "
+"filesystem pathname (marked as being of type socket). Linux also supports "
+"an abstract namespace which is independent of the filesystem."
+msgstr ""
+"La familia de conectores B<PF_UNIX> (también conocida como B<PF_LOCAL>) 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<socketpair>(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<SOCK_STREAM>, for a stream-"
+"oriented socket; B<SOCK_DGRAM>, for a datagram-oriented socket that "
+"preserves message boundaries (as on most UNIX implementations, UNIX domain "
+"datagram sockets are always reliable and don't reorder datagrams); and "
+"(since Linux 2.6.4) B<SOCK_SEQPACKET>, for a 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<sun_family> field always contains B<AF_UNIX>. On Linux, I<sun_path> "
+"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<bind>(2), B<connect>(2), and "
+"B<sendto>(2)) take a I<sockaddr_un> argument as input. Some other system "
+"calls (for example, B<getsockname>(2), B<getpeername>(2), B<recvfrom>(2), "
+"and B<accept>(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<sockaddr_un> 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<bind>(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<sun_path> contains the null-terminated pathname. (On Linux, the above "
+"B<offsetof>() expression equates to the same value as "
+"I<sizeof(sa_family_t)>, but some other implementations include other fields "
+"before I<sun_path>, so the B<offsetof>() 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<bind>(2) has "
+"no name. Likewise, the two sockets created by B<socketpair>(2) are "
+"unnamed. When the address of an unnamed socket is returned, its length is "
+"I<sizeof(sa_family_t)>, and I<sun_path> 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<sun_path[0]> is a null byte (\\[aq]\\e0\\[aq]). The socket's "
+"address in this namespace is given by the additional bytes in I<sun_path> "
+"that are covered by the specified length of the address structure. (Null "
+"bytes in the name have no special significance.) The name has no connection "
+"with filesystem pathnames. When the address of an abstract socket is "
+"returned, the returned I<addrlen> is greater than I<sizeof(sa_family_t)> (i."
+"e., greater than 2), and the name of the socket is contained in the first "
+"I<(addrlen - sizeof(sa_family_t))> bytes of I<sun_path>."
+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<sun_path> 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<sun_path>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<addrlen> argument that describes the enclosing I<sockaddr_un> "
+"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<addrlen> can be specified as I<sizeof(struct "
+"sockaddr_un)>."
+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<sun_path>."
+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<sun_path> 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<accept>(2), B<recvfrom>(2), B<getsockname>(2), "
+"B<getpeername>(2)) return socket address structures. When applied to UNIX "
+"domain sockets, the value-result I<addrlen> argument supplied to the call "
+"should be initialized as above. Upon return, the argument is set to "
+"indicate the I<actual> 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<sun_path>. (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<umask>(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<chown>(2) and B<chmod>(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<umask>(2) has no effect when binding an abstract socket, and changing the "
+"ownership and permissions of the object (via B<fchown>(2) and "
+"B<fchmod>(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<SOL_SOCKET> type even though they are B<AF_UNIX> specific. They can be "
+"set with B<setsockopt>(2) and read with B<getsockopt>(2) by specifying "
+"B<SOL_SOCKET> as the socket family."
+msgstr ""
+"Por razones históricas estas opciones de los conectores se especifican con "
+"un tipo B<SOL_SOCKET>, aunque sean específicas de B<AF_UNIX>. Se pueden "
+"configurar con B<setsockopt>(2) y leer con B<getsockopt>(2) especificando "
+"B<SOL_SOCKET> 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<SO_PASSCRED>"
+msgstr "B<SO_PASSCRED>"
+
+#. 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<SCM_CREDENTIALS ancillary> message in each subsequently "
+"received message. The returned credentials are those specified by the "
+"sender using B<SCM_CREDENTIALS>, or a default that includes the sender's "
+"PID, real user ID, and real group ID, if the sender did not specify "
+"B<SCM_CREDENTIALS> 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<setsockopt>(2) and returned as the "
+"result of B<getsockopt>(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<SO_PASSSEC>"
+msgstr "B<SO_PASSSEC>"
+
+#. 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<SCM_SECURITY> (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<SO_PASSSEC> 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<SO_PEEK_OFF>"
+msgstr "B<SO_PEEK_OFF>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "See B<socket>(7)."
+msgstr "Vea B<socket>(7)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SO_PEERCRED>"
+msgstr "B<SO_PEERCRED>"
+
+#. 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<connect>(2), B<listen>(2), or "
+"B<socketpair>(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<getsockopt>(2) is a pointer to a I<ucred> structure; "
+"define the B<_GNU_SOURCE> feature test macro to obtain the definition of "
+"that structure from I<E<lt>sys/socket.hE<gt>>."
+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<AF_UNIX> stream "
+"sockets and for B<AF_UNIX> stream and datagram socket pairs created using "
+"B<socketpair>(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<SO_PEERCRED>"
+msgid "B<SO_PEERSEC>"
+msgstr "B<SO_PEERCRED>"
+
+#. 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<getsockopt>(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<getsockopt>(2) returns -1, sets I<errno> to B<ERANGE>, and returns "
+"the required length via I<optlen>. The caller should allocate at least "
+"B<NAME_MAX> 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<AF_UNIX> 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<socketpair>(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<bind>(2) call specifies I<addrlen> as I<sizeof(sa_family_t)>, or the "
+"B<SO_PASSCRED> socket option was specified for a socket that was not "
+"explicitly bound to an address, then the socket is autobound to an abstract "
+"address. The address consists of a null byte followed by 5 bytes in the "
+"character set I<[0-9a-f]>. Thus, there is a limit of 2\\[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<MSG_OOB> flag for B<send>(2) and B<recv>(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<send>(2) B<MSG_MORE> 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<MSG_TRUNC> in the I<flags> argument of "
+"B<recv>(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<SO_SNDBUF> socket option does have an effect for UNIX domain sockets, "
+"but the B<SO_RCVBUF> option does not. For datagram sockets, the "
+"B<SO_SNDBUF> value imposes an upper limit on the size of outgoing "
+"datagrams. This limit is calculated as the doubled (see B<socket>(7)) "
+"option value less 32 bytes used for overhead."
+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<sendmsg>(2) and B<recvmsg>(2). "
+"For historical reasons, the ancillary message types listed below are "
+"specified with a B<SOL_SOCKET> type even though they are B<AF_UNIX> "
+"specific. To send them, set the I<cmsg_level> field of the struct "
+"I<cmsghdr> to B<SOL_SOCKET> and the I<cmsg_type> field to the type. For "
+"more information, see B<cmsg>(3)."
+msgstr ""
+"Los datos auxiliares se envían y reciben usando B<sendmsg>(2) y "
+"B<recvmsg>(2). Por razones históricas, estos los tipos de mensajes "
+"auxiliares listados arriba se especifican con un tipo B<SOL_SOCKET>, aunque "
+"son específicos de B<AF_UNIX>. Para enviarlos, asigne al campo I<cmsg_level> "
+"de la estructura I<cmsghdr> el valor B<SOL_SOCKET> y al campo I<cmsg_type> "
+"el tipo. Para más información, vea B<cmsg>(3)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SCM_RIGHTS>"
+msgstr "B<SCM_RIGHTS>"
+
+#. 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<dup>(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<dup>(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<open>(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<dup>(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<RLIMIT_NOFILE> resource limit (see "
+"B<getrlimit>(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<SCM_MAX_FD> defines a limit on the number of file "
+"descriptors in the array. Attempting to send an array larger than this "
+"limit causes B<sendmsg>(2) to fail with the error B<EINVAL>. B<SCM_MAX_FD> "
+"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<SCM_CREDENTIALS>"
+msgstr "B<SCM_CREDENTIALS>"
+
+#. 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<struct ucred> ancillary message."
+msgid ""
+"Send or receive UNIX credentials. This can be used for authentication. The "
+"credentials are passed as a I<struct ucred> ancillary message. This "
+"structure is defined in I<E<lt>sys/socket.hE<gt>> as follows:"
+msgstr ""
+"Enviar o recibir credenciales Unix. Esto se puede usar para autenticación. "
+"Las credenciales se pasan como un mensaje auxiliar B<struct ucred>."
+
+#. 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<any> 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<CAP_SYS_ADMIN>), its user ID, effective user ID or set "
+#| "user ID (unless it has B<CAP_SETUID>), and its group id, effective group "
+#| "ID or set group ID (unless it has B<CAP_SETGID>). To receive a B<struct "
+#| "ucred> message the B<SO_PASSCRED> 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<CAP_SYS_ADMIN>, 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<CAP_SETUID>), and its real group ID, effective group ID, or "
+"saved set-group-ID (unless it has B<CAP_SETGID>)."
+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<CAP_SYS_ADMIN>), sus "
+"identificador de usuario, identificador de usuario efectivo o identificador "
+"de usuario de conjunto (a menos que posea la capacidad B<CAP_SETUID>) y sus "
+"identificador de grupo, identificador de grupo efectivo o identificador de "
+"grupo de conjunto (a menos que posea la capacidad B<CAP_SETGID>). Para "
+"recibir un mensaje B<struct ucred> la opción B<SO_PASSCRED> 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<struct ucred> message, the B<SO_PASSCRED> 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<SCM_SECURITY>"
+msgstr "B<SCM_SECURITY>"
+
+#. 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<NAME_MAX> "
+"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<SO_PASSSEC> 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<sendmsg>(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<sendmsg>(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<sendmsg>(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<recvmsg>(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<sendmsg>(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<SCM_RIGHTS> file descriptor "
+"list, the list of file descriptors may be truncated). If no buffer is "
+"provided for incoming ancillary data (i.e., the I<msg_control> field of the "
+"I<msghdr> structure supplied to B<recvmsg>(2) is NULL), then the incoming "
+"ancillary data is discarded. In both of these cases, the B<MSG_CTRUNC> flag "
+"will be set in the I<msg.msg_flags> value returned by B<recvmsg>(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<ioctl>(2) calls return information in I<value>. 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 ""
+"B<int>I< value>B<;>\n"
+"I<error>B< = ioctl(>I<unix_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>\n"
+msgstr ""
+"B<int>I< value>B<;>\n"
+"I<error>B< = ioctl(>I<unix_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "I<ioctl_type> 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<SIOCINQ>"
+msgstr "B<SIOCINQ>"
+
+#. #-#-#-#-# 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<SOCK_STREAM> 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<EINVAL>) is returned. B<SIOCINQ> is defined in I<E<lt>linux/"
+"sockios.hE<gt>>. Alternatively, you can use the synonymous B<FIONREAD>, "
+"defined in I<E<lt>sys/ioctl.hE<gt>>. For B<SOCK_DGRAM> sockets, the "
+"returned value is the same as for Internet domain datagram sockets; see "
+"B<udp>(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<EADDRINUSE>"
+msgstr "B<EADDRINUSE>"
+
+#. 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<EBADF>"
+msgstr "B<EBADF>"
+
+#. 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<sendmsg>(2) when sending a file descriptor as "
+"ancillary data over a UNIX domain socket (see the description of "
+"B<SCM_RIGHTS>, 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<ECONNREFUSED>"
+msgstr "B<ECONNREFUSED>"
+
+#. 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<connect>(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<ECONNRESET>"
+msgstr "B<ECONNRESET>"
+
+#. 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<EFAULT>"
+msgstr "B<EFAULT>"
+
+#. 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<EINVAL>"
+msgstr "B<EINVAL>"
+
+#. 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<AF_UNIX> was "
+"not specified in the I<sun_type> field of passed addresses, or the socket "
+"was in an invalid state for the applied operation."
+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<EISCONN>"
+msgstr "B<EISCONN>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<connect>(2) called on an already connected socket or a target address was "
+"specified on a connected socket."
+msgstr ""
+"Se ha llamado a B<connect>(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<ENFILE>"
+msgstr "B<ENFILE>"
+
+#. 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<ENOENT>"
+msgstr "B<ENOENT>"
+
+#. 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<connect>(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<ENOMEM>"
+msgstr "B<ENOMEM>"
+
+#. 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<ENOTCONN>"
+msgstr "B<ENOTCONN>"
+
+#. 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<EOPNOTSUPP>"
+msgstr "B<EOPNOTSUPP>"
+
+#. 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<EPERM>"
+msgstr "B<EPERM>"
+
+#. 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<struct ucred>."
+msgstr "El emisor ha pasado credenciales inválidas en I<struct ucred>."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EPIPE>"
+msgstr "B<EPIPE>"
+
+#. 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<SIGPIPE> is "
+"sent as well. This can be avoided by passing the B<MSG_NOSIGNAL> flag to "
+"B<send>(2) or B<sendmsg>(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<SIGPIPE>. Esto se puede evitar "
+"pasando la opción B<MSG_NOSIGNAL> a B<send>(2) o a B<sendmsg>(2)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EPROTONOSUPPORT>"
+msgstr "B<EPROTONOSUPPORT>"
+
+#. 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<AF_UNIX>."
+msgstr "El protocolo pasado no es B<AF_UNIX>."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EPROTOTYPE>"
+msgstr "B<EPROTOTYPE>"
+
+#. 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<SOCK_DGRAM> versus "
+"B<SOCK_STREAM>)."
+msgstr ""
+"El tipo del conector remoto no coincide con el tipo del conector local "
+"(B<SOCK_DGRAM> contra B<SOCK_STREAM>)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ESOCKTNOSUPPORT>"
+msgstr "B<ESOCKTNOSUPPORT>"
+
+#. 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<ESRCH>"
+msgstr "B<ESRCH>"
+
+#. 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<SCM_CREDENTIALS>), 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<ETOOMANYREFS>"
+msgstr "B<ETOOMANYREFS>"
+
+#. 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<sendmsg>(2) when sending a file descriptor as "
+"ancillary data over a UNIX domain socket (see the description of "
+"B<SCM_RIGHTS>, above). It occurs if the number of \"in-flight\" file "
+"descriptors exceeds the B<RLIMIT_NOFILE> resource limit and the caller does "
+"not have the B<CAP_SYS_RESOURCE> capability. An in-flight file descriptor "
+"is one that has been sent using B<sendmsg>(2) but has not yet been accepted "
+"in the recipient process using B<recvmsg>(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<sendmsg>(2) and then closing the file "
+"descriptor so that it was not accounted against the B<RLIMIT_NOFILE> "
+"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<SCM_CREDENTIALS> and the abstract namespace were introduced with Linux 2.2 "
+"and should not be used in portable programs. (Some BSD-derived systems also "
+"support credential passing, but the implementation details differ.)"
+msgstr ""
+"B<SCM_CREDENTIALS> 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<unlink>(2)). The usual UNIX close-behind semantics apply; the socket can "
+"be unlinked at any time and will be finally removed from the filesystem when "
+"the last reference to it is closed."
+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<unlink>(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<SOCK_STREAM> socket, you "
+"must send or receive at least one byte of nonancillary data in the same "
+"B<sendmsg>(2) or B<recvmsg>(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<sun_path>. 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<sizeof(sun_path)>. "
+"Consequently, when retrieving the socket address (for example, via "
+"B<accept>(2)), if the input I<addrlen> argument for the retrieving call is "
+"specified as I<sizeof(struct sockaddr_un)>, then the returned address "
+"structure I<won't> have a null terminator in I<sun_path>."
+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<addrlen> argument is used to determine the length of "
+"I<sun_path>) and when the socket address is retrieved on these "
+"implementations, there is no null terminator in I<sun_path>."
+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<sun_path> 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<sizeof(struct sockaddr_un)+1> that is zeroed out before "
+"the retrieval. The retrieving call can specify I<addrlen> as "
+"I<sizeof(struct sockaddr_un)>, and the extra zero byte ensures that there "
+"will be a null terminator for the string returned in I<sun_path>:"
+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)-E<gt>sun_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<create> pathname sockets follow the rules outlined above "
+"under I<Pathname sockets>."
+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 E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\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 E<lt>errno.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\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<lt> 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<SCM_RIGHTS>, see B<cmsg>(3) and "
+"B<seccomp_unotify>(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<recvmsg>(2), B<sendmsg>(2), B<socket>(2), B<socketpair>(2), B<cmsg>(3), "
+"B<capabilities>(7), B<credentials>(7), B<socket>(7), B<udp>(7)"
+msgstr ""
+"B<recvmsg>(2), B<sendmsg>(2), B<socket>(2), B<socketpair>(2), B<cmsg>(3), "
+"B<capabilities>(7), B<credentials>(7), B<socket>(7), B<udp>(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<connect>(2) or B<socketpair>(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)-E<gt>sun_path);\n"
+msgstr "printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-E<gt>sun_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 E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include \"connection.h\"\n"
+msgstr ""
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\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 E<lt>errno.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include \"connection.h\"\n"
+msgstr ""
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\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<lt> 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<lt> 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<lt> 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"