+/**
+ * @enum _LttvFieldType
+ * @brief Possible fields for the structures
+ *
+ * the LttvFieldType enum consists on
+ * all the hardcoded structures and
+ * their appropriate fields on which
+ * filters can be applied.
+ */
+enum _LttvFieldType {
+ LTTV_FILTER_TRACE_NAME, /**< trace.name (char*) */
+ LTTV_FILTER_TRACEFILE_NAME, /**< tracefile.name (char*) */
+ LTTV_FILTER_STATE_PID, /**< state.pid (guint) */
+ LTTV_FILTER_STATE_PPID, /**< state.ppid (guint) */
+ LTTV_FILTER_STATE_CT, /**< state.creation_time (double) */
+ LTTV_FILTER_STATE_IT, /**< state.insertion_time (double) */
+ LTTV_FILTER_STATE_P_NAME, /**< state.process_name (char*) */
+ LTTV_FILTER_STATE_EX_MODE, /**< state.execution_mode (LttvExecutionMode) */
+ LTTV_FILTER_STATE_EX_SUBMODE, /**< state.execution_submode (LttvExecutionSubmode) */
+ LTTV_FILTER_STATE_P_STATUS, /**< state.process_status (LttvProcessStatus) */
+ LTTV_FILTER_STATE_CPU, /**< state.cpu (?last_cpu?) */
+ LTTV_FILTER_EVENT_NAME, /**< event.name (char*) */
+ LTTV_FILTER_EVENT_CATEGORY, /**< FIXME: not implemented */
+ LTTV_FILTER_EVENT_TIME, /**< event.time (double) */
+ LTTV_FILTER_EVENT_TSC, /**< event.tsc (double) */
+ LTTV_FILTER_EVENT_FIELD, /**< dynamic field, specified in core.xml */
+ LTTV_FILTER_UNDEFINED /**< undefined field */
+};
+
+/**
+ * @enum _LttvExpressionOp
+ * @brief Contains possible operators
+ *
+ * This enumeration defines the
+ * possible operator used to compare
+ * right and left member in simple
+ * expression
+ */
+enum _LttvExpressionOp
+{
+ LTTV_FIELD_EQ, /**< equal */
+ LTTV_FIELD_NE, /**< not equal */
+ LTTV_FIELD_LT, /**< lower than */
+ LTTV_FIELD_LE, /**< lower or equal */
+ LTTV_FIELD_GT, /**< greater than */
+ LTTV_FIELD_GE /**< greater or equal */
+};