diff options
author | Daniel Mack <zonque@gmail.com> | 2013-12-18 00:20:55 +0100 |
---|---|---|
committer | Daniel Mack <zonque@gmail.com> | 2013-12-18 00:20:55 +0100 |
commit | ceceaf09f9e4a53f86c623d70931676255aef334 (patch) | |
tree | 9305d511948eac200fbd5fc9c1b366528677ad28 /src/libsystemd-bus/kdbus.h | |
parent | d638dee035bea5ce1082cce6448ad4d8f8cedf55 (diff) |
bus: sync with kdbus
Two new things here:
a) struct kdbus_notify_name_change now carries two struct
kdbus_notify_id_change
b) a new KDBUS_CMD_BYEBYE ioctl that has no user yet in systemd
Diffstat (limited to 'src/libsystemd-bus/kdbus.h')
-rw-r--r-- | src/libsystemd-bus/kdbus.h | 58 |
1 files changed, 31 insertions, 27 deletions
diff --git a/src/libsystemd-bus/kdbus.h b/src/libsystemd-bus/kdbus.h index e9ffecd54b..f570c0d674 100644 --- a/src/libsystemd-bus/kdbus.h +++ b/src/libsystemd-bus/kdbus.h @@ -27,6 +27,23 @@ #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 * @new_id: New owner of a name @@ -43,31 +60,12 @@ * 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 * @gid: Group ID @@ -518,11 +516,11 @@ struct kdbus_cmd_make { * @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, - KDBUS_NAME_ACTIVATOR = 1 << 4, + 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_ACTIVATOR = 1 << 4, }; /** @@ -564,7 +562,7 @@ enum kdbus_name_list_flags { * @offset: The returned offset in the caller's pool buffer. * The user must use KDBUS_CMD_FREE to free the * allocated memory. - * + * * This structure is used with the KDBUS_CMD_NAME_LIST ioctl. */ struct kdbus_cmd_name_list { @@ -687,6 +685,11 @@ struct kdbus_cmd_match { * @KDBUS_CMD_HELLO: By opening the bus device node a connection is * created. After a HELLO the opened connection * becomes an active peer on the bus. + * @KDBUS_CMD_BYEBYE: Disconnect a connection. If the connection's + * message list is empty, the calls succeeds, and + * the handle is rendered unusable. Otherwise, + * -EAGAIN is returned without any further side- + * effects. * @KDBUS_CMD_MSG_SEND: Send a message and pass data from userspace to * the kernel. * @KDBUS_CMD_MSG_RECV: Receive a message from the kernel which is @@ -748,6 +751,7 @@ enum kdbus_ioctl_type { KDBUS_CMD_EP_MAKE = _IOW (KDBUS_IOC_MAGIC, 0x20, struct kdbus_cmd_make), KDBUS_CMD_HELLO = _IOWR(KDBUS_IOC_MAGIC, 0x30, struct kdbus_cmd_hello), + KDBUS_CMD_BYEBYE = _IO (KDBUS_IOC_MAGIC, 0x31), KDBUS_CMD_MSG_SEND = _IOW (KDBUS_IOC_MAGIC, 0x40, struct kdbus_msg), KDBUS_CMD_MSG_RECV = _IOR (KDBUS_IOC_MAGIC, 0x41, __u64 *), |