Open SCAP Library

oval_session.h

Go to the documentation of this file.
00001 
00015 /*
00016  * Copyright 2015 Red Hat Inc., Durham, North Carolina.
00017  * All Rights Reserved.
00018  *
00019  * This library is free software; you can redistribute it and/or
00020  * modify it under the terms of the GNU Lesser General Public
00021  * License as published by the Free Software Foundation; either
00022  * version 2.1 of the License, or (at your option) any later version.
00023  *
00024  * This library is distributed in the hope that it will be useful,
00025  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00026  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00027  * Lesser General Public License for more details.
00028  *
00029  * You should have received a copy of the GNU Lesser General Public
00030  * License along with this library; if not, write to the Free Software
00031  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00032  *
00033  * Author:
00034  *              Michal Šrubař <msrubar@redhat.com>
00035  */
00036 
00037 #ifndef OVAL_SESSION_H_
00038 #define OVAL_SESSION_H_
00039 #include "oscap_download_cb.h"
00040 
00045 struct oval_session;
00046 
00058 struct oval_session *oval_session_new(const char *filename);
00059 
00072 void oval_session_set_variables(struct oval_session *session, const char *filename);
00073 
00086 void oval_session_set_directives(struct oval_session *session, const char *filename);
00087 
00096 void oval_session_set_validation(struct oval_session *session, bool validate, bool full_validation);
00097 
00108 void oval_session_set_datastream_id(struct oval_session *session, const char *id);
00109 
00119 void oval_session_set_component_id(struct oval_session *session, const char *id);
00120 
00130 void oval_session_set_results_export(struct oval_session *session, const char *filename);
00131 
00141 void oval_session_set_report_export(struct oval_session *session, const char *filename);
00142 
00153 void oval_session_set_xml_reporter(struct oval_session *session, xml_reporter fn);
00154 
00168 int oval_session_load(struct oval_session *session);
00169 
00185 int oval_session_evaluate_id(struct oval_session *session, char *probe_root, const char *id, oval_result_t *result);
00186 
00204 int oval_session_evaluate(struct oval_session *session, char *probe_root, agent_reporter fn, void *arg);
00205 
00223 int oval_session_export(struct oval_session *session);
00224 
00233 void oval_session_set_export_system_characteristics(struct oval_session *session, bool export);
00234 
00243 void oval_session_set_remote_resources(struct oval_session *session, bool allowed, download_progress_calllback_t callback);
00244 
00250 void oval_session_free(struct oval_session *session);
00251 
00252 #endif
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines