FTOK(3)             Linux Programmer's Manual             FTOK(3)


NAME
       ftok  -  convert  a pathname and a project identifier to a
       System V IPC key

SYNOPSIS
       # include <sys/types.h>
       # include <sys/ipc.h>

       key_t ftok ( char *pathname, char proj )

DESCRIPTION
       The function converts the pathname of an existing accessi­
       ble file and a project identifier into a key_t type System
       V IPC key.

RETURN VALUE
       On success the return value will be  the  converted  key_t
       value, otherwise -1 with errno indicating the error as for
       the stat(2) system call.

BUGS
       The generated key_t value is obtained  stat-ing  the  disk
       file  corresponding to pathname in order to get its i-node
       number and the minor device number of  the  filesystem  on
       which  the  disk file resides, then by combining the 8 bit
       proj value along with the lower 16 bits of the i-node num­
       ber,  along  with  the  8 bits of the minor device number.
       The algorithm does not guarantee a unique key  value.   In
       fact

       ·      Two  different  names linking to the same file pro­
              duce same key values.

       ·      Using the lower 16 bits of the i-node number, gives
              some  chance  (also usually small) to have same key
              values  for  file  names  referring  to   different
              i-nodes.

       ·      Not  discriminating  among  major  device  numbers,
              gives some chance of collision (also usually small)
              for systems with multiple disk controllers.

SEE ALSO
       ipc(5), msgget(2), semget(2), shmget(2), stat(2).













Linux 0.99.13            November 1, 1993                       1