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

NOM

       msgget - Obtenir un identifiant de file de messages System V

SYNOPSIS

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

       int msgget(key_t key, int msgflg);

DESCRIPTION

       L'appel  système msgget() renvoie l'identifiant de la file de messages System V associée à
       la clé key. Une nouvelle file de messages est créée si key a la valeur IPC_PRIVATE ou bien
       si key n'est pas IPC_PRIVATE, aucune file de messages n'est associée à key, et IPC_CREAT a
       été introduit dans msgflg.

       Si msgflg indique à la fois IPC_CREAT et  IPC_EXCL  et  une  file  de  messages  est  déjà
       associée  à  key,  msgget()  échoue  en positionnant errno à EEXIST. Ceci est similaire au
       comportement de open(2) avec la combinaison O_CREAT | O_EXCL.

       Lors de la création, les bits de  poids  faibles  de  l'argument  msgflg  définissent  les
       permissions d'accès à la file de messages (pour le propriétaire, le groupe, et les autres)
       avec le même format et la même signification que les permissions d'accès (mode)  dans  les
       appels open(2). (Les permissions d'exécution ne sont pas utilisées).

       Pendant  la  création, l'appel système initialise la structure système msqid_ds (consultez
       msgctl(2)) de la file de messages comme suit :

              msg_perm.cuid et  msg_perm.uid  sont  remplis  avec  l'UID  effectif  du  processus
              appelant.

              msg_perm.cgid  et  msg_perm.gid  sont  remplis  avec  le  GID effectif du processus
              appelant.

              Les 9 bits de poids faibles de msgflg sont copiés dans les 9 bits de poids  faibles
              de msg_perm.mode.

              msg_qnum, msg_lspid, msg_lrpid, msg_stime et msg_rtime sont configurés à 0.

              msg_ctime est rempli avec l'heure actuelle.

              msg_qbytes est rempli avec la limite système MSGMNB.

       Si  la  file  de  messages  existe  déjà,  les permissions d'accès sont contrôlées, et une
       vérification est faite pour voir si la file est prête à être détruite.

VALEUR RENVOYÉE

       msgget() renvoie l'identifiant de la file de messages (un entier positif),  s'il  réussit.
       En cas d'échec -1 est renvoyé et errno contient le code d'erreur.

ERREURS

       En cas d'échec, errno prend l'une des valeurs suivantes :

       EACCES Une  file  de messages existe associée à la clé key, mais le processus appelant n'a
              pas de permissions pour accéder à cette file et n'a pas la capacité CAP_IPC_OWNER.

       EEXIST Une file de messages existe associée à la clé key  et  msgflg  réclame  à  la  fois
              IPC_CREAT et IPC_EXCL.

       ENOENT Aucune  file  de  messages n'existe associée à la clé key et msgflg ne contient pas
              IPC_CREAT.

       ENOMEM Le système doit créer une file de messages, mais n'a pas assez de mémoire pour  les
              nouvelles structures de données.

       ENOSPC Le nombre maximal de files de messages sur le système (MSGMNI) est atteint.

CONFORMITÉ

       SVr4, POSIX.1-2001.

NOTES

       L'inclusion  de  <sys/types.h>  et  <sys/ipc.h>  n'est  pas nécessaire sous Linux et n'est
       exigée par  aucune  version  de  POSIX.  Cependant,  certaines  implémentations  anciennes
       nécessitent  l'inclusion  de  ces  fichiers  d'en-tête,  et  le  SVID documente aussi leur
       inclusion. Les applications  ayant  pour  but  d'être  portables  pourraient  inclure  ces
       fichiers d'en-tête.

       IPC_PRIVATE  n'est  pas  destiné  au  champ msgflg mais est du type key_t. Si cette valeur
       spéciale est fournie à la place de key, l'appel système ignorera tout sauf les 9  bits  de
       poids faibles de msgflg et créera une nouvelle file de messages.

       La limite système concernant les files de messages et affectant msgget() est

       MSGMNI Nombre  maximal  de files de messages sur le système (sous Linux, cette limite peut
              être consultée et modifiée grâce au fichier /proc/sys/kernel/msgmni).

   Notes sur Linux
       Jusqu'à la version 2.3.20, Linux renvoyait EIDRM pour un msgget() sur une file de messages
       prête à être supprimée.

BOGUES

       Le choix du nom IPC_PRIVATE est malheureux, IPC_NEW aurait mieux décrit sa fonction.

VOIR AUSSI

       msgctl(2), msgrcv(2), msgsnd(2), ftok(3), capabilities(7), mq_overview(7), 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).  Julien  Cristau  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> ».