9170948a135016035ca4c5750813886138c826ce
[lttng-tools.git] / include / lttng / lttng-error.h
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 *
9 * Copyright (C) 2012 David Goulet <dgoulet@efficios.com>
10 *
11 * SPDX-License-Identifier: LGPL-2.1-only
12 *
13 */
14
15 #ifndef LTTNG_ERROR_H
16 #define LTTNG_ERROR_H
17
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21
22 enum lttng_error_code {
23 LTTNG_OK = 10, /* Ok */
24 LTTNG_ERR_UNK = 11, /* Unknown Error */
25 LTTNG_ERR_UND = 12, /* Undefined command */
26 LTTNG_ERR_SESSION_STARTED = 13, /* Session is running */
27 LTTNG_ERR_UNKNOWN_DOMAIN = 14, /* Tracing domain not known */
28 LTTNG_ERR_NOT_SUPPORTED = 15, /* Operation not supported */
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 */
32 LTTNG_ERR_NO_SESSIOND = 19, /* No session daemon available */
33 LTTNG_ERR_SET_URL = 20, /* Error setting URL */
34 LTTNG_ERR_URL_EXIST = 21, /* URL already exists. */
35 LTTNG_ERR_BUFFER_NOT_SUPPORTED = 22, /* Buffer type not supported. */
36 LTTNG_ERR_SESS_NOT_FOUND = 23, /* Session by name not found */
37 LTTNG_ERR_BUFFER_TYPE_MISMATCH = 24, /* Buffer type mismatched. */
38 LTTNG_ERR_FATAL = 25, /* Fatal error */
39 LTTNG_ERR_NOMEM = 26, /* Not enough memory. */
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 */
44 LTTNG_ERR_SNAPSHOT_OUTPUT_EXIST = 31, /* Snapshot output already exists */
45 LTTNG_ERR_EPERM = 32, /* Permission denied */
46 LTTNG_ERR_KERN_NA = 33, /* Kernel tracer unavailable */
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 */
63 LTTNG_ERR_START_SESSION_ONCE = 50, /* Session needs to be started once. */
64 LTTNG_ERR_SNAPSHOT_FAIL = 51, /* Snapshot record failed. */
65 LTTNG_ERR_NO_STREAM = 52, /* Index without stream on relay. */
66 LTTNG_ERR_KERN_LIST_FAIL = 53, /* Kernel listing events failed */
67 LTTNG_ERR_UST_CALIBRATE_FAIL = 54, /* UST calibration failed */
68 LTTNG_ERR_UST_EVENT_ENABLED = 55, /* UST event already enabled. */
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 */
75 LTTNG_ERR_CHAN_EXIST = 62, /* Channel already exists. */
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 */
84 LTTNG_ERR_SNAPSHOT_NODATA = 71, /* No data in snapshot. */
85 LTTNG_ERR_NO_CHANNEL = 72, /* No channel found in the session. */
86 LTTNG_ERR_SESSION_INVALID_CHAR = 73, /* Invalid characters found in session name. */
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 */
96 LTTNG_ERR_NEED_CHANNEL_NAME = 83, /* Non-default channel exists within session: channel name needs to be specified with '-c name' */
97 LTTNG_ERR_NO_UST = 84, /* LTTng-UST tracer is not supported. Please rebuild lttng-tools with lttng-ust support enabled. */
98 LTTNG_ERR_SAVE_FILE_EXIST = 85, /* Session file already exists. */
99 LTTNG_ERR_SAVE_IO_FAIL = 86, /* IO error while writing session configuration */
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 */
103 LTTNG_ERR_MAX_SIZE_INVALID = 90, /* Snapshot max size is invalid. */
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 */
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 */
123 LTTNG_ERR_EXCLUSION_INVAL = 110, /* Invalid event exclusion data */
124 LTTNG_ERR_EXCLUSION_NOMEM = 111, /* Lack of memory while processing event exclusions */
125 LTTNG_ERR_INVALID_EVENT_NAME = 112, /* Invalid event name */
126 LTTNG_ERR_INVALID_CHANNEL_NAME = 113, /* Invalid channel name */
127 LTTNG_ERR_PROCESS_ATTR_EXISTS = 114, /* Process attribute is already tracked */
128 LTTNG_ERR_PROCESS_ATTR_MISSING = 115, /* Process attribute was not tracked */
129 LTTNG_ERR_INVALID_CHANNEL_DOMAIN = 116, /* Invalid channel domain */
130 LTTNG_ERR_OVERFLOW = 117, /* Overflow occurred. */
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 */
134 LTTNG_ERR_KERN_CONTEXT_UNAVAILABLE = 121, /* Context unavailable on this kernel */
135 LTTNG_ERR_REGEN_STATEDUMP_FAIL = 122, /* Failed to regenerate the state dump */
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. */
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. */
142 LTTNG_ERR_ROTATION_PENDING = 129, /* Rotation already pending for this session. */
143 LTTNG_ERR_ROTATION_NOT_AVAILABLE = 130, /* Rotate feature not available for this type of session (e.g: live) */
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. */
151 LTTNG_ERR_PROBE_LOCATION_INVAL = 138, /* Invalid userspace probe location. */
152 LTTNG_ERR_ELF_PARSING = 139, /* ELF parsing error. */
153 LTTNG_ERR_SDT_PROBE_SEMAPHORE = 140, /* SDT probe guarded by a semaphore. */
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 */
160 LTTNG_ERR_SNAPSHOT_UNSUPPORTED = 147, /* Session configuration does not allow the use of snapshots */
161 LTTNG_ERR_SESSION_NOT_EXIST = 148, /* The session does not exist on the session daemon */
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 */
165 LTTNG_ERR_INVALID_PROTOCOL = 152, /* a protocol error occurred */
166 LTTNG_ERR_FILE_CREATION_ERROR = 153, /* failed to create a file */
167 LTTNG_ERR_TIMER_STOP_ERROR = 154, /* failed to stop timer. */
168 LTTNG_ERR_ROTATION_NOT_AVAILABLE_KERNEL = 155, /* Rotation feature not supported by the kernel tracer. */
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. */
173 LTTNG_ERR_USER_NOT_FOUND = 160, /* User not found. */
174 LTTNG_ERR_GROUP_NOT_FOUND = 161, /* Group not found. */
175 LTTNG_ERR_UNSUPPORTED_DOMAIN = 162, /* Unsupported domain used. */
176 LTTNG_ERR_PROCESS_ATTR_TRACKER_INVALID_TRACKING_POLICY = 163, /* Operation does not apply to the process attribute tracker's tracking policy */
177
178 /* MUST be last element of the manually-assigned section of the enum */
179 LTTNG_ERR_NR,
180
181 /* Backward-compatibility assignments */
182 LTTNG_ERR_PID_TRACKED = LTTNG_ERR_PROCESS_ATTR_EXISTS, /* Backward compat alias */
183 LTTNG_ERR_PID_NOT_TRACKED = LTTNG_ERR_PROCESS_ATTR_MISSING, /* Backward compat alias */
184 };
185
186 /*
187 * Return a human-readable error message for a LTTng error code.
188 *
189 * Parameter MUST be a negative value or else you'll get a generic message.
190 */
191 extern const char *lttng_strerror(int code);
192
193 #ifdef __cplusplus
194 }
195 #endif
196
197 #endif /* LTTNG_ERROR_H */
This page took 0.047274 seconds and 3 git commands to generate.