stdipc(3C) stdipc(3C)
NAME
ftok - standard interprocess communication package
SYNOPSIS
#include <sys/types.h>
#include <sys/ipc.h>
keyt ftok(path, id)
char *path;
char id;
DESCRIPTION
All interprocess communication facilities require the user
to supply a key to be used by the msgget(2), semget(2), and
shmget(2) system calls to obtain interprocess communication
identifiers. One method for forming a key is to use the
ftok subroutine described below. Another way to compose
keys is to include the project ID in the most significant
byte and to use the remaining portion as a sequence number.
There are many other ways to form keys, but it is necessary
for each system to define standards for forming them. If a
standard is not adhered to, unrelated processes may
interfere with each other's operation. Therefore, it is
strongly suggested that the most significant byte of a key
in some sense refer to a project so that keys do not
conflict across a given system.
ftok returns a key based on path and id that is usable in
subsequent msgget, semget, and shmget system calls. path
must be the pathname of an existing file that is accessible
to the process. id is a character that uniquely identifies
a project. ftok returns the same key for linked files when
called with the same id; it returns different keys when
called with the same filename but different ids.
SEE ALSO
intro(2), msgget(2), semget(2), shmget(2).
DIAGNOSTICS
ftok returns (keyt) -1 if path does not exist or if it is
not accessible to the process.
WARNING
If the file whose path is passed to ftok is removed when
keys still refer to the file, future calls to ftok with the
same path and id will return an error. If the same file is
recreated, ftok is likely to return a different key than it
did the original time it was called.
Page 1 (last mod. 1/14/87)