oval_agent_api.h
Go to the documentation of this file.
/*
* Copyright 2009,2010 Red Hat Inc., Durham, North Carolina.
* All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#ifndef OVAL_AGENT_API_H_
#define OVAL_AGENT_API_H_
#include "oval_definitions.h"
#include "oval_system_characteristics.h"
#include "oval_results.h"
#include "oval_variables.h"
#include "oval_probe.h"
struct oval_agent_session;
typedef struct oval_agent_session oval_agent_session_t;
oval_agent_session_t * oval_agent_new_session(struct oval_definition_model * model, const char * name);
struct oval_definition_model* oval_agent_get_definition_model(oval_agent_session_t* ag_sess);
void oval_agent_set_product_name(oval_agent_session_t *, char *);
int oval_agent_eval_definition(oval_agent_session_t *, const char *);
int oval_agent_get_definition_result(oval_agent_session_t *, const char *, oval_result_t *);
struct oval_result_definition * oval_agent_get_result_definition(oval_agent_session_t *ag_sess, const char *id);
int oval_agent_reset_session(oval_agent_session_t * ag_sess);
int oval_agent_abort_session(oval_agent_session_t *ag_sess);
typedef int (*agent_reporter)(const struct oval_result_definition * res_def, void *arg);
int oval_agent_eval_system(oval_agent_session_t * ag_sess, agent_reporter cb, void *arg);
struct oval_results_model * oval_agent_get_results_model(oval_agent_session_t * ag_sess);
const char * oval_agent_get_filename(oval_agent_session_t * ag_sess);
void oval_agent_destroy_session(oval_agent_session_t * ag_sess);
#endif