Open SCAP Library

common/elements.h
1
5 /*
6 * Copyright 2009--2014 Red Hat Inc., Durham, North Carolina.
7 * All Rights Reserved.
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 *
23 * Authors:
24 * Maros Barabas <mbarabas@redhat.com>
25 */
26
27 #ifndef OSCAP_ELEMENTS_H_
28 #define OSCAP_ELEMENTS_H_
29
30 #include <libxml/xmlreader.h>
31 #include <libxml/xmlwriter.h>
32 #include <stdbool.h>
33 #include <time.h>
34 #include "public/oscap.h"
35 #include "util.h"
36
37 #define OSCAP_XMLNS_XSI BAD_CAST "http://www.w3.org/2001/XMLSchema-instance"
38
40 extern const struct oscap_string_map OSCAP_BOOL_MAP[];
41
42 typedef void (*oscap_xml_value_consumer) (char *, void *);
43 int oscap_parser_text_value(xmlTextReaderPtr reader, oscap_xml_value_consumer consumer, void *user);
44 void oscap_text_consumer(char *text, void *user);
45
47 bool oscap_to_start_element(xmlTextReaderPtr reader, int depth);
49 char *oscap_element_string_copy(xmlTextReaderPtr reader);
51 const char *oscap_element_string_get(xmlTextReaderPtr reader);
53 int oscap_element_depth(xmlTextReaderPtr reader);
55 char *oscap_get_xml(xmlTextReaderPtr reader);
57 time_t oscap_get_date(const char *date);
59 time_t oscap_get_datetime(const char *date);
61 xmlNode *oscap_xmlstr_to_dom(xmlNode *parent, const char *elname, const char *content);
62
69 int oscap_xml_save_filename(const char *filename, xmlDocPtr doc);
70
77 int oscap_xml_save_filename_free(const char *filename, xmlDocPtr doc);
78
79 xmlNs *lookup_xsi_ns(xmlDoc *doc);
80
81 #endif
oscap.h
General OpenScap functions and types.
oscap_string_map
Define mapping between symbolic constant and its string representation.
Definition: util.h:310