diff options
Diffstat (limited to '')
-rw-r--r-- | templates/man2/semget.2.pot | 832 |
1 files changed, 832 insertions, 0 deletions
diff --git a/templates/man2/semget.2.pot b/templates/man2/semget.2.pot new file mode 100644 index 00000000..964ca631 --- /dev/null +++ b/templates/man2/semget.2.pot @@ -0,0 +1,832 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2024-03-01 17:07+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "semget" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "" + +#. 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 "semget - get a System V semaphore set identifier" +msgstr "" + +#. 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 "Standard C library (I<libc>, I<-lc>)" +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 +#, no-wrap +msgid "B<#include E<lt>sys/sem.hE<gt>>\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<int semget(key_t >I<key>B<,> B<int >I<nsems>B<,> B<int >I<semflg>B<);>" +msgstr "" + +#. 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 "" +"The B<semget>() system call returns the System\\ V semaphore set identifier " +"associated with the argument I<key>. It may be used either to obtain the " +"identifier of a previously created semaphore set (when I<semflg> is zero and " +"I<key> does not have the value B<IPC_PRIVATE>), or to create a new set." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A new set of I<nsems> semaphores is created if I<key> has the value " +"B<IPC_PRIVATE> or if no existing semaphore set is associated with I<key> and " +"B<IPC_CREAT> is specified in I<semflg>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<semflg> specifies both B<IPC_CREAT> and B<IPC_EXCL> and a semaphore set " +"already exists for I<key>, then B<semget>() fails with I<errno> set to " +"B<EEXIST>. (This is analogous to the effect of the combination B<O_CREAT | " +"O_EXCL> for B<open>(2).)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Upon creation, the least significant 9 bits of the argument I<semflg> define " +"the permissions (for owner, group, and others) for the semaphore set. " +"These bits have the same format, and the same meaning, as the I<mode> " +"argument of B<open>(2) (though the execute permissions are not meaningful " +"for semaphores, and write permissions mean permission to alter semaphore " +"values)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When creating a new semaphore set, B<semget>() initializes the set's " +"associated data structure, I<semid_ds> (see B<semctl>(2)), as follows:" +msgstr "" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "\\[bu]" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<sem_perm.cuid> and I<sem_perm.uid> are set to the effective user ID of the " +"calling process." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<sem_perm.cgid> and I<sem_perm.gid> are set to the effective group ID of " +"the calling process." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The least significant 9 bits of I<sem_perm.mode> are set to the least " +"significant 9 bits of I<semflg>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I<sem_nsems> is set to the value of I<nsems>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I<sem_otime> is set to 0." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I<sem_ctime> is set to the current time." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The argument I<nsems> can be 0 (a don't care) when a semaphore set is not " +"being created. Otherwise, I<nsems> must be greater than 0 and less than or " +"equal to the maximum number of semaphores per semaphore set (B<SEMMSL>)." +msgstr "" + +#. and a check is made to see if it is marked for destruction. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "If the semaphore set already exists, the permissions are verified." +msgstr "" + +#. 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 +msgid "" +"On success, B<semget>() returns the semaphore set identifier (a nonnegative " +"integer). On failure, -1 is returned, and I<errno> is set to indicate the " +"error." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ERRORS" +msgstr "" + +#. 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 "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A semaphore set exists for I<key>, but the calling process does not have " +"permission to access the set, and does not have the B<CAP_IPC_OWNER> " +"capability in the user namespace that governs its IPC namespace." +msgstr "" + +#. 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 "" + +#. .TP +#. .B EIDRM +#. The semaphore set is marked to be deleted. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<IPC_CREAT> and B<IPC_EXCL> were specified in I<semflg>, but a semaphore " +"set already exists for I<key>." +msgstr "" + +#. 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 "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<nsems> is less than 0 or greater than the limit on the number of " +"semaphores per semaphore set (B<SEMMSL>)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A semaphore set corresponding to I<key> already exists, but I<nsems> is " +"larger than the number of semaphores in that set." +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 "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"No semaphore set exists for I<key> and I<semflg> did not specify " +"B<IPC_CREAT>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOMEM>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A semaphore set has to be created but the system does not have enough memory " +"for the new data structure." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOSPC>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A semaphore set has to be created but the system limit for the maximum " +"number of semaphore sets (B<SEMMNI>), or the system wide maximum number of " +"semaphores (B<SEMMNS>), would be exceeded." +msgstr "" + +#. 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 "" + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "" + +#. SVr4 documents additional error conditions EFBIG, E2BIG, EAGAIN, +#. ERANGE, EFAULT. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "SVr4, POSIX.1-2001." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NOTES" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<IPC_PRIVATE> isn't a flag field but a I<key_t> type. If this special " +"value is used for I<key>, the system call ignores all but the least " +"significant 9 bits of I<semflg> and creates a new semaphore set (on success)." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Semaphore initialization" +msgstr "" + +#. In truth, every one of the many implementations that I've tested sets +#. the values to zero, but I suppose there is/was some obscure +#. implementation out there that does not. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The values of the semaphores in a newly created set are indeterminate. " +"(POSIX.1-2001 and POSIX.1-2008 are explicit on this point, although " +"POSIX.1-2008 notes that a future version of the standard may require an " +"implementation to initialize the semaphores to 0.) Although Linux, like " +"many other implementations, initializes the semaphore values to 0, a " +"portable application cannot rely on this: it should explicitly initialize " +"the semaphores to the desired values." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Initialization can be done using B<semctl>(2) B<SETVAL> or B<SETALL> " +"operation. Where multiple peers do not know who will be the first to " +"initialize the set, checking for a nonzero I<sem_otime> in the associated " +"data structure retrieved by a B<semctl>(2) B<IPC_STAT> operation can be " +"used to avoid races." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Semaphore limits" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The following limits on semaphore set resources affect the B<semget>() call:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<SEMMNI>" +msgstr "" + +#. commit e843e7d2c88b7db107a86bd2c7145dc715c058f4 +#. This /proc file is not available in Linux 2.2 and earlier -- MTK +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"System-wide limit on the number of semaphore sets. Before Linux 3.19, the " +"default value for this limit was 128. Since Linux 3.19, the default value " +"is 32,000. On Linux, this limit can be read and modified via the fourth " +"field of I</proc/sys/kernel/sem>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<SEMMSL>" +msgstr "" + +#. commit e843e7d2c88b7db107a86bd2c7145dc715c058f4 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Maximum number of semaphores per semaphore ID. Before Linux 3.19, the " +"default value for this limit was 250. Since Linux 3.19, the default value " +"is 32,000. On Linux, this limit can be read and modified via the first " +"field of I</proc/sys/kernel/sem>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<SEMMNS>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"System-wide limit on the number of semaphores: policy dependent (on Linux, " +"this limit can be read and modified via the second field of I</proc/sys/" +"kernel/sem>). Note that the number of semaphores system-wide is also " +"limited by the product of B<SEMMSL> and B<SEMMNI>." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "BUGS" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The name choice B<IPC_PRIVATE> was perhaps unfortunate, B<IPC_NEW> would " +"more clearly show its function." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "EXAMPLES" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The program shown below uses B<semget>() to create a new semaphore set or " +"retrieve the ID of an existing set. It generates the I<key> for " +"B<semget>() using B<ftok>(3). The first two command-line arguments are " +"used as the I<pathname> and I<proj_id> arguments for B<ftok>(3). The third " +"command-line argument is an integer that specifies the I<nsems> argument for " +"B<semget>(). Command-line options can be used to specify the B<IPC_CREAT> " +"(I<-c>) and B<IPC_EXCL> (I<-x>) flags for the call to B<semget>(). The " +"usage of this program is demonstrated below." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"We first create two files that will be used to generate keys using " +"B<ftok>(3), create two semaphore sets using those files, and then list the " +"sets using B<ipcs>(1):" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"$ B<touch mykey mykey2>\n" +"$ B<./t_semget -c mykey p 1>\n" +"ID = 9\n" +"$ B<./t_semget -c mykey2 p 2>\n" +"ID = 10\n" +"$ B<ipcs -s>\n" +"\\&\n" +"------ Semaphore Arrays --------\n" +"key semid owner perms nsems\n" +"0x7004136d 9 mtk 600 1\n" +"0x70041368 10 mtk 600 2\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Next, we demonstrate that when B<semctl>(2) is given the same I<key> (as " +"generated by the same arguments to B<ftok>(3)), it returns the ID of the " +"already existing semaphore set:" +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<./t_semget -c mykey p 1>\n" +"ID = 9\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Finally, we demonstrate the kind of collision that can occur when " +"B<ftok>(3) is given different I<pathname> arguments that have the same " +"inode number:" +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<ln mykey link>\n" +"$ B<ls -i1 link mykey>\n" +"2233197 link\n" +"2233197 mykey\n" +"$ B<./t_semget link p 1> # Generates same key as \\[aq]mykey\\[aq]\n" +"ID = 9\n" +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Program source" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"/* t_semget.c\n" +"\\&\n" +" Licensed under GNU General Public License v2 or later.\n" +"*/\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/ipc.hE<gt>\n" +"#include E<lt>sys/sem.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"static void\n" +"usage(const char *pname)\n" +"{\n" +" fprintf(stderr, \"Usage: %s [-cx] pathname proj-id num-sems\\en\",\n" +" pname);\n" +" fprintf(stderr, \" -c Use IPC_CREAT flag\\en\");\n" +" fprintf(stderr, \" -x Use IPC_EXCL flag\\en\");\n" +" exit(EXIT_FAILURE);\n" +"}\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int semid, nsems, flags, opt;\n" +" key_t key;\n" +"\\&\n" +" flags = 0;\n" +" while ((opt = getopt(argc, argv, \"cx\")) != -1) {\n" +" switch (opt) {\n" +" case \\[aq]c\\[aq]: flags |= IPC_CREAT; break;\n" +" case \\[aq]x\\[aq]: flags |= IPC_EXCL; break;\n" +" default: usage(argv[0]);\n" +" }\n" +" }\n" +"\\&\n" +" if (argc != optind + 3)\n" +" usage(argv[0]);\n" +"\\&\n" +" key = ftok(argv[optind], argv[optind + 1][0]);\n" +" if (key == -1) {\n" +" perror(\"ftok\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" nsems = atoi(argv[optind + 2]);\n" +"\\&\n" +" semid = semget(key, nsems, flags | 0600);\n" +" if (semid == -1) {\n" +" perror(\"semget\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" printf(\"ID = %d\\en\", semid);\n" +"\\&\n" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" + +#. SRC END +#. 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<semctl>(2), B<semop>(2), B<ftok>(3), B<capabilities>(7), " +"B<sem_overview>(7), B<sysvipc>(7)" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"$ B<touch mykey mykey2>\n" +"$ B<./t_semget -c mykey p 1>\n" +"ID = 9\n" +"$ B<./t_semget -c mykey2 p 2>\n" +"ID = 10\n" +"$ B<ipcs -s>\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"------ Semaphore Arrays --------\n" +"key semid owner perms nsems\n" +"0x7004136d 9 mtk 600 1\n" +"0x70041368 10 mtk 600 2\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "/* t_semget.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>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/ipc.hE<gt>\n" +"#include E<lt>sys/sem.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"static void\n" +"usage(const char *pname)\n" +"{\n" +" fprintf(stderr, \"Usage: %s [-cx] pathname proj-id num-sems\\en\",\n" +" pname);\n" +" fprintf(stderr, \" -c Use IPC_CREAT flag\\en\");\n" +" fprintf(stderr, \" -x Use IPC_EXCL flag\\en\");\n" +" exit(EXIT_FAILURE);\n" +"}\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int semid, nsems, flags, opt;\n" +" key_t key;\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" flags = 0;\n" +" while ((opt = getopt(argc, argv, \"cx\")) != -1) {\n" +" switch (opt) {\n" +" case \\[aq]c\\[aq]: flags |= IPC_CREAT; break;\n" +" case \\[aq]x\\[aq]: flags |= IPC_EXCL; break;\n" +" default: usage(argv[0]);\n" +" }\n" +" }\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (argc != optind + 3)\n" +" usage(argv[0]);\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" key = ftok(argv[optind], argv[optind + 1][0]);\n" +" if (key == -1) {\n" +" perror(\"ftok\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " nsems = atoi(argv[optind + 2]);\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" semid = semget(key, nsems, flags | 0600);\n" +" if (semid == -1) {\n" +" perror(\"semget\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " printf(\"ID = %d\\en\", semid);\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-05-03" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "" |