FTOK

Section : Manuel du programmeur Linux (3)
Mise à jour de la version anglaise : 28 novembre 2001
Index Menu principal  

NOM

ftok - Convertir un nom de fichier et un identificateur de projet en clé IPC System V  

SYNOPSIS

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

key_t ftok(char *pathname, int proj_id);  

DESCRIPTION

La fonction ftok() utilise l'identité du fichier indiqué par pathname (qui doit exister et être accessible), et les huit bits de poids faible de proj_id (qui doit être non nul) pour créer une clé IPC System V de type key_t, utilisable avec msgget(2), semget(2) ou shmget(2).

La valeur résultante est la même pour tous les chemins d'accès identifiant le même fichier, en utilisant une valeur identique pour proj_id. La valeur devrait être différente lorsque des fichiers différents (existants simultanément), ou des identificateurs de projet différents sont employés.  

VALEUR RENVOYÉE

Si elle réussit, la fonction ftok() renvoie la valeur de type key_t créée, sinon elle renvoie -1, et errno contient un code d'erreur parmi ceux de l'appel système stat(2).  

CONFORMITÉ

POSIX.1-2001.  

NOTES

Avec les bibliothèques libc4 et libc5 (et également sous SunOS 4.x), le prototype était

key_t ftok(char *pathname, char proj_id);

De nos jours proj_id est un int, mais seuls huit bits en sont utilisés. L'habitude veut que l'on utilise un caractère ASCII comme identifiant proj_id, ce qui explique pourquoi le comportement est indéfini lorsque proj_id vaut zéro.

Naturellement, aucune garantie ne peut être donné que la clé key_t résultante soit unique. En général on combine l'octet proj_id, les seize bits de poids faibles du numéro d'inœud, et les huit bits de poids faibles du numéro de périphérique pour obtenir un entier sur 32 bits. Des collisions peuvent se produire facilement, par exemple entre les fichiers se trouvant sur /dev/hda1 et ceux sur /dev/sda1.  

VOIR AUSSI

msgget(2), semget(2), shmget(2), stat(2), svipc(7)  

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 26 octobre 1996 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 ftok ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.

 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
CONFORMITÉ
NOTES
VOIR AUSSI
TRADUCTION

Dernière mise à jour : 17 juillet 2008