make kdbus_notify_name_change consist of two kdbus_notify_id_change
authorDaniel Mack <zonque@gmail.com>
Tue, 17 Dec 2013 23:18:38 +0000 (00:18 +0100)
committerDaniel Mack <zonque@gmail.com>
Tue, 17 Dec 2013 23:18:38 +0000 (00:18 +0100)
kdbus.h
notify.c
test/kdbus-util.c

diff --git a/kdbus.h b/kdbus.h
index a23d27c39b02f039a1fc82ac0128993b62238b42..f570c0d674465b73a497a7fde400141b10f9f4a0 100644 (file)
--- a/kdbus.h
+++ b/kdbus.h
 #define KDBUS_MATCH_SRC_ID_ANY         (~0ULL)
 #define KDBUS_DST_ID_BROADCAST         (~0ULL)
 
+/**
+ * struct kdbus_notify_id_change - name registry change message
+ * @id:                        New or former owner of the name
+ * @flags:             flags field from KDBUS_HELLO_*
+ *
+ * Sent from kernel to userspace when the owner or activator of
+ * a well-known name changes.
+ *
+ * Attached to:
+ *   KDBUS_ITEM_ID_ADD
+ *   KDBUS_ITEM_ID_REMOVE
+ */
+struct kdbus_notify_id_change {
+       __u64 id;
+       __u64 flags;
+};
+
 /**
  * struct kdbus_notify_name_change - name registry change message
  * @old_id:            Former owner of a name
  *   KDBUS_ITEM_NAME_CHANGE
  */
 struct kdbus_notify_name_change {
-       __u64 old_id;
-       __u64 new_id;
-       __u64 old_flags;
-       __u64 new_flags;
+       struct kdbus_notify_id_change old;
+       struct kdbus_notify_id_change new;
        char name[0];
 };
 
-/**
- * struct kdbus_notify_id_change - name registry change message
- * @id:                        New or former owner of the name
- * @flags:             flags field from KDBUS_HELLO_*
- *
- * Sent from kernel to userspace when the owner or activator of
- * a well-known name changes.
- *
- * Attached to:
- *   KDBUS_ITEM_ID_ADD
- *   KDBUS_ITEM_ID_REMOVE
- */
-struct kdbus_notify_id_change {
-       __u64 id;
-       __u64 flags;
-};
-
 /**
  * struct kdbus_creds - process credentials
  * @uid:               User ID
index eb30413db3c771835c2edf1f1374bc901a578e4b..79b6f72bbd72eb6901251a33eb8cce5da32b7274 100644 (file)
--- a/notify.c
+++ b/notify.c
@@ -131,10 +131,10 @@ int kdbus_notify_name_change(u64 type,
        kmsg->msg.src_id = KDBUS_SRC_ID_KERNEL;
        kmsg->notification_type = type;
        kmsg->msg.items[0].type = type;
-       kmsg->msg.items[0].name_change.old_id = old_id;
-       kmsg->msg.items[0].name_change.old_flags = old_flags;
-       kmsg->msg.items[0].name_change.new_id = new_id;
-       kmsg->msg.items[0].name_change.new_flags = new_flags;
+       kmsg->msg.items[0].name_change.old.id = old_id;
+       kmsg->msg.items[0].name_change.old.flags = old_flags;
+       kmsg->msg.items[0].name_change.new.id = new_id;
+       kmsg->msg.items[0].name_change.new.flags = new_flags;
        strcpy(kmsg->msg.items[0].name_change.name, name);
 
        list_add_tail(&kmsg->queue_entry, queue_list);
index 8d9817f18bb3fce1d5c8bf2f74cd08279c0be443..f9e22534978277a74d81e3cdbef2d0a864441950 100644 (file)
@@ -359,9 +359,9 @@ void msg_dump(const struct conn *conn, const struct kdbus_msg *msg)
                case KDBUS_ITEM_NAME_CHANGE:
                        printf("  +%s (%llu bytes) '%s', old id=%lld, new id=%lld, old_flags=0x%llx new_flags=0x%llx\n",
                                enum_MSG(item->type), (unsigned long long) item->size,
-                               item->name_change.name, item->name_change.old_id,
-                               item->name_change.new_id, item->name_change.old_flags,
-                               item->name_change.new_flags);
+                               item->name_change.name, item->name_change.old.id,
+                               item->name_change.new.id, item->name_change.old.flags,
+                               item->name_change.new.flags);
                        break;
 
                case KDBUS_ITEM_ID_ADD: