00001 00016 /* 00017 * Copyright 2009,2010 Red Hat Inc., Durham, North Carolina. 00018 * All Rights Reserved. 00019 * 00020 * This library is free software; you can redistribute it and/or 00021 * modify it under the terms of the GNU Lesser General Public 00022 * License as published by the Free Software Foundation; either 00023 * version 2.1 of the License, or (at your option) any later version. 00024 * 00025 * This library is distributed in the hope that it will be useful, 00026 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00027 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00028 * Lesser General Public License for more details. 00029 * 00030 * You should have received a copy of the GNU Lesser General Public 00031 * License along with this library; if not, write to the Free Software 00032 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00033 * 00034 */ 00035 00036 00037 #ifndef OVAL_AGENT_API_H_ 00038 #define OVAL_AGENT_API_H_ 00039 00040 #include "oval_definitions.h" 00041 #include "oval_system_characteristics.h" 00042 #include "oval_results.h" 00043 #include "oval_variables.h" 00044 #include "oval_probe.h" 00045 #include "reporter.h" 00046 00047 struct oval_agent_session; 00048 00054 typedef struct oval_agent_session oval_agent_session_t; 00055 00061 oval_agent_session_t * oval_agent_new_session(struct oval_definition_model * model, const char * name); 00062 00069 void oval_agent_set_generator_template(oval_agent_session_t *, struct oval_generator *); 00070 00074 struct oval_generator *oval_agent_get_generator_template(oval_agent_session_t *); 00075 00080 int oval_agent_eval_definition(oval_agent_session_t *, const char *); 00081 00086 int oval_agent_get_definition_result(oval_agent_session_t *, const char *, oval_result_t *); 00087 00091 int oval_agent_reset_session(oval_agent_session_t * ag_sess); 00092 00096 int oval_agent_abort_session(oval_agent_session_t *ag_sess); 00097 00102 int oval_agent_eval_system(oval_agent_session_t * ag_sess, oscap_reporter cb, void *arg); 00103 00107 struct oval_results_model * oval_agent_get_results_model(oval_agent_session_t * ag_sess); 00111 const char * oval_agent_get_filename(oval_agent_session_t * ag_sess); 00112 00116 void oval_agent_destroy_session(oval_agent_session_t * ag_sess); 00117 00118 00123 #endif