X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=include%2Flttng%2Fust-abi.h;h=2f21e49b1d4f9efe69ca9395aa50a237ef399376;hb=902e13794ab77170a59123c3c62c5d6204941756;hp=2567ceb8a7e179e89e0673a5b6565478956511f9;hpb=cbef69018acdeb52d27529e80126b43f3733e233;p=lttng-ust.git diff --git a/include/lttng/ust-abi.h b/include/lttng/ust-abi.h index 2567ceb8..2f21e49b 100644 --- a/include/lttng/ust-abi.h +++ b/include/lttng/ust-abi.h @@ -20,7 +20,7 @@ #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 @@ -29,7 +29,12 @@ enum lttng_ust_instrumentation { LTTNG_UST_TRACEPOINT = 0, LTTNG_UST_PROBE = 1, LTTNG_UST_FUNCTION = 2, - LTTNG_UST_TRACEPOINT_LOGLEVEL = 3, +}; + +enum lttng_ust_loglevel_type { + LTTNG_UST_LOGLEVEL_ALL = 0, + LTTNG_UST_LOGLEVEL_RANGE = 1, + LTTNG_UST_LOGLEVEL_SINGLE = 2, }; enum lttng_ust_output { @@ -49,25 +54,18 @@ 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 { - char name[LTTNG_UST_SYM_NAME_LEN]; /* event name */ enum lttng_ust_instrumentation instrumentation; + char name[LTTNG_UST_SYM_NAME_LEN]; /* event name */ + + enum lttng_ust_loglevel_type loglevel_type; + int loglevel; /* value, -1: all */ + /* Per instrumentation type configuration */ union { } u; @@ -100,8 +98,7 @@ struct lttng_ust_channel_attr { 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; + int loglevel; }; struct lttng_ust_object_data { @@ -111,6 +108,14 @@ struct lttng_ust_object_data { uint64_t memory_map_size; }; +enum lttng_ust_calibrate_type { + LTTNG_UST_CALIBRATE_TRACEPOINT, +}; + +struct lttng_ust_calibrate { + enum lttng_ust_calibrate_type type; /* type (input) */ +}; + #define _UST_CMD(minor) (minor) #define _UST_CMDR(minor, type) (minor) #define _UST_CMDW(minor, type) (minor) @@ -158,8 +163,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); };