NAME

     ftok - convert a pathname and a project identifier to a Sys-
     tem 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 accessible
     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  number,  along
     with  the  8 bits of the minor device number.  The algorithm
     does not guarantee a unique key value.  In fact

     o    Two different names linking to the  same  file  produce
          same key values.

     o    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.

     o    Not discriminating among major  device  numbers,  gives
          some  chance of collision (also usually small) for sys-
          tems with multiple disk controllers.


SEE ALSO

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