Open SCAP Library
oval_session.h
Go to the documentation of this file.
1 
15 /*
16  * Copyright 2015 Red Hat Inc., Durham, North Carolina.
17  * All Rights Reserved.
18  *
19  * This library is free software; you can redistribute it and/or
20  * modify it under the terms of the GNU Lesser General Public
21  * License as published by the Free Software Foundation; either
22  * version 2.1 of the License, or (at your option) any later version.
23  *
24  * This library is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
27  * Lesser General Public License for more details.
28  *
29  * You should have received a copy of the GNU Lesser General Public
30  * License along with this library; if not, write to the Free Software
31  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
32  *
33  * Author:
34  * Michal Šrubař <msrubar@redhat.com>
35  */
36 
37 #ifndef OVAL_SESSION_H_
38 #define OVAL_SESSION_H_
39 #include "oscap_download_cb.h"
40 #include "oscap_export.h"
41 
46 struct oval_session;
47 
59 OSCAP_API struct oval_session *oval_session_new(const char *filename);
60 
73 OSCAP_API void oval_session_set_variables(struct oval_session *session, const char *filename);
74 
87 OSCAP_API void oval_session_set_directives(struct oval_session *session, const char *filename);
88 
97 OSCAP_API void oval_session_set_validation(struct oval_session *session, bool validate, bool full_validation);
98 
109 OSCAP_API void oval_session_set_datastream_id(struct oval_session *session, const char *id);
110 
120 OSCAP_API void oval_session_set_component_id(struct oval_session *session, const char *id);
121 
131 OSCAP_API void oval_session_set_results_export(struct oval_session *session, const char *filename);
132 
142 OSCAP_API void oval_session_set_report_export(struct oval_session *session, const char *filename);
143 
154 OSCAP_API void oval_session_set_xml_reporter(struct oval_session *session, xml_reporter fn);
155 
169 OSCAP_API int oval_session_load(struct oval_session *session);
170 
185 OSCAP_API int oval_session_evaluate_id(struct oval_session *session, const char *id, oval_result_t *result);
186 
203 OSCAP_API int oval_session_evaluate(struct oval_session *session, agent_reporter fn, void *arg);
204 
222 OSCAP_API int oval_session_export(struct oval_session *session);
223 
232 OSCAP_API void oval_session_set_export_system_characteristics(struct oval_session *session, bool export);
233 
242 OSCAP_API void oval_session_set_remote_resources(struct oval_session *session, bool allowed, download_progress_calllback_t callback);
243 
249 OSCAP_API void oval_session_free(struct oval_session *session);
250 
251 #endif
oval_result_t
Result values for the evaluation of an OVAL Definition or an OVAL Test.
Definition: oval_types.h:444
OSCAP_API void oval_session_set_xml_reporter(struct oval_session *session, xml_reporter fn)
Set XML validation reporter.
Definition: oval_session.c:179
OSCAP_API void oval_session_free(struct oval_session *session)
Destructor of an oval_session.
Definition: oval_session.c:460
OSCAP_API struct oval_session * oval_session_new(const char *filename)
Costructor of an oval_session.
Definition: oval_session.c:89
OSCAP_API int oval_session_export(struct oval_session *session)
Export result to a file.
Definition: oval_session.c:382
OSCAP_API void oval_session_set_variables(struct oval_session *session, const char *filename)
Set OVAL Variables.
Definition: oval_session.c:115
OSCAP_API void oval_session_set_component_id(struct oval_session *session, const char *id)
Set ID of a particular OVAL component if there are two OVALs in one source datastream.
Definition: oval_session.c:155
OSCAP_API void oval_session_set_remote_resources(struct oval_session *session, bool allowed, download_progress_calllback_t callback)
Set property of remote content.
Definition: oval_session.c:454
OSCAP_API int oval_session_load(struct oval_session *session)
Load OVAL Definitions and bind OVAL Variables to it if provided.
Definition: oval_session.c:293
OSCAP_API void oval_session_set_export_system_characteristics(struct oval_session *session, bool export)
Set exporting of system characteristics in OVAL results.
Definition: oval_session.c:449
OSCAP_API void oval_session_set_report_export(struct oval_session *session, const char *filename)
Set a name of the file that the the OVAL Results, converted to HTML format, will be written into.
Definition: oval_session.c:171
OSCAP_API void oval_session_set_results_export(struct oval_session *session, const char *filename)
Set a name of the file that the the OVAL Results will be written into.
Definition: oval_session.c:163
OSCAP_API int oval_session_evaluate_id(struct oval_session *session, const char *id, oval_result_t *result)
Evaluate a specific OVAL Definition.
Definition: oval_session.c:338
OSCAP_API int oval_session_evaluate(struct oval_session *session, agent_reporter fn, void *arg)
Evaluate OVAL Definitions.
Definition: oval_session.c:363
OSCAP_API void oval_session_set_datastream_id(struct oval_session *session, const char *id)
Set ID of a specific OVAL Definition in an source datastream.
Definition: oval_session.c:147
OSCAP_API void oval_session_set_validation(struct oval_session *session, bool validate, bool full_validation)
Set XSD validation level.
Definition: oval_session.c:139
OSCAP_API void oval_session_set_directives(struct oval_session *session, const char *filename)
Set OVAL Directives.
Definition: oval_session.c:127
A structure encapsulating the context of OVAL operations.
Definition: oval_session.c:52