char payload[];
} LTTNG_PACKED;
+struct lttng_event_field_comm {
+ uint8_t type;
+ uint8_t nowrite;
+ /* Includes terminator `\0`. */
+ uint32_t name_len;
+ uint32_t event_len;
+
+ /*
+ * - name [name_len]
+ * - lttng_event object
+ */
+ char payload[];
+} LTTNG_PACKED;
+
struct lttng_event_extended {
/*
* exclusions and filter_expression are only set when the lttng_event
LTTNG_HIDDEN
struct lttng_event *lttng_event_copy(const struct lttng_event *event);
+LTTNG_HIDDEN
ssize_t lttng_event_create_from_payload(struct lttng_payload_view *view,
struct lttng_event **out_event,
struct lttng_event_exclusion **out_exclusion,
char **out_filter_expression,
struct lttng_bytecode **out_bytecode);
+LTTNG_HIDDEN
int lttng_event_serialize(const struct lttng_event *event,
unsigned int exclusion_count,
char **exclusion_list,
struct lttng_bytecode *bytecode,
struct lttng_payload *payload);
+LTTNG_HIDDEN
ssize_t lttng_event_context_create_from_payload(
struct lttng_payload_view *view,
struct lttng_event_context **event_ctx);
+LTTNG_HIDDEN
int lttng_event_context_serialize(struct lttng_event_context *context,
struct lttng_payload *payload);
+LTTNG_HIDDEN
void lttng_event_context_destroy(struct lttng_event_context *context);
+LTTNG_HIDDEN
enum lttng_error_code lttng_events_create_and_flatten_from_payload(
struct lttng_payload_view *view,
unsigned int count,
struct lttng_event **events);
+LTTNG_HIDDEN
+ssize_t lttng_event_field_create_from_payload(
+ struct lttng_payload_view *view,
+ struct lttng_event_field **field);
+
+LTTNG_HIDDEN
+int lttng_event_field_serialize(const struct lttng_event_field *field,
+ struct lttng_payload *payload);
+
+LTTNG_HIDDEN
+enum lttng_error_code lttng_event_fields_create_and_flatten_from_payload(
+ struct lttng_payload_view *view,
+ unsigned int count,
+ struct lttng_event_field **fields);
+
#endif /* LTTNG_EVENT_INTERNAL_H */