Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       msgget - Obtenir un identifiant de file de messages

SYNOPSIS

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

       int msgget(key_t key, int msgflg);

DESCRIPTION

       L'appel  systeme  msgget() renvoie l'identifiant de la file de messages
       associee a la cle key. Une nouvelle file de messages est creee si key a
       la valeur IPC_PRIVATE ou bien si key n'est pas IPC_PRIVATE, aucune file
       de messages n'est associee a key, et IPC_CREAT  a  ete  introduit  dans
       msgflg.

       Si  msgflg  indique  a  la  fois  IPC_CREAT  et IPC_EXCL et une file de
       messages est deja associee a key, msgget() echoue en positionnant errno
       a  EEXIST.  Ceci  est  similaire  au  comportement  de  open(2) avec la
       combinaison O_CREAT | O_EXCL.

       Lors de la creation, les bits de poids  faibles  de  l'argument  msgflg
       definissent  les  permissions  d'acces  a  la  file de message (pour le
       proprietaire, le groupe, et les autres) avec le meme format et la  meme
       signification  que  les  permissions  d'acces  (mode)  dans  les appels
       open(2). (Les permissions d'execution ne sont pas utilisees).

       Pendant la creation, l'appel systeme initialise  la  structure  systeme
       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 copies dans les 9
              bits de poids faibles de msg_perm.mode.

              msg_qnum, msg_lspid,  msg_lrpid,  msg_stime  et  msg_rtime  sont
              fixes a 0.

              msg_ctime est rempli avec l'heure actuelle.

              msg_qbytes est rempli avec la limite systeme MSGMNB.

       Si  la  file  de  message  existe  deja,  les  permissions d'acces sont
       controlees, et une verification est faite pour  voir  si  la  file  est
       prete a etre detruite.

VALEUR RENVOY'EE

       msgget()  renvoie  l'identifiant  de  la  file  de  messages (un entier
       positif), s'il reussit. En cas d'echec -1 est renvoye et errno contient
       le code d'erreur.

ERREURS

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

       EACCES Une  file  de  messages  existe  associee  a la cle key, mais le
              processus appelant n'a pas de permissions pour acceder  a  cette
              file et n'a pas la capacite CAP_IPC_OWNER.

       EEXIST Une  file  de  messages  existe  associee a la cle key et msgflg
              reclame a la fois IPC_CREAT et IPC_EXCL.

       ENOENT Aucune file de messages n'existe associee a la cle key et msgflg
              ne contient pas IPC_CREAT.

       ENOMEM Le  systeme  doit creer une file de messages, mais n'a pas assez
              de memoire pour les nouvelles structures de donnees.

       ENOSPC Le nombre maximal de files de messages sur le  systeme  (MSGMNI)
              est atteint.

CONFORMIT'E

       SVr4, POSIX.1-2001.

NOTES

       IPC_PRIVATE  n'est  pas destine au champ msgflg mais est du type key_t.
       Si cette valeur speciale est fournie a la place de key, l'appel systeme
       ignorera  tout sauf les 9 bits de poids faibles de msgflg et creera une
       nouvelle file de messages.

       La limite  systeme  concernant  les  files  de  messages  et  affectant
       msgget() est

       MSGMNI Nombre  maximal de files de messages sur le systeme (sous Linux,
              cette limite peut etre consultee et modifiee  grace  au  fichier
              /proc/sys/kernel/msgmni).

   Notes sur Linux
       Jusqu'a  la  version 2.3.20, Linux renvoyait EIDRM pour un msgget() sur
       une file de messages prete a etre supprimee.

BOGUES

       Le choix du nom IPC_PRIVATE est malheureux, IPC_NEW aurait mieux decrit
       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.27  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

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

       Christophe Blaess  <URL:http://www.blaess.fr/christophe/>  (1996-2003),
       Alain   Portal  <URL:http://manpagesfr.free.fr/>  (2003-2006).   Julien
       Cristau et l'equipe francophone de traduction de Debian (2006-2009).

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

       Vous pouvez toujours avoir acces a la version anglaise de  ce  document
       en utilisant la commande << man -L C <section> <page_de_man> >>.