標準
標準/拡張機能 |
C/C++ |
依存項目 |
XPG4.2
Single UNIX Specification、バージョン 3
|
両方 |
|
形式
#define _XOPEN_SOURCE_EXTENDED 1
#include <sys/ipc.h>
key_t ftok(const char *path, int id);
機能説明
ftok() 関数は、msgget()、semget()、および shmget() の以降の呼び出し
で使用できるキーを、path と id に基づいて戻します。path 引数は、プロセスが stat() を実行できる既存ファイル
のパス名でなければなりません。
ftok() 関数は、同じ id 値で呼び出されたとき、同じファイル
を指定するすべてのパスに対して同じキー値を戻します。異なる id 値が指定されるか、または異なるファイルが指定された場
合は、異なるキーが戻されます。id の下位 8 ビットのみが有効で、ゼロ以外でなければなりません。
戻り値
ftok() は、正常終了時にはキーを戻します。
正常に実行されなかった場合、ftok() は -1 を戻して、errno を次のいずれかの
値に設定します。
- エラー・コード
- 説明
- EACCES
- パス接頭部のコンポーネントに対する検索許可が拒否されます。
- EINVAL
- id の下位 8 ビットがゼロです。
- ELOOP
- path の解析中に検出されたシンボリック・リンクが多すぎます。
- ENAMETOOLONG
- 次のエラー条件のいずれかが存在しています。
- path 引数の長さが
PATH_MAX を超えているか、またはパス名コンポーネントが
NAME_MAX より長い。
- シンボリック・リンクのパス名解析
で、長さが PATH_MAX を超える中間結果を作成しました。
- ENOENT
- path のコンポーネントが既存ファイルの名前を指定していないか、または path が空ストリングです。
- ENOTDIR
- パス接頭部のコンポーネントがディレクトリーではありません。