.\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it)
.\"
+.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
.\"
.\" Modified 2001-11-28, by Michael Kerrisk, <mtk.manpages@gmail.com>
.\" Changed data type of proj_id; minor fixes
ftok \- convert a pathname and a project identifier to a System V IPC key
.SH SYNOPSIS
.nf
-.B
-# include <sys/types.h>
-.B
-# include <sys/ipc.h>
+.B #include <sys/types.h>
+.B #include <sys/ipc.h>
.fi
.sp
.BI "key_t ftok(const char *" pathname ", int " proj_id );
(which must refer to an existing, accessible file)
and the least significant 8 bits of
.I proj_id
-(which must be non-zero) to generate a
+(which must be nonzero) to generate a
.I key_t
type System V IPC key, suitable for use with
.BR msgget (2),
is used.
The value returned should be different when the
(simultaneously existing) files or the project IDs differ.
-.SH "RETURN VALUE"
-On success the generated
+.SH RETURN VALUE
+On success, the generated
.I key_t
value is returned.
On failure \-1 is returned, with
indicating the error as for the
.BR stat (2)
system call.
-.SH "CONFORMING TO"
+.SH CONFORMING TO
POSIX.1-2001.
.SH NOTES
Under libc4 and libc5 (and under SunOS 4.x) the prototype was:
is unique.
Typically, a best effort attempt combines the given
.I proj_id
-byte, the lower 16 bits of the i\-node number, and the
-lower 8 bits of the device number into a 32\-bit result.
+byte, the lower 16 bits of the inode number, and the
+lower 8 bits of the device number into a 32-bit result.
Collisions may easily happen, for example between files on
.I /dev/hda1
and files on
.IR /dev/sda1 .
-.SH "SEE ALSO"
+.SH SEE ALSO
.BR msgget (2),
.BR semget (2),
.BR shmget (2),