idmef-criteria

idmef-criteria

Synopsis




enum                idmef_criterion_operator_t;
typedef             idmef_criteria_t;
typedef             idmef_criterion_t;
const char*         idmef_criterion_operator_to_string  (idmef_criterion_operator_t op);
int                 idmef_criterion_new                 (idmef_criterion_t **criterion,
                                                         idmef_path_t *path,
                                                         idmef_criterion_value_t *value,
                                                         idmef_criterion_operator_t op);
void                idmef_criterion_destroy             (idmef_criterion_t *criterion);
int                 idmef_criterion_clone               (idmef_criterion_t *criterion,
                                                         idmef_criterion_t **dst);
int                 idmef_criterion_print               (const idmef_criterion_t *criterion,
                                                         prelude_io_t *fd);
int                 idmef_criterion_to_string           (const idmef_criterion_t *criterion,
                                                         prelude_string_t *out);
idmef_path_t*       idmef_criterion_get_path            (idmef_criterion_t *criterion);
idmef_criterion_value_t* idmef_criterion_get_value      (idmef_criterion_t *criterion);
idmef_criterion_operator_t idmef_criterion_get_operator (idmef_criterion_t *criterion);
int                 idmef_criterion_match               (idmef_criterion_t *criterion,
                                                         idmef_message_t *message);
int                 idmef_criteria_new                  (idmef_criteria_t **criteria);
void                idmef_criteria_destroy              (idmef_criteria_t *criteria);
int                 idmef_criteria_clone                (idmef_criteria_t *src,
                                                         idmef_criteria_t **dst);
int                 idmef_criteria_print                (idmef_criteria_t *criteria,
                                                         prelude_io_t *fd);
int                 idmef_criteria_to_string            (idmef_criteria_t *criteria,
                                                         prelude_string_t *out);
prelude_bool_t      idmef_criteria_is_criterion         (idmef_criteria_t *criteria);
idmef_criterion_t*  idmef_criteria_get_criterion        (idmef_criteria_t *criteria);
void                idmef_criteria_set_criterion        (idmef_criteria_t *criteria,
                                                         idmef_criterion_t *criterion);
void                idmef_criteria_or_criteria          (idmef_criteria_t *criteria,
                                                         idmef_criteria_t *criteria2);
int                 idmef_criteria_and_criteria         (idmef_criteria_t *criteria,
                                                         idmef_criteria_t *criteria2);
int                 idmef_criteria_match                (idmef_criteria_t *criteria,
                                                         idmef_message_t *message);
idmef_criteria_t*   idmef_criteria_get_or               (idmef_criteria_t *criteria);
idmef_criteria_t*   idmef_criteria_get_and              (idmef_criteria_t *criteria);
int                 idmef_criteria_new_from_string      (idmef_criteria_t **criteria,
                                                         const char *str);

Description

Details

enum idmef_criterion_operator_t

typedef enum {
        IDMEF_CRITERION_OPERATOR_NOT               = 0x8000,
        IDMEF_CRITERION_OPERATOR_NOCASE            = 0x4000,

        IDMEF_CRITERION_OPERATOR_EQUAL             = 0x0001,
        IDMEF_CRITERION_OPERATOR_EQUAL_NOCASE      = IDMEF_CRITERION_OPERATOR_EQUAL|IDMEF_CRITERION_OPERATOR_NOCASE,
        IDMEF_CRITERION_OPERATOR_NOT_EQUAL         = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_EQUAL,
        IDMEF_CRITERION_OPERATOR_NOT_EQUAL_NOCASE  = IDMEF_CRITERION_OPERATOR_NOT_EQUAL|IDMEF_CRITERION_OPERATOR_EQUAL_NOCASE,
        
        IDMEF_CRITERION_OPERATOR_LESSER            = 0x0002,
        IDMEF_CRITERION_OPERATOR_LESSER_OR_EQUAL   = IDMEF_CRITERION_OPERATOR_LESSER|IDMEF_CRITERION_OPERATOR_EQUAL,

        IDMEF_CRITERION_OPERATOR_GREATER           = 0x0004,
        IDMEF_CRITERION_OPERATOR_GREATER_OR_EQUAL  = IDMEF_CRITERION_OPERATOR_GREATER|IDMEF_CRITERION_OPERATOR_EQUAL,
        
        IDMEF_CRITERION_OPERATOR_SUBSTR            = 0x0008,
        IDMEF_CRITERION_OPERATOR_SUBSTR_NOCASE     = IDMEF_CRITERION_OPERATOR_SUBSTR|IDMEF_CRITERION_OPERATOR_NOCASE,
        IDMEF_CRITERION_OPERATOR_NOT_SUBSTR        = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_SUBSTR,
        IDMEF_CRITERION_OPERATOR_NOT_SUBSTR_NOCASE = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_SUBSTR_NOCASE,
        
        IDMEF_CRITERION_OPERATOR_REGEX             = 0x0010,
        IDMEF_CRITERION_OPERATOR_REGEX_NOCASE      = IDMEF_CRITERION_OPERATOR_REGEX|IDMEF_CRITERION_OPERATOR_NOCASE,
        IDMEF_CRITERION_OPERATOR_NOT_REGEX         = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_REGEX,
        IDMEF_CRITERION_OPERATOR_NOT_REGEX_NOCASE  = IDMEF_CRITERION_OPERATOR_NOT|IDMEF_CRITERION_OPERATOR_REGEX_NOCASE,
        
        IDMEF_CRITERION_OPERATOR_NULL              = 0x0020,
        IDMEF_CRITERION_OPERATOR_NOT_NULL          = IDMEF_CRITERION_OPERATOR_NULL|IDMEF_CRITERION_OPERATOR_NOT
} idmef_criterion_operator_t;


idmef_criteria_t

typedef struct idmef_criteria idmef_criteria_t;


idmef_criterion_t

typedef struct idmef_criterion idmef_criterion_t;


idmef_criterion_operator_to_string ()

const char*         idmef_criterion_operator_to_string  (idmef_criterion_operator_t op);

Transforms op to string.

op : idmef_criterion_operator_t type.
Returns : A pointer to an operator string or NULL.

idmef_criterion_new ()

int                 idmef_criterion_new                 (idmef_criterion_t **criterion,
                                                         idmef_path_t *path,
                                                         idmef_criterion_value_t *value,
                                                         idmef_criterion_operator_t op);

Creates a new idmef_criterion_t object and store it in criterion. Matching this criterion will result in comparing the object value pointed by path against the provided value, using op.

criterion : Address where to store the created idmef_criterion_t object.
path : Pointer to an idmef_path_t object.
value : Pointer to an idmef_criterion_value_t object.
op : idmef_criterion_operator_t to use for matching this criterion.
Returns : 0 on success, a negative value if an error occured.

idmef_criterion_destroy ()

void                idmef_criterion_destroy             (idmef_criterion_t *criterion);

Destroys criterion and its content.

criterion : Pointer to a idmef_criterion_t object.

idmef_criterion_clone ()

int                 idmef_criterion_clone               (idmef_criterion_t *criterion,
                                                         idmef_criterion_t **dst);

Clones criterion and stores the cloned criterion within dst.

criterion : Pointer to a idmef_criterion_t object to clone.
dst : Address where to store the cloned idmef_criterion_t object.
Returns : 0 on success, a negative value if an error occured.

idmef_criterion_print ()

int                 idmef_criterion_print               (const idmef_criterion_t *criterion,
                                                         prelude_io_t *fd);

Dump criterion to fd in the form of: [path] [operator] [value]

Or if there is no value associated with the criterion: [operator] [path]

criterion : Pointer to a idmef_criterion_t object.
fd : Pointer to a prelude_io_t object.
Returns : 0 on success, a negative value if an error occured.

idmef_criterion_to_string ()

int                 idmef_criterion_to_string           (const idmef_criterion_t *criterion,
                                                         prelude_string_t *out);

Dump criterion as a string to the out buffer in the form of: [path] [operator] [value]

Or if there is no value associated with the criterion: [operator] [path]

criterion : Pointer to a idmef_criterion_t object.
out : Pointer to a prelude_string_t object.
Returns : 0 on success, a negative value if an error occured.

idmef_criterion_get_path ()

idmef_path_t*       idmef_criterion_get_path            (idmef_criterion_t *criterion);

Used to access the idmef_path_t object associated with criterion.

criterion : Pointer to a idmef_criterion_t object.
Returns : the idmef_path_t object associated with criterion.

idmef_criterion_get_value ()

idmef_criterion_value_t* idmef_criterion_get_value      (idmef_criterion_t *criterion);

Used to access the idmef_criterion_value_t associated with criterion. There might be no value specifically if the provided idmef_criterion_operator_t was IDMEF_CRITERION_OPERATOR_NULL or IDMEF_CRITERION_OPERATOR_NOT_NULL.

criterion : Pointer to a idmef_criterion_t object.
Returns : the idmef_criterion_value_t object associated with criterion.

idmef_criterion_get_operator ()

idmef_criterion_operator_t idmef_criterion_get_operator (idmef_criterion_t *criterion);

Used to access the idmef_criterion_operator_t enumeration associated with criterion.

criterion : Pointer to a idmef_criterion_t object.
Returns : the idmef_criterion_operator_t associated with criterion.

idmef_criterion_match ()

int                 idmef_criterion_match               (idmef_criterion_t *criterion,
                                                         idmef_message_t *message);

Matches message against the provided criterion. This implies retrieving the value associated with criterion path, and matching it with the idmef_criterion_value_t object within criterion.

criterion : Pointer to a idmef_criterion_t object.
message : Pointer to a idmef_message_t object to match against criterion.
Returns : 1 for a match, 0 for no match, or a negative value if an error occured.

idmef_criteria_new ()

int                 idmef_criteria_new                  (idmef_criteria_t **criteria);

Creates a new idmef_criteria_t object and store it into criteria.

criteria : Address where to store the created idmef_criteria_t object.
Returns : 0 on success, a negative value if an error occured.

idmef_criteria_destroy ()

void                idmef_criteria_destroy              (idmef_criteria_t *criteria);

Destroys criteria and its content.

criteria : Pointer to a idmef_criteria_t object.

idmef_criteria_clone ()

int                 idmef_criteria_clone                (idmef_criteria_t *src,
                                                         idmef_criteria_t **dst);

Clones src and stores the cloned criteria within dst.

src : Pointer to a idmef_criteria_t object to clone.
dst : Address where to store the cloned idmef_criteria_t object.
Returns : 0 on success, a negative value if an error occured.

idmef_criteria_print ()

int                 idmef_criteria_print                (idmef_criteria_t *criteria,
                                                         prelude_io_t *fd);

criteria :
fd :
Returns :

idmef_criteria_to_string ()

int                 idmef_criteria_to_string            (idmef_criteria_t *criteria,
                                                         prelude_string_t *out);

criteria :
out :
Returns :

idmef_criteria_is_criterion ()

prelude_bool_t      idmef_criteria_is_criterion         (idmef_criteria_t *criteria);

criteria :
Returns :

idmef_criteria_get_criterion ()

idmef_criterion_t*  idmef_criteria_get_criterion        (idmef_criteria_t *criteria);

criteria :
Returns :

idmef_criteria_set_criterion ()

void                idmef_criteria_set_criterion        (idmef_criteria_t *criteria,
                                                         idmef_criterion_t *criterion);

criteria :
criterion :

idmef_criteria_or_criteria ()

void                idmef_criteria_or_criteria          (idmef_criteria_t *criteria,
                                                         idmef_criteria_t *criteria2);

criteria :
criteria2 :

idmef_criteria_and_criteria ()

int                 idmef_criteria_and_criteria         (idmef_criteria_t *criteria,
                                                         idmef_criteria_t *criteria2);

criteria :
criteria2 :
Returns :

idmef_criteria_match ()

int                 idmef_criteria_match                (idmef_criteria_t *criteria,
                                                         idmef_message_t *message);

Matches message against the provided criteria.

criteria : Pointer to a idmef_criteria_t object.
message : Pointer to a idmef_message_t message.
Returns : 1 if criteria match, 0 if it did not, a negative value if an error occured.

idmef_criteria_get_or ()

idmef_criteria_t*   idmef_criteria_get_or               (idmef_criteria_t *criteria);

criteria :
Returns :

idmef_criteria_get_and ()

idmef_criteria_t*   idmef_criteria_get_and              (idmef_criteria_t *criteria);

criteria :
Returns :

idmef_criteria_new_from_string ()

int                 idmef_criteria_new_from_string      (idmef_criteria_t **criteria,
                                                         const char *str);

criteria :
str :
Returns :