Open SCAP Library
oval_agent_api.h
Go to the documentation of this file.
1 
16 /*
17  * Copyright 2009,2010 Red Hat Inc., Durham, North Carolina.
18  * All Rights Reserved.
19  *
20  * This library is free software; you can redistribute it and/or
21  * modify it under the terms of the GNU Lesser General Public
22  * License as published by the Free Software Foundation; either
23  * version 2.1 of the License, or (at your option) any later version.
24  *
25  * This library is distributed in the hope that it will be useful,
26  * but WITHOUT ANY WARRANTY; without even the implied warranty of
27  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28  * Lesser General Public License for more details.
29  *
30  * You should have received a copy of the GNU Lesser General Public
31  * License along with this library; if not, write to the Free Software
32  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
33  *
34  */
35 
36 
37 #ifndef OVAL_AGENT_API_H_
38 #define OVAL_AGENT_API_H_
39 
40 #include "oval_definitions.h"
42 #include "oval_results.h"
43 #include "oval_variables.h"
44 #include "oscap_export.h"
45 //#include "oval_probe.h"
46 
47 struct oval_agent_session;
48 
55 
61 OSCAP_API oval_agent_session_t * oval_agent_new_session(struct oval_definition_model * model, const char * name);
62 
67 
74 OSCAP_API void oval_agent_set_product_name(oval_agent_session_t *, char *);
75 
80 OSCAP_API int oval_agent_eval_definition(oval_agent_session_t *, const char *);
81 
87 
92 OSCAP_API struct oval_result_definition * oval_agent_get_result_definition(oval_agent_session_t *ag_sess, const char *id);
93 
97 OSCAP_API int oval_agent_reset_session(oval_agent_session_t * ag_sess);
98 
102 OSCAP_API int oval_agent_abort_session(oval_agent_session_t *ag_sess);
103 
104 typedef int (*agent_reporter)(const struct oval_result_definition * res_def, void *arg);
105 
110 OSCAP_API int oval_agent_eval_system(oval_agent_session_t * ag_sess, agent_reporter cb, void *arg);
111 
119 OSCAP_API const char * oval_agent_get_filename(oval_agent_session_t * ag_sess);
120 
124 OSCAP_API void oval_agent_destroy_session(oval_agent_session_t * ag_sess);
125 
126 
131 #endif
OSCAP_API int oval_agent_abort_session(oval_agent_session_t *ag_sess)
Abort a running probe session.
Definition: oval_agent.c:257
OSCAP_API struct oval_result_definition * oval_agent_get_result_definition(oval_agent_session_t *ag_sess, const char *id)
Get the OVAL result definition from an agent session.
Definition: oval_agent.c:211
OSCAP_API int oval_agent_eval_definition(oval_agent_session_t *, const char *)
Probe the system and evaluate specified definition.
Definition: oval_agent.c:173
OSCAP_API const char * oval_agent_get_filename(oval_agent_session_t *ag_sess)
Get a filename under which was created.
Definition: oval_agent.c:323
OSCAP_API struct oval_definition_model * oval_agent_get_definition_model(oval_agent_session_t *ag_sess)
Retrieves OVAL definition model associated with given session.
Definition: oval_agent.c:142
OSCAP_API int oval_agent_reset_session(oval_agent_session_t *ag_sess)
Clean resuls that were generated in this agent session.
Definition: oval_agent.c:224
OSCAP_API void oval_agent_set_product_name(oval_agent_session_t *, char *)
Set a product name for the provided agent session.
Definition: oval_agent.c:147
OSCAP_API oval_agent_session_t * oval_agent_new_session(struct oval_definition_model *model, const char *name)
Create new session for OVAL agent from OVAL definition model.
Definition: oval_agent.c:92
OSCAP_API int oval_agent_get_definition_result(oval_agent_session_t *, const char *, oval_result_t *)
Get the OVAL result of a definition from an agent session.
Definition: oval_agent.c:189
OSCAP_API struct oval_results_model * oval_agent_get_results_model(oval_agent_session_t *ag_sess)
Get a result model from agent session.
Definition: oval_agent.c:313
OSCAP_API void oval_agent_destroy_session(oval_agent_session_t *ag_sess)
Finish OVAL agent session.
Definition: oval_agent.c:329
OSCAP_API int oval_agent_eval_system(oval_agent_session_t *ag_sess, agent_reporter cb, void *arg)
Probe and evaluate all definitions from the content, call the callback functions upon single evaluati...
Definition: oval_agent.c:273
oval_result_t
Result values for the evaluation of an OVAL Definition or an OVAL Test.
Definition: oval_types.h:445
Definition: oval_agent.c:54
Oval definition model.
Definition: oval_defModel.c:53
Definition: oval_resultDefinition.c:46
OVAL Results Model holds OVAL results structure instances.
Definition: oval_resModel.c:56