X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-bus%2Fkdbus.h;h=7137fc9989294db37c9a3a3005641271acf4fd11;hb=fed1e721fd0c81e60c77120539f34e16c2585634;hp=65266ee2125d2dfb9d36a2deb8ae6974a7788071;hpb=705a415f684f8e9ee19983e5859de00bbb1477cb;p=elogind.git diff --git a/src/libsystemd/sd-bus/kdbus.h b/src/libsystemd/sd-bus/kdbus.h index 65266ee21..7137fc998 100644 --- a/src/libsystemd/sd-bus/kdbus.h +++ b/src/libsystemd/sd-bus/kdbus.h @@ -70,14 +70,14 @@ struct kdbus_notify_name_change { * KDBUS_ITEM_CREDS */ struct kdbus_creds { - __u64 uid; - __u64 euid; - __u64 suid; - __u64 fsuid; - __u64 gid; - __u64 egid; - __u64 sgid; - __u64 fsgid; + __u32 uid; + __u32 euid; + __u32 suid; + __u32 fsuid; + __u32 gid; + __u32 egid; + __u32 sgid; + __u32 fsgid; }; /** @@ -124,8 +124,8 @@ struct kdbus_caps { * KDBUS_ITEM_AUDIT */ struct kdbus_audit { - __u64 sessionid; - __u64 loginuid; + __u32 sessionid; + __u32 loginuid; }; /** @@ -307,7 +307,7 @@ enum kdbus_item_type { _KDBUS_ITEM_ATTACH_BASE = 0x1000, KDBUS_ITEM_TIMESTAMP = _KDBUS_ITEM_ATTACH_BASE, KDBUS_ITEM_CREDS, - KDBUS_ITEM_PIDS, + KDBUS_ITEM_PIDS, KDBUS_ITEM_AUXGROUPS, KDBUS_ITEM_OWNED_NAME, KDBUS_ITEM_TID_COMM, @@ -369,7 +369,7 @@ struct kdbus_item { __u64 id; struct kdbus_vec vec; struct kdbus_creds creds; - struct kdbus_pids pids; + struct kdbus_pids pids; struct kdbus_audit audit; struct kdbus_caps caps; struct kdbus_timestamp timestamp; @@ -493,6 +493,12 @@ enum kdbus_recv_flags { * -EOVERFLOW, this field will contain the number of * broadcast messages that have been lost since the * last call. + * @msg_size: Filled by the kernel with the actual message size. This + * is the full size of the slice placed at @offset. It + * includes the memory used for the kdbus_msg object, but + * also for all appended VECs. By using @msg_size and + * @offset, you can map a single message, instead of + * mapping the whole pool. * * This struct is used with the KDBUS_CMD_MSG_RECV ioctl. */ @@ -500,10 +506,11 @@ struct kdbus_cmd_recv { __u64 flags; __u64 kernel_flags; __s64 priority; - union { - __u64 offset; - __u64 dropped_msgs; - }; + union { + __u64 offset; + __u64 dropped_msgs; + }; + __u64 msg_size; } __attribute__((aligned(8))); /** @@ -607,19 +614,19 @@ enum kdbus_hello_flags { enum kdbus_attach_flags { KDBUS_ATTACH_TIMESTAMP = 1ULL << 0, KDBUS_ATTACH_CREDS = 1ULL << 1, - KDBUS_ATTACH_PIDS = 1ULL << 2, - KDBUS_ATTACH_AUXGROUPS = 1ULL << 3, - KDBUS_ATTACH_NAMES = 1ULL << 4, - KDBUS_ATTACH_TID_COMM = 1ULL << 5, - KDBUS_ATTACH_PID_COMM = 1ULL << 6, - KDBUS_ATTACH_EXE = 1ULL << 7, - KDBUS_ATTACH_CMDLINE = 1ULL << 8, - KDBUS_ATTACH_CGROUP = 1ULL << 9, - KDBUS_ATTACH_CAPS = 1ULL << 10, - KDBUS_ATTACH_SECLABEL = 1ULL << 11, - KDBUS_ATTACH_AUDIT = 1ULL << 12, - KDBUS_ATTACH_CONN_DESCRIPTION = 1ULL << 13, - _KDBUS_ATTACH_ALL = (1ULL << 14) - 1, + KDBUS_ATTACH_PIDS = 1ULL << 2, + KDBUS_ATTACH_AUXGROUPS = 1ULL << 3, + KDBUS_ATTACH_NAMES = 1ULL << 4, + KDBUS_ATTACH_TID_COMM = 1ULL << 5, + KDBUS_ATTACH_PID_COMM = 1ULL << 6, + KDBUS_ATTACH_EXE = 1ULL << 7, + KDBUS_ATTACH_CMDLINE = 1ULL << 8, + KDBUS_ATTACH_CGROUP = 1ULL << 9, + KDBUS_ATTACH_CAPS = 1ULL << 10, + KDBUS_ATTACH_SECLABEL = 1ULL << 11, + KDBUS_ATTACH_AUDIT = 1ULL << 12, + KDBUS_ATTACH_CONN_DESCRIPTION = 1ULL << 13, + _KDBUS_ATTACH_ALL = (1ULL << 14) - 1, _KDBUS_ATTACH_ANY = ~0ULL };