]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/sd_bus_message_get_cookie.xml
fileio: add brief explanations for flags
[thirdparty/systemd.git] / man / sd_bus_message_get_cookie.xml
1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4 <!-- SPDX-License-Identifier: LGPL-2.1+ -->
5
6 <refentry id="sd_bus_message_get_cookie"
7 xmlns:xi="http://www.w3.org/2001/XInclude">
8
9 <refentryinfo>
10 <title>sd_bus_message_get_cookie</title>
11 <productname>systemd</productname>
12 </refentryinfo>
13
14 <refmeta>
15 <refentrytitle>sd_bus_message_get_cookie</refentrytitle>
16 <manvolnum>3</manvolnum>
17 </refmeta>
18
19 <refnamediv>
20 <refname>sd_bus_message_get_cookie</refname>
21 <refname>sd_bus_message_get_reply_cookie</refname>
22 <refpurpose>Returns the transaction cookie of a message</refpurpose>
23 </refnamediv>
24
25 <refsynopsisdiv>
26 <funcsynopsis>
27 <funcsynopsisinfo>#include &lt;systemd/sd-bus.h&gt;</funcsynopsisinfo>
28
29 <funcprototype>
30 <funcdef>int <function>sd_bus_message_get_cookie</function></funcdef>
31 <paramdef>sd_bus_message *<parameter>message</parameter></paramdef>
32 <paramdef>uint64_t *<parameter>cookie</parameter></paramdef>
33 </funcprototype>
34
35 <funcprototype>
36 <funcdef>int <function>sd_bus_message_get_reply_cookie</function></funcdef>
37 <paramdef>sd_bus_message *<parameter>message</parameter></paramdef>
38 <paramdef>uint64_t *<parameter>cookie</parameter></paramdef>
39 </funcprototype>
40 </funcsynopsis>
41 </refsynopsisdiv>
42
43 <refsect1>
44 <title>Description</title>
45
46 <para><function>sd_bus_message_get_cookie()</function> returns the
47 transaction cookie of a message. The cookie uniquely identifies a
48 message within each bus peer, but is not globally unique. It is
49 assigned when a message is sent.</para>
50
51 <para><function>sd_bus_message_get_reply_cookie()</function>
52 returns the transaction cookie of the message the specified
53 message is a response to. When a reply message is generated for a
54 method call message, its cookie is copied over into this field.
55 Note that while every message that is transferred is identified by
56 a cookie, only response messages carry a reply cookie
57 field.</para>
58
59 <para>Both functions take a message object as first parameter and
60 a place to store the 64-bit cookie in.</para>
61 </refsect1>
62
63 <refsect1>
64 <title>Return Value</title>
65
66 <para>On success, these calls return 0 or a positive integer. On failure, they return a negative
67 errno-style error code.</para>
68
69 <para>On success, the cookie/reply cookie is returned in the specified 64-bit unsigned integer
70 variable.</para>
71
72 <refsect2>
73 <title>Errors</title>
74
75 <para>Returned errors may indicate the following problems:</para>
76
77 <variablelist>
78 <varlistentry>
79 <term><constant>-EINVAL</constant></term>
80
81 <listitem><para>A specified parameter is invalid.</para></listitem>
82 </varlistentry>
83
84 <varlistentry>
85 <term><constant>-ENODATA</constant></term>
86
87 <listitem><para>No cookie has been assigned to this message. This either indicates that the
88 message has not been sent yet and hence has no cookie assigned, or that the message is not a method
89 response message and hence carries a reply cookie field.</para></listitem>
90 </varlistentry>
91 </variablelist>
92 </refsect2>
93 </refsect1>
94
95 <xi:include href="libsystemd-pkgconfig.xml" />
96
97 <refsect1>
98 <title>See Also</title>
99
100 <para>
101 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
102 <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
103 <citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>
104 </para>
105 </refsect1>
106
107 </refentry>