callsite: add "ip" context
[lttng-ust.git] / include / lttng / ust-abi.h
index 8c065fca04fd075d4304b3ca2baef6e9d12479fb..4cc138ea9fc098fad38f86a184ccab4df9fafff2 100644 (file)
 #include <stdint.h>
 #include <lttng/ust-compiler.h>
 
-#define LTTNG_UST_SYM_NAME_LEN 256
+#ifndef __ust_stringify
+#define __ust_stringify1(x)    #x
+#define __ust_stringify(x)     __ust_stringify1(x)
+#endif /* __ust_stringify */
 
-/* Version for comm protocol between sessiond and ust */
-#define LTTNG_UST_COMM_VERSION_MAJOR           2
-#define LTTNG_UST_COMM_VERSION_MINOR           1
+#define LTTNG_UST_SYM_NAME_LEN                 256
+#define LTTNG_UST_ABI_PROCNAME_LEN             16
+
+/* UST comm magic number, used to validate protocol and endianness. */
+#define LTTNG_UST_COMM_MAGIC                   0xC57C57C5
 
 /* Version for ABI between liblttng-ust, sessiond, consumerd */
-#define LTTNG_UST_INTERNAL_MAJOR_VERSION       3
-#define LTTNG_UST_INTERNAL_MINOR_VERSION       0
-#define LTTNG_UST_INTERNAL_PATCHLEVEL_VERSION  0
+#define LTTNG_UST_ABI_MAJOR_VERSION            4
+#define LTTNG_UST_ABI_MINOR_VERSION            0
 
 enum lttng_ust_instrumentation {
        LTTNG_UST_TRACEPOINT            = 0,
@@ -133,6 +137,7 @@ enum lttng_ust_context_type {
        LTTNG_UST_CONTEXT_VPID                  = 1,
        LTTNG_UST_CONTEXT_PTHREAD_ID            = 2,
        LTTNG_UST_CONTEXT_PROCNAME              = 3,
+       LTTNG_UST_CONTEXT_IP                    = 4,
 };
 
 #define LTTNG_UST_CONTEXT_PADDING1     16
@@ -171,6 +176,8 @@ enum lttng_ust_object_type {
        LTTNG_UST_OBJECT_TYPE_UNKNOWN = -1,
        LTTNG_UST_OBJECT_TYPE_CHANNEL = 0,
        LTTNG_UST_OBJECT_TYPE_STREAM = 1,
+       LTTNG_UST_OBJECT_TYPE_EVENT = 2,
+       LTTNG_UST_OBJECT_TYPE_CONTEXT = 3,
 };
 
 #define LTTNG_UST_OBJECT_DATA_PADDING1 32
@@ -185,6 +192,7 @@ struct lttng_ust_object_data {
                struct {
                        void *data;
                        enum lttng_ust_chan_type type;
+                       int wakeup_fd;
                } channel;
                struct {
                        int shm_fd;
@@ -273,6 +281,7 @@ struct lttng_ust_obj;
 union ust_args {
        struct {
                void *chan_data;
+               int wakeup_fd;
        } channel;
        struct {
                int shm_fd;
@@ -293,7 +302,7 @@ struct lttng_ust_objd_ops {
 int lttng_abi_create_root_handle(void);
 
 const struct lttng_ust_objd_ops *objd_ops(int id);
-int lttng_ust_objd_unref(int id);
+int lttng_ust_objd_unref(int id, int is_owner);
 
 void lttng_ust_abi_exit(void);
 void lttng_ust_events_exit(void);
This page took 0.02325 seconds and 4 git commands to generate.