Open SCAP Library
Loading...
Searching...
No Matches
oval_component.c File Reference

Open Vulnerability and Assessment Language. More...

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <stdbool.h>
#include <sys/types.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 "common/util.h"
#include "common/debug_priv.h"
#include "common/_error.h"
#include "common/oscap_string.h"
#include "common/oscap_pcre.h"
#include "oval_glob_to_regex.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_GLOB
struct  oval_component_SUBSTRING
struct  oval_component_TIMEDIF
struct  oval_component_REGEX_CAPTURE
struct  val_col_lst_s

Macros

#define _AGG_FLAG(f1, f2)
#define _COMP_TYPE(comp)
#define _FLAG_TYPE(flag)
#define _HAS_VALUES(flag)

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_GLOB oval_component_GLOB_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

const char * oval_subtype_to_str (oval_subtype_t subtype)
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_componentoval_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_valueoval_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_objectoval_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_variableoval_component_get_variable (struct oval_component *component)
struct oval_component_iteratoroval_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)
bool oval_component_get_glob_to_regex_glob_noescape (struct oval_component *component)
void oval_component_set_glob_to_regex_glob_noescape (struct oval_component *component, bool glob_noescape)
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_componentoval_component_new (struct oval_definition_model *model, oval_component_type_t type)
struct oval_componentoval_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)

Detailed Description

Open Vulnerability and Assessment Language.

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

Macro Definition Documentation

◆ _AGG_FLAG

#define _AGG_FLAG ( f1,
f2 )
Value:
_flag_agg_map[f2][f1]

◆ _COMP_TYPE

#define _COMP_TYPE ( comp)
Value:
oval_component_type_get_text(oval_component_get_type(comp))

◆ _FLAG_TYPE

#define _FLAG_TYPE ( flag)
Value:
oval_syschar_collection_flag_get_text(flag)

◆ _HAS_VALUES

#define _HAS_VALUES ( flag)
Value:
(flag==SYSCHAR_FLAG_COMPLETE || flag==SYSCHAR_FLAG_INCOMPLETE)