X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttng-events.h;h=42a7b24bbb35f103e771d8488cf11ffc6273f265;hb=7fde27108307b64327825bd9dc627f6e59b81180;hp=9d775d5723d17d614547023c770ecc19ed0c8fbf;hpb=65c85aa61984217039857513bbe988036f371693;p=lttng-modules.git diff --git a/lttng-events.h b/lttng-events.h index 9d775d57..42a7b24b 100644 --- a/lttng-events.h +++ b/lttng-events.h @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -68,9 +69,17 @@ enum channel_type { METADATA_CHANNEL, }; +struct lttng_enum_value { + unsigned long long value; + unsigned int signedness:1; +}; + struct lttng_enum_entry { - unsigned long long start, end; /* start and end are inclusive */ + struct lttng_enum_value start, end; /* start and end are inclusive */ const char *string; + struct { + unsigned int is_auto:1; + } options; }; #define __type_integer(_type, _size, _alignment, _signedness, \ @@ -100,7 +109,8 @@ struct lttng_integer_type { union _lttng_basic_type { struct lttng_integer_type integer; struct { - const char *name; + const struct lttng_enum_desc *desc; /* Enumeration mapping */ + struct lttng_integer_type container_type; } enumeration; struct { enum lttng_string_encodings encoding; @@ -148,11 +158,10 @@ struct lttng_type { } u; }; -struct lttng_enum { +struct lttng_enum_desc { const char *name; - struct lttng_type container_type; const struct lttng_enum_entry *entries; - unsigned int len; + unsigned int nr_entries; }; /* Event field description */ @@ -527,6 +536,7 @@ int lttng_session_enable(struct lttng_session *session); int lttng_session_disable(struct lttng_session *session); void lttng_session_destroy(struct lttng_session *session); int lttng_session_metadata_regenerate(struct lttng_session *session); +int lttng_session_statedump(struct lttng_session *session); void metadata_cache_destroy(struct kref *kref); struct lttng_channel *lttng_channel_create(struct lttng_session *session,