lib: compile liblttng-ctl as C++
[lttng-tools.git] / src / common / mi-lttng.h
index 38a7d0d91290a9276bf319ab8159ed863c6f7461..74ae502f5be023941a939f7a3a0fe8571f72246a 100644 (file)
 #include <common/config/session-config.h>
 #include <lttng/lttng.h>
 
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
 /* Don't want to reference snapshot-internal.h here */
 struct lttng_snapshot_output;
 
@@ -29,7 +33,7 @@ struct mi_writer {
 /*
  * Version information for the machine interface.
  */
-struct mi_lttng_version {
+struct mi_lttng_version_data {
        char version[LTTNG_NAME_MAX]; /* Version number of package */
        uint32_t version_major; /* LTTng-Tools major version number */
        uint32_t version_minor; /* LTTng-Tools minor version number */
@@ -58,347 +62,347 @@ struct mi_lttng_error_query_callbacks {
 };
 
 /* Strings related to command */
-extern const char * const mi_lttng_element_command;
-extern const char * const mi_lttng_element_command_action;
-extern const char * const mi_lttng_element_command_add_context;
-LTTNG_HIDDEN extern const char * const mi_lttng_element_command_add_trigger;
-extern const char * const mi_lttng_element_command_create;
-extern const char * const mi_lttng_element_command_destroy;
-extern const char * const mi_lttng_element_command_disable_channel;
-extern const char * const mi_lttng_element_command_disable_event;
-extern const char * const mi_lttng_element_command_enable_channels;
-extern const char * const mi_lttng_element_command_enable_event;
-extern const char * const mi_lttng_element_command_list;
-LTTNG_HIDDEN extern const char * const mi_lttng_element_command_list_trigger;
-extern const char * const mi_lttng_element_command_load;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_action;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_add_context;
+extern const char * const mi_lttng_element_command_add_trigger;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_create;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_destroy;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_disable_channel;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_disable_event;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_enable_channels;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_enable_event;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_list;
+extern const char * const mi_lttng_element_command_list_trigger;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_load;
 extern const char * const mi_lttng_element_command_metadata;
 extern const char * const mi_lttng_element_command_metadata_action;
 extern const char * const mi_lttng_element_command_regenerate;
 extern const char * const mi_lttng_element_command_regenerate_action;
-extern const char * const mi_lttng_element_command_name;
-extern const char * const mi_lttng_element_command_output;
-LTTNG_HIDDEN extern const char * const mi_lttng_element_command_remove_trigger;
-extern const char * const mi_lttng_element_command_save;
-extern const char * const mi_lttng_element_command_set_session;
-extern const char * const mi_lttng_element_command_snapshot;
-extern const char * const mi_lttng_element_command_snapshot_add;
-extern const char * const mi_lttng_element_command_snapshot_del;
-extern const char * const mi_lttng_element_command_snapshot_list;
-extern const char * const mi_lttng_element_command_snapshot_record;
-extern const char * const mi_lttng_element_command_start;
-extern const char * const mi_lttng_element_command_stop;
-extern const char * const mi_lttng_element_command_success;
-extern const char * const mi_lttng_element_command_track;
-extern const char * const mi_lttng_element_command_untrack;
-extern const char * const mi_lttng_element_command_version;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_name;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_output;
+extern const char * const mi_lttng_element_command_remove_trigger;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_save;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_set_session;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_snapshot;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_snapshot_add;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_snapshot_del;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_snapshot_list;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_snapshot_record;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_start;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_stop;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_success;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_track;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_untrack;
+LTTNG_EXPORT extern const char * const mi_lttng_element_command_version;
 extern const char * const mi_lttng_element_command_rotate;
 extern const char * const mi_lttng_element_command_enable_rotation;
 extern const char * const mi_lttng_element_command_disable_rotation;
 extern const char * const mi_lttng_element_command_clear;
 
 /* Strings related to version command */
-extern const char * const mi_lttng_element_version;
-extern const char * const mi_lttng_element_version_commit;
-extern const char * const mi_lttng_element_version_description;
-extern const char * const mi_lttng_element_version_license;
-extern const char * const mi_lttng_element_version_major;
-extern const char * const mi_lttng_element_version_minor;
-extern const char * const mi_lttng_element_version_patch_level;
-extern const char * const mi_lttng_element_version_str;
-extern const char * const mi_lttng_element_version_web;
+LTTNG_EXPORT extern const char * const mi_lttng_element_version;
+LTTNG_EXPORT extern const char * const mi_lttng_element_version_commit;
+LTTNG_EXPORT extern const char * const mi_lttng_element_version_description;
+LTTNG_EXPORT extern const char * const mi_lttng_element_version_license;
+LTTNG_EXPORT extern const char * const mi_lttng_element_version_major;
+LTTNG_EXPORT extern const char * const mi_lttng_element_version_minor;
+LTTNG_EXPORT extern const char * const mi_lttng_element_version_patch_level;
+LTTNG_EXPORT extern const char * const mi_lttng_element_version_str;
+LTTNG_EXPORT extern const char * const mi_lttng_element_version_web;
 
 /* String related to a lttng_event_field */
-extern const char * const mi_lttng_element_event_field;
-extern const char * const mi_lttng_element_event_fields;
+LTTNG_EXPORT extern const char * const mi_lttng_element_event_field;
+LTTNG_EXPORT extern const char * const mi_lttng_element_event_fields;
 
 /* String related to lttng_event_perf_counter_ctx */
-extern const char * const mi_lttng_element_perf_counter_context;
+LTTNG_EXPORT extern const char * const mi_lttng_element_perf_counter_context;
 
 /* Strings related to pid */
-extern const char * const mi_lttng_element_pid_id;
+LTTNG_EXPORT extern const char * const mi_lttng_element_pid_id;
 
 /* Strings related to save command */
-extern const char * const mi_lttng_element_save;
+LTTNG_EXPORT extern const char * const mi_lttng_element_save;
 
 /* Strings related to load command */
-extern const char * const mi_lttng_element_load;
-LTTNG_HIDDEN extern const char * const mi_lttng_element_load_overrides;
-LTTNG_HIDDEN extern const char * const mi_lttng_element_load_override_url;
+LTTNG_EXPORT extern const char * const mi_lttng_element_load;
+extern const char * const mi_lttng_element_load_overrides;
+extern const char * const mi_lttng_element_load_override_url;
 
 /* General element of mi_lttng */
-extern const char * const mi_lttng_element_empty;
-extern const char * const mi_lttng_element_id;
-extern const char * const mi_lttng_element_nowrite;
-extern const char * const mi_lttng_element_success;
-extern const char * const mi_lttng_element_type_enum;
-extern const char * const mi_lttng_element_type_float;
-extern const char * const mi_lttng_element_type_integer;
-extern const char * const mi_lttng_element_type_other;
-extern const char * const mi_lttng_element_type_string;
+LTTNG_EXPORT extern const char * const mi_lttng_element_empty;
+LTTNG_EXPORT extern const char * const mi_lttng_element_id;
+LTTNG_EXPORT extern const char * const mi_lttng_element_nowrite;
+LTTNG_EXPORT extern const char * const mi_lttng_element_success;
+LTTNG_EXPORT extern const char * const mi_lttng_element_type_enum;
+LTTNG_EXPORT extern const char * const mi_lttng_element_type_float;
+LTTNG_EXPORT extern const char * const mi_lttng_element_type_integer;
+LTTNG_EXPORT extern const char * const mi_lttng_element_type_other;
+LTTNG_EXPORT extern const char * const mi_lttng_element_type_string;
 
 /* String related to loglevel */
-extern const char * const mi_lttng_loglevel_str_alert;
-extern const char * const mi_lttng_loglevel_str_crit;
-extern const char * const mi_lttng_loglevel_str_debug;
-extern const char * const mi_lttng_loglevel_str_debug_function;
-extern const char * const mi_lttng_loglevel_str_debug_line;
-extern const char * const mi_lttng_loglevel_str_debug_module;
-extern const char * const mi_lttng_loglevel_str_debug_process;
-extern const char * const mi_lttng_loglevel_str_debug_program;
-extern const char * const mi_lttng_loglevel_str_debug_system;
-extern const char * const mi_lttng_loglevel_str_debug_unit;
-extern const char * const mi_lttng_loglevel_str_emerg;
-extern const char * const mi_lttng_loglevel_str_err;
-extern const char * const mi_lttng_loglevel_str_info;
-extern const char * const mi_lttng_loglevel_str_notice;
-extern const char * const mi_lttng_loglevel_str_unknown;
-extern const char * const mi_lttng_loglevel_str_warning;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_alert;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_crit;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_debug;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_debug_function;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_debug_line;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_debug_module;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_debug_process;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_debug_program;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_debug_system;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_debug_unit;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_emerg;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_err;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_info;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_notice;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_unknown;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_warning;
 
 /* String related to loglevel JUL */
-extern const char * const mi_lttng_loglevel_str_jul_all;
-extern const char * const mi_lttng_loglevel_str_jul_config;
-extern const char * const mi_lttng_loglevel_str_jul_fine;
-extern const char * const mi_lttng_loglevel_str_jul_finer;
-extern const char * const mi_lttng_loglevel_str_jul_finest;
-extern const char * const mi_lttng_loglevel_str_jul_info;
-extern const char * const mi_lttng_loglevel_str_jul_off;
-extern const char * const mi_lttng_loglevel_str_jul_severe;
-extern const char * const mi_lttng_loglevel_str_jul_warning;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_jul_all;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_jul_config;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_jul_fine;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_jul_finer;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_jul_finest;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_jul_info;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_jul_off;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_jul_severe;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_jul_warning;
 
 /* String related to loglevel Log4j */
-extern const char * const mi_lttng_loglevel_str_log4j_off;
-extern const char * const mi_lttng_loglevel_str_log4j_fatal;
-extern const char * const mi_lttng_loglevel_str_log4j_error;
-extern const char * const mi_lttng_loglevel_str_log4j_warn;
-extern const char * const mi_lttng_loglevel_str_log4j_info;
-extern const char * const mi_lttng_loglevel_str_log4j_debug;
-extern const char * const mi_lttng_loglevel_str_log4j_trace;
-extern const char * const mi_lttng_loglevel_str_log4j_all;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_log4j_off;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_log4j_fatal;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_log4j_error;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_log4j_warn;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_log4j_info;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_log4j_debug;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_log4j_trace;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_log4j_all;
 
 /* String related to loglevel Python */
-extern const char * const mi_lttng_loglevel_str_python_critical;
-extern const char * const mi_lttng_loglevel_str_python_error;
-extern const char * const mi_lttng_loglevel_str_python_warning;
-extern const char * const mi_lttng_loglevel_str_python_info;
-extern const char * const mi_lttng_loglevel_str_python_debug;
-extern const char * const mi_lttng_loglevel_str_python_notset;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_python_critical;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_python_error;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_python_warning;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_python_info;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_python_debug;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_str_python_notset;
 
 /* String related to loglevel type */
-extern const char * const mi_lttng_loglevel_type_all;
-extern const char * const mi_lttng_loglevel_type_range;
-extern const char * const mi_lttng_loglevel_type_single;
-extern const char * const mi_lttng_loglevel_type_unknown;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_type_all;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_type_range;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_type_single;
+LTTNG_EXPORT extern const char * const mi_lttng_loglevel_type_unknown;
 
 /* String related to a lttng_snapshot */
-extern const char * const mi_lttng_element_snapshot_ctrl_url;
-extern const char * const mi_lttng_element_snapshot_data_url;
-extern const char * const mi_lttng_element_snapshot_max_size;
-extern const char * const mi_lttng_element_snapshot_n_ptr;
-extern const char * const mi_lttng_element_snapshot_session_name;
-extern const char * const mi_lttng_element_snapshots;
+LTTNG_EXPORT extern const char * const mi_lttng_element_snapshot_ctrl_url;
+LTTNG_EXPORT extern const char * const mi_lttng_element_snapshot_data_url;
+LTTNG_EXPORT extern const char * const mi_lttng_element_snapshot_max_size;
+LTTNG_EXPORT extern const char * const mi_lttng_element_snapshot_n_ptr;
+LTTNG_EXPORT extern const char * const mi_lttng_element_snapshot_session_name;
+LTTNG_EXPORT extern const char * const mi_lttng_element_snapshots;
 
 /* String related to track/untrack command */
-extern const char * const mi_lttng_element_track_untrack_all_wildcard;
+LTTNG_EXPORT extern const char * const mi_lttng_element_track_untrack_all_wildcard;
 
-LTTNG_HIDDEN extern const char * const mi_lttng_element_session_name;
+extern const char * const mi_lttng_element_session_name;
 
 /* String related to rotate command */
-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;
+extern const char * const mi_lttng_element_rotation;
+extern const char * const mi_lttng_element_rotate_status;
+extern const char * const mi_lttng_element_rotation_schedule;
+extern const char * const mi_lttng_element_rotation_schedules;
+extern const char * const mi_lttng_element_rotation_schedule_periodic;
+extern const char * const mi_lttng_element_rotation_schedule_periodic_time_us;
+extern const char * const mi_lttng_element_rotation_schedule_size_threshold;
+extern const char * const mi_lttng_element_rotation_schedule_size_threshold_bytes;
+extern const char * const mi_lttng_element_rotation_schedule_result;
+extern const char * const mi_lttng_element_rotation_schedule_results;
+extern const char * const mi_lttng_element_rotation_state;
+extern const char * const mi_lttng_element_rotation_location;
+extern const char * const mi_lttng_element_rotation_location_local;
+extern const char * const mi_lttng_element_rotation_location_local_absolute_path;
+extern const char * const mi_lttng_element_rotation_location_relay;
+extern const char * const mi_lttng_element_rotation_location_relay_host;
+extern const char * const mi_lttng_element_rotation_location_relay_control_port;
+extern const char * const mi_lttng_element_rotation_location_relay_data_port;
+extern const char * const mi_lttng_element_rotation_location_relay_protocol;
+extern const char * const mi_lttng_element_rotation_location_relay_relative_path;
 
 /* String related to enum lttng_rotation_state */
-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;
+extern const char * const mi_lttng_rotation_state_str_ongoing;
+extern const char * const mi_lttng_rotation_state_str_completed;
+extern const char * const mi_lttng_rotation_state_str_expired;
+extern const char * const mi_lttng_rotation_state_str_error;
 
 /* String related to enum lttng_trace_archive_location_relay_protocol_type */
-LTTNG_HIDDEN extern const char * const mi_lttng_rotation_location_relay_protocol_str_tcp;
+extern const char * const mi_lttng_rotation_location_relay_protocol_str_tcp;
 
 /* String related to rate_policy elements */
-LTTNG_HIDDEN extern const char *const mi_lttng_element_rate_policy;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_rate_policy_every_n;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_rate_policy_once_after_n;
+extern const char *const mi_lttng_element_rate_policy;
+extern const char *const mi_lttng_element_rate_policy_every_n;
+extern const char *const mi_lttng_element_rate_policy_once_after_n;
 
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_rate_policy_every_n_interval;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_rate_policy_once_after_n_threshold;
 
 /* String related to action elements */
-LTTNG_HIDDEN extern const char *const mi_lttng_element_action;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_action_list;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_action_notify;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_action_start_session;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_action_stop_session;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_action_rotate_session;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_action_snapshot_session;
-LTTNG_HIDDEN extern const char
+extern const char *const mi_lttng_element_action;
+extern const char *const mi_lttng_element_action_list;
+extern const char *const mi_lttng_element_action_notify;
+extern const char *const mi_lttng_element_action_start_session;
+extern const char *const mi_lttng_element_action_stop_session;
+extern const char *const mi_lttng_element_action_rotate_session;
+extern const char *const mi_lttng_element_action_snapshot_session;
+extern const char
                *const mi_lttng_element_action_snapshot_session_output;
 
 /* String related to condition */
-LTTNG_HIDDEN extern const char *const mi_lttng_element_condition;
-LTTNG_HIDDEN extern const char
+extern const char *const mi_lttng_element_condition;
+extern const char
                *const mi_lttng_element_condition_buffer_usage_high;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_condition_buffer_usage_low;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_condition_event_rule_matches;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_condition_session_consumed_size;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_condition_session_rotation;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_condition_session_rotation_completed;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_condition_session_rotation_ongoing;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_condition_channel_name;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_condition_threshold_ratio;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_condition_threshold_bytes;
+extern const char *const mi_lttng_element_condition_channel_name;
+extern const char *const mi_lttng_element_condition_threshold_ratio;
+extern const char *const mi_lttng_element_condition_threshold_bytes;
 
 /* String related to capture descriptor */
-LTTNG_HIDDEN extern const char *const mi_lttng_element_capture_descriptor;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_capture_descriptors;
+extern const char *const mi_lttng_element_capture_descriptor;
+extern const char *const mi_lttng_element_capture_descriptors;
 
 /* String related to event expression */
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_expr;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_expr_payload_field;
-LTTNG_HIDDEN extern const char
+extern const char *const mi_lttng_element_event_expr;
+extern const char *const mi_lttng_element_event_expr_payload_field;
+extern const char
                *const mi_lttng_element_event_expr_channel_context_field;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_event_expr_app_specific_context_field;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_event_expr_array_field_element;
 
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_expr_provider_name;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_expr_type_name;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_expr_index;
+extern const char *const mi_lttng_element_event_expr_provider_name;
+extern const char *const mi_lttng_element_event_expr_type_name;
+extern const char *const mi_lttng_element_event_expr_index;
 
 /* String related to event rule */
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_rule;
+extern const char *const mi_lttng_element_event_rule;
 
 /* String related to lttng_event_rule */
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_rule_event_name;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_rule_name_pattern;
-LTTNG_HIDDEN extern const char
+extern const char *const mi_lttng_element_event_rule_event_name;
+extern const char *const mi_lttng_element_event_rule_name_pattern;
+extern const char
                *const mi_lttng_element_event_rule_filter_expression;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_rule_jul_logging;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_rule_kernel_kprobe;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_rule_kernel_syscall;
-LTTNG_HIDDEN extern const char
+extern const char *const mi_lttng_element_event_rule_jul_logging;
+extern const char *const mi_lttng_element_event_rule_kernel_kprobe;
+extern const char *const mi_lttng_element_event_rule_kernel_syscall;
+extern const char
                *const mi_lttng_element_event_rule_kernel_tracepoint;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_rule_kernel_uprobe;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_rule_log4j_logging;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_event_rule_python_logging;
-LTTNG_HIDDEN extern const char
+extern const char *const mi_lttng_element_event_rule_kernel_uprobe;
+extern const char *const mi_lttng_element_event_rule_log4j_logging;
+extern const char *const mi_lttng_element_event_rule_python_logging;
+extern const char
                *const mi_lttng_element_event_rule_user_tracepoint;
 
 /* String related to lttng_event_rule_kernel_syscall. */
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_event_rule_kernel_syscall_emission_site;
 
 /* String related to enum lttng_event_rule_kernel_syscall_emission_site. */
-LTTNG_HIDDEN extern const char *const
+extern const char *const
                mi_lttng_event_rule_kernel_syscall_emission_site_entry_exit;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_event_rule_kernel_syscall_emission_site_entry;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_event_rule_kernel_syscall_emission_site_exit;
 
-LTTNG_HIDDEN extern const char *const
+extern const char *const
                mi_lttng_element_event_rule_user_tracepoint_name_pattern_exclusions;
-LTTNG_HIDDEN extern const char *const
+extern const char *const
                mi_lttng_element_event_rule_user_tracepoint_name_pattern_exclusion;
 
 /* String related to log level rule. */
-LTTNG_HIDDEN extern const char *const mi_lttng_element_log_level_rule;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_log_level_rule_exactly;
-LTTNG_HIDDEN extern const char
+extern const char *const mi_lttng_element_log_level_rule;
+extern const char *const mi_lttng_element_log_level_rule_exactly;
+extern const char
                *const mi_lttng_element_log_level_rule_at_least_as_severe_as;
-LTTNG_HIDDEN extern const char *const
+extern const char *const
                mi_lttng_element_log_level_rule_at_least_as_severe_as_thre;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_log_level_rule_level;
+extern const char *const mi_lttng_element_log_level_rule_level;
 
 /* String related to kernel probe location. */
-LTTNG_HIDDEN extern const char *const mi_lttng_element_kernel_probe_location;
-LTTNG_HIDDEN extern const char
+extern const char *const mi_lttng_element_kernel_probe_location;
+extern const char
                *const mi_lttng_element_kernel_probe_location_symbol_offset;
-LTTNG_HIDDEN extern const char *const
+extern const char *const
                mi_lttng_element_kernel_probe_location_symbol_offset_name;
-LTTNG_HIDDEN extern const char *const
+extern const char *const
                mi_lttng_element_kernel_probe_location_symbol_offset_offset;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_kernel_probe_location_address;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_kernel_probe_location_address_address;
 
 /* String related to userspace probe location. */
-LTTNG_HIDDEN extern const char *const mi_lttng_element_userspace_probe_location;
-LTTNG_HIDDEN extern const char
+extern const char *const mi_lttng_element_userspace_probe_location;
+extern const char
                *const mi_lttng_element_userspace_probe_location_binary_path;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_userspace_probe_location_function;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_userspace_probe_location_function_name;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_userspace_probe_location_lookup_method;
-LTTNG_HIDDEN extern const char *const
+extern const char *const
                mi_lttng_element_userspace_probe_location_lookup_method_function_default;
-LTTNG_HIDDEN extern const char *const
+extern const char *const
                mi_lttng_element_userspace_probe_location_lookup_method_function_elf;
-LTTNG_HIDDEN extern const char *const
+extern const char *const
                mi_lttng_element_userspace_probe_location_lookup_method_tracepoint_sdt;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_userspace_probe_location_tracepoint;
-LTTNG_HIDDEN extern const char *const
+extern const char *const
                mi_lttng_element_userspace_probe_location_tracepoint_probe_name;
-LTTNG_HIDDEN extern const char *const
+extern const char *const
                mi_lttng_element_userspace_probe_location_tracepoint_provider_name;
 
 /* String related to enum
  * lttng_userspace_probe_location_function_instrumentation_type */
-LTTNG_HIDDEN extern const char *const
+extern const char *const
                mi_lttng_element_userspace_probe_location_function_instrumentation_type;
-LTTNG_HIDDEN extern const char *const
+extern const char *const
                mi_lttng_userspace_probe_location_function_instrumentation_type_entry;
 
 /* String related to trigger */
-LTTNG_HIDDEN extern const char *const mi_lttng_element_triggers;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_trigger;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_trigger_owner_uid;
+extern const char *const mi_lttng_element_triggers;
+extern const char *const mi_lttng_element_trigger;
+extern const char *const mi_lttng_element_trigger_owner_uid;
 
 /* String related to error_query. */
-LTTNG_HIDDEN extern const char *const mi_lttng_element_error_query_result;
-LTTNG_HIDDEN extern const char
+extern const char *const mi_lttng_element_error_query_result;
+extern const char
                *const mi_lttng_element_error_query_result_counter;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_error_query_result_counter_value;
-LTTNG_HIDDEN extern const char
+extern const char
                *const mi_lttng_element_error_query_result_description;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_error_query_result_name;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_error_query_result_type;
-LTTNG_HIDDEN extern const char *const mi_lttng_element_error_query_results;
+extern const char *const mi_lttng_element_error_query_result_name;
+extern const char *const mi_lttng_element_error_query_result_type;
+extern const char *const mi_lttng_element_error_query_results;
 
 /* String related to add-context command */
-LTTNG_HIDDEN extern const char * const mi_lttng_element_context_symbol;
+extern const char * const mi_lttng_element_context_symbol;
 
 /* Utility string function  */
 const char *mi_lttng_loglevel_string(int value, enum lttng_domain_type domain);
@@ -563,7 +567,7 @@ int mi_lttng_writer_write_element_double(struct mi_writer *writer,
  * Returns zero if the element's value could be written.
  * Negative values indicate an error.
  */
-int mi_lttng_version(struct mi_writer *writer, struct mi_lttng_version *version,
+int mi_lttng_version(struct mi_writer *writer, struct mi_lttng_version_data *version,
                const char *lttng_description, const char *lttng_license);
 
 /*
@@ -1117,4 +1121,8 @@ int mi_lttng_rotate(struct mi_writer *writer,
                enum lttng_rotation_state rotation_state,
                const struct lttng_trace_archive_location *location);
 
+#if defined(__cplusplus)
+}
+#endif
+
 #endif /* _MI_LTTNG_H */
This page took 0.036811 seconds and 4 git commands to generate.