mq_open()
crée une file de messages POSIX ou en ouvre une existante.
La file est identifiée par
name.
Pour les détails de la construction de
name,
voir
mq_overview(7).
L'argument
oflag
spécifie les attributs qui contrôle les opérations de l'appel.
(Les définitions de ces valeurs d'attributs peuvent être obtenues
en incluant
<fcntl.h>.)
Un seul des attributs suivants doit être spécifié dans
oflag :
-
- O_RDONLY
-
Ouvrir la file en reception seulement.
-
- O_WRONLY
-
Ouvrir la file en émission seulement.
-
- O_RDWR
-
Ouvrir la file en émission et reception.
Zéro ou plusieurs des attributs suivants peuvent être ajoutés avec un
OU
binaire avec
oflag :
-
- O_NONBLOCK
-
Ouvrir la file en mode non bloquant.
Dans les cas où
mq_receive(3)
et
mq_send(3)
bloqueraient normalement,
ces fonctions font plutôt échouer l'appel avec l'erreur
EAGAIN.
-
- O_CREAT
-
Créer la file de messages si elle n'existe pas.
Le propriétaire (UID) de la file de messages
devient l'UID effectif du processus appelant.
L'appartenance de groupe (GID) est fixée au GID effectif
du processus appelant.
-
- O_EXCL
-
Si
O_CREAT
était spécifié dans
oflag,
et qu'un file du nom
name
existe déjà, il échoue avec l'erreur
EEXIST.
Si
O_CREAT
était spécifié dans
oflag,
deux argument supplémentaires doivent être fournis.
L'argument
mode
spécifie les permissions à attribuer à la nouvelle file, comme pour
open(2).
(Les définitions symboliques des bits de permissions peuvent être obtenues
en incluant
<sys/stat.h>.)
Le réglage des permissions est « masqué » avec l'umask du processus.
L'argument
attr
spécifie les attributs de la file.
Voir
mq_getattr(3)
pour les détails.
Si
attr
est NULL, la file est créée avec les attributs par défaut définis
par l'implémentation.