Provided by: manpages-fr-dev_3.57d1p1-1_all bug

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);

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

       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).

ATTRIBUTS

   Multithreading (voir pthreads(7))
       La fonction ftok() est sûre dans un contexte multithread.

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.57 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

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du  projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Christophe    Blaess    <http://www.blaess.fr/christophe/>   (1996-2003),   Alain   Portal
       <http://manpagesfr.free.fr/> (2003-2006). Florentin  Duneau  et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       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> ».