|
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 suggested 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 some standard is not adhered to,
it will be possible for unrelated processes
to unintentionally 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 path name of an existing file
that is accessible to the process.
ID
is a character
which uniquely identifies
a project.
Note:
ftok()
will return the same key
for linked files when called with the same
ID
and that it will return different keys when
called with the same file name but different
IDs.
|