diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /po/es/man7/unix.7.po | |
parent | Initial commit. (diff) | |
download | manpages-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.po | 2698 |
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" |