sd_bus_message_dump — Produce a string representation of a message for debugging purposes
#include <systemd/sd-bus.h>
int sd_bus_message_dump( | sd_bus_message *m, |
FILE *f, | |
uint64_t flags) ; |
SD_BUS_MESSAGE_DUMP_WITH_HEADER
,
SD_BUS_MESSAGE_DUMP_SUBTREE_ONLY
The sd_bus_message_dump()
function writes a textual representation of the
message m
to the stream f
. This function is intended to be
used for debugging purposes, and the output is neither stable nor designed to be machine readable.
The flags
parameter may be used to modify the output. With
SD_BUS_MESSAGE_DUMP_WITH_HEADER
, a header that specifies the message type and flags
and some additional metadata is printed. When SD_BUS_MESSAGE_DUMP_SUBTREE_ONLY
is
not passed, the contents of the whole message are printed. When it is passed,
only the current container in printed.
Note that this function moves the read pointer of the message. It may be necessary to reset the position afterwards, for example with sd_bus_message_rewind(3).
Output for a signal message (with SD_BUS_MESSAGE_DUMP_WITH_HEADER
):
‣ Type=signal Endian=l Flags=1 Version=1 Cookie=22 Path=/value/a Interface=org.freedesktop.DBus.Properties Member=PropertiesChanged MESSAGE "sa{sv}as" { STRING "org.freedesktop.systemd.ValueTest"; ARRAY "{sv}" { DICT_ENTRY "sv" { STRING "Value"; VARIANT "s" { STRING "object 0x1e, path /value/a"; }; }; }; ARRAY "s" { STRING "Value2"; STRING "AnExplicitProperty"; }; };
On success, this function returns 0 or a positive integer. On failure, it returns a negative errno-style error code. No error codes are currently defined.
These APIs are implemented as a shared
library, which can be compiled and linked to with the
libsystemd
pkg-config(1)
file.