X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Flttng-ust-abi.h;h=81143504e334b92783566386af4d87ec3e8a9ecc;hb=fbb3b395a2bba6fb7ecdd85baf7f01cb5899d200;hp=dc6ad7ab68dc11a6228f57908f5250928f8516b2;hpb=da0bdb87642b93f9cb657d68a566683a18ce15c3;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/lttng-ust-abi.h b/src/bin/lttng-sessiond/lttng-ust-abi.h index dc6ad7ab6..81143504e 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, @@ -53,9 +56,9 @@ struct lttng_ust_tracer_version { #define LTTNG_UST_CHANNEL_PADDING LTTNG_UST_SYM_NAME_LEN + 32 struct lttng_ust_channel { - int overwrite; /* 1: overwrite, 0: discard */ uint64_t subbuf_size; /* in bytes */ uint64_t num_subbuf; + int overwrite; /* 1: overwrite, 0: discard */ unsigned int switch_timer_interval; /* usecs */ unsigned int read_timer_interval; /* usecs */ enum lttng_ust_output output; /* output mode */ @@ -96,12 +99,13 @@ enum lttng_ust_field_type { LTTNG_UST_FIELD_STRING = 4, }; -#define LTTNG_UST_FIELD_ITER_PADDING LTTNG_UST_SYM_NAME_LEN + 32 +#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 nowrite; char padding[LTTNG_UST_FIELD_ITER_PADDING]; }; @@ -128,9 +132,9 @@ struct lttng_ust_context { */ #define LTTNG_UST_CHANNEL_ATTR_PADDING LTTNG_UST_SYM_NAME_LEN + 32 struct lttng_ust_channel_attr { - int overwrite; /* 1: overwrite, 0: discard */ uint64_t subbuf_size; /* bytes */ uint64_t num_subbuf; /* power of 2 */ + int overwrite; /* 1: overwrite, 0: discard */ unsigned int switch_timer_interval; /* usec */ unsigned int read_timer_interval; /* usec */ enum lttng_ust_output output; /* splice, mmap */ @@ -168,6 +172,16 @@ struct lttng_ust_calibrate { } u; }; +#define FILTER_BYTECODE_MAX_LEN 65536 +#define LTTNG_UST_FILTER_PADDING 32 +struct lttng_ust_filter_bytecode { + uint32_t len; + uint32_t reloc_offset; + uint64_t seqnum; + char padding[LTTNG_UST_FILTER_PADDING]; + char data[0]; +}; + #define _UST_CMD(minor) (minor) #define _UST_CMDR(minor, type) (minor) #define _UST_CMDW(minor, type) (minor) @@ -213,6 +227,9 @@ struct lttng_ust_calibrate { #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 struct lttng_ust_obj;