Loading

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(const char *pathname, int proj_id);

       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

       En cas de succès, la clé générée key_t est renvoyée. Sinon elle renvoie
       -1, et errno indique l’erreur de la  même  façon  que  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  sont  utilisés.
       L’habitude  veut  que l’on utilise un caractère ASCII comme identifiant
       de proj_id, ce qui  explique  pourquoi  le  comportement  est  indéfini
       lorsque proj_id vaut zéro.

       Naturellement,  aucune  garantie  ne peut être donné sur le fait que la
       clé key_t résultante soit unique. En général, la meilleure méthode  est
       de  combiner  l’octet  de  proj_id,  les seize bits de poids faibles du
       numéro d’inode, 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)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.23 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
       francophone de traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».