Open SCAP Library
Loading...
Searching...
No Matches
oval_results_impl.h
Go to the documentation of this file.
1
8/*
9 * Copyright 2009--2013 Red Hat Inc., Durham, North Carolina.
10 * All Rights Reserved.
11 *
12 * This library is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Lesser General Public
14 * License as published by the Free Software Foundation; either
15 * version 2.1 of the License, or (at your option) any later version.
16 *
17 * This library is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * Lesser General Public License for more details.
21 *
22 * You should have received a copy of the GNU Lesser General Public
23 * License along with this library; if not, write to the Free Software
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
25 *
26 * Authors:
27 * "David Niemoller" <David.Niemoller@g2-inc.com>
28 * Šimon Lukašík
29 */
30
31#ifndef OVAL_RESULTS_IMPL_H_
32#define OVAL_RESULTS_IMPL_H_
33
34#include "oval_results.h"
35
38#include "OVAL/adt/oval_smc_impl.h"
39
40#include "common/list.h"
41#include "common/util.h"
42#include "source/oscap_source_priv.h"
43
44
45int oval_result_system_parse_tag(xmlTextReaderPtr, struct oval_parser_context *, void *);
46xmlNode *oval_result_system_to_dom(struct oval_result_system *, struct oval_results_model *, struct oval_directives_model *, xmlDocPtr, xmlNode *);
47
48struct oval_result_test *oval_result_system_get_new_test(struct oval_result_system *, struct oval_test *, int variable_instance);
49
50int oval_result_definition_parse_tag(xmlTextReaderPtr, struct oval_parser_context *, void *);
51struct oval_result_definition *make_result_definition_from_oval_definition(
52 struct oval_result_system *, struct oval_definition *,
53 struct oscap_list *, int variable_instance);
54xmlNode *oval_result_definition_to_dom(struct oval_result_definition *, oval_result_directive_content_t, xmlDocPtr, xmlNode *);
56void oval_result_definition_set_variable_instance_hint(struct oval_result_definition *definition, int new_hint_value);
57
58struct oval_result_test *make_result_test_from_oval_test(struct oval_result_system *system, struct oval_test *oval_test, int variable_instance);
59
60int oval_result_test_parse_tag(xmlTextReaderPtr, struct oval_parser_context *, void *);
61xmlNode *oval_result_test_to_dom(struct oval_result_test *, xmlDocPtr, xmlNode *);
62
63
64int oval_result_item_parse_tag(xmlTextReaderPtr, struct oval_parser_context *, struct oval_result_system *, oscap_consumer_func, void *);
65xmlNode *oval_result_item_to_dom(struct oval_result_item *, xmlDocPtr, xmlNode *);
66
67struct oval_result_criteria_node *make_result_criteria_node_from_oval_criteria_node(struct oval_result_system *, struct oval_criteria_node *, struct oscap_list *, int variable_instance);
68
69int oval_result_criteria_node_parse(xmlTextReaderPtr, struct oval_parser_context *, struct oval_result_system *, oscap_consumer_func, void *);
70oval_result_t oval_result_criteria_node_negate(struct oval_result_criteria_node *node, oval_result_t result);
71xmlNode *oval_result_criteria_node_to_dom(struct oval_result_criteria_node *, xmlDocPtr, xmlNode *);
72
73oval_result_t oval_result_parse(xmlTextReaderPtr, char *, oval_result_t);
74
75struct oval_result_definition *oval_result_system_get_new_definition(struct oval_result_system *,
76 struct oval_definition *,
77 int variable_instance);
78struct oval_result_definition *oval_result_system_get_new_definition_with_check(struct oval_result_system *, struct oval_definition *, struct oscap_list *, int);
79
80struct oval_result_test *oval_result_system_get_test(struct oval_result_system *, char *);
81
82struct oresults {
83 int true_cnt;
84 int false_cnt;
85 int unknown_cnt;
86 int error_cnt;
87 int noteval_cnt;
88 int notappl_cnt;
89};
90
91int ores_add_res(struct oresults *ores, oval_result_t res);
92void ores_clear(struct oresults *ores);
93oval_result_t ores_get_result_bychk(struct oresults *ores, oval_check_t check);
94oval_result_t ores_get_result_byopr(struct oresults *ores, oval_operator_t op);
95
96#if defined(OVAL_PROBES_ENABLED)
97struct oval_results_model *oval_results_model_new_with_probe_session(struct oval_definition_model *definition_model, struct oval_syschar_model **syschar_models, struct oval_probe_session *probe_session);
98#endif
99struct oval_probe_session *oval_results_model_get_probe_session(struct oval_results_model *model);
100void oval_results_model_add_system(struct oval_results_model *, struct oval_result_system *);
101
102struct oval_result_definition_iterator *oval_result_definition_iterator_new(struct oval_smc *mapping);
103struct oval_result_test_iterator *oval_result_test_iterator_new(struct oval_smc *mapping);
104
105const char *oval_result_test_get_id(const struct oval_result_test *test);
106
107
108struct oval_result_definition *oval_result_system_prepare_definition(struct oval_result_system *sys, const char *id);
109
110
111#endif /* OVAL_RESULTS_IMPL_H_ */
oval_check_t
Check enumeration.
Definition oval_definitions.h:113
oval_operator_t
Boolean operators.
Definition oval_definitions.h:75
oval_result_directive_content_t
Values for the directives controlling the expected content of the results file.
Definition oval_directives.h:49
oval_result_t
Result values for the evaluation of an OVAL Definition or an OVAL Test.
Definition oval_types.h:445
Open Vulnerability and Assessment Language.
Open Vulnerability and Assessment Language.
Definition oval_results_impl.h:82
Definition list.h:53
Specify oval_definition dependencies.
Definition oval_criteriaNode.c:50
Oval definition model.
Definition oval_defModel.c:53
Oval definition specification.
Definition oval_definition.c:53
This structure holds instance of OVAL Directives.
Definition oval_parser_impl.h:44
OVAL probe session structure.
Definition _oval_probe_session.h:42
Definition oval_resultCriteriaNode.c:46
Definition oval_resultDefinition.c:46
int oval_result_definition_get_variable_instance_hint(const struct oval_result_definition *definition)
Get the value of the variable_instance hint.
Definition oval_resultDefinition.c:345
void oval_result_definition_set_variable_instance_hint(struct oval_result_definition *definition, int new_hint_value)
This sets counter on next possible variable instance.
Definition oval_resultDefinition.c:356
Definition oval_resultItem.c:44
Definition oval_resultSystem.c:55
Definition oval_resultTest.c:53
OVAL Results Model holds OVAL results structure instances.
Definition oval_resModel.c:56
OVAL System Characteristics model.
Definition oval_sysModel.c:56
An Oval_test specifies a technical control by identifying an oval_object that is evaluated on an inst...
Definition oval_test.c:48