----- On Apr 18, 2019, at 12:18 PM, Yannick Lamarre ylama...@efficios.com wrote:
> Serialized versions of lttng_event, lttng_event_function_attr and > lttng_event_probe_attr are packed structures to be used in communication > protocols for consistent sizes across platforms. The serialized versions are > stripped of pointers and padding. > > Pointers are removed since their size can vary on platforms supporting > variable sized registers (x86-64). Same question about explanation as prior commits. > Padding is also removed since it defeats the purpose of a packed struct. Same question about documenting how the protocol is expected to be extended as prior commits. Thanks, Mathieu > > Signed-off-by: Yannick Lamarre <ylama...@efficios.com> > --- > include/lttng/event-internal.h | 38 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 38 insertions(+) > > diff --git a/include/lttng/event-internal.h b/include/lttng/event-internal.h > index 09b4d232..a43007de 100644 > --- a/include/lttng/event-internal.h > +++ b/include/lttng/event-internal.h > @@ -27,6 +27,44 @@ > > struct lttng_userspace_probe_location; > > +struct lttng_event_probe_attr_serialized { > + uint64_t addr; > + > + uint64_t offset; > + char symbol_name[LTTNG_SYMBOL_NAME_LEN]; > +} LTTNG_PACKED; > + > +struct lttng_event_function_attr_serialized { > + char symbol_name[LTTNG_SYMBOL_NAME_LEN]; > +} LTTNG_PACKED; > + > +struct lttng_event_serialized { > + uint32_t type; /* enum lttng_event_type */ > + > + char name[LTTNG_SYMBOL_NAME_LEN]; > + > + uint32_t loglevel_type; /* enum lttng_loglevel_type */ > + > + int loglevel; > + > + int32_t enabled; /* Does not apply: -1 */ > + > + pid_t pid; > + > + unsigned char filter; /* filter enabled ? */ > + > + unsigned char exclusion; /* exclusions added ? */ > + > + /* Event flag, from 2.6 and above. */ > + uint32_t flags; /* enum lttng_event_flag */ > + > + /* Per event type configuration */ > + union { > + struct lttng_event_probe_attr_serialized probe; > + struct lttng_event_function_attr_serialized ftrace; > + } attr; > +} LTTNG_PACKED; > + > struct lttng_event_perf_counter_ctx_serialized { > uint32_t type; > uint64_t config; > -- > 2.11.0 > > _______________________________________________ > lttng-dev mailing list > lttng-dev@lists.lttng.org > https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com _______________________________________________ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev