.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH SEMCTL 2 2012\-05\-31 Linux "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1997,1998 HANATAKA Shinya
+.\" all rights reserved.
+.\" Translated 1997-02-23, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Modified 1998-09-10, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated & Modified 2001-06-03, Yuichi SATO <ysato@h4.dion.ne.jp>
+.\" Updated & Modified 2002-01-02, Yuichi SATO
+.\" Updated & Modified 2005-01-03, Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated & Modified 2005-10-10, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-07-24, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH SEMCTL 2 2013\-06\-03 Linux "Linux Programmer's Manual"
.SH 名前
-semctl \- セマフォの制御操作を行なう
+semctl \- System V セマフォの制御操作を行なう
.SH 書式
.nf
\fB#include <sys/types.h>\fP
\fBint semctl(int \fP\fIsemid\fP\fB, int \fP\fIsemnum\fP\fB, int \fP\fIcmd\fP\fB, ...);\fP
.fi
.SH 説明
-\fBsemctl\fP() は、 \fIsemid\fP で指定されたセマフォ集合 (semaphore set) またはセマフォ集合の \fIsemnun\fP
-番目のセマフォに対して、 \fIcmd\fP で指定された制御操作を行なう (集合内のセマフォの番号は 0 から始まる)。
+\fBsemctl\fP() は、 \fIsemid\fP で指定された System\ V セマフォ集合 (semaphore set) またはセマフォ集合の
+\fIsemnun\fP 番目のセマフォに対して、 \fIcmd\fP で指定された制御操作を行なう (集合内のセマフォの番号は 0 から始まる)。
.PP
この関数は、 \fIcmd\fP の値に依存して、3 個または 4 個の引き数を持つ。 引き数が 4 個の場合、第 4 引き数の型は \fIunion
semun\fP である。 \fI呼び出し元プログラム\fPは、 この共用体 (union) を以下のように定義しなければならない。
struct ipc_perm sem_perm; /* 所有権と許可 */
time_t sem_otime; /* 最後の semop の時刻 */
time_t sem_ctime; /* 最後に変更が行われた時刻 */
- unsigned short sem_nsems; /* 集合内のセマフォの数 */
+ unsigned long sem_nsems; /* 集合内のセマフォの数 */
};
.in
.fi
.in
.fi
.PP
-\fIcmd\fP として有効な値は
+\fIcmd\fP として有効な値は次の通りである。
.TP 10
\fBIPC_STAT\fP
\fIsemid\fP に関連づけられたカーネルデータ構造体の情報を \fIarg.buf\fP で指された \fIsemid_ds\fP 構造体へコピーする。
呼び出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。
.TP
\fBGETNCNT\fP
-システムコールは集合の \fIsemnum\fP 番目のセマフォの \fBsemncnt\fP の値を返す (集合の \fIsemnum\fP 番目のセマフォの
-\fBsemval\fP の増加を待っているプロセスの数を返す)。 呼び出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。
+集合の \fIsemnum\fP 番目のセマフォの \fBsemncnt\fP の値を返す (集合の \fIsemnum\fP 番目のセマフォの \fBsemval\fP
+の増加を待っているプロセスの数を返す)。 呼び出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。
.TP
\fBGETPID\fP
-システムコールは集合の \fIsemnum\fP 番目のセマフォの \fBsempid\fP の値 (集合の \fIsemnum\fP 番目のセマフォに最後に
-\fBsemop\fP(2) コールを実行したプロセスの PID) を返す。 呼び出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。
+集合の \fIsemnum\fP 番目のセマフォの \fBsempid\fP の値 (集合の \fIsemnum\fP 番目のセマフォに最後に \fBsemop\fP(2)
+コールを実行したプロセスの PID) を返す。 呼び出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。
.TP
\fBGETVAL\fP
-システムコールは集合の \fIsemnum\fP 番目のセマフォの \fBsemval\fP の値を返す。
+集合の \fIsemnum\fP 番目のセマフォの \fBsemval\fP の値を返す。
呼び出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。
.TP
\fBGETZCNT\fP
-システムコールは集合の \fIsemnum\fP 番目のセマフォの \fBsemzcnt\fP の値を返す (集合の \fIsemnum\fP 番目のセマフォの
-\fBsemval\fP の値が 0 になるのを待っているプロセスの数を返す)。 呼び出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。
+集合の \fIsemnum\fP 番目のセマフォの \fBsemzcnt\fP の値を返す (集合の \fIsemnum\fP 番目のセマフォの \fBsemval\fP
+の値が 0 になるのを待っているプロセスの数を返す)。 呼び出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。
.TP
\fBSETALL\fP
集合の全てのセマフォの \fBsemval\fP に \fIarg.array\fP で指定された値を設定する。 その集合に関連する \fIsemid_ds\fP
失敗した場合、 \fBsemctl\fP() は \-1 を返し、 \fIerrno\fP にそのエラーを示す。
そうでなければシステムコールは \fIcmd\fP によって以下の負でない値を返す:
-.TP 12
+.TP 10
\fBGETNCNT\fP
\fBsemncnt\fP の値
.TP
.SH 準拠
.\" SVr4 documents more error conditions EINVAL and EOVERFLOW.
SVr4, POSIX.1\-2001.
+
+POSIX.1\-2001 では \fIsemid_ds\fP 構造体の \fIsem_nsems\fP フィールドは \fIunsigned\ short\fP
+型を持つと規定されており、 他のほとんどのシステムでこのフィールドは \fIunsigned\ short\fP 型になっている。 Linux 2.4
+以前ではそうなっていたが、 Linux 2.4 以降ではこのフィールドは \fIunsigned\ long\fP 型である。
.SH 注意
.\" Like Linux, the FreeBSD man pages still document
.\" the inclusion of these header files.
-The inclusion of \fI<sys/types.h>\fP and \fI<sys/ipc.h>\fP isn't
-required on Linux or by any version of POSIX. However, some old
-implementations required the inclusion of these header files, and the SVID
-also documented their inclusion. Applications intended to be portable to
-such old systems may need to include these header files.
+Linux や POSIX の全てのバージョンでは、 \fI<sys/types.h>\fP と \fI<sys/ipc.h>\fP
+のインクルードは必要ない。しかしながら、いくつかの古い実装ではこれらのヘッダファイルのインクルードが必要であり、 SVID
+でもこれらのインクルードをするように記載されている。このような古いシステムへの移植性を意図したアプリケーションではこれらのファイルをインクルードする必要があるかもしれない。
\fBIPC_INFO\fP, \fBSEM_STAT\fP, \fBSEM_INFO\fP 操作は \fBipcs\fP(1)
-プログラムによって割当られた資源について情報を提供するために使用される。 将来的にはこれらは変更されるか、 /proc
+プログラムによって割当られた資源について情報を提供するために使用される。 将来的にはこれらは変更されるか、 \fI/proc\fP
ファイル・システム・インタフェースに移動されるかもしれない。
.LP
\fI構造体 semid_ds\fP 内の多くのフィールドは、 Linux 2.2 では \fIshort\fP 型だったが、Linux 2.4 では
\fBipc\fP(2), \fBsemget\fP(2), \fBsemop\fP(2), \fBcapabilities\fP(7),
\fBsem_overview\fP(7), \fBsvipc\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。