[systemd-commits] src/libsystemd

Daniel Mack zonque at kemper.freedesktop.org
Tue Feb 24 03:13:14 PST 2015


 src/libsystemd/sd-bus/bus-control.c |    2 +-
 src/libsystemd/sd-bus/bus-kernel.c  |    5 ++---
 src/libsystemd/sd-bus/kdbus.h       |   18 ++++--------------
 3 files changed, 7 insertions(+), 18 deletions(-)

New commits:
commit 6ad4a4fc43e12c8c36f85abbb36e8791ec507519
Author: Daniel Mack <daniel at zonque.org>
Date:   Tue Feb 24 12:10:13 2015 +0100

    sd-bus: sync kdbus.h
    
    Follow two small changes in the kdbus API:
    
     * Flags are now returned in cmd->return_flags by KDBUS_CMD_NAME_ACQUIRE
    
     * struct kdbus_item_list has been dropped. The information stored in
       this struct was redundant since awhile already, as all commands
       report their returned slice size anyway.

diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c
index 19aa4bd..43c9672 100644
--- a/src/libsystemd/sd-bus/bus-control.c
+++ b/src/libsystemd/sd-bus/bus-control.c
@@ -76,7 +76,7 @@ static int bus_request_name_kernel(sd_bus *bus, const char *name, uint64_t flags
         if (r < 0)
                 return -errno;
 
-        if (n->flags & KDBUS_NAME_IN_QUEUE)
+        if (n->return_flags & KDBUS_NAME_IN_QUEUE)
                 return 0;
 
         return 1;
diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c
index 4333445..9e74530 100644
--- a/src/libsystemd/sd-bus/bus-kernel.c
+++ b/src/libsystemd/sd-bus/bus-kernel.c
@@ -840,9 +840,8 @@ fail:
 
 int bus_kernel_take_fd(sd_bus *b) {
         struct kdbus_bloom_parameter *bloom = NULL;
+        struct kdbus_item *items, *item;
         struct kdbus_cmd_hello *hello;
-        struct kdbus_item_list *items;
-        struct kdbus_item *item;
         _cleanup_free_ char *g = NULL;
         const char *name;
         size_t l = 0, m = 0, sz;
@@ -968,7 +967,7 @@ int bus_kernel_take_fd(sd_bus *b) {
 
         /* extract bloom parameters from items */
         items = (void*)((uint8_t*)b->kdbus_buffer + hello->offset);
-        KDBUS_ITEM_FOREACH(item, items, items) {
+        KDBUS_FOREACH(item, items, hello->items_size) {
                 switch (item->type) {
                 case KDBUS_ITEM_BLOOM_PARAMETER:
                         bloom = &item->bloom_parameter;
diff --git a/src/libsystemd/sd-bus/kdbus.h b/src/libsystemd/sd-bus/kdbus.h
index 4f321eb..6cbd01c 100644
--- a/src/libsystemd/sd-bus/kdbus.h
+++ b/src/libsystemd/sd-bus/kdbus.h
@@ -457,16 +457,6 @@ struct kdbus_item {
 } __attribute__((__aligned__(8)));
 
 /**
- * struct kdbus_item_list - A list of items
- * @size:		The total size of the structure
- * @items:		Array of items
- */
-struct kdbus_item_list {
-	__u64 size;
-	struct kdbus_item items[0];
-} __attribute__((__aligned__(8)));
-
-/**
  * enum kdbus_msg_flags - type of message
  * @KDBUS_MSG_EXPECT_REPLY:	Expect a reply message, used for
  *				method calls. The userspace-supplied
@@ -699,10 +689,10 @@ enum kdbus_hello_flags {
  * @id:			The ID of this connection (kernel → userspace)
  * @pool_size:		Size of the connection's buffer where the received
  *			messages are placed
- * @offset:		Pool offset where additional items of type
- *			kdbus_item_list are stored. They contain information
- *			about the bus and the newly created connection.
- * @items_size:		Copy of item_list.size stored in @offset.
+ * @offset:		Pool offset where items are returned to report
+ *			additional information about the bus and the newly
+ *			created connection.
+ * @items_size:		Size of buffer returned in the pool slice at @offset.
  * @id128:		Unique 128-bit ID of the bus (kernel → userspace)
  * @items:		A list of items
  *



More information about the systemd-commits mailing list