msgget()
は、
key
に関連するメッセージキュー ID を戻します。メッセージキュー ID は、
0 より大きい一意的な整数です。
メッセージキューは、
key
が
IPC_PRIVATE
と等しい場合、または
key
に関連するメッセージキュー ID が存在せず、かつ、
IPC_CREAT
ビットが
msgflg
で設定されている場合に作成されます。
新しいメッセージキューが作成された場合、関連するデータ構造 (
msqid_ds
構造体。
msgctl(3)
参照) は、以下のように初期化されます。
- msg_perm.cuid
と
msg_perm.uid
は、呼び出しプロセスの実効ユーザ ID に設定されます。
- msg_perm.gid
と
msg_perm.cgid
は、呼び出しプロセスの実効グループ ID に設定されます。
- msg_perm.mode
は、
msgflg
の下位 9 ビットが設定されます。
- msg_cbytes,
msg_qnum,
msg_lspid,
msg_lrpid,
msg_rtime,
msg_stime
には 0 が設定されます。
- msg_qbytes
は、キューのバイト数
( MSGMNB)
についてのシステムの最大値が設定されます。
- msg_ctime
は、現在の時刻に設定されます。