- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; only
- * version 2.1 of the License.
- *
- * 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
-#define _LTTNG_H
-
-#include <asm/types.h>
-#include <sys/types.h>
-#include <stdint.h>
-#include <limits.h>
-
-/* Default unix group name for tracing. */
-#define LTTNG_DEFAULT_TRACING_GROUP "tracing"
-
-/* Environment variable to set session daemon binary path. */
-#define LTTNG_SESSIOND_PATH_ENV "LTTNG_SESSIOND_PATH"
-
-/* Default trace output directory name */
-#define LTTNG_DEFAULT_TRACE_DIR_NAME "lttng-traces"
-
-/*
- * Event symbol length. Copied from LTTng kernel ABI.
- */
-#define LTTNG_SYMBOL_NAME_LEN 128
-
-/*
- * Every lttng_event_* structure both apply to kernel event and user-space
- * event.
- */
-
-/*
- * Domain type are the different possible tracers.
- */
-enum lttng_domain_type {
- LTTNG_DOMAIN_KERNEL = 1,
- LTTNG_DOMAIN_UST = 2,
- LTTNG_DOMAIN_UST_EXEC_NAME = 3,
- LTTNG_DOMAIN_UST_PID = 4,
- LTTNG_DOMAIN_UST_PID_FOLLOW_CHILDREN = 5,
-};
-
-/*
- * Instrumentation type of tracing event.
- */
-enum lttng_event_type {
- LTTNG_EVENT_TRACEPOINT,
- LTTNG_EVENT_PROBE,
- LTTNG_EVENT_FUNCTION,
- LTTNG_EVENT_FUNCTION_ENTRY,
-};
-
-/*
- * LTTng consumer mode
- */
-enum lttng_event_output {
- LTTNG_EVENT_SPLICE = 0,
- LTTNG_EVENT_MMAP = 1,
-};
-
-/* Event context possible type */
-enum lttng_event_context_type {
- LTTNG_EVENT_CONTEXT_PID = 0,
- LTTNG_EVENT_CONTEXT_PERF_COUNTER = 1,
- LTTNG_EVENT_CONTEXT_COMM = 2,
- LTTNG_EVENT_CONTEXT_PRIO = 3,
- LTTNG_EVENT_CONTEXT_NICE = 4,
- LTTNG_EVENT_CONTEXT_VPID = 5,
- LTTNG_EVENT_CONTEXT_TID = 6,
- LTTNG_EVENT_CONTEXT_VTID = 7,
- LTTNG_EVENT_CONTEXT_PPID = 8,
- LTTNG_EVENT_CONTEXT_VPPID = 9,
-};
+ * 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.
+ *
+ * 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
+#define LTTNG_H
+
+/* Error codes that can be returned by API calls */
+#include <lttng/lttng-error.h>
+
+/* Include every LTTng ABI/API available. */
+#include <lttng/channel.h>
+#include <lttng/domain.h>
+#include <lttng/event.h>
+#include <lttng/handle.h>
+#include <lttng/health.h>
+#include <lttng/save.h>
+#include <lttng/session.h>
+#include <lttng/snapshot.h>
+#include <lttng/endpoint.h>
+#include <lttng/action/action.h>
+#include <lttng/action/notify.h>
+#include <lttng/condition/condition.h>
+#include <lttng/condition/buffer-usage.h>
+#include <lttng/condition/session-consumed-size.h>
+#include <lttng/condition/evaluation.h>
+#include <lttng/notification/channel.h>
+#include <lttng/notification/notification.h>
+#include <lttng/trigger/trigger.h>
+#include <lttng/rotation.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif