filter by facility
[lttv.git] / ltt / branches / poly / lttv / lttv / filter.h
index 33e4a138f43f83509c1123e134b59964bdb4ec44..fcc2d78c005c635fe7d85290e7c7fa6109b59547 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
@@ -106,6 +109,7 @@ enum _LttvFieldType {
   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) */
@@ -146,6 +150,7 @@ union _LttvFieldValue {
   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 +259,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 +268,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 +277,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);
@@ -311,7 +322,7 @@ gboolean lttv_filter_update(LttvFilter* filter);
 
 void lttv_filter_destroy(LttvFilter* filter);
 
-gboolean lttv_filter_append_expression(LttvFilter* filter, char *expression);
+gboolean lttv_filter_append_expression(LttvFilter* filter, const char *expression);
 
 void lttv_filter_clear_expression(LttvFilter* filter);
 
@@ -327,7 +338,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(
@@ -341,7 +351,7 @@ gboolean lttv_filter_tree_parse_branch(
 /*
  *  Debug functions
  */
-void lttv_print_tree(const LttvFilterTree* t);
+void lttv_print_tree(const LttvFilterTree* t, const int count);
 
 #endif // FILTER_H
 
This page took 0.023973 seconds and 4 git commands to generate.