diff options
Diffstat (limited to 'ja_JP.eucJP/man/man3/msgctl.3')
-rw-r--r-- | ja_JP.eucJP/man/man3/msgctl.3 | 211 |
1 files changed, 0 insertions, 211 deletions
diff --git a/ja_JP.eucJP/man/man3/msgctl.3 b/ja_JP.eucJP/man/man3/msgctl.3 deleted file mode 100644 index 2a0fe5c335..0000000000 --- a/ja_JP.eucJP/man/man3/msgctl.3 +++ /dev/null @@ -1,211 +0,0 @@ -.\" %NetBSD: msgctl.2,v 1.1 1995/10/16 23:49:15 jtc Exp % -.\" -.\" Copyright (c) 1995 Frank van der Linden -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed for the NetBSD Project -.\" by Frank van der Linden -.\" 4. The name of the author may not be used to endorse or promote products -.\" derived from this software without specific prior written permission -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" %Id: msgctl.3,v 1.5 1997/11/23 17:58:36 bde Exp % -.\"/ -.\" $FreeBSD$ -.Dd November 24, 1997 -.Dt MSGCTL 3 -.Os FreeBSD -.Sh 名称 -.Nm msgctl -.Nd メッセージ制御オペレーション -.Sh 書式 -.Fd #include <sys/types.h> -.Fd #include <sys/ipc.h> -.Fd #include <sys/msg.h> -.Ft int -.Fn msgctl "int msqid" "int cmd" "struct msqid_ds *buf" -.Sh 解説 -.Fn msgctl -システムコールは、 -.Fa msqid -が指定するメッセージキューに対して制御オペレーションを実行します。 - -各メッセージキューには、それに関連したデータ構造体があります。 -その一部は -.Fn msgctl -で変更できます。 -.Fn msgctl -のアクションを決めるデータ構造もあります。このデータ構造体は -.Aq Pa sys/msg.h -で定義され、以下のようなメンバが含まれています (その他のメンバも -あります)。 -.Bd -literal -struct msqid_ds { - struct ipc_perm msg_perm; /* メッセージキューのパーミッションビット */ - struct msg *msg_first; /* キューの最初のメッセージ */ - struct msg *msg_last; /* キューの最後のメッセージ */ - u_long msg_cbytes; /* キューで使用しているバイト数 */ - u_long msg_qnum; /* キューで使用しているメッセージ数 */ - u_long msg_qbytes; /* キューで使用する最大バイト数 */ - pid_t msg_lspid; /* 最後の msgsnd のプロセスID */ - pid_t msg_lrpid; /* 最後の msgrcv のプロセスID */ - time_t msg_stime; /* 最後の msgsnd の時間 */ - long msg_pad1; - time_t msg_rtime; /* 最後の msgrcv の時間 */ - long msg_pad2; - time_t msg_ctime; /* 最後の msgctl の時間 */ - long msg_pad3; - long msg_pad4[4]; - }; -.Ed -.Pp -.Bf -literal -shmid_ds -.Ef -構造体の中で使用される -.Bf -literal -ipc_perm -.Ef -構造体は、 -.Aq Pa sys/ipc.h -で以下のように定義されています。 -.Bd -literal -struct ipc_perm { - ushort cuid; /* 生成者のユーザID */ - ushort cgid; /* 生成者のグループID */ - ushort uid; /* ユーザID */ - ushort gid; /* グループID */ - ushort mode; /* r/w パーミッション */ - ushort seq; /* シーケンス番号 (一意に生成された msg/sem/shm ID) */ - key_t key; /* ユーザが指定した msg/sem/shm キー */ -}; -.Ed -.Pp -.Fn msgctl -が実行するオペレーションは、以下のうちの 1 つで -.Fa cmd -で指定されます。 -.Bl -tag -width IPC_RMIDX -.It Dv IPC_STAT -メッセージキューの情報を集め、 -.Fa buf -が指す構造体に配置します。 -.It Dv IPC_SET -.Fa msqid -に関連する構造体の -.Va msg_perm.uid -フィールド、 -.Va msg_perm.gid -フィールド、 -.Va msg_perm.mode -フィールド、 -.Va msg_qbytes -フィールドの値を設定します。この値は、 -.Fa buf -が指す構造体で対応するフィールドから取られます。このオペレーションを -実行できるのは、スーパユーザ、またはメッセージキューに関連する -データ構造体の -.Va msg_perm.cuid -か -.Va msg_perm.uid -と等しい実効ユーザ ID を持つプロセスのみです。 -.Va msg_qbytes -の値を増やせるのは、スーパユーザのみです。システム制限 -( -.Aq Pa sys/msg.h -の MSGMNB) を越えた -.Va msg_qbytes -の値は、その制限に切り捨てられます。 -.It Dv IPC_RMID -.Fa msqid -が指定するメッセージキューを削除し、 -.Fa msqid -に関連する -データを破壊します。スーパユーザ、または、キューに -関連するデータ構造体の -.Va msg_perm.cuid -または -.Va msg_perm.uid -の値が、実効ユーザ ID に等しいプロセスのみが、これを実行できます。 -.El - -メッセージキューからの読込み権かメッセージキューへの書込み権 ( -.Xr msgsnd 3 -と -.Xr msgrcv 3 -参照) は、ファイルと同じように ( -.Xr chmod 2 -参照)、 -.Va msg_perm.mode -フィールドによって決まります。実効ユーザ ID は、 -.Va msg_perm.cuid -フィールドか -.Va msg_perm.uid -フィールドと一致し、実効グループ ID は、 -.Va msg_perm.cgid -か -.Va msg_perm.gid -と一致します。 -.Sh 戻り値 -問題なく終了すると 0 が戻されます。問題なく終了しないと -1 が戻され、 -グローバル変数 -.Va errno -がそのエラーを示すように設定されます。 -.Sh エラー -.Fn msgctl -は、以下のような場合にエラーとなります。 -.Bl -tag -width Er -.It Bq Er EPERM -.Fa cmd -が IPC_SET か IPC_RMID と等しく、呼出し側がスーパユーザではない場合。 -または実効ユーザ ID がメッセージキューに関連するデータ構造の -.Va msg_perm.uid -フィールドか -.Va msg_perm.cuid -フィールドと一致しない場合。 - -IPC_SET を用いて -.Va msg_qbytes -の値を上げようとしたが、呼出し側がスーパユーザでない場合。 -.It Bq Er EACCES -コマンドが IPC_STAT であるが、このメッセージキューの -読込み権が呼出し側にない場合。 -.It Bq Er EINVAL -.Fa msqid -が正しいメッセージキュー ID でない場合。 - -.Va cmd -が正しいコマンドでない場合。 -.It Bq Er EFAULT -.Fa buf -が正しいアドレスを指定していない場合。 -.El -.Sh 関連項目 -.Xr msgget 3 , -.Xr msgrcv 3 , -.Xr msgsnd 3 -.Sh 歴史 -メッセージキューは、 -AT&T Unix System V -の最初のリリースに追加されました。 -.\"kuma 1999-11-12 |