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 oval_version_t oval_state_get_schema_version(
const struct oval_state *state);
91 int oval_state_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
92 xmlNode *oval_state_to_dom(
struct oval_state *, xmlDoc *, xmlNode *);
94 int oval_variable_parse_tag(xmlTextReaderPtr reader,
struct oval_parser_context *context,
void *);
95 xmlNode *oval_variable_to_dom(
struct oval_variable *, xmlDoc *, xmlNode *);
99 int oval_variable_binding_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_variable_binding_consumer,
void *);
103 typedef void (*oval_filter_consumer) (
struct oval_filter *,
void *);
104 int oval_filter_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_filter_consumer,
void *);
105 xmlNode *oval_filter_to_dom(
struct oval_filter *, xmlDoc *, xmlNode *);
109 int oval_object_content_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_object_content_consumer,
void *);
113 int oval_state_content_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oscap_consumer_func,
void *);
116 typedef void (*oval_behavior_consumer) (
struct oval_behavior *,
void *);
120 int oval_entity_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oscap_consumer_func,
void *);
121 xmlNode *oval_entity_to_dom(
struct oval_entity *, xmlDoc *, xmlNode *);
124 oscap_consumer_func,
void *, oval_record_field_type_t);
125 xmlNode *oval_record_field_to_dom(
struct oval_record_field *,
bool, xmlDoc *, xmlNode *, xmlNs *);
127 typedef void (*oval_set_consumer) (
struct oval_setobject *,
void *);
128 int oval_set_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_set_consumer,
void *);
129 xmlNode *oval_set_to_dom(
struct oval_setobject *, xmlDoc *, xmlNode *);
132 typedef void (*oval_value_consumer) (
struct oval_value *,
void *);
133 int oval_value_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_value_consumer,
void *);
134 xmlNode *oval_value_to_dom(
struct oval_value *, xmlDoc *, xmlNode *);
144 typedef void (*oval_component_consumer) (
struct oval_component *,
void *);
145 int oval_component_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oval_component_consumer,
void *);
146 xmlNode *oval_component_to_dom(
struct oval_component *, xmlDoc *, xmlNode *);
149 typedef void (*oval_message_consumer) (
struct oval_message *,
void *);
150 int oval_message_parse_tag(xmlTextReaderPtr,
struct oval_parser_context *, oscap_consumer_func,
void *);
151 void oval_message_to_dom(
struct oval_message *, xmlDoc *, xmlNode *);
155 xmlNode *oval_generator_to_dom(
struct oval_generator *, xmlDocPtr, xmlNode *);
158 xmlNode *oval_definition_model_to_dom(
struct oval_definition_model *definition_model, xmlDocPtr doc, xmlNode * parent);
175 struct oval_string_map *oval_definition_model_build_vardef_mapping(
struct oval_definition_model *model);
181 bool oval_variable_contains_value(
struct oval_variable *variable,
const char* o_value_text);
184 #define OVAL_INDEPENDENT_SYSCHAR_SUBTYPE 7999