Go to the documentation of this file.00001
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
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 #ifdef ENABLE_XCCDF
00048 #include "xccdf_policy.h"
00049 #endif
00050
00051 struct oval_agent_session;
00052
00058 typedef struct oval_agent_session oval_agent_session_t;
00059
00065 oval_agent_session_t * oval_agent_new_session(struct oval_definition_model * model, const char * name);
00066
00070 oval_result_t oval_agent_eval_definition(oval_agent_session_t * ag_sess, const char *id);
00071
00075 int oval_agent_reset_session(oval_agent_session_t * ag_sess);
00076
00080 int oval_agent_abort_session(oval_agent_session_t *ag_sess);
00081
00085 int oval_agent_eval_system(oval_agent_session_t * ag_sess, oscap_reporter cb, void *arg);
00086
00090 struct oval_results_model * oval_agent_get_results_model(oval_agent_session_t * ag_sess);
00094 const char * oval_agent_get_filename(oval_agent_session_t * ag_sess);
00095
00099 void oval_agent_destroy_session(oval_agent_session_t * ag_sess);
00100
00101
00102 #ifdef ENABLE_XCCDF
00103
00104
00119 typedef xccdf_test_result_type_t (xccdf_policy_eval_rule_cb_t) (struct xccdf_policy * policy, const char * rule_id,
00120 const char * id, struct xccdf_value_binding_iterator * it, void * usr);
00121
00137 xccdf_test_result_type_t oval_agent_eval_rule (struct xccdf_policy * policy, const char * rule_id,
00138 const char * id, const char * href, struct xccdf_value_binding_iterator * it, void * usr);
00139
00148 int oval_agent_resolve_variables(struct oval_agent_session * session, struct xccdf_value_binding_iterator *it);
00149
00150
00158 bool xccdf_policy_model_register_engine_oval(struct xccdf_policy_model * model, struct oval_agent_session * sess);
00159
00165 void oval_agent_export_sysinfo_to_xccdf_result(struct oval_agent_session * session, struct xccdf_result * ritem);
00166
00167
00170 #endif
00171
00176 #endif