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

NOM

       mq_open - Ouvrir une file de messages

SYNOPSIS

       #include <fcntl.h>           /* Pour les constantes O_* */
       #include <sys/stat.h>        /* Pour les constantes des modes */
       #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);

       Effectuez l'édition des liens avec l'option -lrt.

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 (les définitions
       des valeurs des attributs peuvent être obtenues en incluant <fcntl.h>). Un unique  drapeau
       parmi les 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) (les définitions symboliques des bits de  permissions  peuvent  être  obtenues  en
       incluant  <sys/stat.h>).  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é.

       EACCES name contient plus d'un caratère « / ».

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

       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.

       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 le nom name
              n'existe.

       ENOENT name est juste « / » suivi d'aucun autre caractère.

       ENOMEM Mémoire insuffisante.

       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)

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