Implement SDT probe description parsing function
[lttng-tools.git] / include / lttng / lttng-error.h
index 93a8c2187ee28d825822f3db803583e9dd75f423..c53b6ceac48a5ddbb6a4ca197f78fa2597da7ff6 100644 (file)
 extern "C" {
 #endif
 
-#ifndef LTTNG_DEPRECATED
-#if defined (__GNUC__) \
-       && ((__GNUC_MAJOR__ == 4) && (__GNUC_MINOR__ >= 5)  \
-                       || __GNUC_MAJOR__ >= 5)
-#define LTTNG_DEPRECATED(msg) __attribute__((deprecated(msg)))
-#else
-#define LTTNG_DEPRECATED(msg) __attribute__((deprecated))
-#endif /* defined __GNUC__ */
-#endif /* LTTNG_DEPRECATED */
-
 enum lttng_error_code {
        LTTNG_OK                         = 10,  /* Ok */
        LTTNG_ERR_UNK                    = 11,  /* Unknown Error */
-       LTTNG_ERR_UND                    = 12,  /* Undefine command */
+       LTTNG_ERR_UND                    = 12,  /* Undefined command */
        LTTNG_ERR_SESSION_STARTED        = 13,  /* Session is running */
        LTTNG_ERR_UNKNOWN_DOMAIN         = 14,  /* Tracing domain not known */
        LTTNG_ERR_NOT_SUPPORTED          = 15,  /* Operation not supported */
@@ -102,8 +92,8 @@ enum lttng_error_code {
        LTTNG_ERR_UST_CONSUMER32_FAIL    = 69,  /* 32-bit UST consumer start failed */
        LTTNG_ERR_UST_STREAM_FAIL        = 70,  /* UST create stream failed */
        LTTNG_ERR_SNAPSHOT_NODATA        = 71,  /* No data in snapshot. */
-       /* 72 */
-       /* 73 */
+       LTTNG_ERR_NO_CHANNEL             = 72,  /* No channel found in the session. */
+       LTTNG_ERR_SESSION_INVALID_CHAR   = 73,  /* Invalid characters found in session name. */
        LTTNG_ERR_UST_LIST_FAIL          = 74,  /* UST listing events failed */
        LTTNG_ERR_UST_EVENT_EXIST        = 75,  /* UST event exist */
        LTTNG_ERR_UST_EVENT_NOT_FOUND    = 76,  /* UST event not found */
@@ -115,15 +105,15 @@ enum lttng_error_code {
        LTTNG_ERR_KERN_EVENT_ENOSYS      = 82,  /* Kernel event type not supported */
        LTTNG_ERR_NEED_CHANNEL_NAME      = 83,  /* Non-default channel exists within session: channel name needs to be specified with '-c name' */
        LTTNG_ERR_NO_UST                 = 84,  /* LTTng-UST tracer is not supported. Please rebuild lttng-tools with lttng-ust support enabled. */
-       /* 85 */
-       /* 86 */
-       /* 87 */
-       /* 88 */
-       /* 89 */
-       /* 90 */
-       /* 91 */
-       /* 92 */
-       /* 93 */
+       LTTNG_ERR_SAVE_FILE_EXIST        = 85,  /* Session file already exists. */
+       LTTNG_ERR_SAVE_IO_FAIL           = 86,  /* IO error while writing session configuration */
+       LTTNG_ERR_LOAD_INVALID_CONFIG    = 87,  /* Invalid session configuration */
+       LTTNG_ERR_LOAD_IO_FAIL           = 88,  /* IO error while reading a session configuration */
+       LTTNG_ERR_LOAD_SESSION_NOENT     = 89,  /* Session file not found */
+       LTTNG_ERR_MAX_SIZE_INVALID       = 90,  /* Snapshot max size is invalid. */
+       LTTNG_ERR_MI_OUTPUT_TYPE         = 91,  /* Invalid MI output format */
+       LTTNG_ERR_MI_IO_FAIL             = 92,  /* IO error while writing machine interface output */
+       LTTNG_ERR_MI_NOT_IMPLEMENTED     = 93,  /* Mi feature not implemented */
        /* 94 */
        /* 95 */
        /* 96 */
@@ -142,11 +132,47 @@ enum lttng_error_code {
        LTTNG_ERR_NO_CONSUMER            = 109, /* No consumer exist for the session */
        LTTNG_ERR_EXCLUSION_INVAL        = 110, /* Invalid event exclusion data */
        LTTNG_ERR_EXCLUSION_NOMEM        = 111, /* Lack of memory while processing event exclusions */
+       LTTNG_ERR_INVALID_EVENT_NAME     = 112, /* Invalid event name */
+       LTTNG_ERR_INVALID_CHANNEL_NAME   = 113, /* Invalid channel name */
+       LTTNG_ERR_PID_TRACKED            = 114, /* PID already tracked */
+       LTTNG_ERR_PID_NOT_TRACKED        = 115, /* PID not tracked */
+       LTTNG_ERR_INVALID_CHANNEL_DOMAIN = 116, /* Invalid channel domain */
+       LTTNG_ERR_OVERFLOW               = 117, /* Overflow occurred. */
+       LTTNG_ERR_SESSION_NOT_STARTED    = 118, /* Session not started */
+       LTTNG_ERR_LIVE_SESSION           = 119, /* Live session unsupported */
+       LTTNG_ERR_PER_PID_SESSION        = 120, /* Per-PID sessions unsupported */
+       LTTNG_ERR_KERN_CONTEXT_UNAVAILABLE = 121, /* Context unavailable on this kernel */
+       LTTNG_ERR_REGEN_STATEDUMP_FAIL   = 122, /* Failed to regenerate the state dump */
+       LTTNG_ERR_REGEN_STATEDUMP_NOMEM  = 123, /* Failed to regenerate the state dump, not enough memory */
+       LTTNG_ERR_NOT_SNAPSHOT_SESSION   = 124, /* Session is not in snapshot mode. */
+       LTTNG_ERR_INVALID_TRIGGER        = 125, /* Invalid trigger provided. */
+       LTTNG_ERR_TRIGGER_EXISTS         = 126, /* Trigger already registered. */
+       LTTNG_ERR_TRIGGER_NOT_FOUND      = 127, /* Trigger not found. */
+       LTTNG_ERR_COMMAND_CANCELLED      = 128, /* Command cancelled. */
+       LTTNG_ERR_ROTATION_PENDING       = 129, /* Rotate already pending for this session. */
+       LTTNG_ERR_ROTATION_NOT_AVAILABLE = 130, /* Rotate feature not available for this type of session (e.g: live) */
+       LTTNG_ERR_ROTATION_SCHEDULE_SET  = 131, /* Schedule type already set for this session. */
+       LTTNG_ERR_ROTATION_SCHEDULE_NOT_SET = 132, /* No schedule of this type set for this session. */
+       LTTNG_ERR_ROTATION_MULTIPLE_AFTER_STOP = 133, /* Already rotated once after a stop. */
+       LTTNG_ERR_ROTATION_WRONG_VERSION   = 134, /* Session rotation not supported by this kernel tracer version */
+       LTTNG_ERR_NO_SESSION_OUTPUT        = 135, /* Session has no output configured. */
+       LTTNG_ERR_ROTATION_NOT_AVAILABLE_RELAY = 136, /* Rotate feature not available on the relay. */
+       LTTNG_ERR_AGENT_TRACING_DISABLED = 137, /* Agent tracing disabled. */
+       LTTNG_ERR_PROBE_LOCATION_INVAL   = 138, /* Invalid userspace probe location. */
+       LTTNG_ERR_ELF_PARSING            = 139, /* ELF parsing error. */
+       LTTNG_ERR_SDT_PROBE_SEMAPHORE    = 140, /* SDT probe guarded by a semaphore. */
 
        /* MUST be last element */
        LTTNG_ERR_NR,                           /* Last element */
 };
 
+/*
+ * Return a human-readable error message for a LTTng error code.
+ *
+ * Parameter MUST be a negative value or else you'll get a generic message.
+ */
+extern const char *lttng_strerror(int code);
+
 #ifdef __cplusplus
 }
 #endif
This page took 0.025094 seconds and 5 git commands to generate.