chiark / gitweb /
libsystemd: sync kdbus.h
authorDaniel Mack <zonque@gmail.com>
Fri, 17 Jan 2014 23:50:37 +0000 (00:50 +0100)
committerDaniel Mack <zonque@gmail.com>
Fri, 17 Jan 2014 23:50:37 +0000 (00:50 +0100)
src/libsystemd/kdbus.h

index 10102d43358623379f449904b5efb4a715a5786f..fe0bb48728b163a22c957d9e7223e9ef21750b03 100644 (file)
@@ -9,6 +9,9 @@
  * the terms of the GNU Lesser General Public License as published by the
  * Free Software Foundation; either version 2.1 of the License, or (at
  * your option) any later version.
+ *
+ * "Everything should be made as simple as possible, but not simpler."
+ *   -- Albert Einstein
  */
 
 #ifndef _KDBUS_H_
@@ -327,12 +330,23 @@ struct kdbus_item {
  *                                     cookie identifies the message and the
  *                                     respective reply carries the cookie
  *                                     in cookie_reply
+ * @KDBUS_MSG_FLAGS_SYNC_REPLY:                Wait for destination connection to
+ *                                     reply to this message. The
+ *                                     KDBUS_CMD_MSG_SEND ioctl() will block
+ *                                     until the reply is received, and
+ *                                     offset_reply in struct kdbus_msg will
+ *                                     yield the offset in the sender's pool
+ *                                     where the reply can be found.
+ *                                     This flag is only valid if
+ *                                     @KDBUS_MSG_FLAGS_EXPECT_REPLY is set as
+ *                                     well.
  * @KDBUS_MSG_FLAGS_NO_AUTO_START:     Do not start a service, if the addressed
  *                                     name is not currently active
  */
 enum kdbus_msg_flags {
        KDBUS_MSG_FLAGS_EXPECT_REPLY    = 1 << 0,
-       KDBUS_MSG_FLAGS_NO_AUTO_START   = 1 << 1,
+       KDBUS_MSG_FLAGS_SYNC_REPLY      = 1 << 1,
+       KDBUS_MSG_FLAGS_NO_AUTO_START   = 1 << 2,
 };
 
 /**
@@ -362,6 +376,9 @@ enum kdbus_payload_type {
  * @cookie_reply:      A reply to the requesting message with the same
  *                     cookie. The requesting connection can match its
  *                     request and the reply with this value
+ * @offset_reply:      If KDBUS_MSG_FLAGS_WAIT_FOR_REPLY, this field will
+ *                     contain the offset in the sender's pool where the
+ *                     reply is stored.
  * @items:             A list of kdbus_items containing the message payload
  */
 struct kdbus_msg {
@@ -375,6 +392,7 @@ struct kdbus_msg {
        union {
                __u64 timeout_ns;
                __u64 cookie_reply;
+               __u64 offset_reply;
        };
        struct kdbus_item items[0];
 } __attribute__((aligned(8)));
@@ -399,7 +417,7 @@ enum kdbus_recv_flags {
 };
 
 /**
- * kdbus_cmd_recv - struct to de-queue a buffered message
+ * struct kdbus_cmd_recv - struct to de-queue a buffered message
  * @flags:             KDBUS_RECV_* flags
  * @priority:          Minimum priority of the messages to de-queue. Lowest
  *                     values have the highest priority.