NOM
mq_getattr, mq_setattr - Obtenir/définir les attributs d’une file de
messages
SYNOPSIS
#include <mqueue.h>
mqd_t mq_getattr(mqd_t mqdes, struct mq_attr *attr);
mqd_t mq_setattr(mqd_t mqdes, struct mq_attr *newattr,
struct mq_attr *oldattr);
Effectuez l’édition des liens avec l’option -lrt.
Les fonctions mq_getattr() et mq_setattr() extraient et modifient les
attributs de la file de messages référencée par le descripteur mqdes.
mq_getattr() renvoie une structure mq_attr dans le tampon pointé par
attr. Cette structure est définie comme suit :
struct mq_attr {
long mq_flags; /* Drapeaux : 0 or O_NONBLOCK */
long mq_maxmsg; /* Max. # de messages dans la file */
long mq_msgsize; /* Max de la taille du message (octets) */
long mq_curmsgs; /* # de messages actuellement dans la file */
};
Le champ mq_flags contient des drapeaux associés à la description de la
file de messages ouverte. Ce champ est initialisé lorsque la file est
créée avec mq_open(3). Le seul drapeau qui peut apparaître dans ce
champ est O_NONBLOCK.
Les champs mq_maxmsg et mq_msgsize sont définis lorsque la file de
messages est créée avec mq_open(3). Le champ mq_maxmsg est le nombre
maximal de messages qui peuvent être placés dans la file avec
mq_send(3). Le champ mq_msgsize est la taille maximale des messages qui
peuvent être placés dans la file. Chacun de ces champs doit avoir une
valeur supérieure à zéro. Deux fichiers de /proc qui plafonnent ces
valeurs pour ces champs sont décrites dans mq_open(3).
Le champ mq_curmsgs renvoie le nombre de messages actuellement dans la
file.
mq_setattr() définit les attributs de la file de messages avec les
informations fournies par la structure mq_attr pointée par newattr. Le
seul attribut qui peut être modifié est le drapeau O_NONBLOCK de
mq_flags. Les autres champs de newattr sont ignorés. Si le champ
oldattr est non NULL, alors le tampon qu’il pointe est utilisé pour
renvoyer une structure mq_attr contenant les mêmes informations que la
fonction mq_getattr() renverrait.
VALEUR RENVOYÉE
En cas de succès, mq_getattr() et mq_setattr() renvoient 0. En cas
d’erreur, elles renvoient -1 et définissent errno en conséquence.
ERREURS
EBADF Le descripteur spécifié dans mqdes n’est pas valable.
EINVAL newattr->mq_flags contient des bits définis autres que
O_NONBLOCK.
CONFORMITÉ
POSIX.1-2001.
NOTES
Sous Linux, mq_getattr() et mq_setattr() sont des fonctions de
bibliothèque au dessus de l’appel système mq_getsetattr(2).
VOIR AUSSI
mq_close(3), mq_notify(3), mq_open(3), mq_receive(3), mq_send(3),
mq_unlink(3), mq_overview(7)
COLOPHON
Cette page fait partie de la publication 3.23 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
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> ».