Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ftok(3C) — DG/UX R4.11

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(2)

msgget(2)

semget(2)

shmget(2)

reentrant(3)



stdipc(3C)                        SDK R4.11                       stdipc(3C)


NAME
       stdipc: ftok - standard interprocess communication package

SYNOPSIS
       #include <sys/types.h>
       #include <sys/ipc.h>

       keyt ftok(const char *path, int 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
       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.  It is still
       possible to interface intentionally.  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 that uniquely identifies a project.  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 file
       name but different ids.


   Considerations for Threads Programming
                     +---------+-----------------------------+
                     |         |                      async- |
                     |function | reentrant   cancel   cancel |
                     |         |             point     safe  |
                     +---------+-----------------------------+
                     |ftok     |     Y         Y        N    |
                     +---------+-----------------------------+

SEE ALSO
       intro(2), msgget(2), semget(2), shmget(2), reentrant(3).

DIAGNOSTICS
       ftok returns (keyt) -1 if path does not exist or if it is not
       accessible to the process.

NOTES
       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 original time it was
       called.


Licensed material--property of copyright holder(s)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026