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