Provided by: manpages-ja-dev_0.5.0.0.20070415-1_all bug
     前
        ftok - パス名とプロジェクト識別子を System V IPC ァ爾吠儡垢垢
 
     式
        # include <sys/types.h>
        # include <sys/ipc.h>
 
        key_t ftok(const char *pathname, int proj_id);
 
     明
        ftok()           関数は          pathname          で与えられたファイル
        (存在し、アクセス可能でなければならない) のファイル名の識別情報  (iden-
        tity)  と、  proj_id (0 であってはならない) の低位 8 ビットとを用いて、
        key_t 型の System V IPC ァ爾鮴言する。 このァ爾 msgget(2), semget(2),
        shmget(2) などでの利用に適している。
 
        同じファイルを示すあらゆるパス名と、同じ                        proj_id
        に対しては、結果の値は等しくなる。                   ファイルが違ったり
        (この場合両者は同時に存在しているはず)、                        proj_id
        が異なると、返り値も異なる。
 
         値
        成功した場合は生成された   key_t   の値が返される。    失敗すると    -1
        が返され、エラーの内容が  errno に書すまれる。この内容はシステムコール
        stat(2) のものと同じである。
 
     拠
        POSIX.1-2001.
 
     意
        libc4 と libc5 (および SunOS 4.x) では、 プロトタイプは
 
               key_t ftok(char *pathname, char proj_id);
 
        である。    現在では    proj_id    は    int     だが、依然として     8
        ビットしか用いられない。     通常は     ASCII    ゥ礇薀タが    proj_id
        に用いられる。          proj_id          が          0           のと-
        の振る舞いが未定義になっているのは、これが理由である。
 
        もちろん    key_t    が他と重ならないものであるかどうかは保証されない。
        最善の場合の組み合わせを考えても、    proj_id    の     1     バイト、i
        ノード番号の低位     16     ビット、および     デバイス番号の低位     8
        ビットなので、結果は  32   ビットに過ぎない。   例えば   /dev/hda1   と
        /dev/sda1 それぞれにあるファイルに対して、衝突は容易に起こりうる。
 
             
        msgget(2), semget(2), shmget(2), stat(2), svipc(7)