ftok(3) Library Functions Manual ftok(3) BEZEICHNUNG ftok - konvertiert einen Pfadnamen und einen Projektbezeichner in einen System-V-IPC-Schlussel BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include key_t ftok(const char *Pfadname, int Projektkennung); BESCHREIBUNG Die Funktion ftok() verwendet die Identitat der durch Pfadname (muss auf eine existierende Datei ohne Zugriffsbeschrankungen weisen) angegebenen Datei und die niederwertigsten 8 Bit von Projektkennung (muss ungleich Null sein) fur die Erzeugung eines System-V-IPC-Schlussels des Typs key_t. Der Schlussel eignet sich fur den Einsatz mit msgget(2), semget(2) oder shmget(2). Der resultierende Wert ist der gleiche fur alle Pfadnamen, welche die gleiche Datei benennen, wenn der gleiche Wert von Projektkennung verwendet wird. Der Ruckgabewert sollte ein anderer sein, wenn sich die (gleichzeitig bestehenden) Dateien oder die Projektkennungen unterscheiden. RUCKGABEWERT Bei Erfolg wird der erzeugte Wert vom Typ key_t zuruckgegeben, ansonsten -1 und der Fehlerindikator errno wird wie beim Systemaufruf stat(2) gesetzt. ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +--------------------------------+-------------------------+-----------+ |Schnittstelle | Attribut | Wert | +--------------------------------+-------------------------+-----------+ |ftok() | Multithread-Fahigkeit | MT-Sicher | +--------------------------------+-------------------------+-----------+ STANDARDS POSIX.1-2008. GESCHICHTE POSIX.1-2001. ANMERKUNGEN Auf einigen sehr alten Systemen war der Prototyp: key_t ftok(char *Pfadname, char Projektkennung); Heute ist Projektkennung ein int, es werden aber immer noch nur 8 Bit verwendet. Typische Anwendungen verwenden fur Projektkennung ein ASCII-Zeichen, weshalb das Verhalten nicht definiert ist, wenn Projektkennung gleich Null ist. Naturlich kann nicht garantiert werden, dass der resultierende key_t-Schlussel eindeutig ist. Normalerweise verbindet ein umfassendes Herangehen das gegebene Projektkennung-Byte, die unteren 16 Bits der Inode-Nummer und die unteren 8 Bit der Geratenummer zu einem 32-Bit-Ergebnis. Kollisionen konnen leicht vorkommen, zum Beispiel zwischen Dateien auf /dev/hda1 und Dateien auf /dev/sda1. BEISPIELE Siehe semget(2). SIEHE AUCH msgget(2), semget(2), shmget(2), stat(2), sysvipc(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Martin Schulze , Martin Eberhard Schauer und Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 ftok(3)