summaryrefslogtreecommitdiffstats
path: root/po/es/man3/shm_open.3.po
diff options
context:
space:
mode:
Diffstat (limited to 'po/es/man3/shm_open.3.po')
-rw-r--r--po/es/man3/shm_open.3.po1448
1 files changed, 1448 insertions, 0 deletions
diff --git a/po/es/man3/shm_open.3.po b/po/es/man3/shm_open.3.po
new file mode 100644
index 00000000..e915d8db
--- /dev/null
+++ b/po/es/man3/shm_open.3.po
@@ -0,0 +1,1448 @@
+# Spanish translation of manpages
+# This file is distributed under the same license as the manpages-l10n package.
+# Copyright © of this file:
+# Miguel Pérez Ibars <mpi79470@alu.um.es>, 2004.
+msgid ""
+msgstr ""
+"Project-Id-Version: manpages-l10n\n"
+"POT-Creation-Date: 2024-03-01 17:08+0100\n"
+"PO-Revision-Date: 2004-08-13 19:55+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 "shm_open"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr "31 Octubre 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 ""
+"shm_open, shm_unlink - create/open or unlink POSIX shared memory objects"
+msgstr ""
+"shm_open, shm_unlink - crea/abre o borra objetos POSIX de memoria compartida"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "LIBRARY"
+msgstr "BIBLIOTECA"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Real-time library (I<librt>, I<-lrt>)"
+msgstr "Librería de tiempo real (I<librt>, I<-lrt>)"
+
+#. 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/socket.hE<gt>>\n"
+#| "B<#include E<lt>netdb.hE<gt>>\n"
+msgid ""
+"B<#include E<lt>sys/mman.hE<gt>>\n"
+"B<#include E<lt>sys/stat.hE<gt>> /* For mode constants */\n"
+"B<#include E<lt>fcntl.hE<gt>> /* For O_* constants */\n"
+msgstr ""
+"B<#include E<lt>sys/types.hE<gt>>\n"
+"B<#include E<lt>sys/socket.hE<gt>>\n"
+"B<#include E<lt>netdb.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 "B<int shm_open(const char *>I<name>B<, int >I<oflag>B<, mode_t >I<mode>B<);>"
+msgid ""
+"B<int shm_open(const char *>I<name>B<, int >I<oflag>B<, mode_t >I<mode>B<);>\n"
+"B<int shm_unlink(const char *>I<name>B<);>\n"
+msgstr "B<int shm_open(const char *>I<name>B<, int >I<oflag>B<, mode_t >I<mode>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
+msgid ""
+"B<shm_open>() creates and opens a new, or opens an existing, POSIX shared "
+"memory object. A POSIX shared memory object is in effect a handle which can "
+"be used by unrelated processes to B<mmap>(2) the same region of shared "
+"memory. The B<shm_unlink>() function performs the converse operation, "
+"removing an object previously created by B<shm_open>()."
+msgstr ""
+"B<shm_open>() crea y abre un nuevo, o abre uno ya existente, objeto POSIX de "
+"memoria compartida. Un objeto POSIX de memoria compartida es en efecto un "
+"manejador que puede ser utilizado por procesos no relacionados para ubicar "
+"la misma zona de memoria compartida mediante B<mmap>(2). La función "
+"B<shm_unlink>() realiza la operación inversa, borra un objeto previamente "
+"creado con B<shm_open>()."
+
+#. glibc allows the initial slash to be omitted, and makes
+#. multiple initial slashes equivalent to a single slash.
+#. This differs from the implementation of POSIX message queues.
+#. glibc allows subdirectory components in the name, in which
+#. case the subdirectory must exist under /dev/shm, and allow the
+#. required permissions if a user wants to create a shared memory
+#. object in that subdirectory.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "The operation of B<shm_open> is analogous to that of B<open>(2). I<name> "
+#| "specifies the shared memory object to be created or opened. For portable "
+#| "use, I<name> should have an initial slash (/) and contain no embedded "
+#| "slashes."
+msgid ""
+"The operation of B<shm_open>() is analogous to that of B<open>(2). I<name> "
+"specifies the shared memory object to be created or opened. For portable "
+"use, a shared memory object should be identified by a name of the form I</"
+"somename>; that is, a null-terminated string of up to B<NAME_MAX> (i.e., "
+"255) characters consisting of an initial slash, followed by one or more "
+"characters, none of which are slashes."
+msgstr ""
+"La operación de B<shm_open> es análoga a la de B<open>(2). I<name> "
+"especifica el objeto de memoria compartida que se creará o abrirá. Para un "
+"uso portable, I<name> debe comenzar con una barra (/) y no contener ninguna "
+"barra embebida."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"I<oflag> is a bit mask created by ORing together exactly one of B<O_RDONLY> "
+"or B<O_RDWR> and any of the other flags listed here:"
+msgstr ""
+"I<oflag> es una máscara de bits creada mediante una operación OR lógica de "
+"sólo una de B<O_RDONLY> o B<O_RDWR> y de cualquier otra opción listada aquí:"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<O_RDONLY>"
+msgstr "B<O_RDONLY>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Open the object for read access. A shared memory object opened in this way "
+"can be B<mmap>(2)ed only for read (B<PROT_READ>) access."
+msgstr ""
+"Abre el objeto para lectura. Un objeto de memoria compartida abierto de "
+"esta manera sólo puede ser ubicado con B<mmap>(2) para acceso de lectura "
+"(B<PROT_READ>)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<O_RDWR>"
+msgstr "B<O_RDWR>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Open the object for read-write access."
+msgstr "Abre el objeto para lectura-escritura."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<O_CREAT>"
+msgstr "B<O_CREAT>"
+
+#. In truth it is actually the filesystem IDs on Linux, but these
+#. are nearly always the same as the effective IDs. (MTK, Jul 05)
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "Create the shared memory object if it does not exist. The user and group "
+#| "ownership of the object are set as for B<open>(2), and the object's "
+#| "permission bits are set according to the low-order 9 bits of I<mode>, "
+#| "except that those bits set in the process file mode creation mask (see "
+#| "B<umask>(2)) are cleared for the new object. (A set of macro constants "
+#| "which can be used to define I<mode> is listed in B<open>(2).)"
+msgid ""
+"Create the shared memory object if it does not exist. The user and group "
+"ownership of the object are taken from the corresponding effective IDs of "
+"the calling process, and the object's permission bits are set according to "
+"the low-order 9 bits of I<mode>, except that those bits set in the process "
+"file mode creation mask (see B<umask>(2)) are cleared for the new object. "
+"A set of macro constants which can be used to define I<mode> is listed in "
+"B<open>(2). (Symbolic definitions of these constants can be obtained by "
+"including I<E<lt>sys/stat.hE<gt>>.)"
+msgstr ""
+"Crea el objeto de memoria compartida si no existe. El usuario y grupo "
+"propietario del objeto son establecidos de igual manera que para B<open>(2), "
+"y los bits de permisos del objeto son establecidos según los 9 bits de orden "
+"inferior de I<mode>, salvo que aquellos bits activos en la máscara de modo "
+"de creación de ficheros del proceso (véase B<umask>(2)) estén desactivados "
+"para el nuevo objeto. (Una lista de macros que pueden ser utilizadas para "
+"definir I<mode> se puede encontrar en B<open>(2).)"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "A new shared memory object initially has zero length\\(emthe size of the "
+#| "object can be set using B<ftruncate>(2). The newly allocated bytes of a "
+#| "shared memory object are automatically initialized to 0."
+msgid ""
+"A new shared memory object initially has zero length\\[em]the size of the "
+"object can be set using B<ftruncate>(2). The newly allocated bytes of a "
+"shared memory object are automatically initialized to 0."
+msgstr ""
+"Un nuevo objeto de memoria compartida tiene longitud cero - el tamaño del "
+"objeto puede ser modificado usando B<ftruncate>(2). (Los bytes del objeto "
+"de memoria compartida recién creado son automáticamente inicializados a 0.)"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<O_EXCL>"
+msgstr "B<O_EXCL>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If B<O_CREAT> was also specified, and a shared memory object with the given "
+"I<name> already exists, return an error. The check for the existence of the "
+"object, and its creation if it does not exist, are performed atomically."
+msgstr ""
+"Si B<O_CREAT> fue especificado también, y ya existe un objeto de memoria "
+"compartida con el nombre dado I<name> , se devuelve un error. La "
+"comprobación de la existencia del objeto, y su creación si no existe, se "
+"hacen de manera atómica."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<O_TRUNC>"
+msgstr "B<O_TRUNC>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "If the shared memory object already exists, truncate it to zero bytes."
+msgstr "Si el objeto de memoria compartida ya existe, lo trunca a cero bytes."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Definitions of these flag values can be obtained by including I<E<lt>fcntl."
+"hE<gt>>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"On successful completion B<shm_open>() returns a new file descriptor "
+"referring to the shared memory object. This file descriptor is guaranteed "
+"to be the lowest-numbered file descriptor not previously opened within the "
+"process. The B<FD_CLOEXEC> flag (see B<fcntl>(2)) is set for the file "
+"descriptor."
+msgstr ""
+"En el caso de que B<shm_open>() se complete con éxito se devuelve un nuevo "
+"descriptor de fichero que hace referencia al objeto de memoria compartida. "
+"Se garantiza que este descriptor de fichero será el descriptor de fichero "
+"con número más bajo no abierto previamente dentro del proceso. La opción "
+"B<FD_CLOEXEC> (véase B<fcntl>(2)) es activada para el descriptor de fichero."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The file descriptor is normally used in subsequent calls to B<ftruncate>(2) "
+"(for a newly created object) and B<mmap>(2). After a call to B<mmap>(2) "
+"the file descriptor may be closed without affecting the memory mapping."
+msgstr ""
+"El descriptor de fichero se utiliza normalmente en llamadas posteriores a to "
+"B<ftruncate>(2) (para un objeto recién creado) y B<mmap>(2). Después de "
+"una llamada a B<mmap>(2) el descriptor de fichero puede ser cerrado sin "
+"afectar al mapeo de memoria."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "The operation of B<shm_unlink>() is analogous to B<unlink>(2): it "
+#| "removes a shared memory object name, and, once all processes have "
+#| "unmapped the object, de-allocates and destroys the contents of the "
+#| "associated memory region. After a successful B<shm_unlink>(), attempts "
+#| "to B<shm_open>() an object with the same I<name> fail (unless B<O_CREAT> "
+#| "was specified, in which case a new, distinct object is created)."
+msgid ""
+"The operation of B<shm_unlink>() is analogous to B<unlink>(2): it removes a "
+"shared memory object name, and, once all processes have unmapped the object, "
+"deallocates and destroys the contents of the associated memory region. "
+"After a successful B<shm_unlink>(), attempts to B<shm_open>() an object "
+"with the same I<name> fail (unless B<O_CREAT> was specified, in which case a "
+"new, distinct object is created)."
+msgstr ""
+"La operación de B<shm_unlink>() es análoga a la de B<unlink>(2): elimina un "
+"nombre de objeto de memoria compartida, y, una vez que todos los procesos "
+"han eliminado el objeto, libera y destruye el contenido de la zona de "
+"memoria asociada. Después de una llamada exitosa a B<shm_unlink>(), los "
+"intentos de abrir un objeto con B<shm_open>() que tengan el mismo nombre "
+"I<name> fallarán (a menos que se especificara B<O_CREAT> , en cuyo caso se "
+"crea un objeto distinto nuevo)."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "RETURN VALUE"
+msgstr "VALOR DEVUELTO"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "On success, B<shm_open> returns a non-negative file descriptor. On "
+#| "failure, B<shm_open> returns -1. B<shm_unlink> returns 0 on success, or "
+#| "-1 on error."
+msgid ""
+"On success, B<shm_open>() returns a file descriptor (a nonnegative "
+"integer). On success, B<shm_unlink>() returns 0. On failure, both "
+"functions return -1 and set I<errno> to indicate the error."
+msgstr ""
+"En caso de éxito, B<shm_open> devuelve un descriptor de fichero no negativo. "
+"En caso de fallo, B<shm_open> devuelve -1. B<shm_unlink> devuelve 0 en caso "
+"de éxito, o -1 en caso de error."
+
+#. 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<EACCES>"
+msgstr "B<EACCES>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Permission to B<shm_unlink>() the shared memory object was denied."
+msgstr ""
+"Se denegó el acceso para borrar el objeto de memoria compartida con "
+"B<shm_unlink>()."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Permission was denied to B<shm_open>() I<name> in the specified I<mode>, or "
+"B<O_TRUNC> was specified and the caller does not have write permission on "
+"the object."
+msgstr ""
+"Se denegó el acceso a I<name> en B<shm_open>() en el modo I<mode> "
+"especificado, o se especificó la opción B<O_TRUNC> y el invocador no tiene "
+"permisos de escritura sobre el objeto."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EEXIST>"
+msgstr "B<EEXIST>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Both B<O_CREAT> and B<O_EXCL> were specified to B<shm_open>() and the "
+"shared memory object specified by I<name> already exists."
+msgstr ""
+"Se especificaron las opciones B<O_CREAT> y B<O_EXCL> a la función "
+"B<shm_open>() y el objeto de memoria compartida especificado por I<name> 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<EINVAL>"
+msgstr "B<EINVAL>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The I<name> argument to B<shm_open>() was invalid."
+msgstr "El argumento I<name> para la función B<shm_open>() es inválido."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EMFILE>"
+msgstr "B<EMFILE>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The per-process limit on the number of open file descriptors has been "
+"reached."
+msgstr ""
+"Se ha alcanzado el límite de descriptores de archivo abiertos para cada "
+"proceso."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENAMETOOLONG>"
+msgstr "B<ENAMETOOLONG>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The length of I<name> exceeds B<PATH_MAX>."
+msgstr "La longitud de I<name> excede B<PATH_MAX>."
+
+#. 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 ""
+"An attempt was made to B<shm_open>() a I<name> that did not exist, and "
+"B<O_CREAT> was not specified."
+msgstr ""
+"Se llamó a B<shm_open>() con un nombre I<name> que no existe, y no se "
+"especificó la opción B<O_CREAT>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"An attempt was to made to B<shm_unlink>() a I<name> that does not exist."
+msgstr "Se llamó a B<shm_unlink>() con un nombre I<name> que no existe."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr "ATRIBUTOS"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For an explanation of the terms used in this section, see B<attributes>(7)."
+msgstr ""
+"Para obtener una explicación de los términos usados en esta sección, véase "
+"B<attributes>(7)."
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Interface"
+msgstr "Interfaz"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Attribute"
+msgstr "Atributo"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Value"
+msgstr "Valor"
+
+#. type: tbl table
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ".na\n"
+msgstr ".na\n"
+
+#. type: tbl table
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ".nh\n"
+msgstr ".nh\n"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<shm_open>(),\n"
+"B<shm_unlink>()"
+msgstr ""
+"B<shm_open>(),\n"
+"B<shm_unlink>()"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Thread safety"
+msgstr "Seguridad del hilo"
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "MT-Safe locale"
+msgstr "Configuración regional de multi-hilo seguro"
+
+#. 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
+#, fuzzy
+#| msgid ""
+#| "POSIX leaves the behavior of the combination of B<O_RDONLY> and "
+#| "B<O_TRUNC> unspecified. On Linux, this will successfully truncate an "
+#| "existing shared memory object - this may not be so on other Unices."
+msgid ""
+"POSIX leaves the behavior of the combination of B<O_RDONLY> and B<O_TRUNC> "
+"unspecified. On Linux, this will successfully truncate an existing shared "
+"memory object\\[em]this may not be so on other UNIX systems."
+msgstr ""
+"POSIX deja el comportamiento de la combinación de B<O_RDONLY> y B<O_TRUNC> "
+"indefinido. En Linux, ésto truncará con éxito un objeto de memoria "
+"compartida - ésto puede no ser así en otros sistemas Unix."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid ""
+#| "The POSIX shared memory object implementation on Linux 2.4 makes use of a "
+#| "dedicated file system, which is normally mounted under B</dev/shm>."
+msgid ""
+"The POSIX shared memory object implementation on Linux makes use of a "
+"dedicated B<tmpfs>(5) filesystem that is normally mounted under I</dev/shm>."
+msgstr ""
+"La implementación del objeto POSIX de memoria compartida en Linux 2.4 "
+"utiliza un sistema de ficheros dedicado, que es montado habitualmente bajo "
+"B</dev/shm>."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "STANDARDS"
+msgstr "ESTÁNDARES"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2008."
+msgstr "POSIX.1-2008."
+
+#. type: SH
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "HISTORY"
+msgstr "HISTORIAL"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy
+#| msgid "glibc 2.1. C99, POSIX.1-2001."
+msgid "glibc 2.2. POSIX.1-2001."
+msgstr "glibc 2.1. C99, POSIX.1-2001."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"POSIX.1-2001 says that the group ownership of a newly created shared memory "
+"object is set to either the calling process's effective group ID or \"a "
+"system default group ID\". POSIX.1-2008 says that the group ownership may "
+"be set to either the calling process's effective group ID or, if the object "
+"is visible in the filesystem, the group ID of the parent directory."
+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 programs below employ POSIX shared memory and POSIX unnamed semaphores "
+"to exchange a piece of data. The \"bounce\" program (which must be run "
+"first) raises the case of a string that is placed into the shared memory by "
+"the \"send\" program. Once the data has been modified, the \"send\" program "
+"then prints the contents of the modified shared memory. An example "
+"execution of the two programs is the following:"
+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<./pshm_ucase_bounce /myshm &>\n"
+"[1] 270171\n"
+"$ B<./pshm_ucase_send /myshm hello>\n"
+"HELLO\n"
+msgstr ""
+"$ B<./pshm_ucase_bounce /myshm &>\n"
+"[1] 270171\n"
+"$ B<./pshm_ucase_send /myshm hello>\n"
+"HELLO\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Further detail about these programs is provided below."
+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: pshm_ucase.h"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The following header file is included by both programs below. Its primary "
+"purpose is to define a structure that will be imposed on the memory object "
+"that is shared between the two programs."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>semaphore.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>sys/mman.hE<gt>\n"
+"#include E<lt>sys/stat.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"\\&\n"
+"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
+" } while (0)\n"
+"\\&\n"
+"#define BUF_SIZE 1024 /* Maximum size for exchanged string */\n"
+"\\&\n"
+"/* Define a structure that will be imposed on the shared\n"
+" memory object */\n"
+"\\&\n"
+"struct shmbuf {\n"
+" sem_t sem1; /* POSIX unnamed semaphore */\n"
+" sem_t sem2; /* POSIX unnamed semaphore */\n"
+" size_t cnt; /* Number of bytes used in \\[aq]buf\\[aq] */\n"
+" char buf[BUF_SIZE]; /* Data being transferred */\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: pshm_ucase_bounce.c"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The \"bounce\" program creates a new shared memory object with the name "
+"given in its command-line argument and sizes the object to match the size of "
+"the I<shmbuf> structure defined in the header file. It then maps the object "
+"into the process's address space, and initializes two POSIX semaphores "
+"inside the object to 0."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"After the \"send\" program has posted the first of the semaphores, the "
+"\"bounce\" program upper cases the data that has been placed in the memory "
+"by the \"send\" program and then posts the second semaphore to tell the "
+"\"send\" program that it may now access the shared memory."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"/* pshm_ucase_bounce.c\n"
+"\\&\n"
+" Licensed under GNU General Public License v2 or later.\n"
+"*/\n"
+"#include E<lt>ctype.hE<gt>\n"
+"\\&\n"
+"#include \"pshm_ucase.h\"\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int fd;\n"
+" char *shmpath;\n"
+" struct shmbuf *shmp;\n"
+"\\&\n"
+" if (argc != 2) {\n"
+" fprintf(stderr, \"Usage: %s /shm-path\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" shmpath = argv[1];\n"
+"\\&\n"
+" /* Create shared memory object and set its size to the size\n"
+" of our structure. */\n"
+"\\&\n"
+" fd = shm_open(shmpath, O_CREAT | O_EXCL | O_RDWR, 0600);\n"
+" if (fd == -1)\n"
+" errExit(\"shm_open\");\n"
+"\\&\n"
+" if (ftruncate(fd, sizeof(struct shmbuf)) == -1)\n"
+" errExit(\"ftruncate\");\n"
+"\\&\n"
+" /* Map the object into the caller\\[aq]s address space. */\n"
+"\\&\n"
+" shmp = mmap(NULL, sizeof(*shmp), PROT_READ | PROT_WRITE,\n"
+" MAP_SHARED, fd, 0);\n"
+" if (shmp == MAP_FAILED)\n"
+" errExit(\"mmap\");\n"
+"\\&\n"
+" /* Initialize semaphores as process-shared, with value 0. */\n"
+"\\&\n"
+" if (sem_init(&shmp-E<gt>sem1, 1, 0) == -1)\n"
+" errExit(\"sem_init-sem1\");\n"
+" if (sem_init(&shmp-E<gt>sem2, 1, 0) == -1)\n"
+" errExit(\"sem_init-sem2\");\n"
+"\\&\n"
+" /* Wait for \\[aq]sem1\\[aq] to be posted by peer before touching\n"
+" shared memory. */\n"
+"\\&\n"
+" if (sem_wait(&shmp-E<gt>sem1) == -1)\n"
+" errExit(\"sem_wait\");\n"
+"\\&\n"
+" /* Convert data in shared memory into upper case. */\n"
+"\\&\n"
+" for (size_t j = 0; j E<lt> shmp-E<gt>cnt; j++)\n"
+" shmp-E<gt>buf[j] = toupper((unsigned char) shmp-E<gt>buf[j]);\n"
+"\\&\n"
+" /* Post \\[aq]sem2\\[aq] to tell the peer that it can now\n"
+" access the modified data in shared memory. */\n"
+"\\&\n"
+" if (sem_post(&shmp-E<gt>sem2) == -1)\n"
+" errExit(\"sem_post\");\n"
+"\\&\n"
+" /* Unlink the shared memory object. Even if the peer process\n"
+" is still using the object, this is okay. The object will\n"
+" be removed only after all open references are closed. */\n"
+"\\&\n"
+" shm_unlink(shmpath);\n"
+"\\&\n"
+" exit(EXIT_SUCCESS);\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: pshm_ucase_send.c"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The \"send\" program takes two command-line arguments: the pathname of a "
+"shared memory object previously created by the \"bounce\" program and a "
+"string that is to be copied into that object."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The program opens the shared memory object and maps the object into its "
+"address space. It then copies the data specified in its second argument "
+"into the shared memory, and posts the first semaphore, which tells the "
+"\"bounce\" program that it can now access that data. After the \"bounce\" "
+"program posts the second semaphore, the \"send\" program prints the contents "
+"of the shared memory on standard output."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"/* pshm_ucase_send.c\n"
+"\\&\n"
+" Licensed under GNU General Public License v2 or later.\n"
+"*/\n"
+"#include E<lt>string.hE<gt>\n"
+"\\&\n"
+"#include \"pshm_ucase.h\"\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int fd;\n"
+" char *shmpath, *string;\n"
+" size_t len;\n"
+" struct shmbuf *shmp;\n"
+"\\&\n"
+" if (argc != 3) {\n"
+" fprintf(stderr, \"Usage: %s /shm-path string\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" shmpath = argv[1];\n"
+" string = argv[2];\n"
+" len = strlen(string);\n"
+"\\&\n"
+" if (len E<gt> BUF_SIZE) {\n"
+" fprintf(stderr, \"String is too long\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Open the existing shared memory object and map it\n"
+" into the caller\\[aq]s address space. */\n"
+"\\&\n"
+" fd = shm_open(shmpath, O_RDWR, 0);\n"
+" if (fd == -1)\n"
+" errExit(\"shm_open\");\n"
+"\\&\n"
+" shmp = mmap(NULL, sizeof(*shmp), PROT_READ | PROT_WRITE,\n"
+" MAP_SHARED, fd, 0);\n"
+" if (shmp == MAP_FAILED)\n"
+" errExit(\"mmap\");\n"
+"\\&\n"
+" /* Copy data into the shared memory object. */\n"
+"\\&\n"
+" shmp-E<gt>cnt = len;\n"
+" memcpy(&shmp-E<gt>buf, string, len);\n"
+"\\&\n"
+" /* Tell peer that it can now access shared memory. */\n"
+"\\&\n"
+" if (sem_post(&shmp-E<gt>sem1) == -1)\n"
+" errExit(\"sem_post\");\n"
+"\\&\n"
+" /* Wait until peer says that it has finished accessing\n"
+" the shared memory. */\n"
+"\\&\n"
+" if (sem_wait(&shmp-E<gt>sem2) == -1)\n"
+" errExit(\"sem_wait\");\n"
+"\\&\n"
+" /* Write modified data in shared memory to standard output. */\n"
+"\\&\n"
+" write(STDOUT_FILENO, &shmp-E<gt>buf, len);\n"
+" write(STDOUT_FILENO, \"\\en\", 1);\n"
+"\\&\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+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<close>(2), B<fchmod>(2), B<fchown>(2), B<fcntl>(2), B<fstat>(2), "
+"B<ftruncate>(2), B<memfd_create>(2), B<mmap>(2), B<open>(2), B<umask>(2), "
+"B<shm_overview>(7)"
+msgstr ""
+"B<close>(2), B<fchmod>(2), B<fchown>(2), B<fcntl>(2), B<fstat>(2), "
+"B<ftruncate>(2), B<memfd_create>(2), B<mmap>(2), B<open>(2), B<umask>(2), "
+"B<shm_overview>(7)"
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "2023-02-05"
+msgstr "5 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
+msgid "These functions are provided in glibc 2.2 and later."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm
+msgid "POSIX.1-2001, POSIX.1-2008."
+msgstr "POSIX.1-2001, POSIX.1-2008."
+
+#. type: SH
+#: debian-bookworm
+#, no-wrap
+msgid "NOTES"
+msgstr "NOTAS"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| "#include E<lt>sys/mman.hE<gt>\n"
+#| "#include E<lt>fcntl.hE<gt>\n"
+#| "#include E<lt>semaphore.hE<gt>\n"
+#| "#include E<lt>sys/stat.hE<gt>\n"
+#| "#include E<lt>stdio.hE<gt>\n"
+#| "#include E<lt>stdlib.hE<gt>\n"
+#| "#include E<lt>unistd.hE<gt>\n"
+msgid ""
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>semaphore.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>sys/mman.hE<gt>\n"
+"#include E<lt>sys/stat.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+msgstr ""
+"#include E<lt>sys/mman.hE<gt>\n"
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>semaphore.hE<gt>\n"
+"#include E<lt>sys/stat.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
+" } while (0)\n"
+msgstr ""
+"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
+" } while (0)\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "#define BUF_SIZE 1024 /* Maximum size for exchanged string */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"/* Define a structure that will be imposed on the shared\n"
+" memory object */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"struct shmbuf {\n"
+" sem_t sem1; /* POSIX unnamed semaphore */\n"
+" sem_t sem2; /* POSIX unnamed semaphore */\n"
+" size_t cnt; /* Number of bytes used in \\[aq]buf\\[aq] */\n"
+" char buf[BUF_SIZE]; /* Data being transferred */\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "/* pshm_ucase_bounce.c\n"
+msgstr "/* pshm_ucase_bounce.c\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" Licensed under GNU General Public License v2 or later.\n"
+"*/\n"
+"#include E<lt>ctype.hE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "#include \"pshm_ucase.h\"\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int fd;\n"
+" char *shmpath;\n"
+" struct shmbuf *shmp;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (argc != 2) {\n"
+" fprintf(stderr, \"Usage: %s /shm-path\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid " char *shmpath = argv[1];\n"
+msgid " shmpath = argv[1];\n"
+msgstr " char *shmpath = argv[1];\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* Create shared memory object and set its size to the size\n"
+" of our structure. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " int fd = shm_open(shmpath, O_RDWR, 0);\n"
+#| " if (fd == -1)\n"
+#| " errExit(\"shm_open\");\n"
+msgid ""
+" fd = shm_open(shmpath, O_CREAT | O_EXCL | O_RDWR, 0600);\n"
+" if (fd == -1)\n"
+" errExit(\"shm_open\");\n"
+msgstr ""
+" int fd = shm_open(shmpath, O_RDWR, 0);\n"
+" if (fd == -1)\n"
+" errExit(\"shm_open\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (ftruncate(fd, sizeof(struct shmbuf)) == -1)\n"
+" errExit(\"ftruncate\");\n"
+msgstr ""
+" if (ftruncate(fd, sizeof(struct shmbuf)) == -1)\n"
+" errExit(\"ftruncate\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Map the object into the caller\\[aq]s address space. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " struct shmbuf *shmp = mmap(NULL, sizeof(struct shmbuf),\n"
+#| " PROT_READ | PROT_WRITE,\n"
+#| " MAP_SHARED, fd, 0);\n"
+#| " if (shmp == MAP_FAILED)\n"
+#| " errExit(\"mmap\");\n"
+msgid ""
+" shmp = mmap(NULL, sizeof(*shmp), PROT_READ | PROT_WRITE,\n"
+" MAP_SHARED, fd, 0);\n"
+" if (shmp == MAP_FAILED)\n"
+" errExit(\"mmap\");\n"
+msgstr ""
+" struct shmbuf *shmp = mmap(NULL, sizeof(struct shmbuf),\n"
+" PROT_READ | PROT_WRITE,\n"
+" MAP_SHARED, fd, 0);\n"
+" if (shmp == MAP_FAILED)\n"
+" errExit(\"mmap\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Initialize semaphores as process-shared, with value 0. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (sem_init(&shmp-E<gt>sem1, 1, 0) == -1)\n"
+" errExit(\"sem_init-sem1\");\n"
+" if (sem_init(&shmp-E<gt>sem2, 1, 0) == -1)\n"
+" errExit(\"sem_init-sem2\");\n"
+msgstr ""
+" if (sem_init(&shmp-E<gt>sem1, 1, 0) == -1)\n"
+" errExit(\"sem_init-sem1\");\n"
+" if (sem_init(&shmp-E<gt>sem2, 1, 0) == -1)\n"
+" errExit(\"sem_init-sem2\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* Wait for \\[aq]sem1\\[aq] to be posted by peer before touching\n"
+" shared memory. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (sem_wait(&shmp-E<gt>sem1) == -1)\n"
+" errExit(\"sem_wait\");\n"
+msgstr ""
+" if (sem_wait(&shmp-E<gt>sem1) == -1)\n"
+" errExit(\"sem_wait\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Convert data in shared memory into upper case. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " for (int j = 0; j E<lt> shmp-E<gt>cnt; j++)\n"
+#| " shmp-E<gt>buf[j] = toupper((unsigned char) shmp-E<gt>buf[j]);\n"
+msgid ""
+" for (size_t j = 0; j E<lt> shmp-E<gt>cnt; j++)\n"
+" shmp-E<gt>buf[j] = toupper((unsigned char) shmp-E<gt>buf[j]);\n"
+msgstr ""
+" for (int j = 0; j E<lt> shmp-E<gt>cnt; j++)\n"
+" shmp-E<gt>buf[j] = toupper((unsigned char) shmp-E<gt>buf[j]);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* Post \\[aq]sem2\\[aq] to tell the peer that it can now\n"
+" access the modified data in shared memory. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (sem_post(&shmp-E<gt>sem2) == -1)\n"
+" errExit(\"sem_post\");\n"
+msgstr ""
+" if (sem_post(&shmp-E<gt>sem2) == -1)\n"
+" errExit(\"sem_post\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* Unlink the shared memory object. Even if the peer process\n"
+" is still using the object, this is okay. The object will\n"
+" be removed only after all open references are closed. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " shm_unlink(shmpath);\n"
+msgstr " shm_unlink(shmpath);\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 "/* pshm_ucase_send.c\n"
+msgstr "/* pshm_ucase_send.c\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" Licensed under GNU General Public License v2 or later.\n"
+"*/\n"
+"#include E<lt>string.hE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int fd;\n"
+" char *shmpath, *string;\n"
+" size_t len;\n"
+" struct shmbuf *shmp;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (argc != 3) {\n"
+" fprintf(stderr, \"Usage: %s /shm-path string\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " char *shmpath = argv[1];\n"
+#| " char *string = argv[2];\n"
+#| " size_t len = strlen(string);\n"
+msgid ""
+" shmpath = argv[1];\n"
+" string = argv[2];\n"
+" len = strlen(string);\n"
+msgstr ""
+" char *shmpath = argv[1];\n"
+" char *string = argv[2];\n"
+" size_t len = strlen(string);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (len E<gt> BUF_SIZE) {\n"
+" fprintf(stderr, \"String is too long\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* Open the existing shared memory object and map it\n"
+" into the caller\\[aq]s address space. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " int fd = shm_open(shmpath, O_RDWR, 0);\n"
+#| " if (fd == -1)\n"
+#| " errExit(\"shm_open\");\n"
+msgid ""
+" fd = shm_open(shmpath, O_RDWR, 0);\n"
+" if (fd == -1)\n"
+" errExit(\"shm_open\");\n"
+msgstr ""
+" int fd = shm_open(shmpath, O_RDWR, 0);\n"
+" if (fd == -1)\n"
+" errExit(\"shm_open\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Copy data into the shared memory object. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" shmp-E<gt>cnt = len;\n"
+" memcpy(&shmp-E<gt>buf, string, len);\n"
+msgstr ""
+" shmp-E<gt>cnt = len;\n"
+" memcpy(&shmp-E<gt>buf, string, len);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Tell peer that it can now access shared memory. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (sem_post(&shmp-E<gt>sem1) == -1)\n"
+" errExit(\"sem_post\");\n"
+msgstr ""
+" if (sem_post(&shmp-E<gt>sem1) == -1)\n"
+" errExit(\"sem_post\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* Wait until peer says that it has finished accessing\n"
+" the shared memory. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (sem_wait(&shmp-E<gt>sem2) == -1)\n"
+" errExit(\"sem_wait\");\n"
+msgstr ""
+" if (sem_wait(&shmp-E<gt>sem2) == -1)\n"
+" errExit(\"sem_wait\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Write modified data in shared memory to standard output. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" write(STDOUT_FILENO, &shmp-E<gt>buf, len);\n"
+" write(STDOUT_FILENO, \"\\en\", 1);\n"
+msgstr ""
+" write(STDOUT_FILENO, &shmp-E<gt>buf, len);\n"
+" write(STDOUT_FILENO, \"\\en\", 1);\n"
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-07-20"
+msgstr "20 ​​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-30"
+msgstr "30 Marzo 2023"
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr "Linux man-pages 6.04"