* The following values are all the possible errors the lttng command line
* client can quit with.
*
- * Copyright (C) 2012 - David Goulet <dgoulet@efficios.com>
+ * Copyright (C) 2012 David Goulet <dgoulet@efficios.com>
*
- * 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_ERROR_H
#define LTTNG_ERROR_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <lttng/lttng-export.h>
+
+/*!
+@addtogroup api_gen
+@{
+*/
+
+/*!
+@brief
+ General error codes.
+
+Many functions, most of them dating from older liblttng-ctl versions,
+return this type (or an \c int value which is equal to the negation of
+one of those enumerators).
+
+Not all error codes are relevant to a given function: this API
+documentation makes an effort to document the most relevant status codes
+for each function. This is not always possible, however, as LTTng is
+made of multiple interacting components (tracers, consumer daemons,
+session daemons, and the rest); those error codes can move from one to
+another and the possible error codes of a given liblttng-ctl function
+can change from version to version.
+
+@sa lttng_strerror() --
+ Returns a human-readable message for a general error code, positive
+ or negative.
+*/
enum lttng_error_code {
- LTTNG_OK = 10, /* Ok */
- LTTNG_ERR_UNK = 11, /* Unknown Error */
- LTTNG_ERR_UND = 12, /* Undefine command */
- /* 13 */
- LTTNG_ERR_UNKNOWN_DOMAIN = 14, /* Tracing domain not known */
- /* 15 */
- LTTNG_ERR_NO_SESSION = 16, /* No session found */
- LTTNG_ERR_CREATE_DIR_FAIL = 17, /* Create directory fail */
- LTTNG_ERR_SESSION_FAIL = 18, /* Create session fail */
- /* 19 */
- /* 20 */
- /* 21 */
- /* 22 */
- LTTNG_ERR_SESS_NOT_FOUND = 23, /* Session by name not found */
- /* 24 */
- LTTNG_ERR_FATAL = 25, /* Fatal error */
- /* 26 */
- LTTNG_ERR_SELECT_SESS = 27, /* Must select a session */
- LTTNG_ERR_EXIST_SESS = 28, /* Session name already exist */
- LTTNG_ERR_NO_EVENT = 29, /* No event found */
- LTTNG_ERR_CONNECT_FAIL = 30, /* Unable to connect to unix socket */
- /* 31 */
- LTTNG_ERR_EPERM = 32, /* Permission denied */
- LTTNG_ERR_KERN_NA = 33, /* Kernel tracer unavalable */
- LTTNG_ERR_KERN_VERSION = 34, /* Kernel tracer not compatible */
- LTTNG_ERR_KERN_EVENT_EXIST = 35, /* Kernel event already exists */
- LTTNG_ERR_KERN_SESS_FAIL = 36, /* Kernel create session failed */
- LTTNG_ERR_KERN_CHAN_EXIST = 37, /* Kernel channel already exists */
- LTTNG_ERR_KERN_CHAN_FAIL = 38, /* Kernel create channel failed */
- LTTNG_ERR_KERN_CHAN_NOT_FOUND = 39, /* Kernel channel not found */
- LTTNG_ERR_KERN_CHAN_DISABLE_FAIL = 40, /* Kernel disable channel failed */
- LTTNG_ERR_KERN_CHAN_ENABLE_FAIL = 41, /* Kernel enable channel failed */
- LTTNG_ERR_KERN_CONTEXT_FAIL = 42, /* Kernel add context failed */
- LTTNG_ERR_KERN_ENABLE_FAIL = 43, /* Kernel enable event failed */
- LTTNG_ERR_KERN_DISABLE_FAIL = 44, /* Kernel disable event failed */
- LTTNG_ERR_KERN_META_FAIL = 45, /* Kernel open metadata failed */
- LTTNG_ERR_KERN_START_FAIL = 46, /* Kernel start trace failed */
- LTTNG_ERR_KERN_STOP_FAIL = 47, /* Kernel stop trace failed */
- LTTNG_ERR_KERN_CONSUMER_FAIL = 48, /* Kernel consumer start failed */
- LTTNG_ERR_KERN_STREAM_FAIL = 49, /* Kernel create stream failed */
- /* 50 */
- /* 51 */
- /* 52 */
- LTTNG_ERR_KERN_LIST_FAIL = 53, /* Kernel listing events failed */
- LTTNG_ERR_UST_CALIBRATE_FAIL = 54, /* UST calibration failed */
- /* 55 */
- LTTNG_ERR_UST_SESS_FAIL = 56, /* UST create session failed */
- LTTNG_ERR_UST_CHAN_EXIST = 57, /* UST channel already exist */
- LTTNG_ERR_UST_CHAN_FAIL = 58, /* UST create channel failed */
- LTTNG_ERR_UST_CHAN_NOT_FOUND = 59, /* UST channel not found */
- LTTNG_ERR_UST_CHAN_DISABLE_FAIL = 60, /* UST disable channel failed */
- LTTNG_ERR_UST_CHAN_ENABLE_FAIL = 61, /* UST enable channel failed */
- /* 62 */
- LTTNG_ERR_UST_ENABLE_FAIL = 63, /* UST enable event failed */
- LTTNG_ERR_UST_DISABLE_FAIL = 64, /* UST disable event failed */
- LTTNG_ERR_UST_META_FAIL = 65, /* UST open metadata failed */
- LTTNG_ERR_UST_START_FAIL = 66, /* UST start trace failed */
- LTTNG_ERR_UST_STOP_FAIL = 67, /* UST stop trace failed */
- LTTNG_ERR_UST_CONSUMER64_FAIL = 68, /* 64-bit UST consumer start failed */
- LTTNG_ERR_UST_CONSUMER32_FAIL = 69, /* 32-bit UST consumer start failed */
- LTTNG_ERR_UST_STREAM_FAIL = 70, /* UST create stream failed */
- /* 71 */
- /* 72 */
- /* 73 */
- LTTNG_ERR_UST_LIST_FAIL = 74, /* UST listing events failed */
- LTTNG_ERR_UST_EVENT_EXIST = 75, /* UST event exist */
- LTTNG_ERR_UST_EVENT_NOT_FOUND = 76, /* UST event not found */
- LTTNG_ERR_UST_CONTEXT_EXIST = 77, /* UST context exist */
- LTTNG_ERR_UST_CONTEXT_INVAL = 78, /* UST context invalid */
- LTTNG_ERR_NEED_ROOT_SESSIOND = 79, /* root sessiond is needed */
- LTTNG_ERR_TRACE_ALREADY_STARTED = 80, /* Tracing already started */
- LTTNG_ERR_TRACE_ALREADY_STOPPED = 81, /* Tracing already stopped */
- LTTNG_ERR_KERN_EVENT_ENOSYS = 82, /* Kernel event type not supported */
- /* 83 */
- /* 84 */
- /* 85 */
- /* 86 */
- /* 87 */
- /* 88 */
- /* 89 */
- /* 90 */
- /* 91 */
- /* 92 */
- /* 93 */
+ /* Internal codes */
+ /// @cond INTERNAL_ERR_CODES
+ LTTNG_ERR_SELECT_SESS = 27, /* Must select a session */
+ LTTNG_ERR_NO_STREAM = 52, /* Index without stream on relay. */
+ LTTNG_ERR_UST_CALIBRATE_FAIL = 54, /* UST calibration failed */
+ LTTNG_ERR_UST_CHAN_ENABLE_FAIL = 61, /* UST enable channel failed */
+ LTTNG_ERR_CHAN_EXIST = 62, /* Channel already exists. */
+ LTTNG_ERR_UST_META_FAIL = 65, /* UST open metadata failed */
+ LTTNG_ERR_UST_STREAM_FAIL = 70, /* UST create stream failed */
+ LTTNG_ERR_SNAPSHOT_NODATA = 71, /* No data in snapshot. */
+ LTTNG_ERR_MI_OUTPUT_TYPE = 91, /* Invalid MI output format */
+ LTTNG_ERR_MI_IO_FAIL = 92, /* IO error while writing machine interface output */
+ LTTNG_ERR_MI_NOT_IMPLEMENTED = 93, /* Mi feature not implemented */
+ LTTNG_ERR_EVENT_EXIST_LOGLEVEL = 100, /* Event enabled with different loglevel */
+ LTTNG_ERR_FILTER_EXIST = 108, /* Filter already exist */
+ LTTNG_ERR_COMMAND_CANCELLED = 128, /* Command cancelled. */
+ LTTNG_ERR_ROTATE_RENAME_FAIL_CONSUMER = 142, /* Rotation rename failure on consumer */
+ LTTNG_ERR_ROTATION_PENDING_LOCAL_FAIL_CONSUMER = 143, /* Rotation pending check (local)
+ failure on consumer */
+ LTTNG_ERR_ROTATION_PENDING_RELAY_FAIL_CONSUMER = 144, /* Rotation pending check (relay)
+ failure on consumer */
+ LTTNG_ERR_MKDIR_FAIL_CONSUMER = 145, /* mkdir failure on consumer */
+ LTTNG_ERR_TRACE_CHUNK_EXISTS_FAIL_CONSUMER = 151, /* failed to query consumer for trace
+ chunk existence */
+ /// @endcond
+
+ /// Success.
+ LTTNG_OK = 10,
+
+ /// Unknown error.
+ LTTNG_ERR_UNK = 11,
+
+ /// Undefined command.
+ LTTNG_ERR_UND = 12,
+
+ /*!
+ \lt_obj_c_session already
+ \link lttng_session::enabled started\endlink (active).
+ */
+ LTTNG_ERR_SESSION_STARTED = 13,
+
+ /// Unknown \lt_obj_domain.
+ LTTNG_ERR_UNKNOWN_DOMAIN = 14,
+
+ /// Unsupported operation.
+ LTTNG_ERR_NOT_SUPPORTED = 15,
+
+ /// No \lt_obj_session found.
+ LTTNG_ERR_NO_SESSION = 16,
+
+ /// Failed to create a directory.
+ LTTNG_ERR_CREATE_DIR_FAIL = 17,
+
+ /// Failed to create a \lt_obj_session.
+ LTTNG_ERR_SESSION_FAIL = 18,
+
+ /*!
+ No available
+ \ref api-gen-sessiond-conn "session daemon to connect to".
+ */
+ LTTNG_ERR_NO_SESSIOND = 19,
+
+ /// Failed to set an URL.
+ LTTNG_ERR_SET_URL = 20,
+
+ /// URL already exists.
+ LTTNG_ERR_URL_EXIST = 21,
+
+ /// Unsupported \ref api-channel-buf-scheme "buffering scheme".
+ LTTNG_ERR_BUFFER_NOT_SUPPORTED = 22,
+
+ /// Nonexistent \lt_obj_session name.
+ LTTNG_ERR_SESS_NOT_FOUND = 23,
+
+ /*!
+ A \lt_obj_channel within the given \lt_obj_domain already exists
+ and is configured with another
+ \ref api-channel-buf-scheme "buffering scheme".
+ */
+ LTTNG_ERR_BUFFER_TYPE_MISMATCH = 24,
+
+ /// Fatal error.
+ LTTNG_ERR_FATAL = 25,
+
+ /// Failed to allocate memory.
+ LTTNG_ERR_NOMEM = 26,
+
+ /// \lt_obj_c_session name already exists.
+ LTTNG_ERR_EXIST_SESS = 28,
+
+ /// \lt_obj_c_rer not found.
+ LTTNG_ERR_NO_EVENT = 29,
+
+ /// Failed to connect to Unix socket.
+ LTTNG_ERR_CONNECT_FAIL = 30,
+
+ /// \ref api_session_snapshot "Snapshot" output already exists.
+ LTTNG_ERR_SNAPSHOT_OUTPUT_EXIST = 31,
+
+ /// Permission denied.
+ LTTNG_ERR_EPERM = 32,
+
+ /// Linux kernel tracer isn't available.
+ LTTNG_ERR_KERN_NA = 33,
+
+ /// Incompatible Linux kernel tracer.
+ LTTNG_ERR_KERN_VERSION = 34,
+
+ /// Linux kernel \lt_obj_rer already exists.
+ LTTNG_ERR_KERN_EVENT_EXIST = 35,
+
+ /// Linux kernel tracer: failed to create a \lt_obj_session.
+ LTTNG_ERR_KERN_SESS_FAIL = 36,
+
+ /// Linux kernel \lt_obj_channel already exists.
+ LTTNG_ERR_KERN_CHAN_EXIST = 37,
+
+ /// Failed to create a Linux kernel \lt_obj_channel.
+ LTTNG_ERR_KERN_CHAN_FAIL = 38,
+
+ /// Linux kernel \lt_obj_channel not found.
+ LTTNG_ERR_KERN_CHAN_NOT_FOUND = 39,
+
+ /// Failed to disable a Linux kernel \lt_obj_channel.
+ LTTNG_ERR_KERN_CHAN_DISABLE_FAIL = 40,
+
+ /// Failed to create/enable a Linux kernel \lt_obj_channel.
+ LTTNG_ERR_KERN_CHAN_ENABLE_FAIL = 41,
+
+ /*!
+ Failed to add a context field to be recorded to the event
+ records of a Linux kernel \lt_obj_channel.
+ */
+ LTTNG_ERR_KERN_CONTEXT_FAIL = 42,
+
+ /// Failed to create/enable a Linux kernel \lt_obj_rer.
+ LTTNG_ERR_KERN_ENABLE_FAIL = 43,
+
+ /// Failed to disable a Linux kernel \lt_obj_rer.
+ LTTNG_ERR_KERN_DISABLE_FAIL = 44,
+
+ /// Failed to open a Linux kernel trace metadata stream.
+ LTTNG_ERR_KERN_META_FAIL = 45,
+
+ /*!
+ Linux kernel tracer: failed to
+ \link lttng_start_tracing() start tracing\endlink.
+ */
+ LTTNG_ERR_KERN_START_FAIL = 46,
+
+ /*!
+ Linux kernel tracer: failed to
+ \link lttng_stop_tracing stop tracing\endlink.
+ */
+ LTTNG_ERR_KERN_STOP_FAIL = 47,
+
+ /// Failed to start a Linux kernel consumer daemon.
+ LTTNG_ERR_KERN_CONSUMER_FAIL = 48,
+
+ /// Failed to create a Linux kernel trace data stream.
+ LTTNG_ERR_KERN_STREAM_FAIL = 49,
+
+ /*!
+ The \lt_obj_session never became
+ \link lttng_session::enabled active\endlink.
+ */
+ LTTNG_ERR_START_SESSION_ONCE = 50,
+
+ /*!
+ Failed to take a recording session
+ \ref api_session_snapshot "snapshot".
+ */
+ LTTNG_ERR_SNAPSHOT_FAIL = 51,
+
+ /// Failed to list Linux kernel \lt_obj_rers.
+ LTTNG_ERR_KERN_LIST_FAIL = 53,
+
+ /// User space \lt_obj_rer already enabled.
+ LTTNG_ERR_UST_EVENT_ENABLED = 55,
+
+ /*!
+ User space tracer: failed to
+ \link lttng_create_session_ext() create\endlink a
+ \lt_obj_session.
+ */
+ LTTNG_ERR_UST_SESS_FAIL = 56,
+
+ /// User space \lt_obj_channel already exists.
+ LTTNG_ERR_UST_CHAN_EXIST = 57,
+
+ /*!
+ Failed to
+ \link lttng_enable_channel() create\endlink a user space
+ \lt_obj_channel.
+ */
+ LTTNG_ERR_UST_CHAN_FAIL = 58,
+
+ /// User space \lt_obj_channel not found.
+ LTTNG_ERR_UST_CHAN_NOT_FOUND = 59,
+
+ /*!
+ Failed to \link lttng_disable_channel() disable\endlink
+ a user space \lt_obj_channel.
+ */
+ LTTNG_ERR_UST_CHAN_DISABLE_FAIL = 60,
+
+ /// Failed to create/enable a user space \lt_obj_rer.
+ LTTNG_ERR_UST_ENABLE_FAIL = 63,
+
+ /// Failed to disable a user space \lt_obj_rer.
+ LTTNG_ERR_UST_DISABLE_FAIL = 64,
+
+ /*!
+ User space tracer: failed to
+ \link lttng_start_tracing() start tracing\endlink.
+ */
+ LTTNG_ERR_UST_START_FAIL = 66,
+
+ /*!
+ User space tracer: failed to
+ \link lttng_stop_tracing() stop tracing\endlink.
+ */
+ LTTNG_ERR_UST_STOP_FAIL = 67,
+
+ /// Failed to start a 64-bit user space consumer daemon.
+ LTTNG_ERR_UST_CONSUMER64_FAIL = 68,
+
+ /// Failed to start a 32-bit user space consumer daemon.
+ LTTNG_ERR_UST_CONSUMER32_FAIL = 69,
+
+ /// \lt_obj_c_session has no \lt_obj_channels.
+ LTTNG_ERR_NO_CHANNEL = 72,
+
+ /// \lt_obj_c_session name contains an invalid character.
+ LTTNG_ERR_SESSION_INVALID_CHAR = 73,
+
+ /// Failed to list user space \lt_obj_rers.
+ LTTNG_ERR_UST_LIST_FAIL = 74,
+
+ /// User space \lt_obj_rer already exists.
+ LTTNG_ERR_UST_EVENT_EXIST = 75,
+
+ /// User space \lt_obj_rer not found.
+ LTTNG_ERR_UST_EVENT_NOT_FOUND = 76,
+
+ /*!
+ \link lttng_add_context() Context field\endlink to be recorded
+ to the event records of a user space
+ \lt_obj_channel already exists.
+ */
+ LTTNG_ERR_UST_CONTEXT_EXIST = 77,
+
+ /*!
+ Invalid/unknown
+ \link #lttng_event_context_type context field type\endlink.
+ */
+ LTTNG_ERR_UST_CONTEXT_INVAL = 78,
+
+ /*!
+ A root session daemon is required, but isn't available.
+
+ See \ref api-gen-sessiond-conn "Session daemon connection".
+ */
+ LTTNG_ERR_NEED_ROOT_SESSIOND = 79,
+
+ /*!
+ \lt_obj_c_session is already
+ \link lttng_session::enabled active\endlink (started).
+ */
+ LTTNG_ERR_TRACE_ALREADY_STARTED = 80,
+
+ /*!
+ \lt_obj_c_session is already
+ \link lttng_session::enabled inactive\endlink (stopped).
+ */
+ LTTNG_ERR_TRACE_ALREADY_STOPPED = 81,
+
+ /// Linux kernel instrumentation point type not supported.
+ LTTNG_ERR_KERN_EVENT_ENOSYS = 82,
+
+ /*!
+ A \lt_obj_channel name is required because
+ a non-default channel exists within the selected
+ \lt_obj_session and \lt_obj_domain.
+ */
+ LTTNG_ERR_NEED_CHANNEL_NAME = 83,
+
+ /*!
+ \lt_obj_c_channel name is required because a
+ non-default channel exists within the \lt_obj_session.
+ */
+ LTTNG_ERR_NO_UST = 84,
+
+ /*!
+ \ref api_session_save_load "Recording session configuration file"
+ already exists.
+ */
+ LTTNG_ERR_SAVE_FILE_EXIST = 85,
+
+ /*!
+ I/O error while writing a
+ \ref api_session_save_load "recording session configuration file".
+ */
+ LTTNG_ERR_SAVE_IO_FAIL = 86,
+
+ /*!
+ Invalid
+ \ref api_session_save_load "recording session configuration file".
+ */
+ LTTNG_ERR_LOAD_INVALID_CONFIG = 87,
+
+ /*!
+ I/O error while reading a
+ \ref api_session_save_load "recording session configuration file".
+ */
+ LTTNG_ERR_LOAD_IO_FAIL = 88,
+
+ /*!
+ \ref api_session_save_load "Recording session configuration file"
+ not found.
+ */
+ LTTNG_ERR_LOAD_SESSION_NOENT = 89,
+
+ /*!
+ Maximum total size of all the
+ \ref api_session_snapshot "snapshot" trace files is invalid.
+ */
+ LTTNG_ERR_MAX_SIZE_INVALID = 90,
+
/* 94 */
/* 95 */
/* 96 */
- LTTNG_ERR_INVALID = 97, /* Invalid parameter */
- LTTNG_ERR_NO_USTCONSUMERD = 98, /* No UST consumer detected */
- LTTNG_ERR_NO_KERNCONSUMERD = 99, /* No Kernel consumer detected */
- LTTNG_ERR_EVENT_EXIST_LOGLEVEL = 100, /* Event enabled with different loglevel */
- LTTNG_ERR_URL_DATA_MISS = 101, /* Missing network data URL */
- LTTNG_ERR_URL_CTRL_MISS = 102, /* Missing network control URL */
- LTTNG_ERR_ENABLE_CONSUMER_FAIL = 103, /* Enabling consumer failed */
- LTTNG_ERR_RELAYD_CONNECT_FAIL = 104, /* lttng-relayd create session failed */
- LTTNG_ERR_RELAYD_VERSION_FAIL = 105, /* lttng-relayd not compatible */
- LTTNG_ERR_FILTER_INVAL = 106, /* Invalid filter bytecode */
- LTTNG_ERR_FILTER_NOMEM = 107, /* Lack of memory for filter bytecode */
- LTTNG_ERR_FILTER_EXIST = 108, /* Filter already exist */
- LTTNG_ERR_NO_CONSUMER = 109, /* No consumer exist for the session */
-
- /* MUST be last element */
- LTTNG_ERR_NR, /* Last element */
+
+ /// Invalid parameter (unsatisfied precondition).
+ LTTNG_ERR_INVALID = 97,
+
+ /// No user space consumer daemon available.
+ LTTNG_ERR_NO_USTCONSUMERD = 98,
+
+ /// No Linux kernel consumer daemon available.
+ LTTNG_ERR_NO_KERNCONSUMERD = 99,
+
+ /// Missing network data \ref api-session-url "URL".
+ LTTNG_ERR_URL_DATA_MISS = 101,
+
+ /// Missing network control \ref api-session-url "URL".
+ LTTNG_ERR_URL_CTRL_MISS = 102,
+
+ /// Failed to communicate with a consumer daemon.
+ LTTNG_ERR_ENABLE_CONSUMER_FAIL = 103,
+
+ /*!
+ Failed to connect to or communicate with a relay daemon
+ (see \lt_man{lttng-relayd,8}).
+ */
+ LTTNG_ERR_RELAYD_CONNECT_FAIL = 104,
+
+ /// Incompatible relay daemon (see \lt_man{lttng-relayd,8}) version.
+ LTTNG_ERR_RELAYD_VERSION_FAIL = 105,
+
+ /*!
+ Invalid \link lttng_enable_event_with_filter() context and event
+ payload filter expression\endlink.
+ */
+ LTTNG_ERR_FILTER_INVAL = 106,
+
+ /*!
+ Failed to allocate memory for a context and event payload filter
+ object.
+ */
+ LTTNG_ERR_FILTER_NOMEM = 107,
+
+ /// No available consumer daemon.
+ LTTNG_ERR_NO_CONSUMER = 109,
+
+ /*!
+ Invalid event name
+ \link lttng_enable_event_with_exclusions() exclusion\endlink
+ data.
+ */
+ LTTNG_ERR_EXCLUSION_INVAL = 110,
+
+ /// Failed to allocate memory for an event name exclusion object.
+ LTTNG_ERR_EXCLUSION_NOMEM = 111,
+
+ /// Invalid event name condition part of a \lt_obj_rer.
+ LTTNG_ERR_INVALID_EVENT_NAME = 112,
+
+ /// Invalid \lt_obj_channel name.
+ LTTNG_ERR_INVALID_CHANNEL_NAME = 113,
+
+ /*!
+ Process attribute is already part of an
+ \ref api_pais "inclusion set".
+ */
+ LTTNG_ERR_PROCESS_ATTR_EXISTS = 114,
+
+ /*!
+ Process attribute isn't part of an
+ \ref api_pais "inclusion set".
+ */
+ LTTNG_ERR_PROCESS_ATTR_MISSING = 115,
+
+ /// Invalid \lt_obj_domain for \lt_obj_channel.
+ LTTNG_ERR_INVALID_CHANNEL_DOMAIN = 116,
+
+ /// Overflow.
+ LTTNG_ERR_OVERFLOW = 117,
+
+ /*!
+ \lt_obj_c_session isn't
+ \link lttng_session::enabled active\endlink (started).
+ */
+ LTTNG_ERR_SESSION_NOT_STARTED = 118,
+
+ /*!
+ Unsupported LTTng \ref api-session-live-mode "live" recording
+ session mode.
+ */
+ LTTNG_ERR_LIVE_SESSION = 119,
+
+ /*!
+ Unsupported
+ \ref api-channel-per-proc-buf "per-process buffering scheme".
+ */
+ LTTNG_ERR_PER_PID_SESSION = 120,
+
+ /*!
+ \link #lttng_event_context_type Context field type\endlink
+ isn't available on the current Linux kernel.
+ */
+ LTTNG_ERR_KERN_CONTEXT_UNAVAILABLE = 121,
+
+ /*!
+ Failed to \link lttng_regenerate_statedump() regenerate the
+ LTTng state dump event records\endlink.
+ */
+ LTTNG_ERR_REGEN_STATEDUMP_FAIL = 122,
+
+ /*!
+ Failed to allocate memory to \link lttng_regenerate_statedump()
+ regenerate the LTTng state dump event records\endlink.
+ */
+ LTTNG_ERR_REGEN_STATEDUMP_NOMEM = 123,
+
+ /*!
+ \lt_obj_c_session isn't in
+ \ref api-session-snapshot-mode "snapshot mode".
+ */
+ LTTNG_ERR_NOT_SNAPSHOT_SESSION = 124,
+
+ /// Invalid \lt_obj_trigger.
+ LTTNG_ERR_INVALID_TRIGGER = 125,
+
+ /// \lt_obj_c_trigger already exists (registered).
+ LTTNG_ERR_TRIGGER_EXISTS = 126,
+
+ /// \lt_obj_c_trigger not found.
+ LTTNG_ERR_TRIGGER_NOT_FOUND = 127,
+
+ /*!
+ \ref api_session_rotation "Recording session rotation" operation
+ already in progress.
+ */
+ LTTNG_ERR_ROTATION_PENDING = 129,
+
+ /*!
+ \ref api_session_rotation "Recording session rotation" feature
+ isn't available for the \ref api-session-modes "mode" of the
+ given recording session.
+ */
+ LTTNG_ERR_ROTATION_NOT_AVAILABLE = 130,
+
+ /*!
+ \ref api_session_rotation "Recording session rotation" schedule
+ already set.
+ */
+ LTTNG_ERR_ROTATION_SCHEDULE_SET = 131,
+
+ /*!
+ \ref api_session_rotation "Recording session rotation" schedule
+ isn't set.
+ */
+ LTTNG_ERR_ROTATION_SCHEDULE_NOT_SET = 132,
+
+ /*!
+ LTTng already
+ \ref api_session_rotation "archived the current trace chunk" of
+ the recording session since it became
+ \link lttng_session::enabled inactive\endlink (stopped).
+ */
+ LTTNG_ERR_ROTATION_MULTIPLE_AFTER_STOP = 133,
+
+ /*!
+ Linux kernel tracer: unavailable
+ \ref api_session_rotation "recording session rotation" feature.
+ */
+ LTTNG_ERR_ROTATION_WRONG_VERSION = 134,
+
+ /// \lt_obj_c_session has no configured output.
+ LTTNG_ERR_NO_SESSION_OUTPUT = 135,
+
+ /*!
+ Relay daemon: unavailable
+ \ref api_session_rotation "recording session rotation" feature.
+ */
+ LTTNG_ERR_ROTATION_NOT_AVAILABLE_RELAY = 136,
+
+ /// Unavailable logging instrumentation point feature.
+ LTTNG_ERR_AGENT_TRACING_DISABLED = 137,
+
+ /// Invalid user space probe location.
+ LTTNG_ERR_PROBE_LOCATION_INVAL = 138,
+
+ /// Failed to parse ELF file.
+ LTTNG_ERR_ELF_PARSING = 139,
+
+ /*!
+ SystemTap User-level Statically Defined Tracing (USDT) probe
+ guarded by a semaphore.
+ */
+ LTTNG_ERR_SDT_PROBE_SEMAPHORE = 140,
+
+ /*!
+ Consumer daemon failed to perform a
+ \ref api_session_rotation "recording session rotation"
+ operation.
+ */
+ LTTNG_ERR_ROTATION_FAIL_CONSUMER = 141,
+
+ /// \lt_obj_c_channel not found.
+ LTTNG_ERR_CHAN_NOT_FOUND = 146,
+
+ /*!
+ Cannot take a
+ \ref api_session_snapshot "snapshot" with the current
+ recording session configuration.
+ */
+ LTTNG_ERR_SNAPSHOT_UNSUPPORTED = 147,
+
+ /// Nonexistent \lt_obj_session.
+ LTTNG_ERR_SESSION_NOT_EXIST = 148,
+
+ /*!
+ Consumer daemon failed to create a
+ \ref api_session_rotation "trace chunk archive".
+ */
+ LTTNG_ERR_CREATE_TRACE_CHUNK_FAIL_CONSUMER = 149,
+
+ /*!
+ Consumer daemon failed to close a
+ \ref api_session_rotation "trace chunk archive".
+ */
+ LTTNG_ERR_CLOSE_TRACE_CHUNK_FAIL_CONSUMER = 150,
+
+ /// Invalid protocol.
+ LTTNG_ERR_INVALID_PROTOCOL = 152,
+
+ /// Failed to create a file.
+ LTTNG_ERR_FILE_CREATION_ERROR = 153,
+
+ /// Failed to stop a timer.
+ LTTNG_ERR_TIMER_STOP_ERROR = 154,
+
+ /*!
+ Linux kernel tracer:
+ \ref api_session_rotation "recording session rotation" feature
+ isn't available.
+ */
+ LTTNG_ERR_ROTATION_NOT_AVAILABLE_KERNEL = 155,
+
+ /*!
+ The relay daemon (see \lt_man{lttng-relayd,8}) doesn't allow
+ \ref api_session_clear "recording session clearing" operations.
+ */
+ LTTNG_ERR_CLEAR_RELAY_DISALLOWED = 156,
+
+ /*!
+ The relay daemon (see \lt_man{lttng-relayd,8}) doesn't support
+ the
+ \ref api_session_clear "recording session clearing" operation.
+ */
+ LTTNG_ERR_CLEAR_NOT_AVAILABLE_RELAY = 157,
+
+ /*!
+ Consumer daemon failed to
+ \ref api_session_clear "clear the recording session".
+ */
+ LTTNG_ERR_CLEAR_FAIL_CONSUMER = 158,
+
+ /*!
+ LTTng already
+ \ref api_session_clear "cleared the recording session" since it
+ became \link lttng_session::enabled inactive\endlink (stopped).
+ */
+ LTTNG_ERR_ROTATION_AFTER_STOP_CLEAR = 159,
+
+ /* Unix user not found. */
+ LTTNG_ERR_USER_NOT_FOUND = 160,
+
+ /* Unix group not found. */
+ LTTNG_ERR_GROUP_NOT_FOUND = 161,
+
+ /* Unsupported \lt_obj_domain. */
+ LTTNG_ERR_UNSUPPORTED_DOMAIN = 162,
+
+ /*!
+ Invalid operation considering the policy of the
+ \ref api_pais "process attribute inclusion set".
+ */
+ LTTNG_ERR_PROCESS_ATTR_TRACKER_INVALID_TRACKING_POLICY = 163,
+
+ /*!
+ Failed to initialize the file descriptor of the event notifier
+ group notification.
+ */
+ LTTNG_ERR_EVENT_NOTIFIER_GROUP_NOTIFICATION_FD = 164,
+
+ /// Invalid event field capture expression.
+ LTTNG_ERR_INVALID_CAPTURE_EXPRESSION = 165,
+
+ /// Failed to register the event notifier to the tracer.
+ LTTNG_ERR_EVENT_NOTIFIER_REGISTRATION = 166,
+
+ /// Failed to initialize the event notifier error accounting.
+ LTTNG_ERR_EVENT_NOTIFIER_ERROR_ACCOUNTING = 167,
+
+ /// Event notifier error accouting is full.
+ LTTNG_ERR_EVENT_NOTIFIER_ERROR_ACCOUNTING_FULL = 168,
+
+ /// Invalid error query target.
+ LTTNG_ERR_INVALID_ERROR_QUERY_TARGET = 169,
+
+ /// Failed to flush a buffer.
+ LTTNG_ERR_BUFFER_FLUSH_FAILED = 170,
+
+ /* MUST be last element of the manually-assigned section of the enum */
+ /// @cond INTERNAL_ERR_CODES
+ LTTNG_ERR_NR,
+ /// @endcond
+
+ /* Backward-compatibility assignments */
+ /*!
+ Process attribute is already part of an
+ \ref api_pais "inclusion set".
+
+ @deprecated
+ Use #LTTNG_ERR_PROCESS_ATTR_EXISTS.
+ */
+ LTTNG_ERR_PID_TRACKED = LTTNG_ERR_PROCESS_ATTR_EXISTS,
+
+ /*!
+ Process attribute isn't part of an
+ \ref api_pais "inclusion set".
+
+ @deprecated
+ Use #LTTNG_ERR_PROCESS_ATTR_MISSING.
+ */
+ LTTNG_ERR_PID_NOT_TRACKED = LTTNG_ERR_PROCESS_ATTR_MISSING,
};
+/*!
+@brief
+ Returns a human-readable message for the general error code
+ \lt_p{error_code}.
+
+@param[in] error_code
+ Error code (one of the #lttng_error_code enumerators), positive or
+ negative, for which to get a corresponding human-readable message.
+
+@returns
+ Human-readable message which corresponds to \lt_p{error_code}.
+
+@pre
+ \lt_p{error_code} is a valid #lttng_error_code enumerator.
+*/
+LTTNG_EXPORT extern const char *lttng_strerror(int error_code);
+
+/// @}
+
+#ifdef __cplusplus
+}
+#endif
+
#endif /* LTTNG_ERROR_H */