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/man3/shm_open.3.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/man3/shm_open.3.po')
-rw-r--r-- | po/es/man3/shm_open.3.po | 1448 |
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" |