chiark / gitweb /
sd-bus: sync kdbus.h
authorDaniel Mack <daniel@zonque.org>
Mon, 5 Jan 2015 12:41:30 +0000 (13:41 +0100)
committerDaniel Mack <daniel@zonque.org>
Mon, 5 Jan 2015 12:44:40 +0000 (13:44 +0100)
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
src/libsystemd/sd-bus/kdbus.h

index 6ee3f92832200ab555b6949bce26f8a81f130e50..5b193be0200349ecaea7db433127fadfd0deefce 100644 (file)
@@ -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
index d124f21a36000d701d62bc4086a7a2625a312802..5165ba31ab316df7ce51d5f680782b5087f2a5ec 100644 (file)
@@ -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,  \