X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Fust-abi.h;h=e502f729bea83d0cec5a081cccfa8de31d443dde;hb=e15372592f425ecfdda7f8260b4bc33db9623459;hp=90a0822f661bb187d96f3400b44bf1f6ab3d762f;hpb=51489cadd9c38c10261bdbab9b5e72803c95a732;p=lttng-ust.git diff --git a/include/lttng/ust-abi.h b/include/lttng/ust-abi.h index 90a0822f..e502f729 100644 --- a/include/lttng/ust-abi.h +++ b/include/lttng/ust-abi.h @@ -8,20 +8,28 @@ * * LTTng-UST ABI header * - * Dual LGPL v2.1/GPL v2 license. + * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED + * OR IMPLIED. ANY USE IS AT YOUR OWN RISK. + * + * Permission is hereby granted to use or copy this program + * for any purpose, provided the above notices are retained on all copies. + * Permission to modify the code and to distribute modified code is granted, + * provided the above notices are retained, and a notice that the code was + * modified is included with the above copyright notice. */ #include -#define LTTNG_UST_SYM_NAME_LEN 128 +#define LTTNG_UST_SYM_NAME_LEN 256 #define LTTNG_UST_COMM_VERSION_MAJOR 0 #define LTTNG_UST_COMM_VERSION_MINOR 1 enum lttng_ust_instrumentation { - LTTNG_UST_TRACEPOINT = 0, - LTTNG_UST_PROBE = 1, - LTTNG_UST_FUNCTION = 2, + LTTNG_UST_TRACEPOINT = 0, + LTTNG_UST_PROBE = 1, + LTTNG_UST_FUNCTION = 2, + LTTNG_UST_TRACEPOINT_LOGLEVEL = 3, }; enum lttng_ust_output { @@ -29,9 +37,9 @@ enum lttng_ust_output { }; struct lttng_ust_tracer_version { - uint32_t version; + uint32_t major; + uint32_t minor; uint32_t patchlevel; - uint32_t sublevel; }; struct lttng_ust_channel { @@ -41,20 +49,9 @@ struct lttng_ust_channel { unsigned int switch_timer_interval; /* usecs */ unsigned int read_timer_interval; /* usecs */ enum lttng_ust_output output; /* output mode */ - /* The following fields are used internally within UST. */ - int shm_fd; - int wait_fd; - uint64_t memory_map_size; }; -/* - * This structure is only used internally within UST. It is not per-se - * part of the communication between sessiond and UST. - */ struct lttng_ust_stream { - int shm_fd; - int wait_fd; - uint64_t memory_map_size; }; struct lttng_ust_event { @@ -90,6 +87,12 @@ struct lttng_ust_channel_attr { enum lttng_ust_output output; /* splice, mmap */ }; +struct lttng_ust_tracepoint_iter { + char name[LTTNG_UST_SYM_NAME_LEN]; /* provider:name */ + char loglevel[LTTNG_UST_SYM_NAME_LEN]; /* loglevel */ + int64_t loglevel_value; +}; + struct lttng_ust_object_data { int handle; int shm_fd; @@ -144,8 +147,22 @@ struct lttng_ust_object_data { struct lttng_ust_obj; +union ust_args { + struct { + int *shm_fd; + int *wait_fd; + uint64_t *memory_map_size; + } channel; + struct { + int *shm_fd; + int *wait_fd; + uint64_t *memory_map_size; + } stream; +}; + struct lttng_ust_objd_ops { - long (*cmd)(int objd, unsigned int cmd, unsigned long arg); + long (*cmd)(int objd, unsigned int cmd, unsigned long arg, + union ust_args *args); int (*release)(int objd); };