lib: compile liblttng-ctl as C++
[lttng-tools.git] / include / lttng / lttng-error.h
CommitLineData
f73fabfd
DG
1/*
2 * lttng-error.h
3 *
4 * Linux Trace Toolkit Control Library Error Header File
5 *
6 * The following values are all the possible errors the lttng command line
7 * client can quit with.
8 *
ab5be9fa 9 * Copyright (C) 2012 David Goulet <dgoulet@efficios.com>
f73fabfd 10 *
ab5be9fa 11 * SPDX-License-Identifier: LGPL-2.1-only
f73fabfd 12 *
f73fabfd
DG
13 */
14
15#ifndef LTTNG_ERROR_H
16#define LTTNG_ERROR_H
17
4bd69c5f
SM
18#include <lttng/lttng-export.h>
19
5168918c
DG
20#ifdef __cplusplus
21extern "C" {
22#endif
23
f73fabfd
DG
24enum lttng_error_code {
25 LTTNG_OK = 10, /* Ok */
26 LTTNG_ERR_UNK = 11, /* Unknown Error */
12dfd2b9 27 LTTNG_ERR_UND = 12, /* Undefined command */
806e2684 28 LTTNG_ERR_SESSION_STARTED = 13, /* Session is running */
f73fabfd 29 LTTNG_ERR_UNKNOWN_DOMAIN = 14, /* Tracing domain not known */
a79d84dd 30 LTTNG_ERR_NOT_SUPPORTED = 15, /* Operation not supported */
f73fabfd
DG
31 LTTNG_ERR_NO_SESSION = 16, /* No session found */
32 LTTNG_ERR_CREATE_DIR_FAIL = 17, /* Create directory fail */
33 LTTNG_ERR_SESSION_FAIL = 18, /* Create session fail */
2f70b271 34 LTTNG_ERR_NO_SESSIOND = 19, /* No session daemon available */
785d2d0d
DG
35 LTTNG_ERR_SET_URL = 20, /* Error setting URL */
36 LTTNG_ERR_URL_EXIST = 21, /* URL already exists. */
7972aab2 37 LTTNG_ERR_BUFFER_NOT_SUPPORTED = 22, /* Buffer type not supported. */
f73fabfd 38 LTTNG_ERR_SESS_NOT_FOUND = 23, /* Session by name not found */
7972aab2 39 LTTNG_ERR_BUFFER_TYPE_MISMATCH = 24, /* Buffer type mismatched. */
f73fabfd 40 LTTNG_ERR_FATAL = 25, /* Fatal error */
a74934ba 41 LTTNG_ERR_NOMEM = 26, /* Not enough memory. */
f73fabfd
DG
42 LTTNG_ERR_SELECT_SESS = 27, /* Must select a session */
43 LTTNG_ERR_EXIST_SESS = 28, /* Session name already exist */
44 LTTNG_ERR_NO_EVENT = 29, /* No event found */
45 LTTNG_ERR_CONNECT_FAIL = 30, /* Unable to connect to unix socket */
6dc3064a 46 LTTNG_ERR_SNAPSHOT_OUTPUT_EXIST = 31, /* Snapshot output already exists */
f73fabfd 47 LTTNG_ERR_EPERM = 32, /* Permission denied */
d5ccf8fe 48 LTTNG_ERR_KERN_NA = 33, /* Kernel tracer unavailable */
f73fabfd
DG
49 LTTNG_ERR_KERN_VERSION = 34, /* Kernel tracer not compatible */
50 LTTNG_ERR_KERN_EVENT_EXIST = 35, /* Kernel event already exists */
51 LTTNG_ERR_KERN_SESS_FAIL = 36, /* Kernel create session failed */
52 LTTNG_ERR_KERN_CHAN_EXIST = 37, /* Kernel channel already exists */
53 LTTNG_ERR_KERN_CHAN_FAIL = 38, /* Kernel create channel failed */
54 LTTNG_ERR_KERN_CHAN_NOT_FOUND = 39, /* Kernel channel not found */
55 LTTNG_ERR_KERN_CHAN_DISABLE_FAIL = 40, /* Kernel disable channel failed */
56 LTTNG_ERR_KERN_CHAN_ENABLE_FAIL = 41, /* Kernel enable channel failed */
57 LTTNG_ERR_KERN_CONTEXT_FAIL = 42, /* Kernel add context failed */
58 LTTNG_ERR_KERN_ENABLE_FAIL = 43, /* Kernel enable event failed */
59 LTTNG_ERR_KERN_DISABLE_FAIL = 44, /* Kernel disable event failed */
60 LTTNG_ERR_KERN_META_FAIL = 45, /* Kernel open metadata failed */
61 LTTNG_ERR_KERN_START_FAIL = 46, /* Kernel start trace failed */
62 LTTNG_ERR_KERN_STOP_FAIL = 47, /* Kernel stop trace failed */
63 LTTNG_ERR_KERN_CONSUMER_FAIL = 48, /* Kernel consumer start failed */
64 LTTNG_ERR_KERN_STREAM_FAIL = 49, /* Kernel create stream failed */
6dc3064a 65 LTTNG_ERR_START_SESSION_ONCE = 50, /* Session needs to be started once. */
5c786ded 66 LTTNG_ERR_SNAPSHOT_FAIL = 51, /* Snapshot record failed. */
1c20f0e2 67 LTTNG_ERR_NO_STREAM = 52, /* Index without stream on relay. */
f73fabfd
DG
68 LTTNG_ERR_KERN_LIST_FAIL = 53, /* Kernel listing events failed */
69 LTTNG_ERR_UST_CALIBRATE_FAIL = 54, /* UST calibration failed */
5bcdda4f 70 LTTNG_ERR_UST_EVENT_ENABLED = 55, /* UST event already enabled. */
f73fabfd
DG
71 LTTNG_ERR_UST_SESS_FAIL = 56, /* UST create session failed */
72 LTTNG_ERR_UST_CHAN_EXIST = 57, /* UST channel already exist */
73 LTTNG_ERR_UST_CHAN_FAIL = 58, /* UST create channel failed */
74 LTTNG_ERR_UST_CHAN_NOT_FOUND = 59, /* UST channel not found */
75 LTTNG_ERR_UST_CHAN_DISABLE_FAIL = 60, /* UST disable channel failed */
76 LTTNG_ERR_UST_CHAN_ENABLE_FAIL = 61, /* UST enable channel failed */
b9dfb167 77 LTTNG_ERR_CHAN_EXIST = 62, /* Channel already exists. */
f73fabfd
DG
78 LTTNG_ERR_UST_ENABLE_FAIL = 63, /* UST enable event failed */
79 LTTNG_ERR_UST_DISABLE_FAIL = 64, /* UST disable event failed */
80 LTTNG_ERR_UST_META_FAIL = 65, /* UST open metadata failed */
81 LTTNG_ERR_UST_START_FAIL = 66, /* UST start trace failed */
82 LTTNG_ERR_UST_STOP_FAIL = 67, /* UST stop trace failed */
83 LTTNG_ERR_UST_CONSUMER64_FAIL = 68, /* 64-bit UST consumer start failed */
84 LTTNG_ERR_UST_CONSUMER32_FAIL = 69, /* 32-bit UST consumer start failed */
85 LTTNG_ERR_UST_STREAM_FAIL = 70, /* UST create stream failed */
7badf927 86 LTTNG_ERR_SNAPSHOT_NODATA = 71, /* No data in snapshot. */
cde3e505 87 LTTNG_ERR_NO_CHANNEL = 72, /* No channel found in the session. */
1c1c3634 88 LTTNG_ERR_SESSION_INVALID_CHAR = 73, /* Invalid characters found in session name. */
f73fabfd
DG
89 LTTNG_ERR_UST_LIST_FAIL = 74, /* UST listing events failed */
90 LTTNG_ERR_UST_EVENT_EXIST = 75, /* UST event exist */
91 LTTNG_ERR_UST_EVENT_NOT_FOUND = 76, /* UST event not found */
92 LTTNG_ERR_UST_CONTEXT_EXIST = 77, /* UST context exist */
93 LTTNG_ERR_UST_CONTEXT_INVAL = 78, /* UST context invalid */
94 LTTNG_ERR_NEED_ROOT_SESSIOND = 79, /* root sessiond is needed */
95 LTTNG_ERR_TRACE_ALREADY_STARTED = 80, /* Tracing already started */
96 LTTNG_ERR_TRACE_ALREADY_STOPPED = 81, /* Tracing already stopped */
97 LTTNG_ERR_KERN_EVENT_ENOSYS = 82, /* Kernel event type not supported */
85076754 98 LTTNG_ERR_NEED_CHANNEL_NAME = 83, /* Non-default channel exists within session: channel name needs to be specified with '-c name' */
b51ec5b4 99 LTTNG_ERR_NO_UST = 84, /* LTTng-UST tracer is not supported. Please rebuild lttng-tools with lttng-ust support enabled. */
f9b57ab2 100 LTTNG_ERR_SAVE_FILE_EXIST = 85, /* Session file already exists. */
12dfd2b9 101 LTTNG_ERR_SAVE_IO_FAIL = 86, /* IO error while writing session configuration */
a96bc65d
DG
102 LTTNG_ERR_LOAD_INVALID_CONFIG = 87, /* Invalid session configuration */
103 LTTNG_ERR_LOAD_IO_FAIL = 88, /* IO error while reading a session configuration */
104 LTTNG_ERR_LOAD_SESSION_NOENT = 89, /* Session file not found */
68808f4e 105 LTTNG_ERR_MAX_SIZE_INVALID = 90, /* Snapshot max size is invalid. */
fb14d0d8
JR
106 LTTNG_ERR_MI_OUTPUT_TYPE = 91, /* Invalid MI output format */
107 LTTNG_ERR_MI_IO_FAIL = 92, /* IO error while writing machine interface output */
108 LTTNG_ERR_MI_NOT_IMPLEMENTED = 93, /* Mi feature not implemented */
f73fabfd
DG
109 /* 94 */
110 /* 95 */
111 /* 96 */
112 LTTNG_ERR_INVALID = 97, /* Invalid parameter */
113 LTTNG_ERR_NO_USTCONSUMERD = 98, /* No UST consumer detected */
114 LTTNG_ERR_NO_KERNCONSUMERD = 99, /* No Kernel consumer detected */
115 LTTNG_ERR_EVENT_EXIST_LOGLEVEL = 100, /* Event enabled with different loglevel */
116 LTTNG_ERR_URL_DATA_MISS = 101, /* Missing network data URL */
117 LTTNG_ERR_URL_CTRL_MISS = 102, /* Missing network control URL */
118 LTTNG_ERR_ENABLE_CONSUMER_FAIL = 103, /* Enabling consumer failed */
119 LTTNG_ERR_RELAYD_CONNECT_FAIL = 104, /* lttng-relayd create session failed */
120 LTTNG_ERR_RELAYD_VERSION_FAIL = 105, /* lttng-relayd not compatible */
121 LTTNG_ERR_FILTER_INVAL = 106, /* Invalid filter bytecode */
122 LTTNG_ERR_FILTER_NOMEM = 107, /* Lack of memory for filter bytecode */
123 LTTNG_ERR_FILTER_EXIST = 108, /* Filter already exist */
124 LTTNG_ERR_NO_CONSUMER = 109, /* No consumer exist for the session */
fd1f0cde
JI
125 LTTNG_ERR_EXCLUSION_INVAL = 110, /* Invalid event exclusion data */
126 LTTNG_ERR_EXCLUSION_NOMEM = 111, /* Lack of memory while processing event exclusions */
930a2e99 127 LTTNG_ERR_INVALID_EVENT_NAME = 112, /* Invalid event name */
1f345e94 128 LTTNG_ERR_INVALID_CHANNEL_NAME = 113, /* Invalid channel name */
159b042f
JG
129 LTTNG_ERR_PROCESS_ATTR_EXISTS = 114, /* Process attribute is already tracked */
130 LTTNG_ERR_PROCESS_ATTR_MISSING = 115, /* Process attribute was not tracked */
141feb8c 131 LTTNG_ERR_INVALID_CHANNEL_DOMAIN = 116, /* Invalid channel domain */
83f4233d 132 LTTNG_ERR_OVERFLOW = 117, /* Overflow occurred. */
93ec662e
JD
133 LTTNG_ERR_SESSION_NOT_STARTED = 118, /* Session not started */
134 LTTNG_ERR_LIVE_SESSION = 119, /* Live session unsupported */
135 LTTNG_ERR_PER_PID_SESSION = 120, /* Per-PID sessions unsupported */
1ae5e83e 136 LTTNG_ERR_KERN_CONTEXT_UNAVAILABLE = 121, /* Context unavailable on this kernel */
c2561365 137 LTTNG_ERR_REGEN_STATEDUMP_FAIL = 122, /* Failed to regenerate the state dump */
903ef685
JG
138 LTTNG_ERR_REGEN_STATEDUMP_NOMEM = 123, /* Failed to regenerate the state dump, not enough memory */
139 LTTNG_ERR_NOT_SNAPSHOT_SESSION = 124, /* Session is not in snapshot mode. */
a58c490f
JG
140 LTTNG_ERR_INVALID_TRIGGER = 125, /* Invalid trigger provided. */
141 LTTNG_ERR_TRIGGER_EXISTS = 126, /* Trigger already registered. */
142 LTTNG_ERR_TRIGGER_NOT_FOUND = 127, /* Trigger not found. */
143 LTTNG_ERR_COMMAND_CANCELLED = 128, /* Command cancelled. */
3f3c02f8 144 LTTNG_ERR_ROTATION_PENDING = 129, /* Rotation already pending for this session. */
259c2674 145 LTTNG_ERR_ROTATION_NOT_AVAILABLE = 130, /* Rotate feature not available for this type of session (e.g: live) */
66ea93b1
JG
146 LTTNG_ERR_ROTATION_SCHEDULE_SET = 131, /* Schedule type already set for this session. */
147 LTTNG_ERR_ROTATION_SCHEDULE_NOT_SET = 132, /* No schedule of this type set for this session. */
148 LTTNG_ERR_ROTATION_MULTIPLE_AFTER_STOP = 133, /* Already rotated once after a stop. */
149 LTTNG_ERR_ROTATION_WRONG_VERSION = 134, /* Session rotation not supported by this kernel tracer version */
150 LTTNG_ERR_NO_SESSION_OUTPUT = 135, /* Session has no output configured. */
151 LTTNG_ERR_ROTATION_NOT_AVAILABLE_RELAY = 136, /* Rotate feature not available on the relay. */
152 LTTNG_ERR_AGENT_TRACING_DISABLED = 137, /* Agent tracing disabled. */
1a1c3874 153 LTTNG_ERR_PROBE_LOCATION_INVAL = 138, /* Invalid userspace probe location. */
d0927b41 154 LTTNG_ERR_ELF_PARSING = 139, /* ELF parsing error. */
8bd52288 155 LTTNG_ERR_SDT_PROBE_SEMAPHORE = 140, /* SDT probe guarded by a semaphore. */
20f37cb4
MD
156 LTTNG_ERR_ROTATION_FAIL_CONSUMER = 141, /* Rotation failure on consumer */
157 LTTNG_ERR_ROTATE_RENAME_FAIL_CONSUMER = 142, /* Rotation rename failure on consumer */
158 LTTNG_ERR_ROTATION_PENDING_LOCAL_FAIL_CONSUMER = 143, /* Rotation pending check (local) failure on consumer */
159 LTTNG_ERR_ROTATION_PENDING_RELAY_FAIL_CONSUMER = 144, /* Rotation pending check (relay) failure on consumer */
160 LTTNG_ERR_MKDIR_FAIL_CONSUMER = 145, /* mkdir failure on consumer */
161 LTTNG_ERR_CHAN_NOT_FOUND = 146, /* Channel not found */
54213acc 162 LTTNG_ERR_SNAPSHOT_UNSUPPORTED = 147, /* Session configuration does not allow the use of snapshots */
b178f53e 163 LTTNG_ERR_SESSION_NOT_EXIST = 148, /* The session does not exist on the session daemon */
d2956687
JG
164 LTTNG_ERR_CREATE_TRACE_CHUNK_FAIL_CONSUMER = 149, /* trace chunk creation failure on consumer */
165 LTTNG_ERR_CLOSE_TRACE_CHUNK_FAIL_CONSUMER = 150, /* trace chunk close failure on consumer */
166 LTTNG_ERR_TRACE_CHUNK_EXISTS_FAIL_CONSUMER = 151, /* failed to query consumer for trace chunk existence */
3e3665b8 167 LTTNG_ERR_INVALID_PROTOCOL = 152, /* a protocol error occurred */
c35f9726 168 LTTNG_ERR_FILE_CREATION_ERROR = 153, /* failed to create a file */
3285a971 169 LTTNG_ERR_TIMER_STOP_ERROR = 154, /* failed to stop timer. */
a40a503f 170 LTTNG_ERR_ROTATION_NOT_AVAILABLE_KERNEL = 155, /* Rotation feature not supported by the kernel tracer. */
a237c7e3
MD
171 LTTNG_ERR_CLEAR_RELAY_DISALLOWED = 156, /* LTTng-relayd peer does not allow lttng clear command. */
172 LTTNG_ERR_CLEAR_NOT_AVAILABLE_RELAY = 157, /* Clearing a session is not supported by the relay daemon. */
173 LTTNG_ERR_CLEAR_FAIL_CONSUMER = 158, /* Clear failure on consumer */
174 LTTNG_ERR_ROTATION_AFTER_STOP_CLEAR = 159, /* Session was already cleared since it became inactive. */
546699de
MD
175 LTTNG_ERR_USER_NOT_FOUND = 160, /* User not found. */
176 LTTNG_ERR_GROUP_NOT_FOUND = 161, /* Group not found. */
159b042f
JG
177 LTTNG_ERR_UNSUPPORTED_DOMAIN = 162, /* Unsupported domain used. */
178 LTTNG_ERR_PROCESS_ATTR_TRACKER_INVALID_TRACKING_POLICY = 163, /* Operation does not apply to the process attribute tracker's tracking policy */
352b58f5 179 LTTNG_ERR_EVENT_NOTIFIER_GROUP_NOTIFICATION_FD = 164, /* Error initializing event notifier group notification file descriptor */
834966af 180 LTTNG_ERR_INVALID_CAPTURE_EXPRESSION = 165, /* Invalid capture expression. */
90aa04a1
FD
181 LTTNG_ERR_EVENT_NOTIFIER_REGISTRATION = 166, /* Error registering event notifier to the tracer. */
182 LTTNG_ERR_EVENT_NOTIFIER_ERROR_ACCOUNTING = 167, /* Error initializing event notifier error accounting. */
183 LTTNG_ERR_EVENT_NOTIFIER_ERROR_ACCOUNTING_FULL = 168, /* Error event notifier error accounting full. */
b99a0cb3 184 LTTNG_ERR_INVALID_ERROR_QUERY_TARGET = 169, /* Invalid error query target. */
881fc67f 185 LTTNG_ERR_BUFFER_FLUSH_FAILED = 170, /* Buffer flush failed */
546699de 186
51298456
JR
187 /* MUST be last element of the manually-assigned section of the enum */
188 LTTNG_ERR_NR,
189
190 /* Backward-compatibility assignments */
159b042f
JG
191 LTTNG_ERR_PID_TRACKED = LTTNG_ERR_PROCESS_ATTR_EXISTS, /* Backward compat alias */
192 LTTNG_ERR_PID_NOT_TRACKED = LTTNG_ERR_PROCESS_ATTR_MISSING, /* Backward compat alias */
f73fabfd
DG
193};
194
1239a312
DG
195/*
196 * Return a human-readable error message for a LTTng error code.
197 *
198 * Parameter MUST be a negative value or else you'll get a generic message.
199 */
4bd69c5f 200LTTNG_EXPORT extern const char *lttng_strerror(int code);
1239a312 201
5168918c
DG
202#ifdef __cplusplus
203}
204#endif
205
f73fabfd 206#endif /* LTTNG_ERROR_H */
This page took 0.051591 seconds and 4 git commands to generate.