X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fkdbus.h;h=305ded720ed677e84371a7f7c52403cee9f202f6;hp=441bfab9e7b35d69be153093d9f0c031c53bdec6;hb=68cfd33173766acbc54a30a989a39561b6d98253;hpb=69aec65cf8da55e400cf0a4f213b0a48268ca19f diff --git a/src/libsystemd-bus/kdbus.h b/src/libsystemd-bus/kdbus.h index 441bfab9e..305ded720 100644 --- a/src/libsystemd-bus/kdbus.h +++ b/src/libsystemd-bus/kdbus.h @@ -63,7 +63,7 @@ struct kdbus_timestamp { #define KDBUS_MATCH_SRC_ID_ANY (~0ULL) #define KDBUS_DST_ID_BROADCAST (~0ULL) -/* Message Data Types */ +/* Message Item Types */ enum { /* Filled in by userspace */ KDBUS_MSG_NULL, /* empty record */ @@ -103,17 +103,19 @@ struct kdbus_vec { }; /** - * struct kdbus_msg_data - chain of data blocks + * struct kdbus_msg_item - chain of data blocks * * size: overall data record size - * type: kdbus_msg_data_type of data + * type: kdbus_msg_item type of data */ -struct kdbus_msg_data { +struct kdbus_msg_item { __u64 size; __u64 type; union { /* inline data */ __u8 data[0]; + __u32 data32[0]; + __u64 data64[0]; char str[0]; /* data vector */ @@ -146,8 +148,7 @@ enum { * set by userspace: * dst_id: destination id * flags: KDBUS_MSG_FLAGS_* - * data_size: overall message size - * data: data records + * items: data records * * set by kernel: * src_id: who sent the message @@ -163,7 +164,7 @@ struct kdbus_msg { __u64 cookie_reply; /* cookie we reply to */ __u64 timeout_ns; /* timespan to wait for reply */ }; - struct kdbus_msg_data data[0]; + struct kdbus_msg_item items[0]; }; enum { @@ -329,7 +330,7 @@ enum { struct kdbus_cmd_name_info_item { __u64 size; __u64 type; - __u8 data[0]; + __u8 items[0]; }; struct kdbus_cmd_name_info { @@ -354,7 +355,11 @@ enum { struct kdbus_cmd_match_item { __u64 size; __u64 type; - __u8 data[0]; + union { + __u64 id; + __u8 data[0]; + char str[0]; + }; }; struct kdbus_cmd_match {