X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fust-ctl-internal.hpp;h=661c947259937c3fc0caf5ae24bd1ead35f48397;hb=28f23191dcbf047429d51950a337a57d7a3f866a;hp=aee3cd580adeeca45e328c0242c010b72db0cf61;hpb=f250b40e2179eccdb83766bf4abef5a35036c47b;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/ust-ctl-internal.hpp b/src/bin/lttng-sessiond/ust-ctl-internal.hpp index aee3cd580..661c94725 100644 --- a/src/bin/lttng-sessiond/ust-ctl-internal.hpp +++ b/src/bin/lttng-sessiond/ust-ctl-internal.hpp @@ -9,42 +9,40 @@ #ifndef LTTNG_UST_CTL_INTERNAL_H #define LTTNG_UST_CTL_INTERNAL_H -#include -#include - #include "lttng-ust-abi.hpp" +#include +#include + #ifndef LTTNG_UST_UUID_LEN -#define LTTNG_UST_UUID_LEN 16 +#define LTTNG_UST_UUID_LEN 16 #endif /* Default unix socket path */ -#define LTTNG_UST_SOCK_FILENAME \ - "lttng-ust-sock-" \ - __ust_stringify(LTTNG_UST_ABI_MAJOR_VERSION_OLDEST_COMPATIBLE) +#define LTTNG_UST_SOCK_FILENAME \ + "lttng-ust-sock-" __ust_stringify(LTTNG_UST_ABI_MAJOR_VERSION_OLDEST_COMPATIBLE) /* * Shared memory files path are automatically related to shm root, e.g. * /dev/shm under linux. */ -#define LTTNG_UST_WAIT_FILENAME \ - "lttng-ust-wait-" \ - __ust_stringify(LTTNG_UST_ABI_MAJOR_VERSION_OLDEST_COMPATIBLE) +#define LTTNG_UST_WAIT_FILENAME \ + "lttng-ust-wait-" __ust_stringify(LTTNG_UST_ABI_MAJOR_VERSION_OLDEST_COMPATIBLE) struct lttng_ust_shm_handle; struct lttng_ust_lib_ring_buffer; struct lttng_ust_ctl_consumer_channel_attr { enum lttng_ust_abi_chan_type type; - 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_abi_output output; /* splice, mmap */ - uint32_t chan_id; /* channel ID */ + 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_abi_output output; /* splice, mmap */ + uint32_t chan_id; /* channel ID */ unsigned char uuid[LTTNG_UST_UUID_LEN]; /* Trace session unique ID */ - int64_t blocking_timeout; /* Blocking timeout (usec) */ + int64_t blocking_timeout; /* Blocking timeout (usec) */ } LTTNG_PACKED; /* @@ -69,18 +67,23 @@ struct lttng_ust_context_attr { */ int lttng_ust_ctl_register_done(int sock); int lttng_ust_ctl_create_session(int sock); -int lttng_ust_ctl_create_event(int sock, struct lttng_ust_abi_event *ev, - struct lttng_ust_abi_object_data *channel_data, - struct lttng_ust_abi_object_data **event_data); -int lttng_ust_ctl_add_context(int sock, struct lttng_ust_context_attr *ctx, - struct lttng_ust_abi_object_data *obj_data, - struct lttng_ust_abi_object_data **context_data); -int lttng_ust_ctl_set_filter(int sock, struct lttng_ust_abi_filter_bytecode *bytecode, - struct lttng_ust_abi_object_data *obj_data); -int lttng_ust_ctl_set_capture(int sock, struct lttng_ust_abi_capture_bytecode *bytecode, - struct lttng_ust_abi_object_data *obj_data); -int lttng_ust_ctl_set_exclusion(int sock, struct lttng_ust_abi_event_exclusion *exclusion, - struct lttng_ust_abi_object_data *obj_data); +int lttng_ust_ctl_create_event(int sock, + struct lttng_ust_abi_event *ev, + struct lttng_ust_abi_object_data *channel_data, + struct lttng_ust_abi_object_data **event_data); +int lttng_ust_ctl_add_context(int sock, + struct lttng_ust_context_attr *ctx, + struct lttng_ust_abi_object_data *obj_data, + struct lttng_ust_abi_object_data **context_data); +int lttng_ust_ctl_set_filter(int sock, + struct lttng_ust_abi_filter_bytecode *bytecode, + struct lttng_ust_abi_object_data *obj_data); +int lttng_ust_ctl_set_capture(int sock, + struct lttng_ust_abi_capture_bytecode *bytecode, + struct lttng_ust_abi_object_data *obj_data); +int lttng_ust_ctl_set_exclusion(int sock, + struct lttng_ust_abi_event_exclusion *exclusion, + struct lttng_ust_abi_object_data *obj_data); int lttng_ust_ctl_enable(int sock, struct lttng_ust_abi_object_data *object); int lttng_ust_ctl_disable(int sock, struct lttng_ust_abi_object_data *object); @@ -94,8 +97,8 @@ int lttng_ust_ctl_stop_session(int sock, int handle); * of that group is fired. It returns a handle to be used when creating event * notifier in that group. */ -int lttng_ust_ctl_create_event_notifier_group(int sock, int pipe_fd, - struct lttng_ust_abi_object_data **event_notifier_group); +int lttng_ust_ctl_create_event_notifier_group( + int sock, int pipe_fd, struct lttng_ust_abi_object_data **event_notifier_group); /* * lttng_ust_ctl_create_event notifier creates a event notifier in a event notifier @@ -105,9 +108,9 @@ int lttng_ust_ctl_create_event_notifier_group(int sock, int pipe_fd, * notifier. */ int lttng_ust_ctl_create_event_notifier(int sock, - struct lttng_ust_abi_event_notifier *event_notifier, - struct lttng_ust_abi_object_data *event_notifier_group, - struct lttng_ust_abi_object_data **event_notifier_data); + struct lttng_ust_abi_event_notifier *event_notifier, + struct lttng_ust_abi_object_data *event_notifier_group, + struct lttng_ust_abi_object_data **event_notifier_data); /* * lttng_ust_ctl_tracepoint_list returns a tracepoint list handle, or negative @@ -120,8 +123,9 @@ int lttng_ust_ctl_tracepoint_list(int sock); * handle. End is iteration is reached when -LTTNG_UST_ERR_NOENT is * returned. */ -int lttng_ust_ctl_tracepoint_list_get(int sock, int tp_list_handle, - struct lttng_ust_abi_tracepoint_iter *iter); +int lttng_ust_ctl_tracepoint_list_get(int sock, + int tp_list_handle, + struct lttng_ust_abi_tracepoint_iter *iter); /* * lttng_ust_ctl_tracepoint_field_list returns a tracepoint field list handle, @@ -134,8 +138,9 @@ int lttng_ust_ctl_tracepoint_field_list(int sock); * list handle. End is iteration is reached when -LTTNG_UST_ERR_NOENT is * returned. */ -int lttng_ust_ctl_tracepoint_field_list_get(int sock, int tp_field_list_handle, - struct lttng_ust_abi_field_iter *iter); +int lttng_ust_ctl_tracepoint_field_list_get(int sock, + int tp_field_list_handle, + struct lttng_ust_abi_field_iter *iter); int lttng_ust_ctl_tracer_version(int sock, struct lttng_ust_abi_tracer_version *v); int lttng_ust_ctl_wait_quiescent(int sock); @@ -150,14 +155,15 @@ int lttng_ust_ctl_release_object(int sock, struct lttng_ust_abi_object_data *dat int lttng_ust_ctl_release_handle(int sock, int handle); int lttng_ust_ctl_recv_channel_from_consumer(int sock, - struct lttng_ust_abi_object_data **channel_data); + struct lttng_ust_abi_object_data **channel_data); int lttng_ust_ctl_recv_stream_from_consumer(int sock, - struct lttng_ust_abi_object_data **stream_data); -int lttng_ust_ctl_send_channel_to_ust(int sock, int session_handle, - struct lttng_ust_abi_object_data *channel_data); + struct lttng_ust_abi_object_data **stream_data); +int lttng_ust_ctl_send_channel_to_ust(int sock, + int session_handle, + struct lttng_ust_abi_object_data *channel_data); int lttng_ust_ctl_send_stream_to_ust(int sock, - struct lttng_ust_abi_object_data *channel_data, - struct lttng_ust_abi_object_data *stream_data); + struct lttng_ust_abi_object_data *channel_data, + struct lttng_ust_abi_object_data *stream_data); /* * lttng_ust_ctl_duplicate_ust_object_data allocated a new object in "dest" if @@ -165,7 +171,7 @@ int lttng_ust_ctl_send_stream_to_ust(int sock, * lttng_ust_ctl_release_object() and then freed with free(). */ int lttng_ust_ctl_duplicate_ust_object_data(struct lttng_ust_abi_object_data **dest, - struct lttng_ust_abi_object_data *src); + struct lttng_ust_abi_object_data *src); /* * API used by consumer. @@ -177,9 +183,8 @@ struct lttng_ust_ctl_consumer_channel_attr; int lttng_ust_ctl_get_nr_stream_per_channel(void); -struct lttng_ust_ctl_consumer_channel * - lttng_ust_ctl_create_channel(struct lttng_ust_ctl_consumer_channel_attr *attr, - const int *stream_fds, int nr_stream_fds); +struct lttng_ust_ctl_consumer_channel *lttng_ust_ctl_create_channel( + struct lttng_ust_ctl_consumer_channel_attr *attr, const int *stream_fds, int nr_stream_fds); /* * Each stream created needs to be destroyed before calling * lttng_ust_ctl_destroy_channel(). @@ -187,27 +192,25 @@ struct lttng_ust_ctl_consumer_channel * void lttng_ust_ctl_destroy_channel(struct lttng_ust_ctl_consumer_channel *chan); int lttng_ust_ctl_send_channel_to_sessiond(int sock, - struct lttng_ust_ctl_consumer_channel *channel); + struct lttng_ust_ctl_consumer_channel *channel); int lttng_ust_ctl_channel_close_wait_fd(struct lttng_ust_ctl_consumer_channel *consumer_chan); int lttng_ust_ctl_channel_close_wakeup_fd(struct lttng_ust_ctl_consumer_channel *consumer_chan); int lttng_ust_ctl_channel_get_wait_fd(struct lttng_ust_ctl_consumer_channel *consumer_chan); int lttng_ust_ctl_channel_get_wakeup_fd(struct lttng_ust_ctl_consumer_channel *consumer_chan); -int lttng_ust_ctl_write_metadata_to_channel( - struct lttng_ust_ctl_consumer_channel *channel, - const char *metadata_str, /* NOT null-terminated */ - size_t len); /* metadata length */ -ssize_t lttng_ust_ctl_write_one_packet_to_channel( - struct lttng_ust_ctl_consumer_channel *channel, - const char *metadata_str, /* NOT null-terminated */ - size_t len); /* metadata length */ +int lttng_ust_ctl_write_metadata_to_channel(struct lttng_ust_ctl_consumer_channel *channel, + const char *metadata_str, /* NOT null-terminated */ + size_t len); /* metadata length */ +ssize_t lttng_ust_ctl_write_one_packet_to_channel(struct lttng_ust_ctl_consumer_channel *channel, + const char *metadata_str, /* NOT null-terminated + */ + size_t len); /* metadata length */ /* * Send a NULL stream to finish iteration over all streams of a given * channel. */ -int lttng_ust_ctl_send_stream_to_sessiond(int sock, - struct lttng_ust_ctl_consumer_stream *stream); +int lttng_ust_ctl_send_stream_to_sessiond(int sock, struct lttng_ust_ctl_consumer_stream *stream); int lttng_ust_ctl_stream_close_wait_fd(struct lttng_ust_ctl_consumer_stream *stream); int lttng_ust_ctl_stream_close_wakeup_fd(struct lttng_ust_ctl_consumer_stream *stream); int lttng_ust_ctl_stream_get_wait_fd(struct lttng_ust_ctl_consumer_stream *stream); @@ -215,15 +218,13 @@ int lttng_ust_ctl_stream_get_wakeup_fd(struct lttng_ust_ctl_consumer_stream *str /* Create/destroy stream buffers for read */ struct lttng_ust_ctl_consumer_stream * - lttng_ust_ctl_create_stream(struct lttng_ust_ctl_consumer_channel *channel, - int cpu); +lttng_ust_ctl_create_stream(struct lttng_ust_ctl_consumer_channel *channel, int cpu); void lttng_ust_ctl_destroy_stream(struct lttng_ust_ctl_consumer_stream *stream); /* For mmap mode, readable without "get" operation */ -int lttng_ust_ctl_get_mmap_len(struct lttng_ust_ctl_consumer_stream *stream, - unsigned long *len); +int lttng_ust_ctl_get_mmap_len(struct lttng_ust_ctl_consumer_stream *stream, unsigned long *len); int lttng_ust_ctl_get_max_subbuf_size(struct lttng_ust_ctl_consumer_stream *stream, - unsigned long *len); + unsigned long *len); /* * For mmap mode, operate on the current packet (between get/put or @@ -231,11 +232,10 @@ int lttng_ust_ctl_get_max_subbuf_size(struct lttng_ust_ctl_consumer_stream *stre */ void *lttng_ust_ctl_get_mmap_base(struct lttng_ust_ctl_consumer_stream *stream); int lttng_ust_ctl_get_mmap_read_offset(struct lttng_ust_ctl_consumer_stream *stream, - unsigned long *off); -int lttng_ust_ctl_get_subbuf_size(struct lttng_ust_ctl_consumer_stream *stream, - unsigned long *len); + unsigned long *off); +int lttng_ust_ctl_get_subbuf_size(struct lttng_ust_ctl_consumer_stream *stream, unsigned long *len); int lttng_ust_ctl_get_padded_subbuf_size(struct lttng_ust_ctl_consumer_stream *stream, - unsigned long *len); + unsigned long *len); int lttng_ust_ctl_get_next_subbuf(struct lttng_ust_ctl_consumer_stream *stream); int lttng_ust_ctl_put_next_subbuf(struct lttng_ust_ctl_consumer_stream *stream); @@ -244,15 +244,13 @@ int lttng_ust_ctl_put_next_subbuf(struct lttng_ust_ctl_consumer_stream *stream); int lttng_ust_ctl_snapshot(struct lttng_ust_ctl_consumer_stream *stream); int lttng_ust_ctl_snapshot_sample_positions(struct lttng_ust_ctl_consumer_stream *stream); int lttng_ust_ctl_snapshot_get_consumed(struct lttng_ust_ctl_consumer_stream *stream, - unsigned long *pos); + unsigned long *pos); int lttng_ust_ctl_snapshot_get_produced(struct lttng_ust_ctl_consumer_stream *stream, - unsigned long *pos); -int lttng_ust_ctl_get_subbuf(struct lttng_ust_ctl_consumer_stream *stream, - unsigned long *pos); + unsigned long *pos); +int lttng_ust_ctl_get_subbuf(struct lttng_ust_ctl_consumer_stream *stream, unsigned long *pos); int lttng_ust_ctl_put_subbuf(struct lttng_ust_ctl_consumer_stream *stream); -int lttng_ust_ctl_flush_buffer(struct lttng_ust_ctl_consumer_stream *stream, - int producer_active); +int lttng_ust_ctl_flush_buffer(struct lttng_ust_ctl_consumer_stream *stream, int producer_active); int lttng_ust_ctl_clear_buffer(struct lttng_ust_ctl_consumer_stream *stream); /* index */ @@ -263,34 +261,30 @@ int lttng_ust_ctl_clear_buffer(struct lttng_ust_ctl_consumer_stream *stream); */ int lttng_ust_ctl_get_timestamp_begin(struct lttng_ust_ctl_consumer_stream *stream, - uint64_t *timestamp_begin); + uint64_t *timestamp_begin); int lttng_ust_ctl_get_timestamp_end(struct lttng_ust_ctl_consumer_stream *stream, - uint64_t *timestamp_end); + uint64_t *timestamp_end); int lttng_ust_ctl_get_events_discarded(struct lttng_ust_ctl_consumer_stream *stream, - uint64_t *events_discarded); + uint64_t *events_discarded); int lttng_ust_ctl_get_content_size(struct lttng_ust_ctl_consumer_stream *stream, - uint64_t *content_size); + uint64_t *content_size); int lttng_ust_ctl_get_packet_size(struct lttng_ust_ctl_consumer_stream *stream, - uint64_t *packet_size); -int lttng_ust_ctl_get_sequence_number(struct lttng_ust_ctl_consumer_stream *stream, - uint64_t *seq); + uint64_t *packet_size); +int lttng_ust_ctl_get_sequence_number(struct lttng_ust_ctl_consumer_stream *stream, uint64_t *seq); /* * Getter returning state invariant for the stream, which can be used * without "get" operation. */ -int lttng_ust_ctl_get_stream_id(struct lttng_ust_ctl_consumer_stream *stream, - uint64_t *stream_id); -int lttng_ust_ctl_get_instance_id(struct lttng_ust_ctl_consumer_stream *stream, - uint64_t *id); +int lttng_ust_ctl_get_stream_id(struct lttng_ust_ctl_consumer_stream *stream, uint64_t *stream_id); +int lttng_ust_ctl_get_instance_id(struct lttng_ust_ctl_consumer_stream *stream, uint64_t *id); /* * Getter returning the current timestamp as perceived from the * tracer. */ -int lttng_ust_ctl_get_current_timestamp(struct lttng_ust_ctl_consumer_stream *stream, - uint64_t *ts); +int lttng_ust_ctl_get_current_timestamp(struct lttng_ust_ctl_consumer_stream *stream, uint64_t *ts); /* returns whether UST has perf counters support. */ int lttng_ust_ctl_has_perf_counters(void); @@ -321,13 +315,13 @@ enum lttng_ust_ctl_channel_header { enum lttng_ust_ctl_abstract_types { lttng_ust_ctl_atype_integer, - lttng_ust_ctl_atype_enum, /* legacy */ - lttng_ust_ctl_atype_array, /* legacy */ - lttng_ust_ctl_atype_sequence, /* legacy */ + lttng_ust_ctl_atype_enum, /* legacy */ + lttng_ust_ctl_atype_array, /* legacy */ + lttng_ust_ctl_atype_sequence, /* legacy */ lttng_ust_ctl_atype_string, lttng_ust_ctl_atype_float, - lttng_ust_ctl_atype_variant, /* legacy */ - lttng_ust_ctl_atype_struct, /* legacy */ + lttng_ust_ctl_atype_variant, /* legacy */ + lttng_ust_ctl_atype_struct, /* legacy */ lttng_ust_ctl_atype_enum_nestable, lttng_ust_ctl_atype_array_nestable, lttng_ust_ctl_atype_sequence_nestable, @@ -343,27 +337,27 @@ enum lttng_ust_ctl_string_encodings { NR_LTTNG_UST_CTL_STRING_ENCODINGS, }; -#define LTTNG_UST_CTL_UST_INTEGER_TYPE_PADDING 24 +#define LTTNG_UST_CTL_UST_INTEGER_TYPE_PADDING 24 struct lttng_ust_ctl_integer_type { - uint32_t size; /* in bits */ + uint32_t size; /* in bits */ uint32_t signedness; uint32_t reverse_byte_order; - uint32_t base; /* 2, 8, 10, 16, for pretty print */ - int32_t encoding; /* enum lttng_ust_ctl_string_encodings */ - uint16_t alignment; /* in bits */ + uint32_t base; /* 2, 8, 10, 16, for pretty print */ + int32_t encoding; /* enum lttng_ust_ctl_string_encodings */ + uint16_t alignment; /* in bits */ char padding[LTTNG_UST_CTL_UST_INTEGER_TYPE_PADDING]; } LTTNG_PACKED; -#define LTTNG_UST_CTL_UST_FLOAT_TYPE_PADDING 24 +#define LTTNG_UST_CTL_UST_FLOAT_TYPE_PADDING 24 struct lttng_ust_ctl_float_type { - uint32_t exp_dig; /* exponent digits, in bits */ - uint32_t mant_dig; /* mantissa digits, in bits */ + uint32_t exp_dig; /* exponent digits, in bits */ + uint32_t mant_dig; /* mantissa digits, in bits */ uint32_t reverse_byte_order; - uint16_t alignment; /* in bits */ + uint16_t alignment; /* in bits */ char padding[LTTNG_UST_CTL_UST_FLOAT_TYPE_PADDING]; } LTTNG_PACKED; -#define LTTNG_UST_CTL_UST_ENUM_VALUE_PADDING 15 +#define LTTNG_UST_CTL_UST_ENUM_VALUE_PADDING 15 struct lttng_ust_ctl_enum_value { uint64_t value; uint8_t signedness; @@ -374,7 +368,7 @@ enum lttng_ust_ctl_ust_enum_entry_options { LTTNG_UST_CTL_UST_ENUM_ENTRY_OPTION_IS_AUTO = 1U << 0, }; -#define LTTNG_UST_CTL_UST_ENUM_ENTRY_PADDING 32 +#define LTTNG_UST_CTL_UST_ENUM_ENTRY_PADDING 32 struct lttng_ust_ctl_enum_entry { struct lttng_ust_ctl_enum_value start, end; /* start and end are inclusive */ char string[LTTNG_UST_ABI_SYM_NAME_LEN]; @@ -387,16 +381,16 @@ struct lttng_ust_ctl_enum_entry { } LTTNG_PACKED; /* legacy */ -#define LTTNG_UST_CTL_UST_BASIC_TYPE_PADDING 296 +#define LTTNG_UST_CTL_UST_BASIC_TYPE_PADDING 296 union _lttng_ust_ctl_basic_type { struct lttng_ust_ctl_integer_type integer; struct { char name[LTTNG_UST_ABI_SYM_NAME_LEN]; struct lttng_ust_ctl_integer_type container_type; - uint64_t id; /* enum ID in sessiond. */ + uint64_t id; /* enum ID in sessiond. */ } enumeration; struct { - int32_t encoding; /* enum lttng_ust_ctl_string_encodings */ + int32_t encoding; /* enum lttng_ust_ctl_string_encodings */ } string; struct lttng_ust_ctl_float_type _float; char padding[LTTNG_UST_CTL_UST_BASIC_TYPE_PADDING]; @@ -414,28 +408,28 @@ struct lttng_ust_ctl_basic_type { * Padding is derived from largest member: u.legacy.sequence which * contains two basic types, each with LTTNG_UST_CTL_UST_BASIC_TYPE_PADDING. */ -#define LTTNG_UST_CTL_UST_TYPE_PADDING (2 * LTTNG_UST_CTL_UST_BASIC_TYPE_PADDING) +#define LTTNG_UST_CTL_UST_TYPE_PADDING (2 * LTTNG_UST_CTL_UST_BASIC_TYPE_PADDING) struct lttng_ust_ctl_type { enum lttng_ust_ctl_abstract_types atype; union { struct lttng_ust_ctl_integer_type integer; struct lttng_ust_ctl_float_type _float; struct { - int32_t encoding; /* enum lttng_ust_ctl_string_encodings */ + int32_t encoding; /* enum lttng_ust_ctl_string_encodings */ } string; struct { char name[LTTNG_UST_ABI_SYM_NAME_LEN]; - uint64_t id; /* enum ID in sessiond. */ + uint64_t id; /* enum ID in sessiond. */ /* container_type follows after this struct lttng_ust_ctl_field. */ } enum_nestable; struct { - uint32_t length; /* num. elems. */ + uint32_t length; /* num. elems. */ uint32_t alignment; /* elem_type follows after this struct lttng_ust_ctl_field. */ } array_nestable; struct { char length_name[LTTNG_UST_ABI_SYM_NAME_LEN]; - uint32_t alignment; /* Alignment before elements. */ + uint32_t alignment; /* Alignment before elements. */ /* elem_type follows after the length_type. */ } sequence_nestable; struct { @@ -455,7 +449,7 @@ struct lttng_ust_ctl_type { union _lttng_ust_ctl_basic_type basic; struct { struct lttng_ust_ctl_basic_type elem_type; - uint32_t length; /* num. elems. */ + uint32_t length; /* num. elems. */ } array; struct { struct lttng_ust_ctl_basic_type length_type; @@ -475,7 +469,7 @@ struct lttng_ust_ctl_type { } u; } LTTNG_PACKED; -#define LTTNG_UST_CTL_UST_FIELD_PADDING 28 +#define LTTNG_UST_CTL_UST_FIELD_PADDING 28 struct lttng_ust_ctl_field { char name[LTTNG_UST_ABI_SYM_NAME_LEN]; struct lttng_ust_ctl_type type; @@ -488,21 +482,21 @@ struct lttng_ust_ctl_field { * the output fields are not populated. */ int lttng_ust_ctl_recv_reg_msg(int sock, - enum lttng_ust_ctl_socket_type *type, - uint32_t *major, - uint32_t *minor, - uint32_t *pid, - uint32_t *ppid, - uint32_t *uid, - uint32_t *gid, - uint32_t *bits_per_long, - uint32_t *uint8_t_alignment, - uint32_t *uint16_t_alignment, - uint32_t *uint32_t_alignment, - uint32_t *uint64_t_alignment, - uint32_t *long_alignment, - int *byte_order, - char *name); /* size LTTNG_UST_ABI_PROCNAME_LEN */ + enum lttng_ust_ctl_socket_type *type, + uint32_t *major, + uint32_t *minor, + uint32_t *pid, + uint32_t *ppid, + uint32_t *uid, + uint32_t *gid, + uint32_t *bits_per_long, + uint32_t *uint8_t_alignment, + uint32_t *uint16_t_alignment, + uint32_t *uint32_t_alignment, + uint32_t *uint64_t_alignment, + uint32_t *long_alignment, + int *byte_order, + char *name); /* size LTTNG_UST_ABI_PROCNAME_LEN */ /* * Returns 0 on success, negative UST or system error value on error. @@ -517,63 +511,63 @@ int lttng_ust_ctl_recv_notify(int sock, enum lttng_ust_ctl_notify_cmd *notify_cm * Returns 0 on success, negative UST or system error value on error. */ int lttng_ust_ctl_recv_register_event(int sock, - int *session_objd, /* session descriptor (output) */ - int *channel_objd, /* channel descriptor (output) */ - char *event_name, /* - * event name (output, - * size LTTNG_UST_ABI_SYM_NAME_LEN) - */ - int *loglevel, - char **signature, /* - * event signature - * (output, dynamically - * allocated, must be free(3)'d - * by the caller if function - * returns success.) - */ - size_t *nr_fields, - struct lttng_ust_ctl_field **fields, - char **model_emf_uri); + int *session_objd, /* session descriptor (output) */ + int *channel_objd, /* channel descriptor (output) */ + char *event_name, /* + * event name (output, + * size LTTNG_UST_ABI_SYM_NAME_LEN) + */ + int *loglevel, + char **signature, /* + * event signature + * (output, dynamically + * allocated, must be free(3)'d + * by the caller if function + * returns success.) + */ + size_t *nr_fields, + struct lttng_ust_ctl_field **fields, + char **model_emf_uri); /* * Returns 0 on success, negative error value on error. */ int lttng_ust_ctl_reply_register_event(int sock, - uint32_t id, /* event id (input) */ - int ret_code); /* return code. 0 ok, negative error */ + uint32_t id, /* event id (input) */ + int ret_code); /* return code. 0 ok, negative error */ /* * Returns 0 on success, negative UST or system error value on error. */ int lttng_ust_ctl_recv_register_enum(int sock, - int *session_objd, - char *enum_name, - struct lttng_ust_ctl_enum_entry **entries, - size_t *nr_entries); + int *session_objd, + char *enum_name, + struct lttng_ust_ctl_enum_entry **entries, + size_t *nr_entries); /* * Returns 0 on success, negative error value on error. */ int lttng_ust_ctl_reply_register_enum(int sock, - uint64_t id, /* enum id (input) */ - int ret_code); + uint64_t id, /* enum id (input) */ + int ret_code); /* * Returns 0 on success, negative UST or system error value on error. */ int lttng_ust_ctl_recv_register_channel(int sock, - int *session_objd, /* session descriptor (output) */ - int *channel_objd, /* channel descriptor (output) */ - size_t *nr_fields, /* context fields */ - struct lttng_ust_ctl_field **fields); + int *session_objd, /* session descriptor (output) */ + int *channel_objd, /* channel descriptor (output) */ + size_t *nr_fields, /* context fields */ + struct lttng_ust_ctl_field **fields); /* * Returns 0 on success, negative error value on error. */ int lttng_ust_ctl_reply_register_channel(int sock, - uint32_t chan_id, - enum lttng_ust_ctl_channel_header header_type, - int ret_code); /* return code. 0 ok, negative error */ + uint32_t chan_id, + enum lttng_ust_ctl_channel_header header_type, + int ret_code); /* return code. 0 ok, negative error */ /* * Counter API. @@ -585,8 +579,8 @@ enum lttng_ust_ctl_counter_bitness { }; enum lttng_ust_ctl_counter_arithmetic { - LTTNG_UST_CTL_COUNTER_ARITHMETIC_MODULAR = 0, - LTTNG_UST_CTL_COUNTER_ARITHMETIC_SATURATION = 1, + LTTNG_UST_CTL_COUNTER_ARITHMETIC_MODULAR = 0, + LTTNG_UST_CTL_COUNTER_ARITHMETIC_SATURATION = 1, }; /* Used as alloc flags. */ @@ -608,24 +602,25 @@ struct lttng_ust_ctl_counter_dimension { }; struct lttng_ust_ctl_daemon_counter * - lttng_ust_ctl_create_counter(size_t nr_dimensions, - const struct lttng_ust_ctl_counter_dimension *dimensions, - int64_t global_sum_step, - int global_counter_fd, - int nr_counter_cpu_fds, - const int *counter_cpu_fds, - enum lttng_ust_ctl_counter_bitness bitness, - enum lttng_ust_ctl_counter_arithmetic arithmetic, - uint32_t alloc_flags, - bool coalesce_hits); +lttng_ust_ctl_create_counter(size_t nr_dimensions, + const struct lttng_ust_ctl_counter_dimension *dimensions, + int64_t global_sum_step, + int global_counter_fd, + int nr_counter_cpu_fds, + const int *counter_cpu_fds, + enum lttng_ust_ctl_counter_bitness bitness, + enum lttng_ust_ctl_counter_arithmetic arithmetic, + uint32_t alloc_flags, + bool coalesce_hits); int lttng_ust_ctl_create_counter_data(struct lttng_ust_ctl_daemon_counter *counter, - struct lttng_ust_abi_object_data **counter_data); + struct lttng_ust_abi_object_data **counter_data); int lttng_ust_ctl_create_counter_global_data(struct lttng_ust_ctl_daemon_counter *counter, - struct lttng_ust_abi_object_data **counter_global_data); -int lttng_ust_ctl_create_counter_cpu_data(struct lttng_ust_ctl_daemon_counter *counter, int cpu, - struct lttng_ust_abi_object_data **counter_cpu_data); + struct lttng_ust_abi_object_data **counter_global_data); +int lttng_ust_ctl_create_counter_cpu_data(struct lttng_ust_ctl_daemon_counter *counter, + int cpu, + struct lttng_ust_abi_object_data **counter_cpu_data); /* * Each counter data and counter cpu data created need to be destroyed @@ -633,25 +628,30 @@ int lttng_ust_ctl_create_counter_cpu_data(struct lttng_ust_ctl_daemon_counter *c */ void lttng_ust_ctl_destroy_counter(struct lttng_ust_ctl_daemon_counter *counter); -int lttng_ust_ctl_send_counter_data_to_ust(int sock, int parent_handle, - struct lttng_ust_abi_object_data *counter_data); -int lttng_ust_ctl_send_counter_global_data_to_ust(int sock, - struct lttng_ust_abi_object_data *counter_data, - struct lttng_ust_abi_object_data *counter_global_data); +int lttng_ust_ctl_send_counter_data_to_ust(int sock, + int parent_handle, + struct lttng_ust_abi_object_data *counter_data); +int lttng_ust_ctl_send_counter_global_data_to_ust( + int sock, + struct lttng_ust_abi_object_data *counter_data, + struct lttng_ust_abi_object_data *counter_global_data); int lttng_ust_ctl_send_counter_cpu_data_to_ust(int sock, - struct lttng_ust_abi_object_data *counter_data, - struct lttng_ust_abi_object_data *counter_cpu_data); + struct lttng_ust_abi_object_data *counter_data, + struct lttng_ust_abi_object_data *counter_cpu_data); int lttng_ust_ctl_counter_read(struct lttng_ust_ctl_daemon_counter *counter, - const size_t *dimension_indexes, - int cpu, int64_t *value, - bool *overflow, bool *underflow); + const size_t *dimension_indexes, + int cpu, + int64_t *value, + bool *overflow, + bool *underflow); int lttng_ust_ctl_counter_aggregate(struct lttng_ust_ctl_daemon_counter *counter, - const size_t *dimension_indexes, - int64_t *value, - bool *overflow, bool *underflow); + const size_t *dimension_indexes, + int64_t *value, + bool *overflow, + bool *underflow); int lttng_ust_ctl_counter_clear(struct lttng_ust_ctl_daemon_counter *counter, - const size_t *dimension_indexes); + const size_t *dimension_indexes); void lttng_ust_ctl_sigbus_handle(void *addr);