From d7d052b23fe1180946b592884d7ea99fd723af4d Mon Sep 17 00:00:00 2001 From: Daniel Mack Date: Mon, 5 Jan 2015 13:41:30 +0100 Subject: [PATCH] sd-bus: sync kdbus.h Catch up with latest changes in kdbus.ko: * Signals can be sent as unicast now, hence they need to be marked as such with the KDBUS_MSG_SIGNAL in the message flags. * Follow ioctl number change for KDBUS_CMD_FREE --- src/libsystemd/sd-bus/bus-kernel.c | 3 ++- src/libsystemd/sd-bus/kdbus.h | 4 +++- 2 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 6ee3f9283..5b193be02 100644 --- a/src/libsystemd/sd-bus/bus-kernel.c +++ b/src/libsystemd/sd-bus/bus-kernel.c @@ -296,7 +296,8 @@ static int bus_message_setup_kmsg(sd_bus *b, sd_bus_message *m) { m->kdbus->flags = ((m->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED) ? 0 : KDBUS_MSG_EXPECT_REPLY) | - ((m->header->flags & BUS_MESSAGE_NO_AUTO_START) ? KDBUS_MSG_NO_AUTO_START : 0); + ((m->header->flags & BUS_MESSAGE_NO_AUTO_START) ? KDBUS_MSG_NO_AUTO_START : 0) | + ((m->header->type == SD_BUS_MESSAGE_SIGNAL) ? KDBUS_MSG_SIGNAL : 0); if (well_known) /* verify_destination_id will usually be 0, which makes the kernel driver only look diff --git a/src/libsystemd/sd-bus/kdbus.h b/src/libsystemd/sd-bus/kdbus.h index d124f21a3..5165ba31a 100644 --- a/src/libsystemd/sd-bus/kdbus.h +++ b/src/libsystemd/sd-bus/kdbus.h @@ -408,10 +408,12 @@ struct kdbus_item_list { * in cookie_reply * @KDBUS_MSG_NO_AUTO_START: Do not start a service, if the addressed * name is not currently active + * @KDBUS_MSG_SIGNAL: Treat this message as signal */ enum kdbus_msg_flags { KDBUS_MSG_EXPECT_REPLY = 1ULL << 0, KDBUS_MSG_NO_AUTO_START = 1ULL << 1, + KDBUS_MSG_SIGNAL = 1ULL << 2, }; /** @@ -1022,7 +1024,7 @@ struct kdbus_cmd_match { struct kdbus_cmd_send) #define KDBUS_CMD_RECV _IOWR(KDBUS_IOCTL_MAGIC, 0x31, \ struct kdbus_cmd_recv) -#define KDBUS_CMD_FREE _IOW(KDBUS_IOCTL_MAGIC, 0x33, \ +#define KDBUS_CMD_FREE _IOW(KDBUS_IOCTL_MAGIC, 0x32, \ struct kdbus_cmd_free) #define KDBUS_CMD_NAME_ACQUIRE _IOWR(KDBUS_IOCTL_MAGIC, 0x40, \ -- 2.30.2