chiark / gitweb /
Add __attribute__((const, pure, format)) in various places
[elogind.git] / src / shared / dbus-common.h
index e141c9ec9003e681b13b0c32bef88a0d030f1d15..9752f08c0536b661a30cb8f16cdbe6afafd56cb4 100644 (file)
@@ -25,6 +25,8 @@
 #include <inttypes.h>
 #include <sys/types.h>
 
+#include "macro.h"
+
 #ifndef DBUS_ERROR_UNKNOWN_OBJECT
 #define DBUS_ERROR_UNKNOWN_OBJECT "org.freedesktop.DBus.Error.UnknownObject"
 #endif
@@ -92,7 +94,7 @@ int bus_connect_system_ssh(const char *user, const char *host, DBusConnection **
 int bus_connect_system_polkit(DBusConnection **_bus, DBusError *error);
 
 const char *bus_error_message(const DBusError *error);
-const char *bus_error_message_or_strerror(const DBusError *error, int err);
+const char *bus_error(const DBusError *e, int r);
 
 typedef int (*BusPropertyCallback)(DBusMessageIter *iter, const char *property, void *data);
 typedef int (*BusPropertySetCallback)(DBusMessageIter *iter, const char *property, void *data);
@@ -187,18 +189,33 @@ int bus_property_set_uint64(DBusMessageIter *i, const char *property, void *data
                 return 0;                                               \
         }
 
-const char *bus_errno_to_dbus(int error);
+const char *bus_errno_to_dbus(int error) _const_;
 
 DBusMessage* bus_properties_changed_new(const char *path, const char *interface, const char *properties);
 DBusMessage* bus_properties_changed_one_new(const char *path, const char *interface, const char *property);
 
-uint32_t bus_flags_to_events(DBusWatch *bus_watch);
-unsigned bus_events_to_flags(uint32_t events);
+uint32_t bus_flags_to_events(DBusWatch *bus_watch) _pure_;
+unsigned bus_events_to_flags(uint32_t events) _const_;
 
 int bus_parse_strv(DBusMessage *m, char ***_l);
 int bus_parse_strv_iter(DBusMessageIter *iter, char ***_l);
 int bus_parse_strv_pairs_iter(DBusMessageIter *iter, char ***_l);
 
+struct unit_info {
+        const char *id;
+        const char *description;
+        const char *load_state;
+        const char *active_state;
+        const char *sub_state;
+        const char *following;
+        const char *unit_path;
+        uint32_t job_id;
+        const char *job_type;
+        const char *job_path;
+};
+
+int bus_parse_unit_info(DBusMessageIter *iter, struct unit_info *u);
+
 int bus_append_strv_iter(DBusMessageIter *iter, char **l);
 
 int bus_iter_get_basic_and_next(DBusMessageIter *iter, int type, void *data, bool next);