Provided by: manpages-fr-dev_2.64.1-1_all bug

NOM

       mq_open - Ouvrir une file de messages

SYNOPSIS

       #include <mqueue.h>

       mqd_t mq_open(const char *name, int oflag);
       mqd_t mq_open(const char *name, int oflag, mode_t mode,
        struct mq_attr *attr);

DESCRIPTION

       La  fonction  mq_open()  crée  une  nouvelle file de messages POSIX, ou
       ouvre une file de messages existante. La file est identifiée par  name.
       Pour   plus   de   détails  sur  la  construction  de  name,  consultez
       mq_overview(7).

       L’argument oflag  spécifie  les  drapeaux  qui  contrôlent  l’opération
       d’appel.  Exactement  un  des drapeaux suivants doit être spécifié dans
       oflag :

       O_RDONLY
              Ouvrir une file pour seulement recevoir des messages.

       O_WRONLY
              Ouvrir une file pour seulement envoyer des messages.

       O_RDWR Ouvrir une file pour soit envoyer ou soit recevoir des messages.

       Zéro ou plusieurs des drapeaux suivants peuvent être ajoutés avec un ou
       binaire dans oflag :

       O_NONBLOCK
              Ouvrir  une  file  en  mode  non  bloquant.   Dans   de   telles
              circonstances  où  mq_receive(3)  et  mq_send(3)  devraient être
              normalement bloquantes, ces fonctions échoueront  avec  le  code
              d’erreur EAGAIN.

       O_CREAT
              Créer  la file de messages si elle n’existe pas. Le propriétaire
              de la file de messages est défini à l’UID du processus appelant,
              il en est de même pour le GID.

       O_EXCL Si  O_CREAT  est spécifié dans oflag, et si une file de nom name
              existe déjà, alors elle échouera et renverra  le  code  d’erreur
              EEXIST.

       Si  O_CREAT  est spécifié dans oflag, alors deux arguments additionnels
       doivent être spécifiés. L’argument mode spécifie les permissions de  la
       nouvelle  file,  comme  pour open(2). La définition des permissions est
       masquée avec l’« umask » du processus.  L’argument  attr  spécifie  les
       attributs  de la file. Consultez mq_getattr(3) pour plus de détails. Si
       attr est NULL, alors la file est créée avec les attributs par défaut de
       l’implémentation.

VALEUR RENVOYÉE

       En  cas de succès, mq_open() renvoie un descripteur de file de messages
       à utiliser avec les autres fonctions des  files  de  messages.  En  cas
       d’erreur, mq_open() renvoie (mqd_t) -1, avec errno définie.

ERREURS

       EACCES La  file  existe  mais  l’appelant  n’a pas les permissions pour
              l’ouvrir dans le mode spécifié.

       EINVAL O_CREAT était spécifié dans oflag, et attr était non NULL,  mais
              attr->mq_maxmsg  ou  attr->mq_msqsize  n’était  pas valable. Ces
              deux champs doivent être supérieurs à zéro.  Avec  un  processus
              non  privilégié  (qui  n’a  pas  la  capacité CAP_SYS_RESOURCE),
              attr->mq_maxmsg doit être inférieur ou égal à la limite msg_max,
              et  attr->mq_msgsize  doit  être  inférieur  ou égal à la limite
              msgsize_max.  En  plus,  même  avec  un  processus   privilégié,
              attr->mq_maxmsg  ne  peut  pas  être  plus  grand  que la limite
              HARD_MAX. Consultez mq_overview(7)  pour  les  détails  sur  ces
              limites.

       EEXIST O_CREAT  et O_EXCL sont spécifiés dans oflag, mais une file avec
              le même nom existe déjà.

       EMFILE Le processus a déjà le nombre maximal autorisé de fichiers et de
              files de messages ouverts.

       ENAMETOOLONG
              name est trop long.

       ENFILE La  limite  système du nombre de fichiers ouverts et de files de
              messages a été atteinte.

       ENOENT Le drapeau O_CREAT n’a pas été spécifié dans  oflag,  et  aucune
              file avec ce nom n’existe.

       ENOMEM Pas assez de mémoire.

       ENOSPC Pas  assez  d’espace  pour  la  création  de la nouvelle file de
              messages.  Ceci  s’est  probablement  produit  car   la   limite
              queues_max a été atteinte ; consultez mq_overview(7).

CONFORMITÉ À

       POSIX.1-2001.

BOGUES

       Avec  les  noyaux  antérieurs  à  la  version  2.6.14,  l’« umask »  du
       processus n’est pas appliqué aux permissions spécifiées par mode.

VOIR AUSSI

       mq_close(3), mq_getattr(3),  mq_notify(3),  mq_receive(3),  mq_send(3),
       mq_unlink(3), mq_overview(7)

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
       francophone de traduction de Debian.

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