sd_bus_set_property(3) — Linux manual page

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

SD_BUS_SET_PROPERTY(3)     sd_bus_set_property     SD_BUS_SET_PROPERTY(3)

NAME         top

       sd_bus_set_property, sd_bus_set_propertyv, sd_bus_get_property,
       sd_bus_get_property_trivial, sd_bus_get_property_string,
       sd_bus_get_property_strv - Set or query D-Bus service properties

SYNOPSIS         top

       #include <systemd/sd-bus.h>

       int sd_bus_set_property(sd_bus *bus, const char *destination,
                               const char *path, const char *interface,
                               const char *member,
                               sd_bus_error *ret_error, const char *type,
                               ...);

       int sd_bus_set_propertyv(sd_bus *bus, const char *destination,
                                const char *path, const char *interface,
                                const char *member,
                                sd_bus_error *ret_error,
                                const char *type, va_list ap);

       int sd_bus_get_property(sd_bus *bus, const char *destination,
                               const char *path, const char *interface,
                               const char *member,
                               sd_bus_error *ret_error,
                               sd_bus_message **reply, const char *type);

       int sd_bus_get_property_trivial(sd_bus *bus,
                                       const char *destination,
                                       const char *path,
                                       const char *interface,
                                       const char *member,
                                       sd_bus_error *ret_error,
                                       char type, void *ret_ptr);

       int sd_bus_get_property_string(sd_bus *bus,
                                      const char *destination,
                                      const char *path,
                                      const char *interface,
                                      const char *member,
                                      sd_bus_error *ret_error,
                                      char **ret);

       int sd_bus_get_property_strv(sd_bus *bus, const char *destination,
                                    const char *path,
                                    const char *interface,
                                    const char *member,
                                    sd_bus_error *ret_error,
                                    char ***ret);

DESCRIPTION         top

       These functions set or query D-Bus properties. D-Bus properties
       are service fields exposed via the org.freedesktop.DBus.Properties
       interface. Under the hood, these functions call methods of the
       org.freedesktop.DBus.Properties interface and as a result their
       semantics are similar to sd_bus_call_method(3).

       sd_bus_set_property() sets a D-Bus property. If setting the
       property fails or an internal error occurs, an error is returned
       and an extended description of the error is optionally stored in
       ret_error if it is not NULL.  type and the arguments that follow
       it describe the new value of the property and must follow the
       format described in sd_bus_message_append(3).

       sd_bus_set_propertyv() is equivalent to sd_bus_set_property(),
       except that it is called with a "va_list" instead of a variable
       number of arguments.

       sd_bus_get_property() queries a D-Bus property. If retrieving the
       property fails or an internal error occurs, an error is returned
       and an extended description of the error is optionally stored in
       ret_error if it is not NULL. On success, the property is stored in
       reply.  type describes the property type and must follow the
       format described in sd_bus_message_append(3).

       sd_bus_get_property_trivial(), sd_bus_get_property_string() and
       sd_bus_get_property_strv() are shorthands for
       sd_bus_get_property() that are used to query basic, string and
       string vector properties respectively. The caller is responsible
       for freeing the string and string vector results stored in ret by
       sd_bus_get_property_string() and sd_bus_get_property_strv().

RETURN VALUE         top

       On success, these functions return a non-negative integer. On
       failure, they return a negative errno-style error code.

   Errors
       See the sd_bus_call_method(3) man page for a list of possible
       errors.

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.

       All functions listed here are thread-agnostic and only a single
       thread may operate on a given object at any given time. Different
       threads may access the same object at different times. Multiple
       independent objects may be used from different threads in
       parallel.

       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.

HISTORY         top

       sd_bus_set_property(), sd_bus_set_propertyv(),
       sd_bus_get_property(), sd_bus_get_property_trivial(),
       sd_bus_get_property_string(), and sd_bus_get_property_strv() were
       added in version 246.

SEE ALSO         top

       systemd(1), sd-bus(3), sd_bus_call_method(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 2026-08-04.  (At that
       time, the date of the most recent commit that was found in the
       repository was 2026-08-03.)  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 262~devel                                  SD_BUS_SET_PROPERTY(3)

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