Commit | Line | Data |
---|---|---|
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 |
21 | extern "C" { | |
22 | #endif | |
23 | ||
f73fabfd | 24 | enum lttng_error_code { |
28f23191 JG |
25 | LTTNG_OK = 10, /* Ok */ |
26 | LTTNG_ERR_UNK = 11, /* Unknown Error */ | |
27 | LTTNG_ERR_UND = 12, /* Undefined command */ | |
28 | LTTNG_ERR_SESSION_STARTED = 13, /* Session is running */ | |
29 | LTTNG_ERR_UNKNOWN_DOMAIN = 14, /* Tracing domain not known */ | |
30 | LTTNG_ERR_NOT_SUPPORTED = 15, /* Operation not supported */ | |
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 */ | |
34 | LTTNG_ERR_NO_SESSIOND = 19, /* No session daemon available */ | |
35 | LTTNG_ERR_SET_URL = 20, /* Error setting URL */ | |
36 | LTTNG_ERR_URL_EXIST = 21, /* URL already exists. */ | |
37 | LTTNG_ERR_BUFFER_NOT_SUPPORTED = 22, /* Buffer type not supported. */ | |
38 | LTTNG_ERR_SESS_NOT_FOUND = 23, /* Session by name not found */ | |
39 | LTTNG_ERR_BUFFER_TYPE_MISMATCH = 24, /* Buffer type mismatched. */ | |
40 | LTTNG_ERR_FATAL = 25, /* Fatal error */ | |
41 | LTTNG_ERR_NOMEM = 26, /* Not enough memory. */ | |
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 */ | |
46 | LTTNG_ERR_SNAPSHOT_OUTPUT_EXIST = 31, /* Snapshot output already exists */ | |
47 | LTTNG_ERR_EPERM = 32, /* Permission denied */ | |
48 | LTTNG_ERR_KERN_NA = 33, /* Kernel tracer unavailable */ | |
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 */ | |
65 | LTTNG_ERR_START_SESSION_ONCE = 50, /* Session needs to be started once. */ | |
66 | LTTNG_ERR_SNAPSHOT_FAIL = 51, /* Snapshot record failed. */ | |
67 | LTTNG_ERR_NO_STREAM = 52, /* Index without stream on relay. */ | |
68 | LTTNG_ERR_KERN_LIST_FAIL = 53, /* Kernel listing events failed */ | |
69 | LTTNG_ERR_UST_CALIBRATE_FAIL = 54, /* UST calibration failed */ | |
70 | LTTNG_ERR_UST_EVENT_ENABLED = 55, /* UST event already enabled. */ | |
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 */ | |
77 | LTTNG_ERR_CHAN_EXIST = 62, /* Channel already exists. */ | |
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 */ | |
86 | LTTNG_ERR_SNAPSHOT_NODATA = 71, /* No data in snapshot. */ | |
87 | LTTNG_ERR_NO_CHANNEL = 72, /* No channel found in the session. */ | |
88 | LTTNG_ERR_SESSION_INVALID_CHAR = 73, /* Invalid characters found in session name. */ | |
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 */ | |
98 | LTTNG_ERR_NEED_CHANNEL_NAME = 83, /* Non-default channel exists within session: channel name | |
99 | needs to be specified with '-c name' */ | |
100 | LTTNG_ERR_NO_UST = 84, /* LTTng-UST tracer is not supported. Please rebuild lttng-tools with | |
101 | lttng-ust support enabled. */ | |
102 | LTTNG_ERR_SAVE_FILE_EXIST = 85, /* Session file already exists. */ | |
103 | LTTNG_ERR_SAVE_IO_FAIL = 86, /* IO error while writing session configuration */ | |
104 | LTTNG_ERR_LOAD_INVALID_CONFIG = 87, /* Invalid session configuration */ | |
105 | LTTNG_ERR_LOAD_IO_FAIL = 88, /* IO error while reading a session configuration */ | |
106 | LTTNG_ERR_LOAD_SESSION_NOENT = 89, /* Session file not found */ | |
107 | LTTNG_ERR_MAX_SIZE_INVALID = 90, /* Snapshot max size is invalid. */ | |
108 | LTTNG_ERR_MI_OUTPUT_TYPE = 91, /* Invalid MI output format */ | |
109 | LTTNG_ERR_MI_IO_FAIL = 92, /* IO error while writing machine interface output */ | |
110 | LTTNG_ERR_MI_NOT_IMPLEMENTED = 93, /* Mi feature not implemented */ | |
f73fabfd DG |
111 | /* 94 */ |
112 | /* 95 */ | |
113 | /* 96 */ | |
28f23191 JG |
114 | LTTNG_ERR_INVALID = 97, /* Invalid parameter */ |
115 | LTTNG_ERR_NO_USTCONSUMERD = 98, /* No UST consumer detected */ | |
116 | LTTNG_ERR_NO_KERNCONSUMERD = 99, /* No Kernel consumer detected */ | |
117 | LTTNG_ERR_EVENT_EXIST_LOGLEVEL = 100, /* Event enabled with different loglevel */ | |
118 | LTTNG_ERR_URL_DATA_MISS = 101, /* Missing network data URL */ | |
119 | LTTNG_ERR_URL_CTRL_MISS = 102, /* Missing network control URL */ | |
120 | LTTNG_ERR_ENABLE_CONSUMER_FAIL = 103, /* Enabling consumer failed */ | |
121 | LTTNG_ERR_RELAYD_CONNECT_FAIL = 104, /* lttng-relayd create session failed */ | |
122 | LTTNG_ERR_RELAYD_VERSION_FAIL = 105, /* lttng-relayd not compatible */ | |
123 | LTTNG_ERR_FILTER_INVAL = 106, /* Invalid filter bytecode */ | |
124 | LTTNG_ERR_FILTER_NOMEM = 107, /* Lack of memory for filter bytecode */ | |
125 | LTTNG_ERR_FILTER_EXIST = 108, /* Filter already exist */ | |
126 | LTTNG_ERR_NO_CONSUMER = 109, /* No consumer exist for the session */ | |
127 | LTTNG_ERR_EXCLUSION_INVAL = 110, /* Invalid event exclusion data */ | |
128 | LTTNG_ERR_EXCLUSION_NOMEM = 111, /* Lack of memory while processing event exclusions */ | |
129 | LTTNG_ERR_INVALID_EVENT_NAME = 112, /* Invalid event name */ | |
130 | LTTNG_ERR_INVALID_CHANNEL_NAME = 113, /* Invalid channel name */ | |
131 | LTTNG_ERR_PROCESS_ATTR_EXISTS = 114, /* Process attribute is already tracked */ | |
159b042f | 132 | LTTNG_ERR_PROCESS_ATTR_MISSING = 115, /* Process attribute was not tracked */ |
141feb8c | 133 | LTTNG_ERR_INVALID_CHANNEL_DOMAIN = 116, /* Invalid channel domain */ |
28f23191 JG |
134 | LTTNG_ERR_OVERFLOW = 117, /* Overflow occurred. */ |
135 | LTTNG_ERR_SESSION_NOT_STARTED = 118, /* Session not started */ | |
136 | LTTNG_ERR_LIVE_SESSION = 119, /* Live session unsupported */ | |
137 | LTTNG_ERR_PER_PID_SESSION = 120, /* Per-PID sessions unsupported */ | |
1ae5e83e | 138 | LTTNG_ERR_KERN_CONTEXT_UNAVAILABLE = 121, /* Context unavailable on this kernel */ |
28f23191 JG |
139 | LTTNG_ERR_REGEN_STATEDUMP_FAIL = 122, /* Failed to regenerate the state dump */ |
140 | LTTNG_ERR_REGEN_STATEDUMP_NOMEM = 123, /* Failed to regenerate the state dump, not enough | |
141 | memory */ | |
142 | LTTNG_ERR_NOT_SNAPSHOT_SESSION = 124, /* Session is not in snapshot mode. */ | |
143 | LTTNG_ERR_INVALID_TRIGGER = 125, /* Invalid trigger provided. */ | |
144 | LTTNG_ERR_TRIGGER_EXISTS = 126, /* Trigger already registered. */ | |
145 | LTTNG_ERR_TRIGGER_NOT_FOUND = 127, /* Trigger not found. */ | |
146 | LTTNG_ERR_COMMAND_CANCELLED = 128, /* Command cancelled. */ | |
147 | LTTNG_ERR_ROTATION_PENDING = 129, /* Rotation already pending for this session. */ | |
148 | LTTNG_ERR_ROTATION_NOT_AVAILABLE = 130, /* Rotate feature not available for this type of | |
149 | session (e.g: live) */ | |
150 | LTTNG_ERR_ROTATION_SCHEDULE_SET = 131, /* Schedule type already set for this session. */ | |
151 | LTTNG_ERR_ROTATION_SCHEDULE_NOT_SET = 132, /* No schedule of this type set for this session. | |
152 | */ | |
66ea93b1 | 153 | LTTNG_ERR_ROTATION_MULTIPLE_AFTER_STOP = 133, /* Already rotated once after a stop. */ |
28f23191 JG |
154 | LTTNG_ERR_ROTATION_WRONG_VERSION = 134, /* Session rotation not supported by this kernel |
155 | tracer version */ | |
156 | LTTNG_ERR_NO_SESSION_OUTPUT = 135, /* Session has no output configured. */ | |
157 | LTTNG_ERR_ROTATION_NOT_AVAILABLE_RELAY = 136, /* Rotate feature not available on the relay. | |
158 | */ | |
66ea93b1 | 159 | LTTNG_ERR_AGENT_TRACING_DISABLED = 137, /* Agent tracing disabled. */ |
28f23191 JG |
160 | LTTNG_ERR_PROBE_LOCATION_INVAL = 138, /* Invalid userspace probe location. */ |
161 | LTTNG_ERR_ELF_PARSING = 139, /* ELF parsing error. */ | |
162 | LTTNG_ERR_SDT_PROBE_SEMAPHORE = 140, /* SDT probe guarded by a semaphore. */ | |
20f37cb4 MD |
163 | LTTNG_ERR_ROTATION_FAIL_CONSUMER = 141, /* Rotation failure on consumer */ |
164 | LTTNG_ERR_ROTATE_RENAME_FAIL_CONSUMER = 142, /* Rotation rename failure on consumer */ | |
28f23191 JG |
165 | LTTNG_ERR_ROTATION_PENDING_LOCAL_FAIL_CONSUMER = 143, /* Rotation pending check (local) |
166 | failure on consumer */ | |
167 | LTTNG_ERR_ROTATION_PENDING_RELAY_FAIL_CONSUMER = 144, /* Rotation pending check (relay) | |
168 | failure on consumer */ | |
169 | LTTNG_ERR_MKDIR_FAIL_CONSUMER = 145, /* mkdir failure on consumer */ | |
170 | LTTNG_ERR_CHAN_NOT_FOUND = 146, /* Channel not found */ | |
171 | LTTNG_ERR_SNAPSHOT_UNSUPPORTED = 147, /* Session configuration does not allow the use of | |
172 | snapshots */ | |
173 | LTTNG_ERR_SESSION_NOT_EXIST = 148, /* The session does not exist on the session daemon */ | |
174 | LTTNG_ERR_CREATE_TRACE_CHUNK_FAIL_CONSUMER = 149, /* trace chunk creation failure on | |
175 | consumer */ | |
176 | LTTNG_ERR_CLOSE_TRACE_CHUNK_FAIL_CONSUMER = 150, /* trace chunk close failure on consumer */ | |
177 | LTTNG_ERR_TRACE_CHUNK_EXISTS_FAIL_CONSUMER = 151, /* failed to query consumer for trace | |
178 | chunk existence */ | |
179 | LTTNG_ERR_INVALID_PROTOCOL = 152, /* a protocol error occurred */ | |
180 | LTTNG_ERR_FILE_CREATION_ERROR = 153, /* failed to create a file */ | |
181 | LTTNG_ERR_TIMER_STOP_ERROR = 154, /* failed to stop timer. */ | |
182 | LTTNG_ERR_ROTATION_NOT_AVAILABLE_KERNEL = 155, /* Rotation feature not supported by the | |
183 | kernel tracer. */ | |
184 | LTTNG_ERR_CLEAR_RELAY_DISALLOWED = 156, /* LTTng-relayd peer does not allow lttng clear | |
185 | command. */ | |
186 | LTTNG_ERR_CLEAR_NOT_AVAILABLE_RELAY = 157, /* Clearing a session is not supported by the | |
187 | relay daemon. */ | |
188 | LTTNG_ERR_CLEAR_FAIL_CONSUMER = 158, /* Clear failure on consumer */ | |
189 | LTTNG_ERR_ROTATION_AFTER_STOP_CLEAR = 159, /* Session was already cleared since it became | |
190 | inactive. */ | |
191 | LTTNG_ERR_USER_NOT_FOUND = 160, /* User not found. */ | |
192 | LTTNG_ERR_GROUP_NOT_FOUND = 161, /* Group not found. */ | |
193 | LTTNG_ERR_UNSUPPORTED_DOMAIN = 162, /* Unsupported domain used. */ | |
194 | LTTNG_ERR_PROCESS_ATTR_TRACKER_INVALID_TRACKING_POLICY = 163, /* Operation does not apply to | |
195 | the process attribute | |
196 | tracker's tracking policy | |
197 | */ | |
198 | LTTNG_ERR_EVENT_NOTIFIER_GROUP_NOTIFICATION_FD = 164, /* Error initializing event notifier | |
199 | group notification file descriptor | |
200 | */ | |
834966af | 201 | LTTNG_ERR_INVALID_CAPTURE_EXPRESSION = 165, /* Invalid capture expression. */ |
28f23191 JG |
202 | LTTNG_ERR_EVENT_NOTIFIER_REGISTRATION = 166, /* Error registering event notifier to the |
203 | tracer. */ | |
204 | LTTNG_ERR_EVENT_NOTIFIER_ERROR_ACCOUNTING = 167, /* Error initializing event notifier error | |
205 | accounting. */ | |
206 | LTTNG_ERR_EVENT_NOTIFIER_ERROR_ACCOUNTING_FULL = 168, /* Error event notifier error | |
207 | accounting full. */ | |
b99a0cb3 | 208 | LTTNG_ERR_INVALID_ERROR_QUERY_TARGET = 169, /* Invalid error query target. */ |
28f23191 | 209 | LTTNG_ERR_BUFFER_FLUSH_FAILED = 170, /* Buffer flush failed */ |
546699de | 210 | |
51298456 JR |
211 | /* MUST be last element of the manually-assigned section of the enum */ |
212 | LTTNG_ERR_NR, | |
213 | ||
214 | /* Backward-compatibility assignments */ | |
28f23191 JG |
215 | LTTNG_ERR_PID_TRACKED = LTTNG_ERR_PROCESS_ATTR_EXISTS, /* Backward compat alias */ |
216 | LTTNG_ERR_PID_NOT_TRACKED = LTTNG_ERR_PROCESS_ATTR_MISSING, /* Backward compat alias */ | |
f73fabfd DG |
217 | }; |
218 | ||
1239a312 DG |
219 | /* |
220 | * Return a human-readable error message for a LTTng error code. | |
221 | * | |
222 | * Parameter MUST be a negative value or else you'll get a generic message. | |
223 | */ | |
4bd69c5f | 224 | LTTNG_EXPORT extern const char *lttng_strerror(int code); |
1239a312 | 225 | |
5168918c DG |
226 | #ifdef __cplusplus |
227 | } | |
228 | #endif | |
229 | ||
f73fabfd | 230 | #endif /* LTTNG_ERROR_H */ |