30 #ifndef OVAL_DEFINITIONS_IMPL
31 #define OVAL_DEFINITIONS_IMPL
33 #include <libxml/xmlreader.h>
37 #include "../common/util.h"
67 typedef void (*oval_affected_consumer) (
struct oval_affected *,
void *);
68 int oval_affected_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context, oval_affected_consumer,
void *);
70 int oval_test_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
71 xmlNode *oval_test_to_dom(
struct oval_test *, xmlDoc *, xmlNode *);
75 int oval_criteria_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_criteria_consumer,
void *);
77 typedef void (*oval_reference_consumer) (
struct oval_reference *,
void *);
78 int oval_reference_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_reference_consumer,
void *);
80 int oval_definition_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
81 xmlNode *oval_definition_to_dom(
struct oval_definition *, xmlDoc *, xmlNode *);
83 int oval_object_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
84 xmlNode *oval_object_to_dom(
struct oval_object *, xmlDoc *, xmlNode *);
89 int oval_state_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
90 xmlNode *oval_state_to_dom(
struct oval_state *, xmlDoc *, xmlNode *);
92 int oval_variable_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
93 xmlNode *oval_variable_to_dom(
struct oval_variable *, xmlDoc *, xmlNode *);
97 int oval_variable_binding_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_variable_binding_consumer,
void *);
101 typedef void (*oval_filter_consumer) (
struct oval_filter *,
void *);
102 int oval_filter_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_filter_consumer,
void *);
103 xmlNode *oval_filter_to_dom(
struct oval_filter *, xmlDoc *, xmlNode *);
107 int oval_object_content_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_object_content_consumer,
void *);
111 int oval_state_content_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oscap_consumer_func,
void *);
114 typedef void (*oval_behavior_consumer) (
struct oval_behavior *,
void *);
118 int oval_entity_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oscap_consumer_func,
void *);
119 xmlNode *oval_entity_to_dom(
struct oval_entity *, xmlDoc *, xmlNode *);
122 oscap_consumer_func,
void *, oval_record_field_type_t);
123 xmlNode *oval_record_field_to_dom(
struct oval_record_field *,
bool, xmlDoc *, xmlNode *);
125 typedef void (*oval_set_consumer) (
struct oval_setobject *,
void *);
126 int oval_set_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_set_consumer,
void *);
127 xmlNode *oval_set_to_dom(
struct oval_setobject *, xmlDoc *, xmlNode *);
130 typedef void (*oval_value_consumer) (
struct oval_value *,
void *);
131 int oval_value_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_value_consumer,
void *);
132 xmlNode *oval_value_to_dom(
struct oval_value *, xmlDoc *, xmlNode *);
142 typedef void (*oval_component_consumer) (
struct oval_component *,
void *);
143 int oval_component_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_component_consumer,
void *);
144 xmlNode *oval_component_to_dom(
struct oval_component *, xmlDoc *, xmlNode *);
147 typedef void (*oval_message_consumer) (
struct oval_message *,
void *);
148 int oval_message_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oscap_consumer_func,
void *);
149 void oval_message_to_dom(
struct oval_message *, xmlDoc *, xmlNode *);
153 xmlNode *oval_generator_to_dom(
struct oval_generator *, xmlDocPtr, xmlNode *);
156 xmlNode *oval_definition_model_to_dom(
struct oval_definition_model *definition_model, xmlDocPtr doc, xmlNode * parent);
173 struct oval_string_map *oval_definition_model_build_vardef_mapping(
struct oval_definition_model *model);
179 bool oval_variable_contains_value(
struct oval_variable *variable,
const char* o_value_text);
182 #define OVAL_INDEPENDENT_SYSCHAR_SUBTYPE 7999