fix: relayd: unaligned access in trace_chunk_registry_ht_key_hash
[lttng-tools.git] / include / lttng / lttng-error.h
index 2bcc2c365436efda24e18440c111a7458fbb2a20..fa05af777e0431b32fb695007856b28268e9a2b0 100644 (file)
@@ -6,20 +6,10 @@
  * 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
 extern "C" {
 #endif
 
-#ifndef LTTNG_DEPRECATED
-#if defined (__GNUC__) \
-       && ((__GNUC_MAJOR__ == 4) && (__GNUC_MINOR__ >= 5)  \
-                       || __GNUC_MAJOR__ >= 5)
-#define LTTNG_DEPRECATED(msg) __attribute__((deprecated(msg)))
-#else
-#define LTTNG_DEPRECATED(msg) __attribute__((deprecated))
-#endif /* defined __GNUC__ */
-#endif /* LTTNG_DEPRECATED */
+#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 */
-       LTTNG_ERR_SESSION_STARTED        = 13,  /* Session is running */
-       LTTNG_ERR_UNKNOWN_DOMAIN         = 14,  /* Tracing domain not known */
-       LTTNG_ERR_NOT_SUPPORTED          = 15,  /* Operation not supported */
-       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 */
-       LTTNG_ERR_NO_SESSIOND            = 19,  /* No session daemon available */
-       LTTNG_ERR_SET_URL                = 20,  /* Error setting URL */
-       LTTNG_ERR_URL_EXIST              = 21,  /* URL already exists. */
-       /* 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 */
-       LTTNG_ERR_UST_EVENT_ENABLED      = 55,  /* UST event already enabled. */
-       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
This page took 0.030375 seconds and 4 git commands to generate.