#define LTTNG_H
#include <limits.h>
+/*
+ * Necessary to include the fixed width type limits on glibc versions older
+ * than 2.18 when building with a C++ compiler.
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS
#include <stdint.h>
+#undef __STDC_LIMIT_MACROS
+#else /* #ifndef __STDC_LIMIT_MACROS */
+#include <stdint.h>
+#endif /* #else #ifndef __STDC_LIMIT_MACROS */
#include <sys/types.h>
/* Error codes that can be returned by API calls */
LTTNG_LOGLEVEL_DEBUG = 14,
};
+/*
+ * Available loglevels for the JUL domain. Those are an exact map from the
+ * class java.util.logging.Level.
+ */
+enum lttng_loglevel_jul {
+ LTTNG_LOGLEVEL_JUL_OFF = INT32_MAX,
+ LTTNG_LOGLEVEL_JUL_SEVERE = 1000,
+ LTTNG_LOGLEVEL_JUL_WARNING = 900,
+ LTTNG_LOGLEVEL_JUL_INFO = 800,
+ LTTNG_LOGLEVEL_JUL_CONFIG = 700,
+ LTTNG_LOGLEVEL_JUL_FINE = 500,
+ LTTNG_LOGLEVEL_JUL_FINER = 400,
+ LTTNG_LOGLEVEL_JUL_FINEST = 300,
+ LTTNG_LOGLEVEL_JUL_ALL = INT32_MIN,
+};
+
/*
* LTTng consumer mode
*/
/* Event context possible type */
enum lttng_event_context_type {
LTTNG_EVENT_CONTEXT_PID = 0,
- LTTNG_EVENT_CONTEXT_PERF_COUNTER = 1,
+ LTTNG_EVENT_CONTEXT_PERF_COUNTER = 1, /* Backward compat. */
LTTNG_EVENT_CONTEXT_PROCNAME = 2,
LTTNG_EVENT_CONTEXT_PRIO = 3,
LTTNG_EVENT_CONTEXT_NICE = 4,
LTTNG_EVENT_CONTEXT_PTHREAD_ID = 10,
LTTNG_EVENT_CONTEXT_HOSTNAME = 11,
LTTNG_EVENT_CONTEXT_IP = 12,
+ LTTNG_EVENT_CONTEXT_PERF_CPU_COUNTER = 13,
+ LTTNG_EVENT_CONTEXT_PERF_THREAD_COUNTER = 14,
};
enum lttng_calibrate_type {
*
* The structures should be initialized to zero before use.
*/
-#define LTTNG_EVENT_PADDING1 15
+#define LTTNG_EVENT_PADDING1 14
#define LTTNG_EVENT_PADDING2 LTTNG_SYMBOL_NAME_LEN + 32
struct lttng_event {
enum lttng_event_type type;
int32_t enabled; /* Does not apply: -1 */
pid_t pid;
unsigned char filter; /* filter enabled ? */
+ unsigned char exclusion; /* exclusions added ? */
char padding[LTTNG_EVENT_PADDING1];