X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fmi-lttng.h;h=9c985f6bbe68a720ed867fe96a07d59f07ee845b;hp=3ea6bc6d79cb260a225f62bb6c2cbf9c8e1d50df;hb=3a4595c2469472dee1656cde5f8882c2123efd3c;hpb=83d6d6c4496e692df39843142cb8cf96279eaa20 diff --git a/src/common/mi-lttng.h b/src/common/mi-lttng.h index 3ea6bc6d7..9c985f6bb 100644 --- a/src/common/mi-lttng.h +++ b/src/common/mi-lttng.h @@ -1,20 +1,10 @@ /* - * Copyright (C) 2014 - Jonathan Rajotte - * - Olivier Cotte - * Copyright (C) 2016 - Jérémie Galarneau + * Copyright (C) 2014 Jonathan Rajotte + * Copyright (C) 2014 Olivier Cotte + * Copyright (C) 2016 Jérémie Galarneau * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License, version 2 only, as - * published by the Free Software Foundation. + * SPDX-License-Identifier: GPL-2.0-only * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 51 - * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _MI_LTTNG_H @@ -111,8 +101,8 @@ extern const char * const mi_lttng_element_save; /* Strings related to load command */ extern const char * const mi_lttng_element_load; -LTTNG_HIDDEN const char * const mi_lttng_element_load_overrides; -LTTNG_HIDDEN const char * const mi_lttng_element_load_override_url; +LTTNG_HIDDEN extern const char * const mi_lttng_element_load_overrides; +LTTNG_HIDDEN extern const char * const mi_lttng_element_load_override_url; /* General element of mi_lttng */ extern const char * const mi_lttng_element_empty; @@ -187,40 +177,40 @@ extern const char * const mi_lttng_element_snapshot_session_name; extern const char * const mi_lttng_element_snapshots; /* String related to track/untrack command */ -const char * const mi_lttng_element_track_untrack_all_wildcard; +extern const char * const mi_lttng_element_track_untrack_all_wildcard; -LTTNG_HIDDEN const char * const mi_lttng_element_session_name; +LTTNG_HIDDEN extern const char * const mi_lttng_element_session_name; /* String related to rotate command */ -LTTNG_HIDDEN const char * const mi_lttng_element_rotation; -LTTNG_HIDDEN const char * const mi_lttng_element_rotate_status; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedules; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule_periodic; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule_periodic_time_us; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule_size_threshold; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule_size_threshold_bytes; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule_result; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_schedule_results; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_state; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_local; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_local_absolute_path; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_relay; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_relay_host; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_relay_control_port; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_relay_data_port; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_relay_protocol; -LTTNG_HIDDEN const char * const mi_lttng_element_rotation_location_relay_relative_path; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotate_status; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_schedule; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_schedules; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_schedule_periodic; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_schedule_periodic_time_us; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_schedule_size_threshold; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_schedule_size_threshold_bytes; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_schedule_result; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_schedule_results; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_state; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_location; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_location_local; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_location_local_absolute_path; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_location_relay; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_location_relay_host; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_location_relay_control_port; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_location_relay_data_port; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_location_relay_protocol; +LTTNG_HIDDEN extern const char * const mi_lttng_element_rotation_location_relay_relative_path; /* String related to enum lttng_rotation_state */ -LTTNG_HIDDEN const char * const mi_lttng_rotation_state_str_ongoing; -LTTNG_HIDDEN const char * const mi_lttng_rotation_state_str_completed; -LTTNG_HIDDEN const char * const mi_lttng_rotation_state_str_expired; -LTTNG_HIDDEN const char * const mi_lttng_rotation_state_str_error; +LTTNG_HIDDEN extern const char * const mi_lttng_rotation_state_str_ongoing; +LTTNG_HIDDEN extern const char * const mi_lttng_rotation_state_str_completed; +LTTNG_HIDDEN extern const char * const mi_lttng_rotation_state_str_expired; +LTTNG_HIDDEN extern const char * const mi_lttng_rotation_state_str_error; /* String related to enum lttng_trace_archive_location_relay_protocol_type */ -LTTNG_HIDDEN const char * const mi_lttng_rotation_location_relay_protocol_str_tcp; +LTTNG_HIDDEN extern const char * const mi_lttng_rotation_location_relay_protocol_str_tcp; /* String related to add-context command */ LTTNG_HIDDEN extern const char * const mi_lttng_element_context_symbol; @@ -606,7 +596,7 @@ int mi_lttng_event_fields_open(struct mi_writer *writer); int mi_lttng_trackers_open(struct mi_writer *writer); /* - * Machine interface: open a id tracker element. + * Machine interface: open a process attribute tracker element. * * writer An instance of a machine interface writer. * @@ -615,8 +605,8 @@ int mi_lttng_trackers_open(struct mi_writer *writer); * * Note: A targets element is also opened for each tracker definition */ -int mi_lttng_id_tracker_open( - struct mi_writer *writer, enum lttng_tracker_type tracker_type); +int mi_lttng_process_attribute_tracker_open( + struct mi_writer *writer, enum lttng_process_attr process_attr); /* * Machine interface: open a PIDs element. @@ -674,28 +664,54 @@ int mi_lttng_process(struct mi_writer *writer, pid_t pid , const char *name, */ int mi_lttng_pid(struct mi_writer *writer, pid_t pid , const char *name, int is_open); + /* - * Machine interface: open a targets element. + * Machine interface: open a process attribute values element. * * writer An instance of a machine interface writer. * * Returns zero if the element's value could be written. * Negative values indicate an error. */ -int mi_lttng_targets_open(struct mi_writer *writer); +int mi_lttng_process_attr_values_open(struct mi_writer *writer); /* - * Machine interface for track/untrack an id_target + * Machine interface for track/untrack of all process attribute values. * * writer An instance of a machine interface writer. * * Returns zero if the element's value could be written. * Negative values indicate an error. */ -int mi_lttng_id_target(struct mi_writer *writer, - enum lttng_tracker_type tracker_type, - struct lttng_tracker_id *id, - int is_open); +int mi_lttng_all_process_attribute_value(struct mi_writer *writer, + enum lttng_process_attr process_attr, + bool is_open); + +/* + * Machine interface for track/untrack of an integral process attribute value. + * + * writer An instance of a machine interface writer. + * + * Returns zero if the element's value could be written. + * Negative values indicate an error. + */ +int mi_lttng_integral_process_attribute_value(struct mi_writer *writer, + enum lttng_process_attr process_attr, + int64_t value, + bool is_open); + +/* + * Machine interface for track/untrack of a string process attribute value. + * + * writer An instance of a machine interface writer. + * + * Returns zero if the element's value could be written. + * Negative values indicate an error. + */ +int mi_lttng_string_process_attribute_value(struct mi_writer *writer, + enum lttng_process_attr process_attr, + const char *value, + bool is_open); /* * Machine interface of a context.