chiark / gitweb /
bus: update kdbus.h
authorKay Sievers <kay@vrfy.org>
Thu, 12 Dec 2013 19:19:12 +0000 (20:19 +0100)
committerKay Sievers <kay@vrfy.org>
Thu, 12 Dec 2013 19:19:12 +0000 (20:19 +0100)
src/libsystemd-bus/bus-control.c
src/libsystemd-bus/bus-kernel.c
src/libsystemd-bus/kdbus.h

index 2682439427b606621ffe2cc41aa5518a5cb6db77..db7263f6d50c11b12dfe0b8f46fd68785db7fed5 100644 (file)
@@ -265,7 +265,7 @@ static int bus_list_names_kernel(sd_bus *bus, char ***acquired, char ***activata
         }
 
         if (activatable) {
         }
 
         if (activatable) {
-                r = kernel_get_list(bus, KDBUS_NAME_LIST_STARTERS, &y);
+                r = kernel_get_list(bus, KDBUS_NAME_LIST_ACTIVATORS, &y);
                 if (r < 0)
                         return r;
 
                 if (r < 0)
                         return r;
 
index 68d0f48bd0047c423df0c9d97a48c4cf85f42aa1..4b694804cbec99c30b7be0471503c2523f6744ca 100644 (file)
@@ -515,12 +515,12 @@ static int translate_name_change(sd_bus *bus, struct kdbus_msg *k, struct kdbus_
         assert(k);
         assert(d);
 
         assert(k);
         assert(d);
 
-        if (d->type == KDBUS_ITEM_NAME_ADD || (d->name_change.old_flags & (KDBUS_NAME_IN_QUEUE|KDBUS_NAME_STARTER)))
+        if (d->type == KDBUS_ITEM_NAME_ADD || (d->name_change.old_flags & (KDBUS_NAME_IN_QUEUE|KDBUS_NAME_ACTIVATOR)))
                 old_owner[0] = 0;
         else
                 sprintf(old_owner, ":1.%llu", (unsigned long long) d->name_change.old_id);
 
                 old_owner[0] = 0;
         else
                 sprintf(old_owner, ":1.%llu", (unsigned long long) d->name_change.old_id);
 
-        if (d->type == KDBUS_ITEM_NAME_REMOVE || (d->name_change.new_flags & (KDBUS_NAME_IN_QUEUE|KDBUS_NAME_STARTER))) {
+        if (d->type == KDBUS_ITEM_NAME_REMOVE || (d->name_change.new_flags & (KDBUS_NAME_IN_QUEUE|KDBUS_NAME_ACTIVATOR))) {
 
                 if (isempty(old_owner))
                         return 0;
 
                 if (isempty(old_owner))
                         return 0;
@@ -1140,10 +1140,10 @@ int bus_kernel_create_starter(const char *bus, const char *name) {
         n = hello->items;
         strcpy(n->str, name);
         n->size = offsetof(struct kdbus_item, str) + strlen(n->str) + 1;
         n = hello->items;
         strcpy(n->str, name);
         n->size = offsetof(struct kdbus_item, str) + strlen(n->str) + 1;
-        n->type = KDBUS_ITEM_STARTER_NAME;
+        n->type = KDBUS_ITEM_ACTIVATOR_NAME;
 
         hello->size = ALIGN8(offsetof(struct kdbus_cmd_hello, items) + n->size);
 
         hello->size = ALIGN8(offsetof(struct kdbus_cmd_hello, items) + n->size);
-        hello->conn_flags = KDBUS_HELLO_STARTER;
+        hello->conn_flags = KDBUS_HELLO_ACTIVATOR;
         hello->pool_size = KDBUS_POOL_SIZE;
 
         if (ioctl(fd, KDBUS_CMD_HELLO, hello) < 0) {
         hello->pool_size = KDBUS_POOL_SIZE;
 
         if (ioctl(fd, KDBUS_CMD_HELLO, hello) < 0) {
index 168d08a3ec1d20c220898df3dbbe705633880925..dcd29359f5c11b0338a259e7973d7b1e32671dad 100644 (file)
@@ -34,7 +34,7 @@
  * @new_flags:         flags from KDBUS_NAME_* the name entry has now
  * @name:              Well-known name
  *
  * @new_flags:         flags from KDBUS_NAME_* the name entry has now
  * @name:              Well-known name
  *
- * Sent from kernel to userspace when the owner or starter of
+ * Sent from kernel to userspace when the owner or activator of
  * a well-known name changes.
  *
  * Attached to:
  * a well-known name changes.
  *
  * Attached to:
@@ -55,7 +55,7 @@ struct kdbus_notify_name_change {
  * @id:                        New or former owner of the name
  * @flags:             flags field from KDBUS_HELLO_*
  *
  * @id:                        New or former owner of the name
  * @flags:             flags field from KDBUS_HELLO_*
  *
- * Sent from kernel to userspace when the owner or starter of
+ * Sent from kernel to userspace when the owner or activator of
  * a well-known name changes.
  *
  * Attached to:
  * a well-known name changes.
  *
  * Attached to:
@@ -207,7 +207,7 @@ struct kdbus_policy {
  * @KDBUS_ITEM_POLICY_NAME:    Policy in struct kdbus_policy
  * @KDBUS_ITEM_POLICY_ACCESS:  Policy in struct kdbus_policy
  * @KDBUS_ITEM_NAME:           Well-know name with flags
  * @KDBUS_ITEM_POLICY_NAME:    Policy in struct kdbus_policy
  * @KDBUS_ITEM_POLICY_ACCESS:  Policy in struct kdbus_policy
  * @KDBUS_ITEM_NAME:           Well-know name with flags
- * @KDBUS_ITEM_STARTER_NAME:   Well-known name for the starter
+ * @KDBUS_ITEM_ACTIVATOR_NAME: Well-known name for the activator
  * @KDBUS_ITEM_TIMESTAMP:      Timestamp
  * @KDBUS_ITEM_CREDS:          Process credential
  * @KDBUS_ITEM_PID_COMM:       Process ID "comm" identifier
  * @KDBUS_ITEM_TIMESTAMP:      Timestamp
  * @KDBUS_ITEM_CREDS:          Process credential
  * @KDBUS_ITEM_PID_COMM:       Process ID "comm" identifier
@@ -244,7 +244,7 @@ enum kdbus_item_type {
 
        _KDBUS_ITEM_ATTACH_BASE = 0x600,
        KDBUS_ITEM_NAME         = _KDBUS_ITEM_ATTACH_BASE,
 
        _KDBUS_ITEM_ATTACH_BASE = 0x600,
        KDBUS_ITEM_NAME         = _KDBUS_ITEM_ATTACH_BASE,
-       KDBUS_ITEM_STARTER_NAME,
+       KDBUS_ITEM_ACTIVATOR_NAME,
        KDBUS_ITEM_TIMESTAMP,
        KDBUS_ITEM_CREDS,
        KDBUS_ITEM_PID_COMM,
        KDBUS_ITEM_TIMESTAMP,
        KDBUS_ITEM_CREDS,
        KDBUS_ITEM_PID_COMM,
@@ -346,7 +346,17 @@ enum kdbus_payload_type {
  * @cookie_reply:      For kernel-generated messages, this is the cookie
  *                     the message is a reply to
  * @timeout_ns:                For non-kernel-generated messages, this denotes the
  * @cookie_reply:      For kernel-generated messages, this is the cookie
  *                     the message is a reply to
  * @timeout_ns:                For non-kernel-generated messages, this denotes the
- *                     message timeout in nanoseconds
+ *                     message timeout in nanoseconds. A message has to be
+ *                     received with KDBUS_CMD_MSG_RECV by the destination
+ *                     connection within this time frame. For messages that
+ *                     have KDBUS_MSG_FLAGS_EXPECT_REPLY set in @flags,
+ *                     this value also denotes the timeout for the reply to
+ *                     this message. If there is no reply, or the message is
+ *                     not received in time by the other side, a
+ *                     kernel-generated message with an attached
+ *                     KDBUS_ITEM_REPLY_TIMEOUT item is sent to @src_id.
+ *                     A 0-value is only valid if KDBUS_MSG_FLAGS_EXPECT_REPLY
+ *                     is unset in @flags.
  * @items:             A list of kdbus_items containing the message payload
  */
 struct kdbus_msg {
  * @items:             A list of kdbus_items containing the message payload
  */
 struct kdbus_msg {
@@ -404,13 +414,13 @@ struct kdbus_cmd_policy {
 
 /**
  * enum kdbus_hello_flags - flags for struct kdbus_cmd_hello
 
 /**
  * enum kdbus_hello_flags - flags for struct kdbus_cmd_hello
- * @KDBUS_HELLO_STARTER:               The connection registers a name for activation
+ * @KDBUS_HELLO_ACTIVATOR:             The connection registers a name for activation
  *                             by well-know name
  * @KDBUS_HELLO_ACCEPT_FD:     The connection allows the receiving of
  *                             any passed file descriptors
  */
 enum kdbus_hello_flags {
  *                             by well-know name
  * @KDBUS_HELLO_ACCEPT_FD:     The connection allows the receiving of
  *                             any passed file descriptors
  */
 enum kdbus_hello_flags {
-       KDBUS_HELLO_STARTER             =  1 <<  0,
+       KDBUS_HELLO_ACTIVATOR           =  1 <<  0,
        KDBUS_HELLO_ACCEPT_FD           =  1 <<  1,
 };
 
        KDBUS_HELLO_ACCEPT_FD           =  1 <<  1,
 };
 
@@ -532,14 +542,14 @@ struct kdbus_cmd_ns_make {
  * @KDBUS_NAME_ALLOW_REPLACEMENT:      Allow the replacement of the name
  * @KDBUS_NAME_QUEUE:                  Name should be queued if busy
  * @KDBUS_NAME_IN_QUEUE:               Name is queued
  * @KDBUS_NAME_ALLOW_REPLACEMENT:      Allow the replacement of the name
  * @KDBUS_NAME_QUEUE:                  Name should be queued if busy
  * @KDBUS_NAME_IN_QUEUE:               Name is queued
- * @KDBUS_NAME_STARTER:                        Name is owned by a starter connection
+ * @KDBUS_NAME_ACTIVATOR:              Name is owned by a activator connection
  */
 enum kdbus_name_flags {
        KDBUS_NAME_REPLACE_EXISTING             = 1 <<  0,
        KDBUS_NAME_ALLOW_REPLACEMENT            = 1 <<  1,
        KDBUS_NAME_QUEUE                        = 1 <<  2,
        KDBUS_NAME_IN_QUEUE                     = 1 <<  3,
  */
 enum kdbus_name_flags {
        KDBUS_NAME_REPLACE_EXISTING             = 1 <<  0,
        KDBUS_NAME_ALLOW_REPLACEMENT            = 1 <<  1,
        KDBUS_NAME_QUEUE                        = 1 <<  2,
        KDBUS_NAME_IN_QUEUE                     = 1 <<  3,
-       KDBUS_NAME_STARTER                      = 1 <<  4,
+       KDBUS_NAME_ACTIVATOR                    = 1 <<  4,
 };
 
 /**
 };
 
 /**
@@ -565,13 +575,13 @@ struct kdbus_cmd_name {
  * enum kdbus_name_list_flags - what to include into the returned list
  * @KDBUS_NAME_LIST_UNIQUE:    All active connections
  * @KDBUS_NAME_LIST_NAMES:     All known well-known names
  * enum kdbus_name_list_flags - what to include into the returned list
  * @KDBUS_NAME_LIST_UNIQUE:    All active connections
  * @KDBUS_NAME_LIST_NAMES:     All known well-known names
- * @KDBUS_NAME_LIST_STARTERS:  All connections which are starter connections
+ * @KDBUS_NAME_LIST_ACTIVATORS:        All activator connections
  * @KDBUS_NAME_LIST_QUEUED:    All queued-up names
  */
 enum kdbus_name_list_flags {
        KDBUS_NAME_LIST_UNIQUE          = 1 <<  0,
        KDBUS_NAME_LIST_NAMES           = 1 <<  1,
  * @KDBUS_NAME_LIST_QUEUED:    All queued-up names
  */
 enum kdbus_name_list_flags {
        KDBUS_NAME_LIST_UNIQUE          = 1 <<  0,
        KDBUS_NAME_LIST_NAMES           = 1 <<  1,
-       KDBUS_NAME_LIST_STARTERS        = 1 <<  2,
+       KDBUS_NAME_LIST_ACTIVATORS      = 1 <<  2,
        KDBUS_NAME_LIST_QUEUED          = 1 <<  3,
 };
 
        KDBUS_NAME_LIST_QUEUED          = 1 <<  3,
 };
 
@@ -821,6 +831,8 @@ enum kdbus_ioctl_type {
  * @EBADFD:            A bus connection is in a corrupted state.
  * @EBADMSG:           Passed data contains a combination of conflicting or
  *                     inconsistent types.
  * @EBADFD:            A bus connection is in a corrupted state.
  * @EBADMSG:           Passed data contains a combination of conflicting or
  *                     inconsistent types.
+ * @ECONNRESET:                A connection is shut down, no further operations are
+ *                     possible.
  * @ECOMM:             A peer does not accept the file descriptors addressed
  *                     to it.
  * @EDESTADDRREQ:      The well-known bus name is required but missing.
  * @ECOMM:             A peer does not accept the file descriptors addressed
  *                     to it.
  * @EDESTADDRREQ:      The well-known bus name is required but missing.
@@ -857,8 +869,8 @@ enum kdbus_ioctl_type {
  * @ENXIO:             A unique address does not exist.
  * @EPERM:             The policy prevented an operation. The requested
  *                     resource is owned by another entity.
  * @ENXIO:             A unique address does not exist.
  * @EPERM:             The policy prevented an operation. The requested
  *                     resource is owned by another entity.
- * @ESHUTDOWN:         The connection is currently shutting down, no further
- *                     operations are possible.
+ * @ESHUTDOWN:         A namespace or endpoint is currently shutting down;
+ *                     no further operations will be possible.
  * @ESRCH:             A requested well-known bus name is not found.
  * @ETXTBSY:           A kdbus memfd file cannot be sealed or the seal removed,
  *                     because it is shared with other processes or still
  * @ESRCH:             A requested well-known bus name is not found.
  * @ETXTBSY:           A kdbus memfd file cannot be sealed or the seal removed,
  *                     because it is shared with other processes or still