summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus/bus-message.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2013-12-05 02:46:54 +0100
committerLennart Poettering <lennart@poettering.net>2013-12-05 02:47:36 +0100
commitc1b9d935725103e95901f347b8981647ce4dd546 (patch)
tree4f5474c2022f7812d7e261b29896e89de14cf490 /src/libsystemd-bus/bus-message.h
parent65dae17a2f890b12a07dd4901b3db02b1031c463 (diff)
bus: add support for serializing to gvariant
(deserialization is still missing, hence this is not hooked up to kdbus)
Diffstat (limited to 'src/libsystemd-bus/bus-message.h')
-rw-r--r--src/libsystemd-bus/bus-message.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libsystemd-bus/bus-message.h b/src/libsystemd-bus/bus-message.h
index 55956adf1d..b862cb9443 100644
--- a/src/libsystemd-bus/bus-message.h
+++ b/src/libsystemd-bus/bus-message.h
@@ -41,6 +41,11 @@ struct bus_container {
uint32_t *array_size;
size_t before, begin;
+
+ size_t *offsets;
+ size_t n_offsets, n_allocated;
+
+ bool need_offsets;
};
struct bus_header {
@@ -93,6 +98,7 @@ struct sd_bus_message {
bool free_fds:1;
bool release_kdbus:1;
bool poisoned:1;
+ bool is_gvariant:1;
struct bus_header *header;
struct bus_body_part body;
@@ -126,6 +132,9 @@ struct sd_bus_message {
char sender_buffer[3 + DECIMAL_STR_MAX(uint64_t) + 1];
char destination_buffer[3 + DECIMAL_STR_MAX(uint64_t) + 1];
+
+ size_t header_offsets[_BUS_MESSAGE_HEADER_MAX];
+ unsigned n_header_offsets;
};
#define BUS_MESSAGE_NEED_BSWAP(m) ((m)->header->endian != BUS_NATIVE_ENDIAN)