added tutorial documentation
[lttv.git] / ltt / branches / poly / lttv / lttv / filter.h
index 0e7ca9c7c11ed9b1f5e7634bd3a85973b2c31663..cc25dfb158d2460ab89a8ccb4b8d02a1faec2ed9 100644 (file)
@@ -65,8 +65,11 @@ typedef union _LttvFieldValue LttvFieldValue;
 
 typedef struct _LttvSimpleExpression LttvSimpleExpression;
 typedef struct _LttvFilterTree LttvFilterTree;
-typedef struct _LttvFilter LttvFilter;
 
+#ifndef LTTVFILTER_TYPE_DEFINED
+typedef struct _LttvFilter LttvFilter;
+#define LTTVFILTER_TYPE_DEFINED
+#endif
 
 /**
  * @enum _LttvStructType
@@ -101,15 +104,17 @@ enum _LttvFieldType {
   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_T_BRAND,          /**< state.thread_brand (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_FACILITY,         /**< event.facility (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_EVENT_FIELD,            /**< dynamic field, specified in facility */
   LTTV_FILTER_UNDEFINED               /**< undefined field */
 };
   
@@ -143,9 +148,11 @@ enum _LttvExpressionOp
  *  'operators' functions
  */
 union _LttvFieldValue {
+  GQuark  v_quark;                    /**< GQuark */
   guint64 v_uint64;                   /**< unsigned int of 64 bytes */
   guint32 v_uint32;                   /**< unsigned int of 32 bytes */
   guint16 v_uint16;                   /**< unsigned int of 16 bytes */
+  guint16 v_uint;                     /**< unsigned int */
   double v_double;                    /**< double */
   char* v_string;                     /**< string */
   LttTime v_ltttime;                  /**< LttTime */
@@ -254,6 +261,7 @@ void lttv_simple_expression_destroy(LttvSimpleExpression* se);
  * Logical operators functions
  */
 
+gboolean lttv_apply_op_eq_uint(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_eq_uint64(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_eq_uint32(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_eq_uint16(const gpointer v1, LttvFieldValue v2);
@@ -262,6 +270,7 @@ gboolean lttv_apply_op_eq_string(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_eq_quark(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_eq_ltttime(const gpointer v1, LttvFieldValue v2);
 
+gboolean lttv_apply_op_ne_uint(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_ne_uint64(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_ne_uint32(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_ne_uint16(const gpointer v1, LttvFieldValue v2);
@@ -270,24 +279,28 @@ gboolean lttv_apply_op_ne_string(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_ne_quark(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_ne_ltttime(const gpointer v1, LttvFieldValue v2);
 
+gboolean lttv_apply_op_lt_uint(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_lt_uint64(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_lt_uint32(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_lt_uint16(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_lt_double(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_lt_ltttime(const gpointer v1, LttvFieldValue v2);
 
+gboolean lttv_apply_op_le_uint(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_le_uint64(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_le_uint32(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_le_uint16(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_le_double(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_le_ltttime(const gpointer v1, LttvFieldValue v2);
 
+gboolean lttv_apply_op_gt_uint(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_gt_uint64(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_gt_uint32(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_gt_uint16(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_gt_double(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_gt_ltttime(const gpointer v1, LttvFieldValue v2);
 
+gboolean lttv_apply_op_ge_uint(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_ge_uint64(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_ge_uint32(const gpointer v1, LttvFieldValue v2);
 gboolean lttv_apply_op_ge_uint16(const gpointer v1, LttvFieldValue v2);
@@ -327,7 +340,6 @@ gboolean lttv_filter_tree_parse(
         const LttEvent* event,
         const LttTracefile* tracefile,
         const LttTrace* trace,
-        const LttvProcessState* state,
         const LttvTracefileContext* context);
 
 gboolean lttv_filter_tree_parse_branch(
This page took 0.024038 seconds and 4 git commands to generate.