Provided by:
manpages-fr-dev_3.32d0.2p4-1_all 
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'edition des liens avec l'option -lrt.
DESCRIPTION
La fonction mq_open() cree une nouvelle file de messages POSIX, ou
ouvre une file de messages existante. La file est identifiee par name.
Pour plus de details sur la construction de name, consultez
mq_overview(7).
L'argument oflag specifie les drapeaux qui controlent l'operation
d'appel (les definitions des valeurs des attributs peuvent etre
obtenues en incluant <fcntl.h>). Un unique drapeau parmi les suivants
doit etre specifie 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.
Zero ou plusieurs des drapeaux suivants peuvent etre ajoutes avec un ou
binaire dans oflag :
O_NONBLOCK
Ouvrir une file en mode non bloquant. Dans de telles
circonstances ou mq_receive(3) et mq_send(3) devraient etre
normalement bloquantes, ces fonctions echoueront avec le code
d'erreur EAGAIN.
O_CREAT
Creer la file de messages si elle n'existe pas. Le proprietaire
de la file de messages est defini a l'UID du processus appelant,
il en est de meme pour le GID.
O_EXCL Si O_CREAT est specifie dans oflag, et si une file de nom name
existe deja, alors elle echouera et renverra le code d'erreur
EEXIST.
Si O_CREAT est specifie dans oflag, alors deux arguments additionnels
doivent etre specifies. L'argument mode specifie les permissions de la
nouvelle file, comme pour open(2) (les definitions symboliques des bits
de permissions peuvent etre obtenues en incluant <sys/stat.h>). La
definition des permissions est masquee avec l'<< umask >> du processus.
L'argument attr specifie les attributs de la file. Consultez
mq_getattr(3) pour plus de details. Si attr est NULL, alors la file est
creee avec les attributs par defaut de l'implementation.
VALEUR RENVOY'EE
En cas de succes, mq_open() renvoie un descripteur de file de messages
a utiliser avec les autres fonctions des files de messages. En cas
d'erreur, mq_open() renvoie (mqd_t) -1, avec errno definie.
ERREURS
EACCES La file existe mais l'appelant n'a pas les permissions pour
l'ouvrir dans le mode specifie.
EACCES name contient plus d'un caratere << / >>.
EEXIST O_CREAT et O_EXCL sont specifies dans oflag, mais une file avec
le meme nom existe deja.
EINVAL O_CREAT etait specifie dans oflag, et attr etait non NULL, mais
attr->mq_maxmsg ou attr->mq_msqsize n'etait pas valable. Ces
deux champs doivent etre superieurs a zero. Avec un processus
non privilegie (qui n'a pas la capacite CAP_SYS_RESOURCE),
attr->mq_maxmsg doit etre inferieur ou egal a la limite msg_max,
et attr->mq_msgsize doit etre inferieur ou egal a la limite
msgsize_max. En plus, meme avec un processus privilegie,
attr->mq_maxmsg ne peut pas etre plus grand que la limite
HARD_MAX. Consultez mq_overview(7) pour les details sur ces
limites.
EMFILE Le processus a deja le nombre maximal autorise de fichiers et de
files de messages ouverts.
ENAMETOOLONG
name est trop long.
ENFILE La limite systeme du nombre de fichiers ouverts et de files de
messages a ete atteinte.
ENOENT Le drapeau O_CREAT n'a pas ete specifie dans oflag, et aucune
file avec le nom name n'existe.
ENOENT name est juste << / >> suivi d'aucun autre caractere.
ENOMEM Memoire insuffisante.
ENOSPC Pas assez d'espace pour la creation de la nouvelle file de
messages. Ceci s'est probablement produit car la limite
queues_max a ete atteinte ; consultez mq_overview(7).
CONFORMIT'E
POSIX.1-2001.
BOGUES
Avec les noyaux anterieurs a la version 2.6.14, l'<< umask >> du
processus n'est pas applique aux permissions specifiees 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.32 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). Florentin
Duneau 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> >>.
Linux 20 fevrier 2009 MQ_OPEN(3)