X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Flttng.h;h=404a80117d50188f4d48491c7e65324862197087;hb=49cddecdbb1e042877ca3855b177ade68151030f;hp=72e8dcf0510d743dba5648e50343191cb8f044b8;hpb=a58c490f0bff52a73717d31d04d1472629180de2;p=lttng-tools.git diff --git a/include/lttng/lttng.h b/include/lttng/lttng.h index 72e8dcf05..404a80117 100644 --- a/include/lttng/lttng.h +++ b/include/lttng/lttng.h @@ -3,20 +3,10 @@ * * Linux Trace Toolkit Control Library Header File * - * Copyright (C) 2011 - David Goulet + * Copyright (C) 2011 EfficiOS Inc. * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License, version 2.1 only, - * as published by the Free Software Foundation. + * SPDX-License-Identifier: LGPL-2.1-only * - * This library 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 Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef LTTNG_H @@ -26,38 +16,75 @@ #include /* Include every LTTng ABI/API available. */ +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include +#include #include +#include #ifdef __cplusplus extern "C" { #endif enum lttng_calibrate_type { - LTTNG_CALIBRATE_FUNCTION = 0, + LTTNG_CALIBRATE_FUNCTION = 0, }; /* Machine interface output type */ enum lttng_mi_output_type { - LTTNG_MI_XML = 1 /* XML output */ + LTTNG_MI_XML = 1 /* XML output */ }; -#define LTTNG_CALIBRATE_PADDING1 16 +#define LTTNG_CALIBRATE_PADDING1 16 struct lttng_calibrate { enum lttng_calibrate_type type; @@ -70,14 +97,14 @@ struct lttng_calibrate { * Return 1 if alive or 0 if not. On error, returns a negative negative LTTng * error code. */ -extern int lttng_session_daemon_alive(void); +LTTNG_EXPORT extern int lttng_session_daemon_alive(void); /* * Set the tracing group for the *current* flow of execution. * * On success, returns 0 else a negative LTTng error code. */ -extern int lttng_set_tracing_group(const char *name); +LTTNG_EXPORT extern int lttng_set_tracing_group(const char *name); /* * This call registers an "outside consumer" for a session and an lttng domain. @@ -89,15 +116,15 @@ extern int lttng_set_tracing_group(const char *name); * * Return 0 on success else a negative LTTng error code. */ -extern int lttng_register_consumer(struct lttng_handle *handle, - const char *socket_path); +LTTNG_EXPORT extern int lttng_register_consumer(struct lttng_handle *handle, + const char *socket_path); /* * Start tracing for *all* domain(s) in the session. * * Return 0 on success else a negative LTTng error code. */ -extern int lttng_start_tracing(const char *session_name); +LTTNG_EXPORT extern int lttng_start_tracing(const char *session_name); /* * Stop tracing for *all* domain(s) in the session. @@ -111,20 +138,23 @@ extern int lttng_start_tracing(const char *session_name); * * Return 0 on success else a negative LTTng error code. */ -extern int lttng_stop_tracing(const char *session_name); +LTTNG_EXPORT extern int lttng_stop_tracing(const char *session_name); /* * Behave exactly like lttng_stop_tracing but does not wait for data * availability. */ -extern int lttng_stop_tracing_no_wait(const char *session_name); +LTTNG_EXPORT extern int lttng_stop_tracing_no_wait(const char *session_name); /* * Deprecated: As of LTTng 2.9, this function always returns * -LTTNG_ERR_UND. */ -extern int lttng_calibrate(struct lttng_handle *handle, - struct lttng_calibrate *calibrate); +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wshadow" +LTTNG_EXPORT extern int lttng_calibrate(struct lttng_handle *handle, + struct lttng_calibrate *calibrate); +#pragma GCC diagnostic pop /* * Set URL for a consumer for a session and domain. @@ -150,8 +180,8 @@ extern int lttng_calibrate(struct lttng_handle *handle, * * Return 0 on success else a negative LTTng error code. */ -extern int lttng_set_consumer_url(struct lttng_handle *handle, - const char *control_url, const char *data_url); +LTTNG_EXPORT extern int +lttng_set_consumer_url(struct lttng_handle *handle, const char *control_url, const char *data_url); /* * For a given session name, this call checks if the data is ready to be read @@ -163,13 +193,20 @@ extern int lttng_set_consumer_url(struct lttng_handle *handle, * traced data is pending. On error, a negative value is returned and readable * by lttng_strerror(). */ -extern int lttng_data_pending(const char *session_name); +LTTNG_EXPORT extern int lttng_data_pending(const char *session_name); + +/* + * Gets the status of the kernel tracer. + * + * Sets the value of the argument, which must not be null. + */ +LTTNG_EXPORT extern enum lttng_error_code lttng_get_kernel_tracer_status(enum lttng_kernel_tracer_status *status); /* * Deprecated, replaced by lttng_regenerate_metadata. */ -LTTNG_DEPRECATED() -extern int lttng_metadata_regenerate(const char *session_name); +LTTNG_DEPRECATED("Use lttng_regenerate_metadata") +LTTNG_EXPORT extern int lttng_metadata_regenerate(const char *session_name); /* * Trigger the regeneration of the metadata for a session. @@ -177,7 +214,7 @@ extern int lttng_metadata_regenerate(const char *session_name); * the lttng-relayd). Only kernel, per-uid and non-live sessions are supported. * Return 0 on success, a negative LTTng error code on error. */ -extern int lttng_regenerate_metadata(const char *session_name); +LTTNG_EXPORT extern int lttng_regenerate_metadata(const char *session_name); /* * Trigger the regeneration of the statedump for a session. The new statedump @@ -186,7 +223,7 @@ extern int lttng_regenerate_metadata(const char *session_name); * * Return 0 on success, a negative LTTng error code on error. */ -extern int lttng_regenerate_statedump(const char *session_name); +LTTNG_EXPORT extern int lttng_regenerate_statedump(const char *session_name); #ifdef __cplusplus }