X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=include%2Flttng%2Fust-abi.h;h=46a35d808bed16186056acab404389f93897a740;hb=bf956ec0051ba7f365693e194bc0aeaf4343a82c;hp=b3af9bf49528d6e131d44c10ff86db59699e316f;hpb=e92f3e285939848f248af08f11a39a04a7fcf852;p=lttng-ust.git diff --git a/include/lttng/ust-abi.h b/include/lttng/ust-abi.h index b3af9bf4..46a35d80 100644 --- a/include/lttng/ust-abi.h +++ b/include/lttng/ust-abi.h @@ -85,6 +85,23 @@ struct lttng_ust_event { } u; }; +enum lttng_ust_field_type { + LTTNG_UST_FIELD_OTHER = 0, + LTTNG_UST_FIELD_INTEGER = 1, + LTTNG_UST_FIELD_ENUM = 2, + LTTNG_UST_FIELD_FLOAT = 3, + LTTNG_UST_FIELD_STRING = 4, +}; + +#define LTTNG_UST_FIELD_ITER_PADDING LTTNG_UST_SYM_NAME_LEN + 32 +struct lttng_ust_field_iter { + char event_name[LTTNG_UST_SYM_NAME_LEN]; + char field_name[LTTNG_UST_SYM_NAME_LEN]; + enum lttng_ust_field_type type; + int loglevel; /* event loglevel */ + char padding[LTTNG_UST_FIELD_ITER_PADDING]; +}; + enum lttng_ust_context_type { LTTNG_UST_CONTEXT_VTID = 0, LTTNG_UST_CONTEXT_VPID = 1, @@ -148,6 +165,13 @@ struct lttng_ust_calibrate { } u; }; +#define FILTER_BYTECODE_MAX_LEN 65535 +struct lttng_ust_filter_bytecode { + uint16_t len; + uint16_t reloc_offset; + char data[0]; +}; + #define _UST_CMD(minor) (minor) #define _UST_CMDR(minor, type) (minor) #define _UST_CMDW(minor, type) (minor) @@ -164,6 +188,7 @@ struct lttng_ust_calibrate { #define LTTNG_UST_TRACEPOINT_LIST _UST_CMD(0x42) #define LTTNG_UST_WAIT_QUIESCENT _UST_CMD(0x43) #define LTTNG_UST_REGISTER_DONE _UST_CMD(0x44) +#define LTTNG_UST_TRACEPOINT_FIELD_LIST _UST_CMD(0x45) /* Session FD commands */ #define LTTNG_UST_METADATA \ @@ -190,6 +215,10 @@ struct lttng_ust_calibrate { /* Tracepoint list commands */ #define LTTNG_UST_TRACEPOINT_LIST_GET _UST_CMD(0x90) +#define LTTNG_UST_TRACEPOINT_FIELD_LIST_GET _UST_CMD(0x91) + +/* Event FD commands */ +#define LTTNG_UST_FILTER _UST_CMD(0xA0) #define LTTNG_UST_ROOT_HANDLE 0 @@ -206,6 +235,9 @@ union ust_args { int *wait_fd; uint64_t *memory_map_size; } stream; + struct { + struct lttng_ust_field_iter entry; + } field_list; }; struct lttng_ust_objd_ops {