X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fkdbus.h;h=aac7b8435273acfed6438f3fe96bb8927afeb8c3;hb=b1454bf05cecb22e3009db204bf17ec72537c539;hp=8c643feceb947b35b7a5b350236565f45039ec87;hpb=5b7d4c1c164d91b8c28c3dcd3921ad9863953ffa;p=elogind.git diff --git a/src/libsystemd-bus/kdbus.h b/src/libsystemd-bus/kdbus.h index 8c643fece..aac7b8435 100644 --- a/src/libsystemd-bus/kdbus.h +++ b/src/libsystemd-bus/kdbus.h @@ -53,6 +53,11 @@ struct kdbus_audit { __u64 loginuid; }; +struct kdbus_timestamp { + __u64 monotonic_ns; + __u64 realtime_ns; +}; + #define KDBUS_SRC_ID_KERNEL (0) #define KDBUS_DST_ID_WELL_KNOWN_NAME (0) #define KDBUS_MATCH_SRC_ID_ANY (~0ULL) @@ -70,7 +75,7 @@ enum { /* Filled in by kernelspace */ KDBUS_MSG_SRC_NAMES = 0x200,/* NUL separated string list with well-known names of source */ - KDBUS_MSG_TIMESTAMP, /* .ts_ns of CLOCK_MONOTONIC */ + KDBUS_MSG_TIMESTAMP, /* .timestamp */ KDBUS_MSG_SRC_CREDS, /* .creds */ KDBUS_MSG_SRC_PID_COMM, /* optional, in .str */ KDBUS_MSG_SRC_TID_COMM, /* optional, in .str */ @@ -109,18 +114,18 @@ struct kdbus_msg_data { union { /* inline data */ __u8 data[0]; + __u32 data32[0]; + __u64 data64[0]; char str[0]; - __u32 data_u32[0]; - __u64 data_u64[0]; /* data vector */ struct kdbus_vec vec; /* specific fields */ int fds[0]; /* int array of file descriptors */ - __u64 ts_ns; /* timestamp in nanoseconds */ struct kdbus_creds creds; struct kdbus_audit audit; + struct kdbus_timestamp timestamp; struct kdbus_manager_msg_name_change name_change; struct kdbus_manager_msg_id_change id_change; }; @@ -160,7 +165,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_data items[0]; }; enum { @@ -326,7 +331,7 @@ enum { struct kdbus_cmd_name_info_item { __u64 size; __u64 type; - __u8 data[0]; + __u8 items[0]; }; struct kdbus_cmd_name_info { @@ -351,7 +356,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 {