X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttng-events.h;h=56f5d3ac2a0670ac2ed4edfbc731e2aa6a8f5a59;hb=114667d5aa4ec11334787e04a9f90fe9184fc16f;hp=2eccf8692864f2cfae6ea1809e085fe058482976;hpb=63d6e6603fb7dec20778b1276b2e67e3e16bdffc;p=lttng-modules.git diff --git a/lttng-events.h b/lttng-events.h index 2eccf869..56f5d3ac 100644 --- a/lttng-events.h +++ b/lttng-events.h @@ -27,9 +27,9 @@ #include #include #include -#include "wrapper/uuid.h" -#include "lttng-abi.h" -#include "lttng-abi-old.h" +#include +#include +#include #define lttng_is_signed_type(type) (((type)(-1)) < 0) @@ -49,6 +49,9 @@ enum abstract_types { atype_array, atype_sequence, atype_string, + atype_struct, + atype_array_compound, /* Array of compound types. */ + atype_sequence_compound, /* Sequence of compound types. */ NR_ABSTRACT_TYPES, }; @@ -124,6 +127,18 @@ struct lttng_type { struct lttng_basic_type elem_type; unsigned int elem_alignment; /* alignment override */ } sequence; + struct { + uint32_t nr_fields; + struct lttng_event_field *fields; /* Array of fields. */ + } _struct; + struct { + struct lttng_type *elem_type; + unsigned int length; /* num. elems. */ + } array_compound; + struct { + struct lttng_type *elem_type; + const char *length_name; + } sequence_compound; } u; }; @@ -432,6 +447,14 @@ struct lttng_metadata_stream { uint64_t version; /* Current version of the metadata cache */ }; +#define LTTNG_DYNAMIC_LEN_STACK_SIZE 128 + +struct lttng_dynamic_len_stack { + size_t stack[LTTNG_DYNAMIC_LEN_STACK_SIZE]; + size_t offset; +}; + +DECLARE_PER_CPU(struct lttng_dynamic_len_stack, lttng_dynamic_len_stack); /* * struct lttng_pid_tracker declared in header due to deferencing of *v @@ -613,6 +636,8 @@ int lttng_enabler_attach_bytecode(struct lttng_enabler *enabler, void lttng_enabler_event_link_bytecode(struct lttng_event *event, struct lttng_enabler *enabler); +int lttng_probes_init(void); + extern struct lttng_ctx *lttng_static_ctx; int lttng_context_init(void);