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

NOM

       mq_getattr, mq_setattr - Lire et écrire les attributs d'une file de messages

SYNOPSIS

       #include <mqueue.h>

       int mq_getattr(mqd_t mqdes, struct mq_attr *attr);

       int mq_setattr(mqd_t mqdes, struct mq_attr *newattr,
                        struct mq_attr *oldattr);

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

DESCRIPTION

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