Open SCAP Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
xccdf_impl.h
1 /*
2  * Copyright 2009 Red Hat Inc., Durham, North Carolina.
3  * Copyright (C) 2010 Tresys Technology, LLC
4  * All Rights Reserved.
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19  *
20  * Authors:
21  * Josh Adams <jadams@tresys.com>
22  */
23 
24 #ifndef XCCDF_IMPL
25 #define XCCDF_IMPL
26 
27 #include <public/xccdf_benchmark.h>
28 #include <common/util.h>
29 #include <libxml/xmlreader.h>
30 
31 OSCAP_HIDDEN_START;
32 
33 #define XCCDF_DC_NAMESPACE BAD_CAST "http://purl.org/dc/elements/1.1/"
34 #define XCCDF_DSIG_NAMESPACE BAD_CAST "http://w3.org/2000/09/xmldsig#"
35 #define XCCDF_XHTML_NAMESPACE BAD_CAST "http://www.w3.org/1999/xhtml"
36 
37 xmlNode *xccdf_benchmark_to_dom(struct xccdf_benchmark *benchmark, xmlDocPtr doc,
38  xmlNode *parent, void *user_args);
39 xmlNode *xccdf_item_to_dom(struct xccdf_item *item, xmlDoc *doc, xmlNode *parent, const struct xccdf_version_info *version_info);
40 xmlNode *xccdf_profile_note_to_dom(struct xccdf_profile_note *note, xmlDoc *doc, xmlNode *parent);
41 xmlNode *xccdf_fixtext_to_dom(struct xccdf_fixtext *fixtext, xmlDoc *doc, xmlNode *parent);
42 xmlNode *xccdf_fix_to_dom(struct xccdf_fix *fix, xmlDoc *doc, xmlNode *parent, const struct xccdf_version_info* version_info);
43 xmlNode *xccdf_status_to_dom(struct xccdf_status *status, xmlDoc *doc, xmlNode *parent, const struct xccdf_version_info* version_info);
44 xmlNode *xccdf_warning_to_dom(struct xccdf_warning *warning, xmlDoc *doc, xmlNode *parent);
45 xmlNode *xccdf_check_to_dom(struct xccdf_check *check, xmlDoc *doc, xmlNode *parent, const struct xccdf_version_info* version_info);
46 void xccdf_rule_to_dom(struct xccdf_rule *rule, xmlNode *rule_node, xmlDoc *doc, xmlNode *parent);
47 void xccdf_value_to_dom(struct xccdf_value *value, xmlNode *value_node, xmlDoc *doc, xmlNode *parent);
48 void xccdf_group_to_dom(struct xccdf_group *group, xmlNode *group_node, xmlDoc *doc, xmlNode *parent);
49 void xccdf_profile_to_dom(struct xccdf_profile *profile, xmlNode *profile_node, xmlDoc *doc, xmlNode *parent, const struct xccdf_version_info *version_info);
50 void xccdf_result_to_dom(struct xccdf_result *result, xmlNode *result_node, xmlDoc *doc, xmlNode *parent, bool use_stig_rule_id);
51 xmlNode *xccdf_target_identifier_to_dom(const struct xccdf_target_identifier *ti, xmlDoc *doc, xmlNode *parent, const struct xccdf_version_info* version_info);
52 xmlNode *xccdf_rule_result_to_dom(struct xccdf_rule_result *result, xmlDoc *doc, xmlNode *parent, const struct xccdf_version_info* version_info, struct xccdf_benchmark *benchmark, bool use_stig_rule_id);
53 xmlNode *xccdf_ident_to_dom(struct xccdf_ident *ident, xmlDoc *doc, xmlNode *parent, const struct xccdf_version_info* version_info);
54 xmlNode *xccdf_setvalue_to_dom(struct xccdf_setvalue *setvalue, xmlDoc *doc, xmlNode *parent, const struct xccdf_version_info* version_info);
55 xmlNode *xccdf_override_to_dom(struct xccdf_override *override, xmlDoc *doc, xmlNode *parent, const struct xccdf_version_info* version_info);
56 
57 OSCAP_HIDDEN_END;
58 
59 #endif
XCCDF note for given rule in context of given profile.
Definition: item.h:320
Definition: XCCDF/elements.c:43
Top level XCCDF structure containing profiles, rules, values and results.
XCCDF set value option used in the profile.
Definition: item.h:276
XCCDF simple or complex check.
Definition: item.h:286
XCCDF Value allows test parametrization or capturing output of tests.
Definition: xccdf_benchmark.h:226
XCCDF rule group.
Definition: xccdf_benchmark.h:220
XCCDF textual fix instructions.
Definition: item.h:336
Actual results of running a XCCDF test or profile.
Definition: xccdf_benchmark.h:232
Open-scap XCCDF library interface.
XCCDF override.
Definition: item.h:376
XCCDF rule result.
Definition: item.h:345
XCCDF item status.
Definition: item.h:244
XCCDF rule ident URI.
Definition: item.h:281
XCCDF rule defines a test execution.
Definition: xccdf_benchmark.h:214
XCCDF profile is a set of tests and their settings in a compact package.
Definition: xccdf_benchmark.h:202
XCCDF automatic fix.
Definition: item.h:325
Can be either &lt;target-id-ref&gt; or some other element.
Definition: item.h:395
XCCDF warning.
Definition: item.h:234
A base class for XCCDF items.
Definition: item.h:221