X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fkdbus.h;h=c69c1feec79e691c659c9466d8917849486718ce;hb=c58dea190c4cc66330942ccb7a9d485ff45504d3;hp=fadb2f2f0c871438008633b8a91c9fe2de602cf5;hpb=16be43684f6d9bbd494b157682f5473460fbf98a;p=elogind.git diff --git a/src/libsystemd-bus/kdbus.h b/src/libsystemd-bus/kdbus.h index fadb2f2f0..c69c1feec 100644 --- a/src/libsystemd-bus/kdbus.h +++ b/src/libsystemd-bus/kdbus.h @@ -236,17 +236,20 @@ struct kdbus_cmd_policy { enum { KDBUS_HELLO_STARTER = 1 << 0, KDBUS_HELLO_ACCEPT_FD = 1 << 1, +}; - /* subscription for metadata to attach */ - KDBUS_HELLO_ATTACH_CREDS = 1 << 8, - KDBUS_HELLO_ATTACH_NAMES = 1 << 9, - KDBUS_HELLO_ATTACH_COMM = 1 << 10, - KDBUS_HELLO_ATTACH_EXE = 1 << 11, - KDBUS_HELLO_ATTACH_CMDLINE = 1 << 12, - KDBUS_HELLO_ATTACH_CGROUP = 1 << 13, - KDBUS_HELLO_ATTACH_CAPS = 1 << 14, - KDBUS_HELLO_ATTACH_SECLABEL = 1 << 15, - KDBUS_HELLO_ATTACH_AUDIT = 1 << 16, +/* Flags for message attachments */ +enum { + KDBUS_ATTACH_TIMESTAMP = 1 << 0, + KDBUS_ATTACH_CREDS = 1 << 1, + KDBUS_ATTACH_NAMES = 1 << 2, + KDBUS_ATTACH_COMM = 1 << 3, + KDBUS_ATTACH_EXE = 1 << 4, + KDBUS_ATTACH_CMDLINE = 1 << 5, + KDBUS_ATTACH_CGROUP = 1 << 6, + KDBUS_ATTACH_CAPS = 1 << 7, + KDBUS_ATTACH_SECLABEL = 1 << 8, + KDBUS_ATTACH_AUDIT = 1 << 9, }; struct kdbus_cmd_hello { @@ -259,6 +262,9 @@ struct kdbus_cmd_hello { * more. Kernel might refuse client's * capabilities by returning an error * from KDBUS_HELLO */ + __u64 attach_flags; /* userspace specifies the metadata + * attachments it wishes to receive with + * every message. */ /* kernel → userspace */ __u64 bus_flags; /* this is .flags copied verbatim from @@ -270,6 +276,8 @@ struct kdbus_cmd_hello { __u64 bloom_size; /* The bloom filter size chosen by the * bus owner */ __u64 pool_size; /* maximum size of pool buffer */ + __u8 id128[16]; /* the unique id of the bus */ + struct kdbus_item items[0]; }; @@ -346,8 +354,13 @@ struct kdbus_cmd_name { char name[0]; }; +enum { + KDBUS_NAME_LIST_UNIQUE_NAMES = 1 << 0, +}; + struct kdbus_cmd_names { __u64 size; + __u64 flags; struct kdbus_cmd_name names[0]; }; @@ -360,7 +373,8 @@ enum { struct kdbus_cmd_name_info { __u64 size; /* overall size of info */ - __u64 flags; + __u64 flags; /* query flags */ + __u64 attach_flags; /* which meta data payload to attach */ __u64 id; /* either ID, or 0 and _ITEM_NAME follows */ struct kdbus_creds creds; struct kdbus_item items[0]; /* list of item records */