chiark / gitweb /
bus: catch up with latest kdbus
[elogind.git] / src / libsystemd-bus / bus-message.h
index c501325b12b8a63394f98fb6aae3346f5b601444..86a41a73b68bde460781c6a972082540d636e8f3 100644 (file)
@@ -34,10 +34,10 @@ struct bus_container {
         char enclosing;
 
         char *signature;
-        unsigned index;
+        unsigned index, saved_index;
 
         uint32_t *array_size;
-        size_t begin;
+        size_t before, begin;
 };
 
 struct bus_header {
@@ -53,6 +53,8 @@ struct bus_header {
 struct sd_bus_message {
         unsigned n_ref;
 
+        sd_bus *bus;
+
         uint32_t reply_serial;
 
         const char *path;
@@ -68,7 +70,8 @@ struct sd_bus_message {
         pid_t pid;
         pid_t tid;
         usec_t pid_starttime;
-        usec_t timestamp;
+        usec_t monotonic;
+        usec_t realtime;
 
         bool sealed:1;
         bool dont_send:1;
@@ -80,6 +83,7 @@ struct sd_bus_message {
         bool free_body:1;
         bool free_kdbus:1;
         bool free_fds:1;
+        bool release_kdbus:1;
 
         struct bus_header *header;
         void *fields;
@@ -96,12 +100,33 @@ struct sd_bus_message {
         struct bus_container root_container, *containers;
         unsigned n_containers;
 
-        struct iovec iovec[4];
+        struct iovec iovec[3];
         unsigned n_iovec;
 
         char *peeked_signature;
 
         usec_t timeout;
+
+        char sender_buffer[3 + DECIMAL_STR_MAX(uint64_t) + 1];
+        char destination_buffer[3 + DECIMAL_STR_MAX(uint64_t) + 1];
+
+        const char *exe;
+        const char *comm;
+        const char *tid_comm;
+        const char *cgroup;
+
+        const char *cmdline;
+        size_t cmdline_length;
+        char **cmdline_array;
+
+        char *session;
+        char *unit;
+        char *user_unit;
+
+        struct kdbus_audit *audit;
+
+        uint8_t *capability;
+        size_t capability_size;
 };
 
 #define BUS_MESSAGE_NEED_BSWAP(m) ((m)->header->endian != SD_BUS_NATIVE_ENDIAN)