summaryrefslogtreecommitdiffstats
path: root/po/ru/man3/shm_open.3.po
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /po/ru/man3/shm_open.3.po
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'po/ru/man3/shm_open.3.po')
-rw-r--r--po/ru/man3/shm_open.3.po1482
1 files changed, 1482 insertions, 0 deletions
diff --git a/po/ru/man3/shm_open.3.po b/po/ru/man3/shm_open.3.po
new file mode 100644
index 00000000..f3ccafdf
--- /dev/null
+++ b/po/ru/man3/shm_open.3.po
@@ -0,0 +1,1482 @@
+# Russian translation of manpages
+# This file is distributed under the same license as the manpages-l10n package.
+# Copyright © of this file:
+# Alexander Golubev <fatzer2@gmail.com>, 2018.
+# Azamat Hackimov <azamat.hackimov@gmail.com>, 2011, 2014-2016.
+# Hotellook, 2014.
+# Nikita <zxcvbnm3230@mail.ru>, 2014.
+# Spiros Georgaras <sng@hellug.gr>, 2016.
+# Vladislav <ivladislavefimov@gmail.com>, 2015.
+# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019.
+# Иван Павлов <pavia00@gmail.com>, 2017.
+msgid ""
+msgstr ""
+"Project-Id-Version: manpages-l10n\n"
+"POT-Creation-Date: 2024-03-01 17:08+0100\n"
+"PO-Revision-Date: 2019-10-15 18:55+0300\n"
+"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
+"Language-Team: Russian <man-pages-ru-talks@lists.sourceforge.net>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
+"(n%100>=11 && n%100<=14)? 2 : 3);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid "I<shm_perm>"
+msgid "shm_open"
+msgstr "I<shm_perm>"
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr "31 октября 2023 г."
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr "Linux man-pages 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 "ИМЯ"
+
+#. 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 - создаёт/открывает или удаляет объекты общей памяти "
+"POSIX"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "LIBRARY"
+msgstr ""
+
+#. 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 ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr "СИНТАКСИС"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, fuzzy, no-wrap
+#| msgid ""
+#| "B<#include E<lt>sys/types.hE<gt>>\n"
+#| "B<#include E<lt>sys/stat.hE<gt>>\n"
+#| "B<#include E<lt>unistd.hE<gt>>\n"
+#| "B<#include E<lt>fcntl.hE<gt> >/* Definition of AT_* constants */\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/stat.hE<gt>>\n"
+"B<#include E<lt>unistd.hE<gt>>\n"
+"B<#include E<lt>fcntl.hE<gt> >/* константы AT_* */\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 "ОПИСАНИЕ"
+
+#. 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>() создаёт и открывает новый (или открывает уже "
+"существующий) объект общей памяти POSIX. Объект общей памяти POSIX — это "
+"описатель, используемый несвязанными процессами для выполнения B<mmap>(2) "
+"для одной области общей памяти. Функция B<shm_unlink>() выполняет обратную "
+"операцию, удаляя объект, созданный ранее с помощью 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
+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 ""
+"Действие B<shm_open>() аналогично B<open>(2). Значением I<name> определяется "
+"создаваемый или открываемый объект общей памяти. Для использования в "
+"переносимых программах объект общей памяти должен опознаваться по имени в "
+"виде I</какое_то_имя>, то есть строкой, оканчивающейся null и длиной до "
+"I<NAME_MAX> (т.е., 255) символов, состоящей из начальной косой черты и "
+"одного или более символов (любых, кроме косой черты)."
+
+#. 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> содержит маску битов, созданную логическим сложением OR "
+"одного из флагов B<O_RDONLY> или B<O_RWDR> и любых других флагов, "
+"перечисленных далее:"
+
+#. 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 ""
+"Открыть объект для чтения. Открытый таким образом объект общей памяти можно "
+"указывать в B<mmap>(2) только для чтения (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 "Открыть объект для чтения и записи."
+
+#. 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
+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 ""
+"Создать объект общей памяти, если он не существует. Владелец и группа "
+"объекта устанавливаются из соответствующих эффективных ID вызвавшего "
+"процесса, а биты прав на объект устанавливаются в соответствии с младшими 9 "
+"битами I<mode>, за исключением того, что биты, установленные маске режима "
+"создания файла (см. B<umask>(2)), очищаются у новых объектов. Набор макросов-"
+"констант, используемых для определения I<mode>, описан в B<open>(2). "
+"Символические определения этих констант можно получить включением I<E<lt>sys/"
+"stat.hE<gt>>."
+
+#. 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 ""
+"Новый объект общей памяти изначально имеет нулевую длину; размер объекта "
+"можно установить, используя B<ftruncate>(2). Новые выделенные байты объекта "
+"общей памяти автоматически заполняются 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 ""
+"Если также был указан B<O_CREAT> и объект общей памяти с заданным I<name> "
+"уже существует, то возвращается ошибка. Проверка существования объекта и его "
+"создание, если он не существует, выполняется атомарно."
+
+#. 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 "Если объект общей памяти уже существует, то обрезать его до 0 байтов."
+
+#. 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 ""
+"Определения значений этих флагов можно получить включением I<E<lt>fcntl."
+"hE<gt>>."
+
+#. 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 ""
+"При успешном выполнении B<shm_open>() возвращает новый файловый дескриптор, "
+"ссылающийся на объект общей памяти. Этот файловый дескриптор гарантированно "
+"будет дескриптором файла с самым маленьким номером среди ещё не открытых "
+"процессом. У дескриптора файла устанавливается флаг B<FD_CLOEXEC> (см. "
+"B<fcntl>(2))."
+
+#. 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 ""
+"Дескриптор файла обычно используется в последующих вызовах B<ftruncate>(2) "
+"(для новых объектов) и B<mmap>(2). После вызова B<mmap>(2) дескриптор файла "
+"может быть закрыт без влияния на отображение памяти."
+
+#. 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 ""
+"Действие B<shm_unlink>() аналогично B<unlink>(2): оно удаляет имя объекта "
+"общей памяти и, как только все процессы завершили работу с объектом и "
+"отменили его отображение, очищает пространство и уничтожает связанную с ним "
+"область памяти. После успешного выполнения B<shm_unlink>() попытка выполнить "
+"B<shm_open>() для объекта с тем же именем I<name> завершается ошибкой (если "
+"не был указан B<O_CREAT>, в этом случае создаётся новый, уже другой объект)."
+
+#. 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 "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ"
+
+#. 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 nonnegative 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 ""
+"При успешном выполнении B<shm_open>() возвращает неотрицательный дескриптор "
+"файла. При ошибках B<shm_open>() возвращает -1. При успешном выполнении "
+"B<shm_unlink>() возвращает 0 и -1 при ошибке."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ERRORS"
+msgstr "ОШИБКИ"
+
+#. 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 "Отказ в доступе для 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 ""
+"Отказ в доступе для B<shm_open>() с заданным I<name> и режимом I<mode>, или "
+"был указан B<O_TRUNC>, а вызывающий не имеет прав на запись для объекта."
+
+#. 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 ""
+"В B<shm_open>() указаны B<O_CREAT> и B<O_EXCL>, но объект общей памяти "
+"I<name> уже существует."
+
+#. 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 "Аргумент I<name> для B<shm_open>() некорректен."
+
+#. 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 ""
+"Было достигнуто ограничение по количеству открытых файловых дескрипторов на "
+"процесс."
+
+#. 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 "Длина I<name> превышает 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 "Достигнуто максимальное количество открытых файлов в системе."
+
+#. 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 ""
+"Была сделана попытка выполнить B<shm_open>() для несуществующего I<name> и "
+"при этом не был указан 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 ""
+"Была сделана попытка выполнить B<shm_unlink>() для несуществующего I<name>."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr "АТРИБУТЫ"
+
+#. 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 "Описание терминов данного раздела смотрите в 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 "Интерфейс"
+
+#. 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 "Атрибут"
+
+#. 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 "Значение"
+
+#. 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 "Безвредность в нитях"
+
+#. 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 "MT-Safe locale"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "VERSIONS"
+msgstr "ВЕРСИИ"
+
+#. 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\\(emthis may not be so on other UNIX "
+#| "systems."
+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 оставляет неопределённым поведение при комбинации B<O_RDONLY> и "
+"B<O_TRUNC>. В Linux это приводит к успешному обрезанию существующего объекта "
+"общей памяти, но в других системах UNIX может быть по-другому."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+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 ""
+"Реализация объектов общей памяти POSIX в Linux использует выделенную "
+"файловую систему B<tmpfs>(5), которая обычно монтируется в I</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 "СТАНДАРТЫ"
+
+#. 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 "ИСТОРИЯ"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "glibc 2.2. POSIX.1-2001."
+msgstr "glibc 2.2. 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 ""
+"В POSIX.1-2001 сказано, что группа-владелец нового объекта общей памяти "
+"устанавливается или в эффективный ID группы вызвавшего процесса, или «ID "
+"системной группы по умолчанию». В POSIX.1-2008 сказано, что группа-владелец "
+"может быть установлена или в эффективный ID группы вызвавшего процесса или, "
+"если объект видим в файловой системе, ID группы родительского каталога."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "EXAMPLES"
+msgstr "ПРИМЕРЫ"
+
+#. 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 ""
+
+#. 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
+#, fuzzy, no-wrap
+#| msgid "Program source"
+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 "СМ. ТАКЖЕ"
+
+#. 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 февраля 2023 г."
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr "Linux man-pages 6.03"
+
+#. type: Plain text
+#: debian-bookworm
+msgid "These functions are provided in glibc 2.2 and later."
+msgstr "Эти функции присутствуют в glibc 2.2 и более новых."
+
+#. 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 "ЗАМЕЧАНИЯ"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| "#include E<lt>stdlib.hE<gt>\n"
+#| "#include E<lt>stdint.hE<gt>\n"
+#| "#include E<lt>unistd.hE<gt>\n"
+#| "#include E<lt>stdio.hE<gt>\n"
+#| "#include E<lt>sys/types.hE<gt>\n"
+#| "#include E<lt>fcntl.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>stdlib.hE<gt>\n"
+"#include E<lt>stdint.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>fcntl.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 ""
+
+#. 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
+#, fuzzy, no-wrap
+#| msgid ""
+#| "int\n"
+#| "main(int argc, char *argv[])\n"
+#| "{\n"
+#| " char outstr[200];\n"
+#| " time_t t;\n"
+#| " struct tm *tmp;\n"
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" int fd;\n"
+" char *shmpath;\n"
+" struct shmbuf *shmp;\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" char outstr[200];\n"
+" time_t t;\n"
+" struct tm *tmp;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if (argc != 2) {\n"
+#| " fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
+#| " exit(EXIT_FAILURE);\n"
+#| " }\n"
+msgid ""
+" if (argc != 2) {\n"
+" fprintf(stderr, \"Usage: %s /shm-path\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" if (argc != 2) {\n"
+" fprintf(stderr, \"Использование: %s E<lt>путьE<gt>\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid " alarm(atoi(argv[1]));\n"
+msgid " shmpath = argv[1];\n"
+msgstr " alarm(atoi(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 ""
+#| " fd = open(argv[1], O_RDONLY); /* Get file descriptor for namespace */\n"
+#| " if (fd == -1)\n"
+#| " errExit(\"open\");\n"
+msgid ""
+" fd = shm_open(shmpath, O_CREAT | O_EXCL | O_RDWR, 0600);\n"
+" if (fd == -1)\n"
+" errExit(\"shm_open\");\n"
+msgstr ""
+" fd = open(argv[1], O_RDONLY); /* получаем файловый дескриптор для пространства\n"
+" имён */\n"
+" if (fd == -1)\n"
+" errExit(\"open\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if (sched_setaffinity(getpid(), sizeof(set), &set) == -1)\n"
+#| " errExit(\"sched_setaffinity\");\n"
+msgid ""
+" if (ftruncate(fd, sizeof(struct shmbuf)) == -1)\n"
+" errExit(\"ftruncate\");\n"
+msgstr ""
+" if (sched_setaffinity(getpid(), sizeof(set), &set) == -1)\n"
+" errExit(\"sched_setaffinity\");\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
+#, no-wrap
+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 ""
+
+#. 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 ""
+
+#. 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
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if (sem_init(&sem, 0, 0) == -1)\n"
+#| " handle_error(\"sem_init\");\n"
+msgid ""
+" if (sem_wait(&shmp-E<gt>sem1) == -1)\n"
+" errExit(\"sem_wait\");\n"
+msgstr ""
+" if (sem_init(&sem, 0, 0) == -1)\n"
+" handle_error(\"sem_init\");\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
+#, no-wrap
+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 ""
+
+#. 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
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if (sem_init(&sem, 0, 0) == -1)\n"
+#| " handle_error(\"sem_init\");\n"
+msgid ""
+" if (sem_post(&shmp-E<gt>sem2) == -1)\n"
+" errExit(\"sem_post\");\n"
+msgstr ""
+" if (sem_init(&sem, 0, 0) == -1)\n"
+" handle_error(\"sem_init\");\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 ""
+
+#. 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 ""
+
+#. 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
+#, fuzzy, no-wrap
+#| msgid ""
+#| "int\n"
+#| "main(int argc, char *argv[])\n"
+#| "{\n"
+#| " char outstr[200];\n"
+#| " time_t t;\n"
+#| " struct tm *tmp;\n"
+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 ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" char outstr[200];\n"
+" time_t t;\n"
+" struct tm *tmp;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if (argc != 2) {\n"
+#| " fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
+#| " exit(EXIT_FAILURE);\n"
+#| " }\n"
+msgid ""
+" if (argc != 3) {\n"
+" fprintf(stderr, \"Usage: %s /shm-path string\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" if (argc != 2) {\n"
+" fprintf(stderr, \"Использование: %s E<lt>путьE<gt>\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " parentCPU = atoi(argv[1]);\n"
+#| " childCPU = atoi(argv[2]);\n"
+#| " nloops = atoi(argv[3]);\n"
+msgid ""
+" shmpath = argv[1];\n"
+" string = argv[2];\n"
+" len = strlen(string);\n"
+msgstr ""
+" parentCPU = atoi(argv[1]);\n"
+" childCPU = atoi(argv[2]);\n"
+" nloops = atoi(argv[3]);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if (endptr == str) {\n"
+#| " fprintf(stderr, \"No digits were found\\en\");\n"
+#| " exit(EXIT_FAILURE);\n"
+#| " }\n"
+msgid ""
+" if (len E<gt> BUF_SIZE) {\n"
+" fprintf(stderr, \"String is too long\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" if (endptr == str) {\n"
+" fprintf(stderr, \"Цифры отсутствуют\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. 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 ""
+#| " fd = open(argv[1], O_RDONLY); /* Get file descriptor for namespace */\n"
+#| " if (fd == -1)\n"
+#| " errExit(\"open\");\n"
+msgid ""
+" fd = shm_open(shmpath, O_RDWR, 0);\n"
+" if (fd == -1)\n"
+" errExit(\"shm_open\");\n"
+msgstr ""
+" fd = open(argv[1], O_RDONLY); /* получаем файловый дескриптор для пространства\n"
+" имён */\n"
+" if (fd == -1)\n"
+" errExit(\"open\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, fuzzy, no-wrap
+#| msgid "To change the permissions of a shared memory object."
+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 ""
+
+#. 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
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if (sem_init(&sem, 0, 0) == -1)\n"
+#| " handle_error(\"sem_init\");\n"
+msgid ""
+" if (sem_post(&shmp-E<gt>sem1) == -1)\n"
+" errExit(\"sem_post\");\n"
+msgstr ""
+" if (sem_init(&sem, 0, 0) == -1)\n"
+" handle_error(\"sem_init\");\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
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if (sem_init(&sem, 0, 0) == -1)\n"
+#| " handle_error(\"sem_init\");\n"
+msgid ""
+" if (sem_wait(&shmp-E<gt>sem2) == -1)\n"
+" errExit(\"sem_wait\");\n"
+msgstr ""
+" if (sem_init(&sem, 0, 0) == -1)\n"
+" handle_error(\"sem_init\");\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 ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-07-20"
+msgstr "20 июля 2023 г."
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages 6.05.01"
+msgstr "Linux man-pages 6.05.01"
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "2023-03-30"
+msgstr "30 марта 2023 г."
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr "Linux man-pages 6.04"