+++ /dev/null
-.\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it)
-.\"
-.\" %%%LICENSE_START(VERBATIM)
-.\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provided the copyright notice and this permission notice are
-.\" preserved on all copies.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one.
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date. The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein. The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
-.\" %%%LICENSE_END
-.\"
-.\" FIXME . There is now duplication of some of the information
-.\" below in semctl.2, msgctl.2, and shmctl.2 -- MTK, Nov 04
-.\"
-.\" FIXME . Ultimately, there should probably be
-.\" svmq_overview(7), svshm_overview(7), and sem_overview(7)
-.\" that provide an overview of each System V IPC mechanism.
-.\" In that case:
-.\" * Those files should add a discussion of the /proc/sysvipc
-.\" interfaces.
-.\" * Documentation of the various /proc interfaces should move into
-.\" those files (from proc(5)), and references in the various *.2
-.\" pages that refer to the /proc files should be adjusted.
-.\" * The only part that uniquely belongs in svipc(7) is perphaps
-.\" the discussion of ipc_perm.
-.\"
-.\"*******************************************************************
-.\"
-.\" This file was generated with po4a. Translate the source file.
-.\"
-.\"*******************************************************************
-.\"
-.\" Japanese Version Copyright (c) 1998 HANATAKA Shinya
-.\" all rights reserved.
-.\" Translated Wed Feb 11 21:29:14 JST 1998
-.\" by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\"
-.TH SVIPC 7 2014\-09\-21 Linux "Linux Programmer's Manual"
-.SH 名前
-svipc \- System V プロセス間通信機構
-.SH 書式
-.nf
-\fB#include <sys/msg.h>\fP
-\fB#include <sys/sem.h>\fP
-\fB#include <sys/shm.h>\fP
-.fi
-.SH 説明
-このマニュアルページは System V プロセス間通信 (interprocess communication; IPC) 機構の Linux に
-おける実装を説明する。 このプロセス間通信機構には、 メッセージキュー (message queue)、セマフォー集合 (semaphore set)、
-共有メモリーセグメント (shared memory segment) などがある。以下で \fI資源 (resource)\fP
-という用語を使用した場合にはこれらの機構のどれかを意味する。
-.SS 資源へのアクセス許可
-システムのそれぞれの資源は、IPC への操作を許可するかどうかを決定する ための情報を共通の構造体 \fIstruct ipc_perm\fP
-に格納して使用する。 \fIipc_perm\fP 構造体には以下のメンバーが定義されている:
-.in +4n
-.nf
-
-struct ipc_perm {
- uid_t cuid; /* 作成者のユーザーID */
- gid_t cgid; /* 作成者のグループID */
- uid_t uid; /* 所有者のユーザーID */
- gid_t gid; /* 所有者のグループID */
- unsigned short mode; /* 読み書きの許可 */
-};
-.fi
-.in
-.PP
-\fIipc_perm\fP 構造体の \fImode\fP メンバーは以下の 9 ビットで、プロセスの IPC システムコール
-による資源へのアクセス許可を定義する。 許可は以下のように解釈される:
-.sp
-.nf
- 0400 ユーザーによる読み込み。
- 0200 ユーザーによる書き込み。
-.sp .5
- 0040 グループによる読み込み。
- 0020 グループによる書き込み。
-.sp .5
- 0004 他人による読み込み。
- 0002 他人による書き込み。
-.fi
-.PP
-システムはビット 0100, 0010, 0001 (実行ビット) は使用しない。 さらに、セマフォーの場合には "書き込み(write)" は実際には
-"変更(alter)" を意味する。
-.PP
-同じヘッダーファイルには以下のシンボルの定義が含まれている:
-.TP 14
-\fBIPC_CREAT\fP
-キー(key)が存在しない場合には新たなエントリーを作成する。
-.TP
-\fBIPC_EXCL\fP
-キー(key)が存在する場合には失敗する。
-.TP
-\fBIPC_NOWAIT\fP
-要求が待たされる場合にはエラーになる。
-.TP
-\fBIPC_PRIVATE\fP
-プライベートキー。
-.TP
-\fBIPC_RMID\fP
-資源を削除する。
-.TP
-\fBIPC_SET\fP
-資源にオプションを設定する。
-.TP
-\fBIPC_STAT\fP
-資源のオプションを取得する。
-.PP
-\fBIPC_PRIVATE\fP は \fIkey_t\fP 型である。その他の全てのシンボルはフラグフィールドとして \fIint\fP 変数に OR
-演算で格納することができる。
-.SS メッセージキュー
-メッセージキューは正の整数 (\fImsqid\fP) によって識別され、 \fI<sys/msg.h>\fP に定義されている構造体
-\fIstruct msqid_ds\fP に結びつけられている。 この構造体は以下のメンバーを含んでいる:
-.in +4n
-.nf
-
-struct msqid_ds {
- struct ipc_perm msg_perm;
- msgqnum_t msg_qnum; /* キューにあるメッセージの数 */
- msglen_t msg_qbytes; /* キューの最大バイト数 */
- pid_t msg_lspid; /* 最後に msgsnd(2) をした PID */
- pid_t msg_lrpid; /* 最後に msgrcv(2) をした PID */
- time_t msg_stime; /* 最後に msgsnd(2) をした時間 */
- time_t msg_rtime; /* 最後に msgrcv(2) をした時間 */
- time_t msg_ctime; /* 最後に変更された時間 */
-};
-.fi
-.in
-.TP 11
-\fImsg_perm\fP
-メッセージキューへのアクセス許可を指定する \fIipc_perm\fP 構造体。
-.TP
-\fImsg_qnum\fP
-現在、このメッセージキューにあるメッセージの数。
-.TP
-\fImsg_qbytes\fP
-メッセージキューに入れることができるメッセージの最大バイト数。
-.TP
-\fImsg_lspid\fP
-最後に \fBmsgsnd\fP(2) システムコールを行なったプロセスの ID。
-.TP
-\fImsg_lrpid\fP
-最後に \fBmsgrcv\fP(2) システムコールを行なったプロセスの ID。
-.TP
-\fImsg_stime\fP
-最後に \fBmsgsnd\fP(2) システムコールを行なった時間。
-.TP
-\fImsg_rtime\fP
-最後に \fBmsgrcv\fP(2) を行なった時間。
-.TP
-\fImsg_ctime\fP
-最後に \fImsqid_ds\fP 構造体のメンバーが変更された時間。
-.SS セマフォー集合
-セマフォー集合は正の整数 (\fIsemid\fP) によって識別され、 \fI<sys/sem.h>\fP に定義されている構造体
-\fIstruct semid_ds\fP に結びつけられている。 この構造体は以下のメンバーを含んでいる:
-.in +4n
-.nf
-
-struct semid_ds {
- struct ipc_perm sem_perm;
- time_t sem_otime; /* 最後に操作した時間 */
- time_t sem_ctime; /* 最後に変更した時間 */
- unsigned long sem_nsems; /* 集合の中にあるセマフォー数 */
-};
-.fi
-.in
-.TP 11
-\fIsem_perm\fP
-セマフォー集合へのアクセス許可を指定する \fIipc_perm\fP 構造体。
-.TP
-\fIsem_otime\fP
-最後に \fBsemop\fP(2) システムコールを行なった時間。
-.TP
-\fIsem_ctime\fP
-最後に \fBsemctl\fP(2) を行なって上記の構造体のメンバーを変更するか、セマフォー集合に属する セマフォーを変更した時間。
-.TP
-\fIsem_nsems\fP
-セマフォー集合の中にあるセマフォーの数。 集合の中にあるそれぞれのセマフォーは負でない整数によって参照され、 \fB0\fP から
-\fIsem_nsems\-1\fP までの番号を持つ。
-.PP
-セマフォーは \fIstruct sem\fP 型のデータ構造体であり、以下のメンバーを含んでいる:
-.in +4n
-.nf
-
-.\" unsigned short semncnt; /* nr awaiting semval to increase */
-.\" unsigned short semzcnt; /* nr awaiting semval = 0 */
-struct sem {
- int semval; /* セマフォーの値 */
- int sempid; /* 最後に操作したプロセス ID */
-};
-.fi
-.in
-.TP 11
-\fIsemval\fP
-セマフォー値: 負でない整数。
-.TP
-\fIsempid\fP
-.\".TP
-.\".I semncnt
-.\"Number of processes suspended awaiting for
-.\".I semval
-.\"to increase.
-.\".TP
-.\".I semznt
-.\"Number of processes suspended awaiting for
-.\".I semval
-.\"to become zero.
-このセマフォーを最後に操作したプロセスの ID。
-.SS 共有メモリーセグメント
-共有メモリーセグメントは正の整数 (\fIshmid\fP) によって識別され、 \fI<sys/shm.h>\fP に定義されている
-\fIstruct shmid_ds\fP 構造体に結びつけられている。 この構造体は以下のメンバーを含んでいる:
-.in +4n
-.nf
-
-struct shmid_ds {
- struct ipc_perm shm_perm;
- size_t shm_segsz; /* セグメントのサイズ */
- pid_t shm_cpid; /* 作成者のプロセス ID */
- pid_t shm_lpid; /* 最後に操作したプロセス ID */
- shmatt_t shm_nattch; /* 現在、付加している数 */
- time_t shm_atime; /* 最後に付加した時間 */
- time_t shm_dtime; /* 最後に分離した時間 */
- time_t shm_ctime; /* 最後に変更した時間 */
-};
-.fi
-.in
-.TP 11
-\fIshm_perm\fP
-共有メモリーセグメントへのアクセス許可を指定した \fIipc_perm\fP 構造体。
-.TP
-\fIshm_segsz\fP
-共有メモリーセグメントのバイト数。
-.TP
-\fIshm_cpid\fP
-共有メモリーセグメントを作成したプロセスの ID。
-.TP
-\fIshm_lpid\fP
-最後に \fBshmat\fP(2) または \fBshmdt\fP(2) システムコールを実行したプロセスの ID。
-.TP
-\fIshm_nattch\fP
-この共有メモリーセグメントをメモリーに付加 (attach) しているプロセスの数。
-.TP
-\fIshm_atime\fP
-最後に \fBshmat\fP(2) システムコールを行なった時間。
-.TP
-\fIshm_dtime\fP
-最後に \fBshmdt\fP(2) システムコールを行なった時間。
-.TP
-\fIshm_ctime\fP
-最後に \fBshmctl\fP(2) システムコールを行なって、 \fIshmid_ds\fP 構造体を変更した時間。
-.SS "IPC 名前空間"
-System V IPC オブジェクトと IPC 名前空間の相互の影響に関する議論は \fBnamespaces\fP(7) を参照。
-.SH 関連項目
-\fBipcmk\fP(1), \fBipcrm\fP(1), \fBipcs\fP(1), \fBipc\fP(2), \fBmsgctl\fP(2), \fBmsgget\fP(2),
-\fBmsgrcv\fP(2), \fBmsgsnd\fP(2), \fBsemctl\fP(2), \fBsemget\fP(2), \fBsemop\fP(2),
-\fBshmat\fP(2), \fBshmctl\fP(2), \fBshmdt\fP(2), \fBshmget\fP(2), \fBftok\fP(3),
-\fBnamespaces\fP(7)
-.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。