X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Flttng%2Fust-abi.h;h=6a15e0dd346fa2e07e522e96d8627a5234b5f074;hb=ef9ff354212ff4b038e1a5b6a7ed0ffe1b949663;hp=31140b4e4577d619f7e0dc0e25de850d1d0a15cd;hpb=a60d70e608a727038ebc27e493aac65b49932146;p=lttng-ust.git diff --git a/include/lttng/ust-abi.h b/include/lttng/ust-abi.h index 31140b4e..6a15e0dd 100644 --- a/include/lttng/ust-abi.h +++ b/include/lttng/ust-abi.h @@ -20,15 +20,16 @@ #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 { @@ -36,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 { @@ -48,10 +49,6 @@ 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; }; /* @@ -97,6 +94,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; @@ -151,8 +154,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); };