ftok(3)ftok(3)NAMEftok - Generate a standard interprocess communication key
SYNOPSIS
#include <sys/ipc.h>
key_t ftok(
const char *path_name,
int project_id );
The following definition of the ftok() function does not conform to
current standards and is supported only for backward compatibility:
#include <sys/types.h> #include <sys/ipc.h>
key_t ftok(
char *path_name,
char project_id );
LIBRARY
Standard C Library (libc)
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
ftok(): XPG4-UNIX
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
Specifies the pathname of an existing file that is accessible to the
process. Specifies a value that uniquely identifies a project.
DESCRIPTION
The ftok() function returns a key, based on the path_name and
project_id parameters, that is usable in subsequent calls to the
msgget(), semget(), and shmget() functions. The ftok() function returns
the same key for all paths that name the same file, when called with
the same project_id parameter. Different keys are returned for the
same file if different project_id parameters are used, or if paths are
used that name different files existing on the same file system at the
same time. If a file named by path_name is removed and recreated with
the same name, the ftok() function may return a different key than the
original one.
Only the low order 8-bits of project_id are significant. The behavior
of ftok() is unspecified if these bits are 0.
For maximum portability, project_id should be a single-byte character.
RETURN VALUES
Upon successful completion, the ftok() function returns a key. Other‐
wise, ftok() returns the value (key_t)-1 and sets errno to indicate the
error.
ERRORS
The ftok() function sets errno to the specified values for the follow‐
ing conditions: Search permission is denied for a component of the
path_name parameter. Too many symbolic links were encountered in
resolving path_name. The length of the path_name parameter exceeds
PATH_MAX, or a pathname component is longer than NAME_MAX. Or, pathname
resolution of a symbolic link produced an intermediate result whose
length exceeds PATH_MAX. The path_name parameter points to the name of
a file that does not exist or points to an empty string. A component
of the path_name parameter is not a directory.
SEE ALSO
Functions: msgget(2), semget(2), shmget(2)
Standards: standards(5)ftok(3)