30 #ifndef OVAL_DEFINITIONS_IMPL
31 #define OVAL_DEFINITIONS_IMPL
33 #include <libxml/xmlreader.h>
38 #include "../common/util.h"
68 typedef void (*oval_affected_consumer) (
struct oval_affected *,
void *);
69 int oval_affected_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context, oval_affected_consumer,
void *);
71 int oval_test_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
72 xmlNode *oval_test_to_dom(
struct oval_test *, xmlDoc *, xmlNode *);
76 int oval_criteria_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_criteria_consumer,
void *);
78 typedef void (*oval_reference_consumer) (
struct oval_reference *,
void *);
79 int oval_reference_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_reference_consumer,
void *);
81 int oval_definition_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
82 xmlNode *oval_definition_to_dom(
struct oval_definition *, xmlDoc *, xmlNode *);
84 int oval_object_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
85 xmlNode *oval_object_to_dom(
struct oval_object *, xmlDoc *, xmlNode *);
90 int oval_state_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
91 xmlNode *oval_state_to_dom(
struct oval_state *, xmlDoc *, xmlNode *);
93 int oval_variable_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
94 xmlNode *oval_variable_to_dom(
struct oval_variable *, xmlDoc *, xmlNode *);
98 int oval_variable_binding_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_variable_binding_consumer,
void *);
102 typedef void (*oval_filter_consumer) (
struct oval_filter *,
void *);
103 int oval_filter_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_filter_consumer,
void *);
104 xmlNode *oval_filter_to_dom(
struct oval_filter *, xmlDoc *, xmlNode *);
108 int oval_object_content_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_object_content_consumer,
void *);
112 int oval_state_content_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oscap_consumer_func,
void *);
115 typedef void (*oval_behavior_consumer) (
struct oval_behavior *,
void *);
119 int oval_entity_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oscap_consumer_func,
void *);
120 xmlNode *oval_entity_to_dom(
struct oval_entity *, xmlDoc *, xmlNode *);
123 oscap_consumer_func,
void *, oval_record_field_type_t);
124 xmlNode *oval_record_field_to_dom(
struct oval_record_field *,
bool, xmlDoc *, xmlNode *, xmlNs *);
126 typedef void (*oval_set_consumer) (
struct oval_setobject *,
void *);
127 int oval_set_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_set_consumer,
void *);
128 xmlNode *oval_set_to_dom(
struct oval_setobject *, xmlDoc *, xmlNode *);
131 typedef void (*oval_value_consumer) (
struct oval_value *,
void *);
132 int oval_value_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_value_consumer,
void *);
133 xmlNode *oval_value_to_dom(
struct oval_value *, xmlDoc *, xmlNode *);
143 typedef void (*oval_component_consumer) (
struct oval_component *,
void *);
144 int oval_component_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_component_consumer,
void *);
145 xmlNode *oval_component_to_dom(
struct oval_component *, xmlDoc *, xmlNode *);
148 typedef void (*oval_message_consumer) (
struct oval_message *,
void *);
149 int oval_message_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oscap_consumer_func,
void *);
150 void oval_message_to_dom(
struct oval_message *, xmlDoc *, xmlNode *);
154 xmlNode *oval_generator_to_dom(
struct oval_generator *, xmlDocPtr, xmlNode *);
157 xmlNode *oval_definition_model_to_dom(
struct oval_definition_model *definition_model, xmlDocPtr doc, xmlNode * parent);
174 struct oval_string_map *oval_definition_model_build_vardef_mapping(
struct oval_definition_model *model);
180 bool oval_variable_contains_value(
struct oval_variable *variable,
const char* o_value_text);
183 #define OVAL_INDEPENDENT_SYSCHAR_SUBTYPE 7999