chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bus: update PORTING-DBUS1
[elogind.git]
/
src
/
libsystemd-bus
/
bus-message.h
diff --git
a/src/libsystemd-bus/bus-message.h
b/src/libsystemd-bus/bus-message.h
index b9cd4c8f30965cec13e251af9f15e3cd69002120..5322375ef1c576eb596e13bf7d009b85fa6143d5 100644
(file)
--- a/
src/libsystemd-bus/bus-message.h
+++ b/
src/libsystemd-bus/bus-message.h
@@
-46,8
+46,10
@@
struct bus_container {
uint32_t *array_size;
/* gvariant: list of offsets to end of children if this is struct/dict entry/array */
uint32_t *array_size;
/* gvariant: list of offsets to end of children if this is struct/dict entry/array */
- size_t *offsets, n_offsets,
n_
offsets_allocated, offset_index;
+ size_t *offsets, n_offsets, offsets_allocated, offset_index;
size_t item_size;
size_t item_size;
+
+ char *peeked_signature;
};
struct bus_header {
};
struct bus_header {
@@
-56,6
+58,10
@@
struct bus_header {
uint8_t flags;
uint8_t version;
uint32_t body_size;
uint8_t flags;
uint8_t version;
uint32_t body_size;
+
+ /* Note that what the bus spec calls "serial" we'll call
+ "cookie" instead, because we don't want to imply that the
+ cookie was in any way monotonically increasing. */
uint32_t serial;
uint32_t fields_size;
} _packed_;
uint32_t serial;
uint32_t fields_size;
} _packed_;
@@
-65,6
+71,7
@@
struct bus_body_part {
void *data;
size_t size;
size_t mapped;
void *data;
size_t size;
size_t mapped;
+ size_t allocated;
int memfd;
bool free_this:1;
bool munmap_this:1;
int memfd;
bool free_this:1;
bool munmap_this:1;
@@
-77,7
+84,7
@@
struct sd_bus_message {
sd_bus *bus;
sd_bus *bus;
- uint32_t reply_
serial
;
+ uint32_t reply_
cookie
;
const char *path;
const char *interface;
const char *path;
const char *interface;
@@
-115,6
+122,7
@@
struct sd_bus_message {
struct bus_container root_container, *containers;
unsigned n_containers;
struct bus_container root_container, *containers;
unsigned n_containers;
+ size_t containers_allocated;
struct iovec *iovec;
struct iovec iovec_fixed[2];
struct iovec *iovec;
struct iovec iovec_fixed[2];
@@
-152,7
+160,7
@@
static inline uint64_t BUS_MESSAGE_BSWAP64(sd_bus_message *m, uint64_t u) {
return BUS_MESSAGE_NEED_BSWAP(m) ? bswap_64(u) : u;
}
return BUS_MESSAGE_NEED_BSWAP(m) ? bswap_64(u) : u;
}
-static inline uint32_t BUS_MESSAGE_
SERIAL
(sd_bus_message *m) {
+static inline uint32_t BUS_MESSAGE_
COOKIE
(sd_bus_message *m) {
return BUS_MESSAGE_BSWAP32(m, m->header->serial);
}
return BUS_MESSAGE_BSWAP32(m, m->header->serial);
}
@@
-230,3
+238,7
@@
void bus_body_part_unmap(struct bus_body_part *part);
int bus_message_to_errno(sd_bus_message *m);
int bus_message_new_synthetic_error(sd_bus *bus, uint64_t serial, const sd_bus_error *e, sd_bus_message **m);
int bus_message_to_errno(sd_bus_message *m);
int bus_message_new_synthetic_error(sd_bus *bus, uint64_t serial, const sd_bus_error *e, sd_bus_message **m);
+
+int bus_message_remarshal(sd_bus *bus, sd_bus_message **m);
+
+int bus_message_append_sender(sd_bus_message *m, const char *sender);