MQ_SETATTR(3P)
π MQ_SETATTR(3P) β the POSIX Programmer's Manual girlie π
okay bestie, quick heads up before we dive in: this is a page from the POSIX Programmer's Manual. The Linux implementation of this interface may differ (so like, go check the corresponding Linux manual page for the deets on Linux behavior), or honestly the interface might not even be implemented on Linux at all. π
β¨ NAME β¨
mq_setattr β set message queue attributes (REALTIME)
π SYNOPSIS π
#include <mqueue.h>
int mq_setattr(mqd_t mqdes, const struct mq_attr *restrict mqstat,
struct mq_attr *restrict omqstat);
π¦ DESCRIPTION π¦
So mq_setattr() sets the attributes tied to the open message queue description that's referenced by the message queue descriptor you pass in as mqdes. Slay.
The message queue attributes that correspond to the following members defined in the mq_attr structure get set to the specified values once mq_setattr() completes successfully:
mq_flagsβ the value of this member is the bitwise-logical OR of zero or more ofO_NONBLOCKand any implementation-defined flags. That's it, that's the whole vibe check.
Lowkey important: the values of the mq_maxmsg, mq_msgsize, and mq_curmsgs members of the mq_attr structure are ignored by mq_setattr(). Not their moment, not their era. π
If omqstat is non-NULL, then mq_setattr() stores β in the location referenced by omqstat β the previous message queue attributes and the current queue status. These values are the same as what a call to mq_getattr() would return at that point. Consistency icon. π
π₯ RETURN VALUE π₯
Upon successful completion, the function returns a value of zero and the attributes of the message queue have been changed as specified. Periodt.
Otherwise (π), the message queue attributes stay unchanged, and the function returns a value of -1 and sets errno to indicate the error.
π ERRORS π
The mq_setattr() function fails if:
EBADFβ themqdesargument is not a valid message queue descriptor. bestie that's not a real queue, sorry.
ngl the following sections are informative. Read them for the lore, not the law. β¨
πΈ EXAMPLES πΈ
None. (Not me showing up to class with no examples π)
π«Ά APPLICATION USAGE π«Ά
None. (We simply didn't have anything to add, and that's fine.)
π RATIONALE π
None. (Iconic silence, honestly.)
β FUTURE DIRECTIONS β
None. (The future is bright but unspecified.)
π SEE ALSO π
mq_open(), mq_send(), msgctl(), msgget(), msgrcv(), msgsnd()
The Base Definitions volume of POSIX.1β2017, <mqueue.h>
π COPYRIGHT π
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .
Any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source files to man page format. To report such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .
and that's the whole page, bestie β¨ this absolute banger of a manual page is brought to you by IEEE/The Open Group, dated 2017, and it lives at MQ_SETATTR(3P) β go set some attributes, you've got this πππ¦
π¦ where this page comes from
- alpine 3.22: man-pages-posix 2017a-r0 Β· custom
- alpine 3.23: man-pages-posix 2017a-r0 Β· custom
- alpine 3.24: man-pages-posix 2017a-r0 Β· custom
- arch rolling: man-pages 6.19-1
- arch rolling: man-pages 6.20-1 Β· BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
- nixpkgs unstable: man-pages-posix 2017a
- opensuse-leap 16.0: man-pages-posix 2017a-160000.4.1 Β· SUSE-IEEE
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms