filter: add seqnum field to filter command
[lttng-ust.git] / include / lttng / ust-abi.h
index 2651fc99747c698da04b79b784fa8c150ca2b7e9..1ae1fa7dffa1e01cec7760296c0d37d75df30df3 100644 (file)
 
 #define LTTNG_UST_SYM_NAME_LEN 256
 
+/* Version for comm protocol between sessiond and ust */
 #define LTTNG_UST_COMM_VERSION_MAJOR           2
 #define LTTNG_UST_COMM_VERSION_MINOR           0
 
+/* 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
+
 enum lttng_ust_instrumentation {
        LTTNG_UST_TRACEPOINT            = 0,
        LTTNG_UST_PROBE                 = 1,
@@ -93,12 +99,13 @@ enum lttng_ust_field_type {
        LTTNG_UST_FIELD_STRING                  = 4,
 };
 
-#define LTTNG_UST_FIELD_ITER_PADDING           LTTNG_UST_SYM_NAME_LEN + 32
+#define LTTNG_UST_FIELD_ITER_PADDING           LTTNG_UST_SYM_NAME_LEN + 28
 struct lttng_ust_field_iter {
        char event_name[LTTNG_UST_SYM_NAME_LEN];
        char field_name[LTTNG_UST_SYM_NAME_LEN];
        enum lttng_ust_field_type type;
        int loglevel;                           /* event loglevel */
+       int nowrite;
        char padding[LTTNG_UST_FIELD_ITER_PADDING];
 };
 
@@ -165,6 +172,14 @@ struct lttng_ust_calibrate {
        } u;
 };
 
+#define FILTER_BYTECODE_MAX_LEN                65536
+struct lttng_ust_filter_bytecode {
+       uint32_t len;
+       uint32_t reloc_offset;
+       uint64_t seqnum;
+       char data[0];
+};
+
 #define _UST_CMD(minor)                                (minor)
 #define _UST_CMDR(minor, type)                 (minor)
 #define _UST_CMDW(minor, type)                 (minor)
@@ -210,6 +225,9 @@ struct lttng_ust_calibrate {
 #define LTTNG_UST_TRACEPOINT_LIST_GET          _UST_CMD(0x90)
 #define LTTNG_UST_TRACEPOINT_FIELD_LIST_GET    _UST_CMD(0x91)
 
+/* Event FD commands */
+#define LTTNG_UST_FILTER                       _UST_CMD(0xA0)
+
 #define LTTNG_UST_ROOT_HANDLE  0
 
 struct lttng_ust_obj;
@@ -232,7 +250,7 @@ union ust_args {
 
 struct lttng_ust_objd_ops {
        long (*cmd)(int objd, unsigned int cmd, unsigned long arg,
-               union ust_args *args);
+               union ust_args *args, void *owner);
        int (*release)(int objd);
 };
 
@@ -244,5 +262,6 @@ int lttng_ust_objd_unref(int id);
 
 void lttng_ust_abi_exit(void);
 void lttng_ust_events_exit(void);
+void lttng_ust_objd_table_owner_cleanup(void *owner);
 
 #endif /* _LTTNG_UST_ABI_H */
This page took 0.024117 seconds and 4 git commands to generate.