Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
parse-filter.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <errno.h>
#include <sys/types.h>
#include "event-parse.h"
#include "event-utils.h"

Go to the source code of this file.

Data Structures

struct  event_list
 

Macros

#define COMM   "COMM"
 
#define MAX_ERR_STR_SIZE   256
 

Enumerations

enum  op_type {
  OP_NONE, OP_BOOL, OP_NOT, OP_EXP,
  OP_CMP
}
 
enum  filter_vals { FILTER_VAL_NORM, FILTER_VAL_FALSE, FILTER_VAL_TRUE }
 

Functions

struct event_filterpevent_filter_alloc (struct pevent *pevent)
 
void reparent_op_arg (struct filter_arg *parent, struct filter_arg *old_child, struct filter_arg *arg)
 
enum filter_vals test_arg (struct filter_arg *parent, struct filter_arg *arg)
 
int pevent_filter_add_filter_str (struct event_filter *filter, const char *filter_str, char **error_str)
 
int pevent_filter_remove_event (struct event_filter *filter, int event_id)
 
void pevent_filter_reset (struct event_filter *filter)
 
void pevent_filter_free (struct event_filter *filter)
 
int pevent_filter_copy (struct event_filter *dest, struct event_filter *source)
 
int pevent_update_trivial (struct event_filter *dest, struct event_filter *source, enum filter_trivial_type type)
 
void pevent_filter_clear_trivial (struct event_filter *filter, enum filter_trivial_type type)
 
int pevent_filter_event_has_trivial (struct event_filter *filter, int event_id, enum filter_trivial_type type)
 
int pevent_event_filtered (struct event_filter *filter, int event_id)
 
int pevent_filter_match (struct event_filter *filter, struct pevent_record *record)
 
charpevent_filter_make_string (struct event_filter *filter, int event_id)
 
int pevent_filter_compare (struct event_filter *filter1, struct event_filter *filter2)
 

Macro Definition Documentation

#define COMM   "COMM"

Definition at line 31 of file parse-filter.c.

#define MAX_ERR_STR_SIZE   256

Definition at line 42 of file parse-filter.c.

Enumeration Type Documentation

Enumerator:
FILTER_VAL_NORM 
FILTER_VAL_FALSE 
FILTER_VAL_TRUE 

Definition at line 726 of file parse-filter.c.

enum op_type
Enumerator:
OP_NONE 
OP_BOOL 
OP_NOT 
OP_EXP 
OP_CMP 

Definition at line 624 of file parse-filter.c.

Function Documentation

int pevent_event_filtered ( struct event_filter filter,
int  event_id 
)

pevent_event_filtered - return true if event has filter : filter struct with filter information : event id to test if filter exists

Returns 1 if filter found for otherwise 0;

Definition at line 1852 of file parse-filter.c.

int pevent_filter_add_filter_str ( struct event_filter filter,
const char filter_str,
char **  error_str 
)

pevent_filter_add_filter_str - add a new filter : the event filter to add to : the filter string that contains the filter : string containing reason for failed filter

Returns 0 if the filter was successfully added -1 if there was an error.

On error, if points to a string pointer, it is set to the reason that the filter failed. This string must be freed with "free".

Definition at line 1174 of file parse-filter.c.

struct event_filter* pevent_filter_alloc ( struct pevent pevent)
read

pevent_filter_alloc - create a new event filter : The pevent that this filter is associated with

Definition at line 182 of file parse-filter.c.

void pevent_filter_clear_trivial ( struct event_filter filter,
enum filter_trivial_type  type 
)

pevent_filter_clear_trivial - clear TRUE and FALSE filters : the filter to remove trivial filters from : remove only true, false, or both

Removes filters that only contain a TRUE or FALES boolean arg.

Definition at line 1487 of file parse-filter.c.

int pevent_filter_compare ( struct event_filter filter1,
struct event_filter filter2 
)

pevent_filter_compare - compare two filters and return if they are the same : Filter to compare with : Filter to compare with

Returns: 1 if the two filters hold the same content. 0 if they do not.

Definition at line 2252 of file parse-filter.c.

int pevent_filter_copy ( struct event_filter dest,
struct event_filter source 
)

pevent_filter_copy - copy a filter using another filter - the filter to copy to - the filter to copy from

Returns 0 on success and -1 if not all filters were copied

Definition at line 1404 of file parse-filter.c.

int pevent_filter_event_has_trivial ( struct event_filter filter,
int  event_id,
enum filter_trivial_type  type 
)

pevent_filter_event_has_trivial - return true event contains trivial filter : the filter with the information : the id of the event to test : trivial type to test for (TRUE, FALSE, EITHER)

Returns 1 if the event contains a matching trivial type otherwise 0.

Definition at line 1541 of file parse-filter.c.

void pevent_filter_free ( struct event_filter filter)

Definition at line 1343 of file parse-filter.c.

char* pevent_filter_make_string ( struct event_filter filter,
int  event_id 
)

pevent_filter_make_string - return a string showing the filter : filter struct with filter information : the event id to return the filter string with

Returns a string that displays the filter contents. This string must be freed with free(str). NULL is returned if no filter is found.

Definition at line 2228 of file parse-filter.c.

int pevent_filter_match ( struct event_filter filter,
struct pevent_record record 
)

pevent_filter_match - test if a record matches a filter : filter struct with filter information : the record to test against the filter

Returns: 1 - filter found for event and matches 0 - filter found for event and does not match -1 - no filter found for 's event -2 - if no filters exist

Definition at line 1876 of file parse-filter.c.

int pevent_filter_remove_event ( struct event_filter filter,
int  event_id 
)

pevent_filter_remove_event - remove a filter for an event : the event filter to remove from : the event to remove a filter for

Removes the filter saved for an event defined by from the .

Returns 1: if an event was removed 0: if the event was not found

Definition at line 1296 of file parse-filter.c.

void pevent_filter_reset ( struct event_filter filter)

pevent_filter_reset - clear all filters in a filter : the event filter to reset

Removes all filters from a filter and resets it.

Definition at line 1331 of file parse-filter.c.

int pevent_update_trivial ( struct event_filter dest,
struct event_filter source,
enum filter_trivial_type  type 
)

pevent_update_trivial - update the trivial filters with the given filter - the filter to update - the filter as the source of the update - the type of trivial filter to update.

Scan dest for trivial events matching to replace with the source.

Returns 0 on success and -1 if there was a problem updating, but events may have still been updated on error.

Definition at line 1430 of file parse-filter.c.

void reparent_op_arg ( struct filter_arg parent,
struct filter_arg old_child,
struct filter_arg arg 
)

Definition at line 732 of file parse-filter.c.

enum filter_vals test_arg ( struct filter_arg parent,
struct filter_arg arg 
)

Definition at line 775 of file parse-filter.c.