X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=include%2Flttng%2Fust-ctl.h;h=57758edb19d15efe5032a5eebf4e4d3e1c1367b4;hb=db56acaff475812dfd774a52b3d54eae5c115315;hp=06de95c25ee12160b8fefcd545ac5eff961341cb;hpb=a6f80644ef276de19ba7e018659070b7504d7ca4;p=lttng-ust.git diff --git a/include/lttng/ust-ctl.h b/include/lttng/ust-ctl.h index 06de95c2..57758edb 100644 --- a/include/lttng/ust-ctl.h +++ b/include/lttng/ust-ctl.h @@ -23,6 +23,10 @@ #include #include +#ifndef LTTNG_PACKED +#error "LTTNG_PACKED should be defined" +#endif + #ifndef LTTNG_UST_UUID_LEN #define LTTNG_UST_UUID_LEN 16 #endif @@ -53,6 +57,7 @@ struct ustctl_consumer_channel_attr { enum lttng_ust_output output; /* splice, mmap */ uint32_t chan_id; /* channel ID */ unsigned char uuid[LTTNG_UST_UUID_LEN]; /* Trace session unique ID */ + int64_t blocking_timeout; /* Blocking timeout (usec) */ } LTTNG_PACKED; /* @@ -226,6 +231,7 @@ int ustctl_put_next_subbuf(struct ustctl_consumer_stream *stream); /* snapshot */ int ustctl_snapshot(struct ustctl_consumer_stream *stream); +int ustctl_snapshot_sample_positions(struct ustctl_consumer_stream *stream); int ustctl_snapshot_get_consumed(struct ustctl_consumer_stream *stream, unsigned long *pos); int ustctl_snapshot_get_produced(struct ustctl_consumer_stream *stream, @@ -260,6 +266,9 @@ int ustctl_get_instance_id(struct ustctl_consumer_stream *stream, /* returns whether UST has perf counters support. */ int ustctl_has_perf_counters(void); +/* Regenerate the statedump. */ +int ustctl_regenerate_statedump(int sock, int handle); + /* event registry management */ enum ustctl_socket_type { @@ -306,7 +315,7 @@ struct ustctl_integer_type { uint32_t signedness; uint32_t reverse_byte_order; uint32_t base; /* 2, 8, 10, 16, for pretty print */ - enum ustctl_string_encodings encoding; + int32_t encoding; /* enum ustctl_string_encodings */ uint16_t alignment; /* in bits */ char padding[USTCTL_UST_INTEGER_TYPE_PADDING]; } LTTNG_PACKED; @@ -327,11 +336,20 @@ struct ustctl_enum_value { char padding[USTCTL_UST_ENUM_VALUE_PADDING]; } LTTNG_PACKED; +enum ustctl_ust_enum_entry_options { + USTCTL_UST_ENUM_ENTRY_OPTION_IS_AUTO = 1U << 0, +}; + #define USTCTL_UST_ENUM_ENTRY_PADDING 32 struct ustctl_enum_entry { struct ustctl_enum_value start, end; /* start and end are inclusive */ char string[LTTNG_UST_SYM_NAME_LEN]; - char padding[USTCTL_UST_ENUM_ENTRY_PADDING]; + union { + struct { + uint32_t options; + } LTTNG_PACKED extra; + char padding[USTCTL_UST_ENUM_ENTRY_PADDING]; + } u; } LTTNG_PACKED; #define USTCTL_UST_BASIC_TYPE_PADDING 296 @@ -343,7 +361,7 @@ union _ustctl_basic_type { uint64_t id; /* enum ID in sessiond. */ } enumeration; struct { - enum ustctl_string_encodings encoding; + int32_t encoding; /* enum ustctl_string_encodings */ } string; struct ustctl_float_type _float; char padding[USTCTL_UST_BASIC_TYPE_PADDING];