Provided by: manpages-fr_1.67.0-1_all bug

NOM

       ftok  -  Convertir  un nom de fichier et un identificateur de projet en
       clé IPC système V.

SYNOPSIS

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

       key_t ftok (char * pathname, int proj);

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 (qui doit être non nul) pour créer une clé  IPC  Système  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.    La   valeur  devrait  être  différente  lorsque  des  fichiers
       différents (existants simultanément), ou des identificateur  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É

       XPG4

NOTES

       Avec les bibliothèques libc4 et libc5 (et également sous SunOS 4.x), le
       prototype était
              key_t ftok(char *pathname, char proj);
       De nos jours proj est un int, mais seuls huit bits  en  sont  utilisés.
       L’habitude  veut  qu’on  utilise  un  caractère ASCII comme identifiant
       proj, ce qui explique pourquoi le  comportement  est  indéfini  lorsque
       proj 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,  les  seize
       bits  de  poids  faibles du numéro d’i-noeud, 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 (car on n’utilise pas le
       numéro majeur de périphérique),  par  exemple  entre  les  fichiers  se
       trouvant sur /dev/hda1 et ceux sur /dev/sda1.

VOIR AUSSI

       ipc(5), msgget(2), semget(2), shmget(2), stat(2)

TRADUCTION

       Christophe Blaess, 1996-2003.