stdipc(3) CLIX stdipc(3)
NAME
stdipc: ftok - A standard interprocess communication package
LIBRARY
Standard C Library (libc.a)
SYNOPSIS
#include <sys/types.h>
#include <sys/ipc.h>
key_t ftok(
char *path ,
char id );
PARAMETERS
path The pathname of an existing file that is accessible to the process.
id A character that uniquely identifies a project.
DESCRIPTION
All interprocess communication facilities require the user to supply a key
to be used by the msgget(), semget(), and shmget() functions to obtain
interprocess communication identifiers. One suggested method for forming
a key is to use the ftok() function 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.
The ftok() function returns a key based on path and id that is usable in
subsequent msgget(), semget(), and shmget() functions. Note that 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 filename but
different ids.
CAUTIONS
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, then ftok() is likely to
return a different key than it did the previous time it was called.
2/94 - Intergraph Corporation 1
stdipc(3) CLIX stdipc(3)
RETURN VALUES
The ftok() function returns (key_t) -1 if path does not exist or if it is
not accessible to the process.
RELATED INFORMATION
Functions: msgget(2), semget(2), shmget(2), intro(2)
2 Intergraph Corporation - 2/94