Open SCAP Library
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Functions
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"
Include dependency graph for oval_component.c:

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)   _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_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/