X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng-sessiond%2Flttng-ust-abi.h;h=28a040763d81c4aabe1158ab3a8c6e3335f55f93;hp=5b025aeac5b30e6e7a514b9cbe7ffc1f4d99f58f;hb=18cef8030188c29b1eb5a251e1c0de58b24e40b1;hpb=322585731ced1adba36cddcb8bdd5d997d1b2e3e diff --git a/lttng-sessiond/lttng-ust-abi.h b/lttng-sessiond/lttng-ust-abi.h index 5b025aeac..28a040763 100644 --- a/lttng-sessiond/lttng-ust-abi.h +++ b/lttng-sessiond/lttng-ust-abi.h @@ -2,7 +2,7 @@ #define _LTTNG_UST_ABI_H /* - * lttng-ust-abi.h + * lttng/ust-abi.h * * Copyright 2010-2011 (c) - Mathieu Desnoyers * @@ -13,15 +13,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 { @@ -41,20 +42,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; -}; - -/* - * 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 +77,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; @@ -137,22 +130,39 @@ struct lttng_ust_object_data { #define LTTNG_UST_ENABLE _UST_CMD(0x80) #define LTTNG_UST_DISABLE _UST_CMD(0x81) +/* Tracepoint list commands */ +#define LTTNG_UST_TRACEPOINT_LIST_GET _UST_CMD(0x90) + #define LTTNG_UST_ROOT_HANDLE 0 -struct obj; +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 objd_ops { - long (*cmd)(int objd, unsigned int cmd, unsigned long arg); +struct lttng_ust_objd_ops { + long (*cmd)(int objd, unsigned int cmd, unsigned long arg, + union ust_args *args); int (*release)(int objd); }; /* Create root handle. Always ID 0. */ int lttng_abi_create_root_handle(void); -const struct objd_ops *objd_ops(int id); -int objd_unref(int id); +const struct lttng_ust_objd_ops *objd_ops(int id); +int lttng_ust_objd_unref(int id); void lttng_ust_abi_exit(void); -void ltt_events_exit(void); +void lttng_ust_events_exit(void); #endif /* _LTTNG_UST_ABI_H */