.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (C) 2006 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH mq_getattr 3 "20 juillet 2023" "Pages du manuel de Linux 6.05.01" .SH NOM mq_getattr, mq_setattr \- Lire et écrire les attributs d'une file de messages .SH BIBLIOTHÈQUE Bibliothèque de temps réel (\fIlibrt\fP, \fI\-lrt\fP) .SH SYNOPSIS .nf \fB#include \fP .PP \fBint mq_getattr(mqd_t \fP\fImqdes\fP\fB, struct mq_attr *\fP\fIattr\fP\fB);\fP \fBint mq_setattr(mqd_t \fP\fImqdes\fP\fB, const struct mq_attr *restrict \fP\fInewattr\fP\fB,\fP \fB struct mq_attr *restrict \fP\fIoldattr\fP\fB);\fP .fi .SH DESCRIPTION Les fonctions \fBmq_getattr\fP() et \fBmq_setattr\fP() extraient et modifient respectivement les attributs de la file de messages référencée par le descripteur de file de messages \fImqdes\fP. .PP \fBmq_getattr\fP() renvoie une structure \fImq_attr\fP dans le tampon pointé par \fIattr\fP. Cette structure est définie comme suit\ : .PP .in +4n .EX 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 */ }; .EE .in .PP Le champ \fImq_flags\fP contient des drapeaux associés à la description de la file de messages ouverte. Ce champ est initialisé lorsque la file est créée avec \fBmq_open\fP(3). Le seul drapeau qui peut apparaître dans ce champ est \fBO_NONBLOCK\fP. .PP Les champs \fImq_maxmsg\fP et \fImq_msgsize\fP sont définis lorsque la file de messages est créée avec \fBmq_open\fP(3). Le champ \fImq_maxmsg\fP est le nombre maximal de messages qui peuvent être placés dans la file avec \fBmq_send\fP(3). Le champ \fImq_msgsize\fP 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 \fI/proc\fP qui plafonnent ces valeurs pour ces champs sont décrites dans \fBmq_overview\fP(7). .PP Le champ \fImq_curmsgs\fP renvoie le nombre de messages actuellement dans la file. .PP \fBmq_setattr\fP() définit les attributs de la file de messages avec les informations fournies par la structure \fImq_attr\fP pointée par \fInewattr\fP. Le seul attribut qui peut être modifié est le drapeau \fBO_NONBLOCK\fP de \fImq_flags\fP. Les autres champs de \fInewattr\fP sont ignorés. Si le champ \fIoldattr\fP est non NULL, alors le tampon qu'il pointe est utilisé pour renvoyer une structure \fImq_attr\fP contenant les mêmes informations que la fonction \fBmq_getattr\fP() renverrait. .SH "VALEUR RENVOYÉE" En cas de succès, \fBmq_getattr\fP() et \fBmq_setattr\fP() renvoient \fB0\fP. En cas d'erreur, elles renvoient \fB\-1\fP et définissent \fIerrno\fP en conséquence. .SH ERREURS .TP \fBEBADF\fP Le descripteur de file de messages spécifié dans \fImqdes\fP n'est pas valable. .TP \fBEINVAL\fP \fInewattr\->mq_flags\fP contient des bits définis autres que \fBO_NONBLOCK\fP. .SH ATTRIBUTS Pour une explication des termes utilisés dans cette section, consulter \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interface Attribut Valeur T{ .na .nh \fBmq_getattr\fP(), \fBmq_setattr\fP() T} Sécurité des threads MT\-Safe .TE .sp 1 .SH VERSIONS Sous Linux, \fBmq_getattr\fP() et \fBmq_setattr\fP() sont des fonctions de bibliothèque au dessus de l'appel système \fBmq_getsetattr\fP(2). .SH STANDARDS POSIX.1\-2008. .SH HISTORIQUE POSIX.1\-2001. .SH EXEMPLES Le programme ci\-dessous peut être utilisé pour afficher les valeurs par défaut de \fImq_maxmsg\fP et \fImq_msgsize\fP assignées à une file de messages qui est créée avec un appel à \fBmq_open\fP(3) dans lequel le paramètre est NULL. Voici un exemple d'exécution du programme. .PP .in +4n .EX $ \fB./a.out /testq\fP Maximum # of messages on queue: 10 Maximum message size: 8192 .EE .in .PP Depuis Linux\ 3.5, les fichiers suivants de \fI/proc\fP (décrits dans) \fBmq_overview\fP(7)) peuvent être utilisés pour contrôler les valeurs par défaut\ : .PP .in +4n .EX $ \fBuname \-sr\fP Linux 3.8.0 $ \fBcat /proc/sys/fs/mqueue/msg_default\fP 10 $ \fBcat /proc/sys/fs/mqueue/msgsize_default\fP 8192 .EE .in .SS "Source du programme" .\" SRC BEGIN (mq_getattr.c) \& .EX #include #include #include #include #include #include \& #define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \e } while (0) \& int main(int argc, char *argv[]) { mqd_t mqd; struct mq_attr attr; \& if (argc != 2) { fprintf(stderr, "Usage: %s mq\-name\en", argv[0]); exit(EXIT_FAILURE); } \& mqd = mq_open(argv[1], O_CREAT | O_EXCL, 0600, NULL); if (mqd == (mqd_t) \-1) errExit("mq_open"); \& if (mq_getattr(mqd, &attr) == \-1) errExit("mq_getattr"); \& printf("Maximum # of messages on queue: %ld\en", attr.mq_maxmsg); printf("Maximum message size: %ld\en", attr.mq_msgsize); \& if (mq_unlink(argv[1]) == \-1) errExit("mq_unlink"); \& exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "VOIR AUSSI" \fBmq_close\fP(3), \fBmq_notify\fP(3), \fBmq_open\fP(3), \fBmq_receive\fP(3), \fBmq_send\fP(3), \fBmq_unlink\fP(3), \fBmq_overview\fP(7) .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Jean-Pierre Giraud . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .