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 | ||
5168918c DG |
18 | #ifdef __cplusplus |
19 | extern "C" { | |
20 | #endif | |
21 | ||
048f01ef PP |
22 | #include <lttng/lttng-export.h> |
23 | ||
24 | /*! | |
25 | @addtogroup api_gen | |
26 | @{ | |
27 | */ | |
28 | ||
29 | /*! | |
30 | @brief | |
31 | General error codes. | |
32 | ||
33 | Many functions, most of them dating from older liblttng-ctl versions, | |
34 | return this type (or an \c int value which is equal to the negation of | |
35 | one of those enumerators). | |
36 | ||
37 | Not all error codes are relevant to a given function: this API | |
38 | documentation makes an effort to document the most relevant status codes | |
39 | for each function. This is not always possible, however, as LTTng is | |
40 | made of multiple interacting components (tracers, consumer daemons, | |
41 | session daemons, and the rest); those error codes can move from one to | |
42 | another and the possible error codes of a given liblttng-ctl function | |
43 | can change from version to version. | |
44 | ||
45 | @sa lttng_strerror() -- | |
46 | Returns a human-readable message for a general error code, positive | |
47 | or negative. | |
48 | */ | |
f73fabfd | 49 | enum lttng_error_code { |
048f01ef PP |
50 | /* Internal codes */ |
51 | /// @cond INTERNAL_ERR_CODES | |
28f23191 | 52 | LTTNG_ERR_SELECT_SESS = 27, /* Must select a session */ |
28f23191 | 53 | LTTNG_ERR_NO_STREAM = 52, /* Index without stream on relay. */ |
28f23191 | 54 | LTTNG_ERR_UST_CALIBRATE_FAIL = 54, /* UST calibration failed */ |
28f23191 JG |
55 | LTTNG_ERR_UST_CHAN_ENABLE_FAIL = 61, /* UST enable channel failed */ |
56 | LTTNG_ERR_CHAN_EXIST = 62, /* Channel already exists. */ | |
28f23191 | 57 | LTTNG_ERR_UST_META_FAIL = 65, /* UST open metadata failed */ |
28f23191 JG |
58 | LTTNG_ERR_UST_STREAM_FAIL = 70, /* UST create stream failed */ |
59 | LTTNG_ERR_SNAPSHOT_NODATA = 71, /* No data in snapshot. */ | |
28f23191 JG |
60 | LTTNG_ERR_MI_OUTPUT_TYPE = 91, /* Invalid MI output format */ |
61 | LTTNG_ERR_MI_IO_FAIL = 92, /* IO error while writing machine interface output */ | |
62 | LTTNG_ERR_MI_NOT_IMPLEMENTED = 93, /* Mi feature not implemented */ | |
28f23191 | 63 | LTTNG_ERR_EVENT_EXIST_LOGLEVEL = 100, /* Event enabled with different loglevel */ |
28f23191 | 64 | LTTNG_ERR_FILTER_EXIST = 108, /* Filter already exist */ |
28f23191 | 65 | LTTNG_ERR_COMMAND_CANCELLED = 128, /* Command cancelled. */ |
20f37cb4 | 66 | LTTNG_ERR_ROTATE_RENAME_FAIL_CONSUMER = 142, /* Rotation rename failure on consumer */ |
28f23191 JG |
67 | LTTNG_ERR_ROTATION_PENDING_LOCAL_FAIL_CONSUMER = 143, /* Rotation pending check (local) |
68 | failure on consumer */ | |
69 | LTTNG_ERR_ROTATION_PENDING_RELAY_FAIL_CONSUMER = 144, /* Rotation pending check (relay) | |
70 | failure on consumer */ | |
71 | LTTNG_ERR_MKDIR_FAIL_CONSUMER = 145, /* mkdir failure on consumer */ | |
28f23191 JG |
72 | LTTNG_ERR_TRACE_CHUNK_EXISTS_FAIL_CONSUMER = 151, /* failed to query consumer for trace |
73 | chunk existence */ | |
048f01ef PP |
74 | /// @endcond |
75 | ||
76 | /// Success. | |
77 | LTTNG_OK = 10, | |
78 | ||
79 | /// Unknown error. | |
80 | LTTNG_ERR_UNK = 11, | |
81 | ||
82 | /// Undefined command. | |
83 | LTTNG_ERR_UND = 12, | |
84 | ||
85 | /*! | |
86 | \lt_obj_c_session already | |
87 | \link lttng_session::enabled started\endlink (active). | |
88 | */ | |
89 | LTTNG_ERR_SESSION_STARTED = 13, | |
90 | ||
91 | /// Unknown \lt_obj_domain. | |
92 | LTTNG_ERR_UNKNOWN_DOMAIN = 14, | |
93 | ||
94 | /// Unsupported operation. | |
95 | LTTNG_ERR_NOT_SUPPORTED = 15, | |
96 | ||
97 | /// No \lt_obj_session found. | |
98 | LTTNG_ERR_NO_SESSION = 16, | |
99 | ||
100 | /// Failed to create a directory. | |
101 | LTTNG_ERR_CREATE_DIR_FAIL = 17, | |
102 | ||
103 | /// Failed to create a \lt_obj_session. | |
104 | LTTNG_ERR_SESSION_FAIL = 18, | |
105 | ||
106 | /*! | |
107 | No available | |
108 | \ref api-gen-sessiond-conn "session daemon to connect to". | |
109 | */ | |
110 | LTTNG_ERR_NO_SESSIOND = 19, | |
111 | ||
112 | /// Failed to set an URL. | |
113 | LTTNG_ERR_SET_URL = 20, | |
114 | ||
115 | /// URL already exists. | |
116 | LTTNG_ERR_URL_EXIST = 21, | |
117 | ||
118 | /// Unsupported \ref api-channel-buf-scheme "buffering scheme". | |
119 | LTTNG_ERR_BUFFER_NOT_SUPPORTED = 22, | |
120 | ||
121 | /// Nonexistent \lt_obj_session name. | |
122 | LTTNG_ERR_SESS_NOT_FOUND = 23, | |
123 | ||
124 | /*! | |
125 | A \lt_obj_channel within the given \lt_obj_domain already exists | |
126 | and is configured with another | |
127 | \ref api-channel-buf-scheme "buffering scheme". | |
128 | */ | |
129 | LTTNG_ERR_BUFFER_TYPE_MISMATCH = 24, | |
130 | ||
131 | /// Fatal error. | |
132 | LTTNG_ERR_FATAL = 25, | |
133 | ||
134 | /// Failed to allocate memory. | |
135 | LTTNG_ERR_NOMEM = 26, | |
136 | ||
137 | /// \lt_obj_c_session name already exists. | |
138 | LTTNG_ERR_EXIST_SESS = 28, | |
139 | ||
140 | /// \lt_obj_c_rer not found. | |
141 | LTTNG_ERR_NO_EVENT = 29, | |
142 | ||
143 | /// Failed to connect to Unix socket. | |
144 | LTTNG_ERR_CONNECT_FAIL = 30, | |
145 | ||
146 | /// \ref api_session_snapshot "Snapshot" output already exists. | |
147 | LTTNG_ERR_SNAPSHOT_OUTPUT_EXIST = 31, | |
148 | ||
149 | /// Permission denied. | |
150 | LTTNG_ERR_EPERM = 32, | |
151 | ||
152 | /// Linux kernel tracer isn't available. | |
153 | LTTNG_ERR_KERN_NA = 33, | |
154 | ||
155 | /// Incompatible Linux kernel tracer. | |
156 | LTTNG_ERR_KERN_VERSION = 34, | |
157 | ||
158 | /// Linux kernel \lt_obj_rer already exists. | |
159 | LTTNG_ERR_KERN_EVENT_EXIST = 35, | |
160 | ||
161 | /// Linux kernel tracer: failed to create a \lt_obj_session. | |
162 | LTTNG_ERR_KERN_SESS_FAIL = 36, | |
163 | ||
164 | /// Linux kernel \lt_obj_channel already exists. | |
165 | LTTNG_ERR_KERN_CHAN_EXIST = 37, | |
166 | ||
167 | /// Failed to create a Linux kernel \lt_obj_channel. | |
168 | LTTNG_ERR_KERN_CHAN_FAIL = 38, | |
169 | ||
170 | /// Linux kernel \lt_obj_channel not found. | |
171 | LTTNG_ERR_KERN_CHAN_NOT_FOUND = 39, | |
172 | ||
173 | /// Failed to disable a Linux kernel \lt_obj_channel. | |
174 | LTTNG_ERR_KERN_CHAN_DISABLE_FAIL = 40, | |
175 | ||
176 | /// Failed to create/enable a Linux kernel \lt_obj_channel. | |
177 | LTTNG_ERR_KERN_CHAN_ENABLE_FAIL = 41, | |
178 | ||
179 | /*! | |
180 | Failed to add a context field to be recorded to the event | |
181 | records of a Linux kernel \lt_obj_channel. | |
182 | */ | |
183 | LTTNG_ERR_KERN_CONTEXT_FAIL = 42, | |
184 | ||
185 | /// Failed to create/enable a Linux kernel \lt_obj_rer. | |
186 | LTTNG_ERR_KERN_ENABLE_FAIL = 43, | |
187 | ||
188 | /// Failed to disable a Linux kernel \lt_obj_rer. | |
189 | LTTNG_ERR_KERN_DISABLE_FAIL = 44, | |
190 | ||
191 | /// Failed to open a Linux kernel trace metadata stream. | |
192 | LTTNG_ERR_KERN_META_FAIL = 45, | |
193 | ||
194 | /*! | |
195 | Linux kernel tracer: failed to | |
196 | \link lttng_start_tracing() start tracing\endlink. | |
197 | */ | |
198 | LTTNG_ERR_KERN_START_FAIL = 46, | |
199 | ||
200 | /*! | |
201 | Linux kernel tracer: failed to | |
202 | \link lttng_stop_tracing stop tracing\endlink. | |
203 | */ | |
204 | LTTNG_ERR_KERN_STOP_FAIL = 47, | |
205 | ||
206 | /// Failed to start a Linux kernel consumer daemon. | |
207 | LTTNG_ERR_KERN_CONSUMER_FAIL = 48, | |
208 | ||
209 | /// Failed to create a Linux kernel trace data stream. | |
210 | LTTNG_ERR_KERN_STREAM_FAIL = 49, | |
211 | ||
212 | /*! | |
213 | The \lt_obj_session never became | |
214 | \link lttng_session::enabled active\endlink. | |
215 | */ | |
216 | LTTNG_ERR_START_SESSION_ONCE = 50, | |
217 | ||
218 | /*! | |
219 | Failed to take a recording session | |
220 | \ref api_session_snapshot "snapshot". | |
221 | */ | |
222 | LTTNG_ERR_SNAPSHOT_FAIL = 51, | |
223 | ||
224 | /// Failed to list Linux kernel \lt_obj_rers. | |
225 | LTTNG_ERR_KERN_LIST_FAIL = 53, | |
226 | ||
227 | /// User space \lt_obj_rer already enabled. | |
228 | LTTNG_ERR_UST_EVENT_ENABLED = 55, | |
229 | ||
230 | /*! | |
231 | User space tracer: failed to | |
232 | \link lttng_create_session_ext() create\endlink a | |
233 | \lt_obj_session. | |
234 | */ | |
235 | LTTNG_ERR_UST_SESS_FAIL = 56, | |
236 | ||
237 | /// User space \lt_obj_channel already exists. | |
238 | LTTNG_ERR_UST_CHAN_EXIST = 57, | |
239 | ||
240 | /*! | |
241 | Failed to | |
242 | \link lttng_enable_channel() create\endlink a user space | |
243 | \lt_obj_channel. | |
244 | */ | |
245 | LTTNG_ERR_UST_CHAN_FAIL = 58, | |
246 | ||
247 | /// User space \lt_obj_channel not found. | |
248 | LTTNG_ERR_UST_CHAN_NOT_FOUND = 59, | |
249 | ||
250 | /*! | |
251 | Failed to \link lttng_disable_channel() disable\endlink | |
252 | a user space \lt_obj_channel. | |
253 | */ | |
254 | LTTNG_ERR_UST_CHAN_DISABLE_FAIL = 60, | |
255 | ||
256 | /// Failed to create/enable a user space \lt_obj_rer. | |
257 | LTTNG_ERR_UST_ENABLE_FAIL = 63, | |
258 | ||
259 | /// Failed to disable a user space \lt_obj_rer. | |
260 | LTTNG_ERR_UST_DISABLE_FAIL = 64, | |
261 | ||
262 | /*! | |
263 | User space tracer: failed to | |
264 | \link lttng_start_tracing() start tracing\endlink. | |
265 | */ | |
266 | LTTNG_ERR_UST_START_FAIL = 66, | |
267 | ||
268 | /*! | |
269 | User space tracer: failed to | |
270 | \link lttng_stop_tracing() stop tracing\endlink. | |
271 | */ | |
272 | LTTNG_ERR_UST_STOP_FAIL = 67, | |
273 | ||
274 | /// Failed to start a 64-bit user space consumer daemon. | |
275 | LTTNG_ERR_UST_CONSUMER64_FAIL = 68, | |
276 | ||
277 | /// Failed to start a 32-bit user space consumer daemon. | |
278 | LTTNG_ERR_UST_CONSUMER32_FAIL = 69, | |
279 | ||
280 | /// \lt_obj_c_session has no \lt_obj_channels. | |
281 | LTTNG_ERR_NO_CHANNEL = 72, | |
282 | ||
283 | /// \lt_obj_c_session name contains an invalid character. | |
284 | LTTNG_ERR_SESSION_INVALID_CHAR = 73, | |
285 | ||
286 | /// Failed to list user space \lt_obj_rers. | |
287 | LTTNG_ERR_UST_LIST_FAIL = 74, | |
288 | ||
289 | /// User space \lt_obj_rer already exists. | |
290 | LTTNG_ERR_UST_EVENT_EXIST = 75, | |
291 | ||
292 | /// User space \lt_obj_rer not found. | |
293 | LTTNG_ERR_UST_EVENT_NOT_FOUND = 76, | |
294 | ||
295 | /*! | |
296 | \link lttng_add_context() Context field\endlink to be recorded | |
297 | to the event records of a user space | |
298 | \lt_obj_channel already exists. | |
299 | */ | |
300 | LTTNG_ERR_UST_CONTEXT_EXIST = 77, | |
301 | ||
302 | /*! | |
303 | Invalid/unknown | |
304 | \link #lttng_event_context_type context field type\endlink. | |
305 | */ | |
306 | LTTNG_ERR_UST_CONTEXT_INVAL = 78, | |
307 | ||
308 | /*! | |
309 | A root session daemon is required, but isn't available. | |
310 | ||
311 | See \ref api-gen-sessiond-conn "Session daemon connection". | |
312 | */ | |
313 | LTTNG_ERR_NEED_ROOT_SESSIOND = 79, | |
314 | ||
315 | /*! | |
316 | \lt_obj_c_session is already | |
317 | \link lttng_session::enabled active\endlink (started). | |
318 | */ | |
319 | LTTNG_ERR_TRACE_ALREADY_STARTED = 80, | |
320 | ||
321 | /*! | |
322 | \lt_obj_c_session is already | |
323 | \link lttng_session::enabled inactive\endlink (stopped). | |
324 | */ | |
325 | LTTNG_ERR_TRACE_ALREADY_STOPPED = 81, | |
326 | ||
327 | /// Linux kernel instrumentation point type not supported. | |
328 | LTTNG_ERR_KERN_EVENT_ENOSYS = 82, | |
329 | ||
330 | /*! | |
331 | A \lt_obj_channel name is required because | |
332 | a non-default channel exists within the selected | |
333 | \lt_obj_session and \lt_obj_domain. | |
334 | */ | |
335 | LTTNG_ERR_NEED_CHANNEL_NAME = 83, | |
336 | ||
337 | /*! | |
338 | \lt_obj_c_channel name is required because a | |
339 | non-default channel exists within the \lt_obj_session. | |
340 | */ | |
341 | LTTNG_ERR_NO_UST = 84, | |
342 | ||
343 | /*! | |
344 | \ref api_session_save_load "Recording session configuration file" | |
345 | already exists. | |
346 | */ | |
347 | LTTNG_ERR_SAVE_FILE_EXIST = 85, | |
348 | ||
349 | /*! | |
350 | I/O error while writing a | |
351 | \ref api_session_save_load "recording session configuration file". | |
352 | */ | |
353 | LTTNG_ERR_SAVE_IO_FAIL = 86, | |
354 | ||
355 | /*! | |
356 | Invalid | |
357 | \ref api_session_save_load "recording session configuration file". | |
358 | */ | |
359 | LTTNG_ERR_LOAD_INVALID_CONFIG = 87, | |
360 | ||
361 | /*! | |
362 | I/O error while reading a | |
363 | \ref api_session_save_load "recording session configuration file". | |
364 | */ | |
365 | LTTNG_ERR_LOAD_IO_FAIL = 88, | |
366 | ||
367 | /*! | |
368 | \ref api_session_save_load "Recording session configuration file" | |
369 | not found. | |
370 | */ | |
371 | LTTNG_ERR_LOAD_SESSION_NOENT = 89, | |
372 | ||
373 | /*! | |
374 | Maximum total size of all the | |
375 | \ref api_session_snapshot "snapshot" trace files is invalid. | |
376 | */ | |
377 | LTTNG_ERR_MAX_SIZE_INVALID = 90, | |
378 | ||
379 | /* 94 */ | |
380 | /* 95 */ | |
381 | /* 96 */ | |
382 | ||
383 | /// Invalid parameter (unsatisfied precondition). | |
384 | LTTNG_ERR_INVALID = 97, | |
385 | ||
386 | /// No user space consumer daemon available. | |
387 | LTTNG_ERR_NO_USTCONSUMERD = 98, | |
388 | ||
389 | /// No Linux kernel consumer daemon available. | |
390 | LTTNG_ERR_NO_KERNCONSUMERD = 99, | |
391 | ||
392 | /// Missing network data \ref api-session-url "URL". | |
393 | LTTNG_ERR_URL_DATA_MISS = 101, | |
394 | ||
395 | /// Missing network control \ref api-session-url "URL". | |
396 | LTTNG_ERR_URL_CTRL_MISS = 102, | |
397 | ||
398 | /// Failed to communicate with a consumer daemon. | |
399 | LTTNG_ERR_ENABLE_CONSUMER_FAIL = 103, | |
400 | ||
401 | /*! | |
402 | Failed to connect to or communicate with a relay daemon | |
403 | (see \lt_man{lttng-relayd,8}). | |
404 | */ | |
405 | LTTNG_ERR_RELAYD_CONNECT_FAIL = 104, | |
406 | ||
407 | /// Incompatible relay daemon (see \lt_man{lttng-relayd,8}) version. | |
408 | LTTNG_ERR_RELAYD_VERSION_FAIL = 105, | |
409 | ||
410 | /*! | |
411 | Invalid \link lttng_enable_event_with_filter() context and event | |
412 | payload filter expression\endlink. | |
413 | */ | |
414 | LTTNG_ERR_FILTER_INVAL = 106, | |
415 | ||
416 | /*! | |
417 | Failed to allocate memory for a context and event payload filter | |
418 | object. | |
419 | */ | |
420 | LTTNG_ERR_FILTER_NOMEM = 107, | |
421 | ||
422 | /// No available consumer daemon. | |
423 | LTTNG_ERR_NO_CONSUMER = 109, | |
424 | ||
425 | /*! | |
426 | Invalid event name | |
427 | \link lttng_enable_event_with_exclusions() exclusion\endlink | |
428 | data. | |
429 | */ | |
430 | LTTNG_ERR_EXCLUSION_INVAL = 110, | |
431 | ||
432 | /// Failed to allocate memory for an event name exclusion object. | |
433 | LTTNG_ERR_EXCLUSION_NOMEM = 111, | |
434 | ||
435 | /// Invalid event name condition part of a \lt_obj_rer. | |
436 | LTTNG_ERR_INVALID_EVENT_NAME = 112, | |
437 | ||
438 | /// Invalid \lt_obj_channel name. | |
439 | LTTNG_ERR_INVALID_CHANNEL_NAME = 113, | |
440 | ||
441 | /*! | |
442 | Process attribute is already part of an | |
443 | \ref api_pais "inclusion set". | |
444 | */ | |
445 | LTTNG_ERR_PROCESS_ATTR_EXISTS = 114, | |
446 | ||
447 | /*! | |
448 | Process attribute isn't part of an | |
449 | \ref api_pais "inclusion set". | |
450 | */ | |
451 | LTTNG_ERR_PROCESS_ATTR_MISSING = 115, | |
452 | ||
453 | /// Invalid \lt_obj_domain for \lt_obj_channel. | |
454 | LTTNG_ERR_INVALID_CHANNEL_DOMAIN = 116, | |
455 | ||
456 | /// Overflow. | |
457 | LTTNG_ERR_OVERFLOW = 117, | |
458 | ||
459 | /*! | |
460 | \lt_obj_c_session isn't | |
461 | \link lttng_session::enabled active\endlink (started). | |
462 | */ | |
463 | LTTNG_ERR_SESSION_NOT_STARTED = 118, | |
464 | ||
465 | /*! | |
466 | Unsupported LTTng \ref api-session-live-mode "live" recording | |
467 | session mode. | |
468 | */ | |
469 | LTTNG_ERR_LIVE_SESSION = 119, | |
470 | ||
471 | /*! | |
472 | Unsupported | |
473 | \ref api-channel-per-proc-buf "per-process buffering scheme". | |
474 | */ | |
475 | LTTNG_ERR_PER_PID_SESSION = 120, | |
476 | ||
477 | /*! | |
478 | \link #lttng_event_context_type Context field type\endlink | |
479 | isn't available on the current Linux kernel. | |
480 | */ | |
481 | LTTNG_ERR_KERN_CONTEXT_UNAVAILABLE = 121, | |
482 | ||
483 | /*! | |
484 | Failed to \link lttng_regenerate_statedump() regenerate the | |
485 | LTTng state dump event records\endlink. | |
486 | */ | |
487 | LTTNG_ERR_REGEN_STATEDUMP_FAIL = 122, | |
488 | ||
489 | /*! | |
490 | Failed to allocate memory to \link lttng_regenerate_statedump() | |
491 | regenerate the LTTng state dump event records\endlink. | |
492 | */ | |
493 | LTTNG_ERR_REGEN_STATEDUMP_NOMEM = 123, | |
494 | ||
495 | /*! | |
496 | \lt_obj_c_session isn't in | |
497 | \ref api-session-snapshot-mode "snapshot mode". | |
498 | */ | |
499 | LTTNG_ERR_NOT_SNAPSHOT_SESSION = 124, | |
500 | ||
501 | /// Invalid \lt_obj_trigger. | |
502 | LTTNG_ERR_INVALID_TRIGGER = 125, | |
503 | ||
504 | /// \lt_obj_c_trigger already exists (registered). | |
505 | LTTNG_ERR_TRIGGER_EXISTS = 126, | |
506 | ||
507 | /// \lt_obj_c_trigger not found. | |
508 | LTTNG_ERR_TRIGGER_NOT_FOUND = 127, | |
509 | ||
510 | /*! | |
511 | \ref api_session_rotation "Recording session rotation" operation | |
512 | already in progress. | |
513 | */ | |
514 | LTTNG_ERR_ROTATION_PENDING = 129, | |
515 | ||
516 | /*! | |
517 | \ref api_session_rotation "Recording session rotation" feature | |
518 | isn't available for the \ref api-session-modes "mode" of the | |
519 | given recording session. | |
520 | */ | |
521 | LTTNG_ERR_ROTATION_NOT_AVAILABLE = 130, | |
522 | ||
523 | /*! | |
524 | \ref api_session_rotation "Recording session rotation" schedule | |
525 | already set. | |
526 | */ | |
527 | LTTNG_ERR_ROTATION_SCHEDULE_SET = 131, | |
528 | ||
529 | /*! | |
530 | \ref api_session_rotation "Recording session rotation" schedule | |
531 | isn't set. | |
532 | */ | |
533 | LTTNG_ERR_ROTATION_SCHEDULE_NOT_SET = 132, | |
534 | ||
535 | /*! | |
536 | LTTng already | |
537 | \ref api_session_rotation "archived the current trace chunk" of | |
538 | the recording session since it became | |
539 | \link lttng_session::enabled inactive\endlink (stopped). | |
540 | */ | |
541 | LTTNG_ERR_ROTATION_MULTIPLE_AFTER_STOP = 133, | |
542 | ||
543 | /*! | |
544 | Linux kernel tracer: unavailable | |
545 | \ref api_session_rotation "recording session rotation" feature. | |
546 | */ | |
547 | LTTNG_ERR_ROTATION_WRONG_VERSION = 134, | |
548 | ||
549 | /// \lt_obj_c_session has no configured output. | |
550 | LTTNG_ERR_NO_SESSION_OUTPUT = 135, | |
551 | ||
552 | /*! | |
553 | Relay daemon: unavailable | |
554 | \ref api_session_rotation "recording session rotation" feature. | |
555 | */ | |
556 | LTTNG_ERR_ROTATION_NOT_AVAILABLE_RELAY = 136, | |
557 | ||
558 | /// Unavailable logging instrumentation point feature. | |
559 | LTTNG_ERR_AGENT_TRACING_DISABLED = 137, | |
560 | ||
561 | /// Invalid user space probe location. | |
562 | LTTNG_ERR_PROBE_LOCATION_INVAL = 138, | |
563 | ||
564 | /// Failed to parse ELF file. | |
565 | LTTNG_ERR_ELF_PARSING = 139, | |
566 | ||
567 | /*! | |
568 | SystemTap User-level Statically Defined Tracing (USDT) probe | |
569 | guarded by a semaphore. | |
570 | */ | |
571 | LTTNG_ERR_SDT_PROBE_SEMAPHORE = 140, | |
572 | ||
573 | /*! | |
574 | Consumer daemon failed to perform a | |
575 | \ref api_session_rotation "recording session rotation" | |
576 | operation. | |
577 | */ | |
578 | LTTNG_ERR_ROTATION_FAIL_CONSUMER = 141, | |
579 | ||
580 | /// \lt_obj_c_channel not found. | |
581 | LTTNG_ERR_CHAN_NOT_FOUND = 146, | |
582 | ||
583 | /*! | |
584 | Cannot take a | |
585 | \ref api_session_snapshot "snapshot" with the current | |
586 | recording session configuration. | |
587 | */ | |
588 | LTTNG_ERR_SNAPSHOT_UNSUPPORTED = 147, | |
589 | ||
590 | /// Nonexistent \lt_obj_session. | |
591 | LTTNG_ERR_SESSION_NOT_EXIST = 148, | |
592 | ||
593 | /*! | |
594 | Consumer daemon failed to create a | |
595 | \ref api_session_rotation "trace chunk archive". | |
596 | */ | |
597 | LTTNG_ERR_CREATE_TRACE_CHUNK_FAIL_CONSUMER = 149, | |
598 | ||
599 | /*! | |
600 | Consumer daemon failed to close a | |
601 | \ref api_session_rotation "trace chunk archive". | |
602 | */ | |
603 | LTTNG_ERR_CLOSE_TRACE_CHUNK_FAIL_CONSUMER = 150, | |
604 | ||
605 | /// Invalid protocol. | |
606 | LTTNG_ERR_INVALID_PROTOCOL = 152, | |
607 | ||
608 | /// Failed to create a file. | |
609 | LTTNG_ERR_FILE_CREATION_ERROR = 153, | |
610 | ||
611 | /// Failed to stop a timer. | |
612 | LTTNG_ERR_TIMER_STOP_ERROR = 154, | |
613 | ||
614 | /*! | |
615 | Linux kernel tracer: | |
616 | \ref api_session_rotation "recording session rotation" feature | |
617 | isn't available. | |
618 | */ | |
619 | LTTNG_ERR_ROTATION_NOT_AVAILABLE_KERNEL = 155, | |
620 | ||
621 | /*! | |
622 | The relay daemon (see \lt_man{lttng-relayd,8}) doesn't allow | |
623 | \ref api_session_clear "recording session clearing" operations. | |
624 | */ | |
625 | LTTNG_ERR_CLEAR_RELAY_DISALLOWED = 156, | |
626 | ||
627 | /*! | |
628 | The relay daemon (see \lt_man{lttng-relayd,8}) doesn't support | |
629 | the | |
630 | \ref api_session_clear "recording session clearing" operation. | |
631 | */ | |
632 | LTTNG_ERR_CLEAR_NOT_AVAILABLE_RELAY = 157, | |
633 | ||
634 | /*! | |
635 | Consumer daemon failed to | |
636 | \ref api_session_clear "clear the recording session". | |
637 | */ | |
638 | LTTNG_ERR_CLEAR_FAIL_CONSUMER = 158, | |
639 | ||
640 | /*! | |
641 | LTTng already | |
642 | \ref api_session_clear "cleared the recording session" since it | |
643 | became \link lttng_session::enabled inactive\endlink (stopped). | |
644 | */ | |
645 | LTTNG_ERR_ROTATION_AFTER_STOP_CLEAR = 159, | |
646 | ||
647 | /* Unix user not found. */ | |
648 | LTTNG_ERR_USER_NOT_FOUND = 160, | |
649 | ||
650 | /* Unix group not found. */ | |
651 | LTTNG_ERR_GROUP_NOT_FOUND = 161, | |
652 | ||
653 | /* Unsupported \lt_obj_domain. */ | |
654 | LTTNG_ERR_UNSUPPORTED_DOMAIN = 162, | |
655 | ||
656 | /*! | |
657 | Invalid operation considering the policy of the | |
658 | \ref api_pais "process attribute inclusion set". | |
659 | */ | |
660 | LTTNG_ERR_PROCESS_ATTR_TRACKER_INVALID_TRACKING_POLICY = 163, | |
661 | ||
662 | /*! | |
663 | Failed to initialize the file descriptor of the event notifier | |
664 | group notification. | |
665 | */ | |
666 | LTTNG_ERR_EVENT_NOTIFIER_GROUP_NOTIFICATION_FD = 164, | |
667 | ||
668 | /// Invalid event field capture expression. | |
669 | LTTNG_ERR_INVALID_CAPTURE_EXPRESSION = 165, | |
670 | ||
671 | /// Failed to register the event notifier to the tracer. | |
672 | LTTNG_ERR_EVENT_NOTIFIER_REGISTRATION = 166, | |
673 | ||
674 | /// Failed to initialize the event notifier error accounting. | |
675 | LTTNG_ERR_EVENT_NOTIFIER_ERROR_ACCOUNTING = 167, | |
676 | ||
677 | /// Event notifier error accouting is full. | |
678 | LTTNG_ERR_EVENT_NOTIFIER_ERROR_ACCOUNTING_FULL = 168, | |
679 | ||
680 | /// Invalid error query target. | |
681 | LTTNG_ERR_INVALID_ERROR_QUERY_TARGET = 169, | |
682 | ||
683 | /// Failed to flush a buffer. | |
684 | LTTNG_ERR_BUFFER_FLUSH_FAILED = 170, | |
546699de | 685 | |
51298456 | 686 | /* MUST be last element of the manually-assigned section of the enum */ |
048f01ef | 687 | /// @cond INTERNAL_ERR_CODES |
51298456 | 688 | LTTNG_ERR_NR, |
048f01ef | 689 | /// @endcond |
51298456 JR |
690 | |
691 | /* Backward-compatibility assignments */ | |
048f01ef PP |
692 | /*! |
693 | Process attribute is already part of an | |
694 | \ref api_pais "inclusion set". | |
695 | ||
696 | @deprecated | |
697 | Use #LTTNG_ERR_PROCESS_ATTR_EXISTS. | |
698 | */ | |
699 | LTTNG_ERR_PID_TRACKED = LTTNG_ERR_PROCESS_ATTR_EXISTS, | |
700 | ||
701 | /*! | |
702 | Process attribute isn't part of an | |
703 | \ref api_pais "inclusion set". | |
704 | ||
705 | @deprecated | |
706 | Use #LTTNG_ERR_PROCESS_ATTR_MISSING. | |
707 | */ | |
708 | LTTNG_ERR_PID_NOT_TRACKED = LTTNG_ERR_PROCESS_ATTR_MISSING, | |
f73fabfd DG |
709 | }; |
710 | ||
048f01ef PP |
711 | /*! |
712 | @brief | |
713 | Returns a human-readable message for the general error code | |
714 | \lt_p{error_code}. | |
715 | ||
716 | @param[in] error_code | |
717 | Error code (one of the #lttng_error_code enumerators), positive or | |
718 | negative, for which to get a corresponding human-readable message. | |
719 | ||
720 | @returns | |
721 | Human-readable message which corresponds to \lt_p{error_code}. | |
722 | ||
723 | @pre | |
724 | \lt_p{error_code} is a valid #lttng_error_code enumerator. | |
725 | */ | |
726 | LTTNG_EXPORT extern const char *lttng_strerror(int error_code); | |
727 | ||
728 | /// @} | |
1239a312 | 729 | |
5168918c DG |
730 | #ifdef __cplusplus |
731 | } | |
732 | #endif | |
733 | ||
f73fabfd | 734 | #endif /* LTTNG_ERROR_H */ |