Provided by: manpages-fr-dev_4.13-4_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

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌──────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├──────────┼──────────────────────┼─────────┤
       │ftok()    │ Sécurité des threads │ MT-Safe │
       └──────────┴──────────────────────┴─────────┘

CONFORMITÉ

       POSIX.1-2001, POSIX.1-2008.

NOTES

       On some ancient systems, the prototype was:

           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 faible du numéro d'inode, et les huit bits de poids faible  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.

EXEMPLES

       See semget(2).

VOIR AUSSI

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

COLOPHON

       Cette  page  fait partie de la publication 5.10 du projet man-pages Linux. Une description
       du projet et des instructions pour signaler des anomalies et la dernière version de  cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La  traduction  française  de  cette  page  de  manuel  a  été créée par Christophe Blaess
       <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <stephan.rafin@laposte.net>,  Thierry
       Vignaud  <tvignaud@mandriva.com>,  François Micaux, Alain Portal <aportal@univ-montp2.fr>,
       Jean-Philippe   Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)    <jean-
       luc.coulon@wanadoo.fr>,    Julien    Cristau    <jcristau@debian.org>,    Thomas   Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau  <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis
       Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à debian-l10n-french@lists.debian.org ⟨⟩.