Linux |
CentOS 5.3 |
|
mq_setattr(3) |
mq_getattr, mq_setattr − Obtenir/définir les attributs d’une file de messages. |
#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); |
mq_getattr() et mq_setattr() récupère et modifie, respectivement, les attributs d’une file de messages référencée par le descripteur mqdes. mq_getattr() renvoie une structure mq_attr dans le tampon pointé par attr. La structure est définie ainsi : |
struct mq_attr { long mq_flags; /* Flags: 0 or O_NONBLOCK */ long mq_maxmsg; /* Max. # of messages on queue */ long mq_msgsize; /* Max. message size (bytes) */ long mq_curmsgs; /* # of messages currently in queue */ }; |
Le champ mq_flags contient les attributs associés à la description de la file de messages ouverte. Ce champ est initialisée à la création de la file avec mq_open(). Le seul attribut qui peut apparaître dans ce champ est O_NONBLOCK. Les champs mq_maxmsg et mq_msgsize sont remplis lorsque la file de messages est créée par mq_open(). Le champ mq_maxmsg est la limite haute du nombre de messages qui peuvent être placés dans la file avec mq_send(). Le champ mq_msgsize est la limite haute de la taille des messages qui peuvent être placés dans la file. Ces deux champs doivent avoir une valeur supérieure à zéro. Deux fichiers Two /proc qui placent les plafonds sur ces valeurs de champs sont décrits dans mq_open(3). Le champ mq_curmsgs renvoie le nombre de messages actuellement dans la file. mq_setattr() définit les attributs dee la file de messages en utilisant les informations fournies dans la structure sets message queue attributes using information supplied in the mq_attr pointée par newattr. Le seul attribut qui puisse être modifié est l’attribut O_NONBLOCK dans mq_flags. Les autres champs de newattr sont ignorés. Si le champ oldattr n’est pas NULL, le tampon sur lequel il pointe est utilisé pour renvoyer une structure mq_attr qui contient la même information renvoyée par mq_getattr(). |
S’ils réussissent, mq_getattr() et mq_setattr() renvoient 0 ; s’ils échouent, ils renvoient −1 et écrivent errno en conséquence. |
EBADF |
Le descripteur spécifié par mqdes n’est pas valide. |
|
EINVAL |
newattr->mq_flags contient d’autres bits que O_NONBLOCK. |
POSIX.1-2001. |
mq_close(3), mq_notify(3), mq_open(3), mq_receive(3), mq_send(3), mq_unlink(3), mq_overview(7) |
Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 23 juillet 2006. L’équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=en man 3 mq_getattr ». N’hésitez pas à signaler à l’auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel. |
mq_setattr(3) |