ftok(3)

名称
ftok - パス名から IPC 識別子を作成する

書式
#include <sys/types.h> #include <sys/ipc.h> key_t ftok(const char *path, int id)

解説
この関数は、互換性ライブラリ libcompat から使用できます。 ftok() 関数は、既存ファイルの path とユーザが選択可能な id を与えることで、 msgget(3), semget(2), shmget(2) 関数での使用に適した、固有のキーを作成しようとします。

path は、呼び出しプロセスからアクセスできる既に存在するファイルを指定する 必要があります。この指定が適切でない場合、呼び出しはエラーになります。 あるファイルへのリンクでは、 id が同じである場合、同じキーが戻されます。

戻り値
ftok() 関数は、 path が存在しないか、呼び出しプロセスからアクセス できない場合、-1 を戻します。

関連項目
semget(2), shmget(2), msgget(3)

歴史
ftok() 関数は System V に由来し、System V IPC ルーチンを使用する プログラムで一般的に使用されます。

作者
Thorsten Lockert <tholo@sigmasoft.com>

バグ
戻されるキーは、デバイスのマイナ番号、および path が指すファイルの inode 番号に基づき、 id の下位 8 ビットと組み合わせて算出されます。 このため、このルーチンは重複したキーを戻す可能性があります。