Filter: receive, attach and link empty filter
[lttng-ust.git] / include / lttng / ust-abi.h
index b3af9bf49528d6e131d44c10ff86db59699e316f..8bcaa380e10c49fbf9a788bf49cc7f7ed9a2c802 100644 (file)
@@ -85,6 +85,23 @@ struct lttng_ust_event {
        } u;
 };
 
+enum lttng_ust_field_type {
+       LTTNG_UST_FIELD_OTHER                   = 0,
+       LTTNG_UST_FIELD_INTEGER                 = 1,
+       LTTNG_UST_FIELD_ENUM                    = 2,
+       LTTNG_UST_FIELD_FLOAT                   = 3,
+       LTTNG_UST_FIELD_STRING                  = 4,
+};
+
+#define LTTNG_UST_FIELD_ITER_PADDING           LTTNG_UST_SYM_NAME_LEN + 32
+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 */
+       char padding[LTTNG_UST_FIELD_ITER_PADDING];
+};
+
 enum lttng_ust_context_type {
        LTTNG_UST_CONTEXT_VTID                  = 0,
        LTTNG_UST_CONTEXT_VPID                  = 1,
@@ -148,6 +165,13 @@ struct lttng_ust_calibrate {
        } u;
 };
 
+#define FILTER_BYTECODE_MAX_LEN                65536
+struct lttng_ust_filter_bytecode {
+       uint16_t len;
+       uint16_t reloc_table_offset;
+       char data[0];
+};
+
 #define _UST_CMD(minor)                                (minor)
 #define _UST_CMDR(minor, type)                 (minor)
 #define _UST_CMDW(minor, type)                 (minor)
@@ -164,6 +188,7 @@ struct lttng_ust_calibrate {
 #define LTTNG_UST_TRACEPOINT_LIST              _UST_CMD(0x42)
 #define LTTNG_UST_WAIT_QUIESCENT               _UST_CMD(0x43)
 #define LTTNG_UST_REGISTER_DONE                        _UST_CMD(0x44)
+#define LTTNG_UST_TRACEPOINT_FIELD_LIST                _UST_CMD(0x45)
 
 /* Session FD commands */
 #define LTTNG_UST_METADATA                     \
@@ -190,6 +215,10 @@ struct lttng_ust_calibrate {
 
 /* Tracepoint list commands */
 #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
 
@@ -206,6 +235,9 @@ union ust_args {
                int *wait_fd;
                uint64_t *memory_map_size;
        } stream;
+       struct {
+               struct lttng_ust_field_iter entry;
+       } field_list;
 };
 
 struct lttng_ust_objd_ops {
This page took 0.024187 seconds and 4 git commands to generate.