summaryrefslogtreecommitdiff
path: root/src/libsystemd/sd-bus/bus-kernel.c
diff options
context:
space:
mode:
authorDaniel Mack <daniel@zonque.org>2014-10-06 18:36:16 +0200
committerDaniel Mack <daniel@zonque.org>2014-10-06 18:36:16 +0200
commitd663f1b1a92a778bcdc68f29b8c08cb49431b4f7 (patch)
tree803f4d94844aecb45175f519492fc452228b8ec9 /src/libsystemd/sd-bus/bus-kernel.c
parent27c64db6dff88ebe9761dfe3b0c073d2a9bf2e41 (diff)
sd-bus: sync kdbus.h (ABI break)
The KDBUS_CMD_FREE ioctl now uses a struct rather than a direct pointer to the offset to free. The KDBUS_CMD_MSG_CANCEL ioctl has also changes, but there's no user of it yet in systemd.
Diffstat (limited to 'src/libsystemd/sd-bus/bus-kernel.c')
-rw-r--r--src/libsystemd/sd-bus/bus-kernel.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c
index 09ff25fe71..5ae1418afc 100644
--- a/src/libsystemd/sd-bus/bus-kernel.c
+++ b/src/libsystemd/sd-bus/bus-kernel.c
@@ -799,14 +799,17 @@ int bus_kernel_connect(sd_bus *b) {
}
static void close_kdbus_msg(sd_bus *bus, struct kdbus_msg *k) {
+ struct kdbus_cmd_free cmd;
uint64_t off _alignas_(8);
struct kdbus_item *d;
assert(bus);
assert(k);
- off = (uint8_t *)k - (uint8_t *)bus->kdbus_buffer;
- ioctl(bus->input_fd, KDBUS_CMD_FREE, &off);
+ cmd.flags = 0;
+ cmd.offset = (uint8_t *)k - (uint8_t *)bus->kdbus_buffer;
+
+ ioctl(bus->input_fd, KDBUS_CMD_FREE, &cmd);
KDBUS_ITEM_FOREACH(d, k, items) {