sd_bus_message_get_cookie
systemd
Developer
Lennart
Poettering
lennart@poettering.net
sd_bus_message_get_cookie
3
sd_bus_message_get_cookie
sd_bus_message_get_reply_cookie
Returns the transaction cookie of a message
#include <systemd/sd-bus.h>
int sd_bus_message_get_cookie
sd_bus_message *message
uint64_t *cookie
int sd_bus_message_get_reply_cookie
sd_bus_message *message
uint64_t *cookie
Description
sd_bus_message_get_cookie() returns the
transaction cookie of a message. The cookie uniquely identifies a
message within each bus peer, but is not globally unique. It is
assigned when a message is sent.
sd_bus_message_get_reply_cookie()
returns the transaction cookie of the message the specified
message is a response to. When a reply message is generated for a
method call message, its cookie is copied over into this field.
Note that while every message that is transferred is identified by
a cookie, only response messages carry a reply cookie
field.
Both functions take a message object as first parameter and
a place to store the 64-bit cookie in.
Return Value
On success, these calls return 0 or a positive integer. On
failure, these calls return a negative errno-style error
code.
On success, the cookie/reply cookie is returned in the
specified 64-bit unsigned integer variable.
Errors
Returned errors may indicate the following problems:
-EINVAL
A specified parameter
is invalid.
-ENODATA
No cookie has been assigned to this message.
This either indicates that the message has not been sent yet
and hence has no cookie assigned, or that the message is not a
method response message and hence carries a reply cookie
field.
Notes
The sd_bus_message_get_cookie() and
sd_bus_message_get_reply_cookie() interfaces
are available as a shared library, which can be compiled and
linked to with the
libsystemd pkg-config1
file.
See Also
systemd1,
sd-bus3,
sd_bus_new3