X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Flttv%2Ffilter.h;h=fcc2d78c005c635fe7d85290e7c7fa6109b59547;hb=48b002b83347c16855548a1f214c76343d53cbf6;hp=33e4a138f43f83509c1123e134b59964bdb4ec44;hpb=7e7af7f21b42d02e74f52576a8ac163b65e021b4;p=lttv.git diff --git a/ltt/branches/poly/lttv/lttv/filter.h b/ltt/branches/poly/lttv/lttv/filter.h index 33e4a138..fcc2d78c 100644 --- a/ltt/branches/poly/lttv/lttv/filter.h +++ b/ltt/branches/poly/lttv/lttv/filter.h @@ -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