30 #ifndef OVAL_DEFINITIONS_IMPL
31 #define OVAL_DEFINITIONS_IMPL
33 #include <libxml/xmlreader.h>
36 #if defined(OVAL_PROBES_ENABLED)
42 #include "../common/util.h"
46 xmlNs *oval_family_to_namespace(
oval_family_t family,
const char *schema_ns, xmlDoc *doc, xmlNode *parent);
73 typedef void (*oval_affected_consumer) (
struct oval_affected *,
void *);
74 int oval_affected_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context, oval_affected_consumer,
void *);
76 char *oval_test_get_state_names(
struct oval_test *test);
77 int oval_test_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
78 xmlNode *oval_test_to_dom(
struct oval_test *, xmlDoc *, xmlNode *);
82 int oval_criteria_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_criteria_consumer,
void *);
84 typedef void (*oval_reference_consumer) (
struct oval_reference *,
void *);
85 int oval_reference_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_reference_consumer,
void *);
87 int oval_definition_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
88 xmlNode *oval_definition_to_dom(
struct oval_definition *, xmlDoc *, xmlNode *);
90 int oval_object_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
91 xmlNode *oval_object_to_dom(
struct oval_object *, xmlDoc *, xmlNode *);
97 int oval_state_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
98 xmlNode *oval_state_to_dom(
struct oval_state *, xmlDoc *, xmlNode *);
100 int oval_variable_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
101 xmlNode *oval_variable_to_dom(
struct oval_variable *, xmlDoc *, xmlNode *);
105 int oval_variable_binding_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_variable_binding_consumer,
void *);
109 typedef void (*oval_filter_consumer) (
struct oval_filter *,
void *);
110 int oval_filter_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_filter_consumer,
void *);
111 xmlNode *oval_filter_to_dom(
struct oval_filter *, xmlDoc *, xmlNode *);
115 int oval_object_content_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_object_content_consumer,
void *);
117 int oval_state_content_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oscap_consumer_func,
void *);
120 typedef void (*oval_behavior_consumer) (
struct oval_behavior *,
void *);
124 int oval_entity_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oscap_consumer_func,
void *);
125 xmlNode *oval_entity_to_dom(
struct oval_entity *, xmlDoc *, xmlNode *);
128 oscap_consumer_func,
void *, oval_record_field_type_t);
129 xmlNode *oval_record_field_to_dom(
struct oval_record_field *,
bool, xmlDoc *, xmlNode *, xmlNs *);
131 typedef void (*oval_set_consumer) (
struct oval_setobject *,
void *);
132 int oval_set_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_set_consumer,
void *);
133 xmlNode *oval_set_to_dom(
struct oval_setobject *, xmlDoc *, xmlNode *);
136 typedef void (*oval_value_consumer) (
struct oval_value *,
void *);
137 int oval_value_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_value_consumer,
void *);
138 xmlNode *oval_value_to_dom(
struct oval_value *, xmlDoc *, xmlNode *);
143 #if defined(OVAL_PROBES_ENABLED)
150 typedef void (*oval_component_consumer) (
struct oval_component *,
void *);
151 int oval_component_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_component_consumer,
void *);
152 xmlNode *oval_component_to_dom(
struct oval_component *, xmlDoc *, xmlNode *);
155 typedef void (*oval_message_consumer) (
struct oval_message *,
void *);
156 int oval_message_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oscap_consumer_func,
void *);
157 void oval_message_to_dom(
struct oval_message *, xmlDoc *, xmlNode *);
161 xmlNode *oval_generator_to_dom(
struct oval_generator *, xmlDocPtr, xmlNode *);
164 xmlNode *oval_definition_model_to_dom(
struct oval_definition_model *definition_model, xmlDocPtr doc, xmlNode * parent);
183 struct oval_string_map *oval_definition_model_build_vardef_mapping(
struct oval_definition_model *model);
189 bool oval_variable_contains_value(
struct oval_variable *variable,
const char* o_value_text);