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
#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 ); | 
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().
On success, these functions return a non-negative integer. On failure, they return a negative errno-style error code.
These APIs are implemented as a shared
  library, which can be compiled and linked to with the
  libsystemd pkg-config(1)
  file.