SD_BUS_M...ECT_REPLY(3)
π NAME π β SD_BUS_M...ECT_REPLY(3) edition
okay bestie, welcome to the sd_bus_message_set_expect_reply family page, manual tag SD_BUS_M...ECT_REPLY(3) β yes the title is giving truncation, she's iconic like that π
. These functions are:
sd_bus_message_set_expect_reply, sd_bus_message_get_expect_reply, sd_bus_message_set_auto_start, sd_bus_message_get_auto_start, sd_bus_message_set_allow_interactive_authorization, sd_bus_message_get_allow_interactive_authorization β and they set and query bus message metadata. Periodt. β¨
β¨ SYNOPSIS β¨
#include <systemd/sd-bus.h>
int sd_bus_message_set_expect_reply(sd_bus_message *message, int b);
int sd_bus_message_get_expect_reply(sd_bus_message *message);
int sd_bus_message_set_auto_start(sd_bus_message *message, int b);
int sd_bus_message_get_auto_start(sd_bus_message *message);
int
sd_bus_message_set_allow_interactive_authorization(sd_bus_message *message,
int b);
int
sd_bus_message_get_allow_interactive_authorization(sd_bus_message *message);
πΈ DESCRIPTION πΈ
okay so, these functions are all about setting and asking about metadata flags on an sd_bus_message. Let's go function by function, no cap:
sd_bus_message_set_expect_reply()sets or clears theNO_REPLY_EXPECTEDflag on the messagem. This flag matters only for method call messages, and it's used to specify that no method return or error reply is expected. It is ignored for other types. So for a method call message, callingsd_bus_message_set_expect_reply(..., 0)sets the flag and suppresses the reply. Yes bestie, zero means set here β she's quirky like that π.sd_bus_message_get_expect_reply()checks if theNO_REPLY_EXPECTEDflag is set on the messagem. It will return positive if it is not set, and zero if it is. Read that again if you need to β the math is mathing in a very specific way π.sd_bus_message_set_auto_start()sets or clears theNO_AUTO_STARTflag on the messagem. When the flag is set, the bus must not launch an owner for the destination name in response to this message. Callingsd_bus_message_set_auto_start(..., 0)sets the flag. Again: zero sets it. She's consistent, I'll give her that π«Ά.sd_bus_message_get_auto_start()checks if theNO_AUTO_STARTflag is set on the messagem. It will return positive if it is not set, and zero if it is.sd_bus_message_set_allow_interactive_authorization()sets or clears theALLOW_INTERACTIVE_AUTHORIZATIONflag on the messagem. Setting this flag informs the receiver that the caller is prepared to wait for interactive authorization viapolkitor a similar framework. Note that setting this flag does not guarantee that the receiver will actually perform interactive authorization. Also, make sure to set a suitable message timeout when using this flag, since interactive authorization could potentially take a long time as it depends on user input. Ifbis non-zero, the flag is set. So this one is like βI'm ready to wait, but pls set your timeout bestieβ β³.sd_bus_message_get_allow_interactive_authorization()checks if theALLOW_INTERACTIVE_AUTHORIZATIONflag is set on the messagem. It will return a positive integer if the flag is set. Otherwise, it returns zero.
π RETURN VALUE π
On success, these functions return a non-negative integer. On failure, they return a negative errno-style error code. No mystery, no drama β just numbers doing their thing β¨.
π Errors π
Returned errors may indicate the following problems:
-EINVALβ themessageparameter isNULL.-EPERMβ the messagemessageis sealed when trying to set a flag.
The message message has wrong type.
π§ NOTES π§
- Functions described here are available as a shared library, which can be compiled against and linked to with the
libsystemdpkg-config(1)file. - 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.
- 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 callsetenv(3)from a parallel thread. It is recommended to only do calls tosetenv()from an early phase of the program when no other threads have been started. Thread safety era, but make it early-phase π .
π¦ HISTORY π¦
sd_bus_message_set_expect_reply(),sd_bus_message_get_expect_reply(),sd_bus_message_set_auto_start(), andsd_bus_message_get_auto_start()were added in version240.sd_bus_message_set_allow_interactive_authorization()andsd_bus_message_get_allow_interactive_authorization()were added in version246.
π SEE ALSO π
that's the whole page, bestie. big sparkly sign-off from systemd 261.3, footer tag SD_BUS_M...ECT_REPLY(3) β date? she didn't list one, so we're just gonna vibe with the version and the page tag ππ
β¨
π¦ where this page comes from
- ubuntu stonking: libsystemd-dev 261.3-0ubuntu3 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms