1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
|
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
<refentry id="sd_bus_message_set_expect_reply" xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>sd_bus_message_set_expect_reply</title>
<productname>systemd</productname>
</refentryinfo>
<refmeta>
<refentrytitle>sd_bus_message_set_expect_reply</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>sd_bus_message_set_expect_reply</refname>
<refname>sd_bus_message_get_expect_reply</refname>
<refname>sd_bus_message_set_auto_start</refname>
<refname>sd_bus_message_get_auto_start</refname>
<refname>sd_bus_message_set_allow_interactive_authorization</refname>
<refname>sd_bus_message_get_allow_interactive_authorization</refname>
<refpurpose>Set and query bus message metadata</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo>
<funcprototype>
<funcdef>int <function>sd_bus_message_set_expect_reply</function></funcdef>
<paramdef>sd_bus_message *<parameter>message</parameter></paramdef>
<paramdef>int <parameter>b</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_bus_message_get_expect_reply</function></funcdef>
<paramdef>sd_bus_message *<parameter>message</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_bus_message_set_auto_start</function></funcdef>
<paramdef>sd_bus_message *<parameter>message</parameter></paramdef>
<paramdef>int <parameter>b</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_bus_message_get_auto_start</function></funcdef>
<paramdef>sd_bus_message *<parameter>message</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_bus_message_set_allow_interactive_authorization</function></funcdef>
<paramdef>sd_bus_message *<parameter>message</parameter></paramdef>
<paramdef>int <parameter>b</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_bus_message_get_allow_interactive_authorization</function></funcdef>
<paramdef>sd_bus_message *<parameter>message</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><function>sd_bus_message_set_expect_reply()</function> sets or clears the
<constant>NO_REPLY_EXPECTED</constant> flag on the message <parameter>m</parameter>. This flag matters
only for method call messages and is used to specify that no method return or error reply is expected.
It is ignored for other types. Thus, for a method call message, calling
<programlisting>sd_bus_message_set_expect_reply(…, 0)</programlisting> sets the flag and suppresses the
reply.</para>
<para><function>sd_bus_message_get_expect_reply()</function> checks if the
<constant>NO_REPLY_EXPECTED</constant> flag is set on the message <parameter>m</parameter>. It will
return positive if it is not set, and zero if it is.</para>
<para><function>sd_bus_message_set_auto_start()</function> sets or clears the
<constant>NO_AUTO_START</constant> flag on the message <parameter>m</parameter>. When the flag is set,
the bus must not launch an owner for the destination name in response to this message. Calling
<programlisting>sd_bus_message_set_auto_start(…, 0)</programlisting> sets the flag.</para>
<para><function>sd_bus_message_get_auto_start()</function> checks if the
<constant>NO_AUTO_START</constant> flag is set on the message <parameter>m</parameter>. It will return
positive if it is not set, and zero if it is.</para>
<para><function>sd_bus_message_set_allow_interactive_authorization()</function> sets or clears the
<constant>ALLOW_INTERACTIVE_AUTHORIZATION</constant> flag on the message <parameter>m</parameter>.
Setting this flag informs the receiver that the caller is prepared to wait for interactive authorization
via polkit or 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.
If <parameter>b</parameter> is non-zero, the flag is set.</para>
<para><function>sd_bus_message_get_allow_interactive_authorization()</function> checks if the
<constant>ALLOW_INTERACTIVE_AUTHORIZATION</constant> flag is set on the message <parameter>m</parameter>.
It will return a positive integer if the flag is set. Otherwise, it returns zero.</para>
</refsect1>
<refsect1>
<title>Return Value</title>
<para>On success, these functions return a non-negative integer. On failure, they return a negative
errno-style error code.</para>
<refsect2>
<title>Errors</title>
<para>Returned errors may indicate the following problems:</para>
<variablelist>
<varlistentry>
<term><constant>-EINVAL</constant></term>
<listitem><para>The <parameter>message</parameter> parameter is <constant>NULL</constant>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><constant>-EPERM</constant></term>
<listitem>
<para>The message <parameter>message</parameter> is sealed when trying to set a flag.</para>
<para>The message <parameter>message</parameter> has wrong type.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<xi:include href="libsystemd-pkgconfig.xml" />
<refsect1>
<title>History</title>
<para><function>sd_bus_message_set_expect_reply()</function>,
<function>sd_bus_message_get_expect_reply()</function>,
<function>sd_bus_message_set_auto_start()</function>, and
<function>sd_bus_message_get_auto_start()</function> were added in version 240.</para>
<para><function>sd_bus_message_set_allow_interactive_authorization()</function> and
<function>sd_bus_message_get_allow_interactive_authorization()</function> were added in version 246.</para>
</refsect1>
<refsect1>
<title>See Also</title>
<para><simplelist type="inline">
<member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry></member>
<member><citerefentry><refentrytitle>sd_bus_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry></member>
</simplelist></para>
</refsect1>
</refentry>
|