Open SCAP Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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 
45 struct oval_session;
46 
58 struct oval_session *oval_session_new(const char *filename);
59 
72 void oval_session_set_variables(struct oval_session *session, const char *filename);
73 
86 void oval_session_set_directives(struct oval_session *session, const char *filename);
87 
96 void oval_session_set_validation(struct oval_session *session, bool validate, bool full_validation);
97 
108 void oval_session_set_datastream_id(struct oval_session *session, const char *id);
109 
119 void oval_session_set_component_id(struct oval_session *session, const char *id);
120 
130 void oval_session_set_results_export(struct oval_session *session, const char *filename);
131 
141 void oval_session_set_report_export(struct oval_session *session, const char *filename);
142 
153 void oval_session_set_xml_reporter(struct oval_session *session, xml_reporter fn);
154 
168 int oval_session_load(struct oval_session *session);
169 
185 int oval_session_evaluate_id(struct oval_session *session, char *probe_root, const char *id, oval_result_t *result);
186 
204 int oval_session_evaluate(struct oval_session *session, char *probe_root, agent_reporter fn, void *arg);
205 
223 int oval_session_export(struct oval_session *session);
224 
233 void oval_session_set_export_system_characteristics(struct oval_session *session, bool export);
234 
243 void oval_session_set_remote_resources(struct oval_session *session, bool allowed, download_progress_calllback_t callback);
244 
250 void oval_session_free(struct oval_session *session);
251 
252 #endif
int oval_session_evaluate(struct oval_session *session, char *probe_root, agent_reporter fn, void *arg)
Evaluate OVAL Definitions.
Definition: oval_session.c:364
int oval_session_load(struct oval_session *session)
Load OVAL Definitions and bind OVAL Variables to it if provided.
Definition: oval_session.c:289
A structure encapsulating the context of OVAL operations.
Definition: oval_session.c:48
void oval_session_set_directives(struct oval_session *session, const char *filename)
Set OVAL Directives.
Definition: oval_session.c:123
void oval_session_set_variables(struct oval_session *session, const char *filename)
Set OVAL Variables.
Definition: oval_session.c:111
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:151
struct oval_session * oval_session_new(const char *filename)
Costructor of an oval_session.
Definition: oval_session.c:85
void oval_session_set_validation(struct oval_session *session, bool validate, bool full_validation)
Set XSD validation level.
Definition: oval_session.c:135
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:143
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:463
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:458
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:159
void oval_session_set_xml_reporter(struct oval_session *session, xml_reporter fn)
Set XML validation reporter.
Definition: oval_session.c:175
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:167
int oval_session_evaluate_id(struct oval_session *session, char *probe_root, const char *id, oval_result_t *result)
Evaluate a specific OVAL Definition.
Definition: oval_session.c:332
oval_result_t
Result values for the evaluation of an OVAL Definition or an OVAL Test.
Definition: oval_types.h:327
int oval_session_export(struct oval_session *session)
Export result to a file.
Definition: oval_session.c:391
void oval_session_free(struct oval_session *session)
Destructor of an oval_session.
Definition: oval_session.c:469