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