MQ_GETATTR(3P)

πŸ’– MQ_GETATTR(3P) πŸ’–

okay bestie, so this lil page lives in the POSIX Programmer's Manual, and it's all about mq_getattr β€” yes that's the 3P section, we love a portable interface πŸ’…

🌸 PROLOG 🌸

Real talk before we dive in: this manual page is part of 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 just not be implemented on Linux at all. πŸ™ˆ


✨ NAME ✨

mq_getattr β€” get message queue attributes (REALTIME) πŸ‘‘


πŸŽ€ SYNOPSIS πŸŽ€

#include <mqueue.h>

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

πŸ¦‹ DESCRIPTION πŸ¦‹

So what does mq_getattr() actually do? It shall obtain status information and attributes of the message queue and the open message queue description associated with the message queue descriptor. It's giving two-for-one, we love to see it. πŸ’–

The mqdes argument specifies a message queue descriptor.

The results shall be returned in the mq_attr structure referenced by the mqstat argument.

Upon return, the following members shall have the values associated with the open message queue description as set when the message queue was opened and as modified by subsequent mq_setattr() calls:

  • mq_flags

The following attributes of the message queue shall be returned as set at message queue creation:

  • mq_maxmsg
  • mq_msgsize

Upon return, the following members within the mq_attr structure referenced by the mqstat argument shall be set to the current state of the message queue:

  • mq_curmsgs β€” the number of messages currently on the queue. That's it, that's the whole vibe. ✨

πŸ’« RETURN VALUE πŸ’«

Upon successful completion, the mq_getattr() function shall return zero. πŸ₯³

Otherwise, the function shall return -1 and set errno to indicate the error. (not the slay we wanted but okay 😭)


πŸ”₯ ERRORS πŸ”₯

The mq_getattr() function may fail if:

  • EBADF β€” the mqdes argument is not a valid message queue descriptor. 🚫
The following sections are informative.

πŸ“ EXAMPLES πŸ“

See mq_notify(). (yeah, that's the whole thing, go look bestie πŸ‘€)


🧚 APPLICATION USAGE 🧚

None. literally nothing. no thoughts, head empty 🫢


πŸ’œ RATIONALE πŸ’œ

None. same energy, bestie πŸ’…


🌈 FUTURE DIRECTIONS 🌈

None. the future is unspecified and honestly that's iconic ✨


πŸ‘‘ SEE ALSO πŸ‘‘

  • mq_notify()
  • mq_open()
  • mq_send()
  • mq_setattr()
  • msgctl()
  • msgget()
  • msgrcv()
  • msgsnd()

Also, from the Base Definitions volume of POSIX.1‐2017:

  • <mqueue.h>

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 .


okay and that's the whole page, no cap 🫢 this one's from IEEE/The Open Group, dated 2017 β€” mwah, thanks for reading bestie, stay POSIX-compliant βœ¨πŸŽ€πŸ’–

πŸ“¦ where this page comes from