Provided by: manpages-fr-dev_3.65d1p1-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.65 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> ».