oval_component.c File Reference

Open Vulnerability and Assessment Language. More...

`#include <stdlib.h>`
`#include <stdio.h>`
`#include <string.h>`
`#include <time.h>`
`#include "oval_definitions_impl.h"`
`#include "adt/oval_collection_impl.h"`
`#include "adt/oval_string_map_impl.h"`
`#include "oval_agent_api_impl.h"`
`#include "oval_parser_impl.h"`
`#include "oval_probe_session.h"`
`#include "common/util.h"`
`#include "common/debug_priv.h"`
`#include "common/_error.h"`

## Data Structures

struct | oval_argu_t
struct | oval_component
| OVAL variable component Oval_component instances specify evaluation constraints on local variables (see oval_variable_get_type). More...
struct | oval_component_LITERAL
struct | oval_component_OBJECTREF
struct | oval_component_VARREF
struct | oval_component_FUNCTION
struct | oval_component_ARITHMETIC
struct | oval_component_BEGEND
struct | oval_component_SPLIT
struct | oval_component_SUBSTRING
struct | oval_component_TIMEDIF
struct | oval_component_REGEX_CAPTURE
struct | val_col_lst_s

## Macros

#define | _AGG_FLAG(f1, f2) _flag_agg_map[f2][f1]
#define | _COMP_TYPE(comp) oval_component_type_get_text(oval_component_get_type(comp))
#define | _FLAG_TYPE(flag) oval_syschar_collection_flag_get_text(flag)
#define | _HAS_VALUES(flag) (flag==SYSCHAR_FLAG_COMPLETE || flag==SYSCHAR_FLAG_INCOMPLETE)

## Typedefs

typedef struct oval_component | oval_component_t
typedef struct oval_component_LITERAL | oval_component_LITERAL_t
typedef struct oval_component_OBJECTREF | oval_component_OBJECTREF_t
typedef struct oval_component_VARREF | oval_component_VARREF_t
typedef struct oval_component_FUNCTION | oval_component_FUNCTION_t
typedef struct oval_component_ARITHMETIC | oval_component_ARITHMETIC_t
typedef struct oval_component_BEGEND | oval_component_BEGEND_t
typedef struct oval_component_SPLIT | oval_component_SPLIT_t
typedef struct oval_component_SUBSTRING | oval_component_SUBSTRING_t
typedef struct oval_component_TIMEDIF | oval_component_TIMEDIF_t
typedef struct oval_component_REGEX_CAPTURE | oval_component_REGEX_CAPTURE_t
typedef oval_syschar_collection_flag_t( | _oval_component_evaluator )(oval_argu_t *, struct oval_component *, struct oval_collection *)

## Functions

void | oval_component_to_print (struct oval_component *component, char *indent, int index)
bool | oval_component_iterator_has_more (struct oval_component_iterator *oc_component)
int | oval_component_iterator_remaining (struct oval_component_iterator *oc_component)
struct oval_component * | oval_component_iterator_next (struct oval_component_iterator *oc_component)
void | oval_component_iterator_free (struct oval_component_iterator *oc_component)
oval_component_type_t | oval_component_get_type (struct oval_component *component)
struct oval_value * | oval_component_get_literal_value (struct oval_component *component)
void | oval_component_set_literal_value (struct oval_component *component, struct oval_value *value)
void | oval_component_set_type (struct oval_component *component, oval_component_type_t type)
struct oval_object * | oval_component_get_object (struct oval_component *component)
void | oval_component_set_object (struct oval_component *component, struct oval_object *object)
char * | oval_component_get_item_field (struct oval_component *component)
void | oval_component_set_item_field (struct oval_component *component, char *field)
char * | oval_component_get_record_field (struct oval_component *component)
void | oval_component_set_record_field (struct oval_component *component, char *field)
struct oval_variable * | oval_component_get_variable (struct oval_component *component)
struct oval_component_iterator * | oval_component_get_function_components (struct oval_component *component)
oval_arithmetic_operation_t | oval_component_get_arithmetic_operation (struct oval_component *component)
void | oval_component_set_arithmetic_operation (struct oval_component *component, oval_arithmetic_operation_t operation)
char * | oval_component_get_prefix (struct oval_component *component)
void | oval_component_set_prefix (struct oval_component *component, char *character)
char * | oval_component_get_suffix (struct oval_component *component)
void | oval_component_set_suffix (struct oval_component *component, char *character)
char * | oval_component_get_split_delimiter (struct oval_component *component)
void | oval_component_set_split_delimiter (struct oval_component *component, char *delimeter)
int | oval_component_get_substring_start (struct oval_component *component)
void | oval_component_set_substring_start (struct oval_component *component, int start)
int | oval_component_get_substring_length (struct oval_component *component)
void | oval_component_set_substring_length (struct oval_component *component, int length)
oval_datetime_format_t | oval_component_get_timedif_format_1 (struct oval_component *component)
void | oval_component_set_timedif_format_1 (struct oval_component *component, oval_datetime_format_t format)
oval_datetime_format_t | oval_component_get_timedif_format_2 (struct oval_component *component)
void | oval_component_set_timedif_format_2 (struct oval_component *component, oval_datetime_format_t format)
char * | oval_component_get_regex_pattern (struct oval_component *component)
void | oval_component_set_regex_pattern (struct oval_component *component, char *pattern)
struct oval_component * | oval_component_new (struct oval_definition_model *model, oval_component_type_t type)
struct oval_component * | oval_component_clone (struct oval_definition_model *new_model, struct oval_component *old_component)
void | oval_component_free (struct oval_component *component)
void | oval_component_add_function_component (struct oval_component *component, struct oval_component *func_component)
void | oval_component_set_variable (struct oval_component *component, struct oval_variable *variable)
int | oval_component_parse_tag (xmlTextReaderPtr reader, struct oval_parser_context *context, oval_component_consumer consumer, void *user)
xmlNode * | oval_component_to_dom (struct oval_component *component, xmlDoc *doc, xmlNode *parent)
oval_syschar_collection_flag_t | oval_component_compute (struct oval_syschar_model *sysmod, struct oval_component *component, struct oval_collection *value_collection)
oval_syschar_collection_flag_t | oval_component_query (oval_probe_session_t *sess, struct oval_component *component, struct oval_collection *value_collection)

## Detailed Description

Open Vulnerability and Assessment Language.

See more details at http://oval.mitre.org/