sd_bus_message_dump(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | RETURN VALUE | NOTES | SEE ALSO | COLOPHON

SD_BUS_MESSAGE_DUMP(3)     sd_bus_message_dump     SD_BUS_MESSAGE_DUMP(3)

NAME         top

       sd_bus_message_dump, sd_bus_message_dump_json - Produce a string
       representation of a message for debugging purposes

SYNOPSIS         top

       #include <systemd/sd-bus.h>

       int sd_bus_message_dump(sd_bus_message *m, FILE *f,
                               uint64_t flags);

       int sd_bus_message_dump_json(sd_bus_message *m, uint64_t flags,
                                    sd_json_variant **ret);

DESCRIPTION         top

       The sd_bus_message_dump() function writes a textual representation
       of the message m to the stream f. If f is NULL, standard output
       (stdio) will be used. This function is intended to be used for
       debugging purposes, and the output is neither stable nor designed
       to be machine readable.

       The sd_bus_message_dump_json() function converts the DBus message
       m to a JSON variant and stores it in ret. The caller should call
       sd_json_variant_unref() for the acquired JSON variant after use.
       Unlike sd_bus_message_dump(), the function itself does not print
       anything. To print the DBus message in the JSON format, please
       pass the returned JSON variant to sd_json_variant_dump().

       The flags parameter may be used to modify the output, and is a
       combination of zero or more of the following flags:

       SD_BUS_MESSAGE_DUMP_WITH_HEADER
           The header of the message that specifies the message type,
           flags, and several more additional metadata will be printed or
           included in the resulting JSON object.

       SD_BUS_MESSAGE_DUMP_SUBTREE_ONLY
           Only the current container will be printed or converted. When
           the flag is not specified, the contents of the whole message
           will be printed or converted.

       Note that these functions move the read pointer of the message. It
       may be necessary to reset the position afterwards, for example
       with sd_bus_message_rewind(3).

EXAMPLES         top

       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";
                     };
             };

RETURN VALUE         top

       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.

NOTES         top

       Functions described here are available as a shared library, which
       can be compiled against and linked to with the
       libsystemd pkg-config(1) file.

       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 call setenv(3) from a parallel
       thread. It is recommended to only do calls to setenv() from an
       early phase of the program when no other threads have been
       started.

SEE ALSO         top

       systemd(1), sd-bus(3), sd-json(3)

COLOPHON         top

       This page is part of the systemd (systemd system and service
       manager) project.  Information about the project can be found at
       ⟨http://www.freedesktop.org/wiki/Software/systemd⟩.  If you have a
       bug report for this manual page, see
       ⟨http://www.freedesktop.org/wiki/Software/systemd/#bugreports⟩.
       This page was obtained from the project's upstream Git repository
       ⟨https://github.com/systemd/systemd.git⟩ on 2025-08-11.  (At that
       time, the date of the most recent commit that was found in the
       repository was 2025-08-11.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there is
       a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

systemd 258~rc2                                    SD_BUS_MESSAGE_DUMP(3)

Pages that refer to this page: sd-bus(3)systemd.directives(7)systemd.index(7)