00001
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef XCCDF_SESSION_H_
00033 #define XCCDF_SESSION_H_
00034
00035 #include "xccdf_policy.h"
00036 #include "oscap_download_cb.h"
00037
00042 struct xccdf_session;
00043
00051 struct xccdf_session *xccdf_session_new(const char *filename);
00052
00060 struct xccdf_session *xccdf_session_new_from_source(struct oscap_source *source);
00061
00067 void xccdf_session_free(struct xccdf_session *session);
00068
00073 const char *xccdf_session_get_filename(const struct xccdf_session *session);
00074
00081 bool xccdf_session_is_sds(const struct xccdf_session *session);
00082
00093 void xccdf_session_set_validation(struct xccdf_session *session, bool validate, bool full_validation);
00094
00103 void xccdf_session_set_thin_results(struct xccdf_session *session, bool thin_result);
00104
00113 void xccdf_session_set_datastream_id(struct xccdf_session *session, const char *datastream_id);
00114
00120 const char *xccdf_session_get_datastream_id(struct xccdf_session *session);
00121
00130 void xccdf_session_set_component_id(struct xccdf_session *session, const char *component_id);
00131
00137 const char *xccdf_session_get_component_id(struct xccdf_session *session);
00138
00145 void xccdf_session_set_benchmark_id(struct xccdf_session *session, const char *benchmark_id);
00146
00152 const char *xccdf_session_get_benchmark_id(struct xccdf_session *session);
00153
00161 void xccdf_session_set_user_cpe(struct xccdf_session *session, const char *user_cpe);
00162
00170 void xccdf_session_set_user_tailoring_file(struct xccdf_session *session, const char *user_tailoring_file);
00171
00179 void xccdf_session_set_user_tailoring_cid(struct xccdf_session *session, const char *user_tailoring_cid);
00180
00189 void xccdf_session_set_remote_resources(struct xccdf_session *session, bool allowed, download_progress_calllback_t callback);
00190
00199 void xccdf_session_set_custom_oval_files(struct xccdf_session *session, char **oval_filenames);
00200
00208 void xccdf_session_set_custom_oval_eval_fn(struct xccdf_session *session, xccdf_policy_engine_eval_fn eval_fn);
00209
00217 bool xccdf_session_set_product_cpe(struct xccdf_session *session, const char *product_cpe);
00218
00225 void xccdf_session_set_without_sys_chars_export(struct xccdf_session *session, bool without_sys_chars);
00226
00233 void xccdf_session_set_oval_results_export(struct xccdf_session *session, bool to_export_oval_results);
00234
00241 void xccdf_session_set_check_engine_plugins_results_export(struct xccdf_session *session, bool to_export_results);
00242
00249 OSCAP_DEPRECATED(void xccdf_session_set_sce_results_export(struct xccdf_session *session, bool to_export_sce_results));
00250
00257 void xccdf_session_set_oval_variables_export(struct xccdf_session *session, bool to_export_oval_variables);
00258
00266 bool xccdf_session_set_xccdf_export(struct xccdf_session *session, const char *xccdf_file);
00267
00275 bool xccdf_session_set_arf_export(struct xccdf_session *session, const char *arf_file);
00276
00284 bool xccdf_session_set_report_export(struct xccdf_session *session, const char *report_file);
00285
00293 bool xccdf_session_set_profile_id(struct xccdf_session *session, const char *profile_id);
00294
00300 const char *xccdf_session_get_profile_id(struct xccdf_session *session);
00301
00309 struct ds_sds_index *xccdf_session_get_sds_idx(struct xccdf_session *session);
00310
00318 int xccdf_session_load(struct xccdf_session *session);
00319
00332 int xccdf_session_load_xccdf(struct xccdf_session *session);
00333
00341 int xccdf_session_load_cpe(struct xccdf_session *session);
00342
00349 int xccdf_session_load_oval(struct xccdf_session *session);
00350
00365 int xccdf_session_load_check_engine_plugin2(struct xccdf_session *session, const char* plugin_name, bool quiet);
00366 int xccdf_session_load_check_engine_plugin(struct xccdf_session *session, const char* plugin_name);
00367
00378 int xccdf_session_load_check_engine_plugins(struct xccdf_session *session);
00379
00385 OSCAP_DEPRECATED(int xccdf_session_load_sce(struct xccdf_session *session));
00386
00393 int xccdf_session_load_tailoring(struct xccdf_session *session);
00394
00401 int xccdf_session_evaluate(struct xccdf_session *session);
00402
00409 int xccdf_session_export_xccdf(struct xccdf_session *session);
00410
00417 int xccdf_session_export_oval(struct xccdf_session *session);
00418
00427 int xccdf_session_export_check_engine_plugins(struct xccdf_session *session);
00428
00437 OSCAP_DEPRECATED(int xccdf_session_export_sce(struct xccdf_session *session));
00438
00445 int xccdf_session_export_arf(struct xccdf_session *session);
00446
00454 struct xccdf_policy_model *xccdf_session_get_policy_model(const struct xccdf_session *session);
00455
00462 struct xccdf_policy *xccdf_session_get_xccdf_policy(const struct xccdf_session *session);
00463
00470 float xccdf_session_get_base_score(const struct xccdf_session *session);
00471
00478 unsigned int xccdf_session_get_oval_agents_count(const struct xccdf_session *session);
00479
00488 unsigned int xccdf_session_get_cpe_oval_agents_count(const struct xccdf_session *session);
00489
00496 bool xccdf_session_contains_fail_result(const struct xccdf_session *session);
00497
00506 int xccdf_session_remediate(struct xccdf_session *session);
00507
00518 int xccdf_session_build_policy_from_testresult(struct xccdf_session *session, const char *testresult_id);
00519
00527 int xccdf_session_add_report_from_source(struct xccdf_session *session, struct oscap_source *report_source);
00528
00531 #endif