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