SD_BUS_MESSAGE_VERIFY_TYPE(3)

Okay bestie, welcome to the sd_bus_message_verify_type(3) page β€” formal manual-name energy: SD_BUS_MESSAGE_VERIFY_TYPE(3). This is the little vibe check that checks if the message has the specified type at the current location. πŸ’…

✨ NAME ✨

sd_bus_message_verify_type β€” check if the message has specified type at the current location. Literally that, no cap. ✨

🌸 SYNOPSIS 🌸

#include <systemd/sd-bus.h>

int sd_bus_message_verify_type(sd_bus_message *m, char type,
                               const char* contents);

πŸ’– DESCRIPTION πŸ’–

sd_bus_message_verify_type() checks if the complete type at the current location in the message m matches the specified type and contents. Bestie, it’s giving β€œtype inspection at the current spot.” πŸ”

When type is non-zero, it must be one of the types specified in sd_bus_message_append(3). When contents is non-null, it must be a valid sequence of complete types. If both type and contents are specified, type must be a container type. 🫢

If type is specified, the type in the message must match. If contents is specified, the type in the message must be a container type with this signature. That’s the whole assignment, and it ate. πŸ’…

πŸ‘‘ RETURN VALUE πŸ‘‘

On success, this call returns true if the type matches and zero if not β€” meaning message m contains different data or the end of the message has been reached. On failure, it returns a negative errno-style error code. Periodt. 🌈

🫢 Errors 🫢

Returned errors may indicate the following problems:

  • -EINVAL β€” m or both type and contents are NULL. Also: arguments do not satisfy other constraints listed above. Cute catch-all behavior, honestly. πŸ™ˆ
  • -EPERM β€” message m is not sealed. Sealed only, bestie. πŸ”’

🌈 NOTES 🌈

Functions described here are available as a shared library, which can be compiled against and linked to with the libsystemd pkg-config(1) file. Slay. 🧚

All functions listed here are thread-agnostic and only a single thread may operate on a given object at any given time. Different threads may access the same object at different times. Multiple independent objects may be used from different threads in parallel. That’s the rule, iykyk. πŸ¦‹

The code described here uses getenv(3), which is declared to be not multi-thread-safe. This means that the code calling the functions described here must not call setenv(3) from a parallel thread. It is recommended to only do calls to setenv() from an early phase of the program when no other threads have been started. Do it early, bestie β€” not mid-chaos. πŸ’œ

πŸ¦‹ SEE ALSO πŸ¦‹

systemd(1), sd-bus(3), sd_bus_message_append(3) β€” go read those too, bestie. πŸ’–


That’s the whole page, bestie β€” systemd 261.3 source/version energy, and the original footer didn’t list a date, so date: not listed, no invented date here. Stay sealed, stay iconic. πŸ’…βœ¨

πŸ“¦ where this page comes from