Open SCAP Library
Loading...
Searching...
No Matches
common/elements.h
Go to the documentation of this file.
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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
40extern const struct oscap_string_map OSCAP_BOOL_MAP[];
41
42typedef void (*oscap_xml_value_consumer) (char *, void *);
43int oscap_parser_text_value(xmlTextReaderPtr reader, oscap_xml_value_consumer consumer, void *user);
44void oscap_text_consumer(char *text, void *user);
45
47bool oscap_to_start_element(xmlTextReaderPtr reader, int depth);
49char *oscap_element_string_copy(xmlTextReaderPtr reader);
51const char *oscap_element_string_get(xmlTextReaderPtr reader);
53int oscap_element_depth(xmlTextReaderPtr reader);
55char *oscap_get_xml(xmlTextReaderPtr reader);
57time_t oscap_get_date(const char *date);
59time_t oscap_get_datetime(const char *date);
61xmlNode *oscap_xmlstr_to_dom(xmlNode *parent, const char *elname, const char *content);
62
69int oscap_xml_save_filename(const char *filename, xmlDocPtr doc);
70
78int oscap_xml_save_fd(int fd, xmlDocPtr doc);
79
86int oscap_xml_save_filename_free(const char *filename, xmlDocPtr doc);
87
88xmlNs *lookup_xsi_ns(xmlDoc *doc);
89
90#endif
char * oscap_element_string_copy(xmlTextReaderPtr reader)
get a copy of a string contained by current element
Definition common/elements.c:122
int oscap_element_depth(xmlTextReaderPtr reader)
get depth of current element
Definition common/elements.c:148
xmlNode * oscap_xmlstr_to_dom(xmlNode *parent, const char *elname, const char *content)
convert a piece of XML string to DOM
Definition common/elements.c:196
bool oscap_to_start_element(xmlTextReaderPtr reader, int depth)
find starting element at given depth (returns false if none found)
Definition common/elements.c:56
int oscap_xml_save_filename_free(const char *filename, xmlDocPtr doc)
Save XML Document to the file of the given filename and dispose the document afterwards.
Definition common/elements.c:275
int oscap_xml_save_filename(const char *filename, xmlDocPtr doc)
Save XML Document to the file of the given filename.
Definition common/elements.c:221
char * oscap_get_xml(xmlTextReaderPtr reader)
get xml content of current element as a string
Definition common/elements.c:161
time_t oscap_get_date(const char *date)
get date from a string
Definition common/elements.c:166
const char * oscap_element_string_get(xmlTextReaderPtr reader)
get a string contained by current element
Definition common/elements.c:138
int oscap_xml_save_fd(int fd, xmlDocPtr doc)
Save XML Document to the given file descriptor.
Definition common/elements.c:253
const struct oscap_string_map OSCAP_BOOL_MAP[]
boolean to string (and vice versa) conversion map
Definition common/elements.c:49
time_t oscap_get_datetime(const char *date)
get datetime from a string
Definition common/elements.c:180
General OpenScap functions and types.
Define mapping between symbolic constant and its string representation.
Definition util.h:296