00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef OSCAP_ELEMENTS_H_
00028 #define OSCAP_ELEMENTS_H_
00029
00030 #include <libxml/xmlreader.h>
00031 #include <libxml/xmlwriter.h>
00032 #include <stdbool.h>
00033 #include <time.h>
00034 #include "public/oscap.h"
00035 #include "util.h"
00036
00038 extern const struct oscap_string_map OSCAP_BOOL_MAP[];
00039
00041 bool oscap_to_start_element(xmlTextReaderPtr reader, int depth);
00043 char *oscap_element_string_copy(xmlTextReaderPtr reader);
00045 const char *oscap_element_string_get(xmlTextReaderPtr reader);
00047 int oscap_element_depth(xmlTextReaderPtr reader);
00049 char *oscap_get_xml(xmlTextReaderPtr reader);
00051 time_t oscap_get_date(const char *date);
00053 time_t oscap_get_datetime(const char *date);
00054
00055
00056 struct xml_metadata {
00057 char *nspace;
00058 char *URI;
00059 char *lang;
00060 };
00061
00062 struct oscap_title {
00063 struct xml_metadata xml;
00064 char *content;
00065 };
00066
00067 struct oscap_title *oscap_title_parse(xmlTextReaderPtr reader, const char *name);
00068 void oscap_title_export(const struct oscap_title *title, xmlTextWriterPtr writer);
00069 void oscap_title_free(struct oscap_title *title);
00070
00071 const char *oscap_import_source_get_name(const struct oscap_import_source *src);
00072
00073 #endif