BEZEICHNUNG¶
ftok - konvertiert einen Pfadnamen und einen Projektbezeichner in einen
System-V-IPC-Schlüssel
ÜBERSICHT¶
#include <sys/types.h>
#include <sys/ipc.h>
key_t ftok(const char *pathname, int
proj_id);
BESCHREIBUNG¶
Die Funktion
ftok() verwendet die Identität der durch
pathname (muss auf eine existierende Datei ohne
Zugriffsbeschränkungen weisen) angegebenen Datei und die niederwertigsten
8 Bit von
proj_id (muss ungleich Null sein) für die Erzeugung
eines System-V-IPC-Schlüssels des Typs
key_t. Der Schlüssel
eignet sich für den Einsatz mit
msgget(2),
semget(2) oder
shmget(2).
Der resultierende Wert ist der gleiche für alle Pfadnamen, welche die
gleiche Datei benennen, wenn der gleiche Wert von
proj_id verwendet
wird. Der Rückgabewert sollte ein anderer sein, wenn sich die
(gleichzeitig bestehenden) Dateien oder die Projekt-IDs unterscheiden.
RÜCKGABEWERT¶
Bei Erfolg wird der erzeugte Wert vom Typ
key_t zurückgegeben,
ansonsten -1 und der Fehlerindikator
errno wird wie beim Systemaufruf
stat(2) gesetzt.
POSIX.1-2001.
ANMERKUNGEN¶
Unter libc4 und libc5 (und unter SunOS 4.x) war der Prototyp:
key_t ftok(char *pathname,
char proj_id);
Heute ist
proj_id ein
int, es werden aber immer noch nur 8 Bit
verwendet. Typische Anwendungen verwenden für
proj_id ein
ASCII-Zeichen, weshalb das Verhalten nicht definiert ist, wenn
proj_id
gleich Null ist.
Natürlich kann nicht garantiert werden, dass der resultierende
key_t-Schlüssel eindeutig ist. Normalerweise verbindet ein
umfassendes Herangehen das gegebene
proj_id-Byte, die unteren 16 Bits
der Inode-Nummer und die unteren 8 Bit der Gerätenummer zu einem
32-Bit-Ergebnis. Kollisionen können leicht vorkommen, zum Beispiel
zwischen Dateien auf
/dev/hda1 und Dateien auf
/dev/sda1.
SIEHE AUCH¶
msgget(2),
semget(2),
shmget(2),
stat(2),
svipc(7)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
gemeldet werden können, finden sich unter
http://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze
<joey@infodrom.org> und Martin Eberhard Schauer
<Martin.E.Schauer@gmx.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public
License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird
KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.