X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Flttng-ust-abi.h;h=91639a7c6d43279ab60f85b0098d2bced8484d0b;hp=1bf82ed4431ee8cc1267f8e6606012f05f7bad43;hb=ab6a656907905eb3a0f95a43a1e14a93d40e4cd2;hpb=bf74a86dd175816a617f2bb3c32214b5a01c4424 diff --git a/src/bin/lttng-sessiond/lttng-ust-abi.h b/src/bin/lttng-sessiond/lttng-ust-abi.h index 1bf82ed44..91639a7c6 100644 --- a/src/bin/lttng-sessiond/lttng-ust-abi.h +++ b/src/bin/lttng-sessiond/lttng-ust-abi.h @@ -4,12 +4,9 @@ /* * lttng/ust-abi.h * - * Copyright 2010-2011 (c) - Mathieu Desnoyers - * * LTTng-UST ABI header * - * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED - * OR IMPLIED. ANY USE IS AT YOUR OWN RISK. + * Copyright 2010-2012 - Mathieu Desnoyers * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -26,9 +23,15 @@ #define LTTNG_UST_SYM_NAME_LEN 256 +/* Version for comm protocol between sessiond and ust */ #define LTTNG_UST_COMM_VERSION_MAJOR 2 #define LTTNG_UST_COMM_VERSION_MINOR 0 +/* Version for ABI between liblttng-ust, sessiond, consumerd */ +#define LTTNG_UST_INTERNAL_MAJOR_VERSION 3 +#define LTTNG_UST_INTERNAL_MINOR_VERSION 0 +#define LTTNG_UST_INTERNAL_PATCHLEVEL_VERSION 0 + enum lttng_ust_instrumentation { LTTNG_UST_TRACEPOINT = 0, LTTNG_UST_PROBE = 1, @@ -88,6 +91,24 @@ 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 + 28 +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 */ + int written; + char padding[LTTNG_UST_FIELD_ITER_PADDING]; +}; + enum lttng_ust_context_type { LTTNG_UST_CONTEXT_VTID = 0, LTTNG_UST_CONTEXT_VPID = 1, @@ -151,6 +172,13 @@ struct lttng_ust_calibrate { } u; }; +#define FILTER_BYTECODE_MAX_LEN 65536 +struct lttng_ust_filter_bytecode { + uint32_t len; + uint32_t reloc_offset; + char data[0]; +}; + #define _UST_CMD(minor) (minor) #define _UST_CMDR(minor, type) (minor) #define _UST_CMDW(minor, type) (minor) @@ -167,6 +195,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 \ @@ -193,6 +222,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 @@ -209,6 +242,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 {