00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef XCCDF_POLICY_RESOLVE_H_
00022 #define XCCDF_POLICY_RESOLVE_H_
00023
00024 #ifdef HAVE_CONFIG_H
00025 #include <config.h>
00026 #endif
00027
00028 #include <xccdf_benchmark.h>
00029 #include <xccdf_policy_priv.h>
00030 #include <math.h>
00031
00032
00033
00034
00035
00036
00037
00038 struct xccdf_refine_rule_internal;
00039
00040 char* xccdf_refine_rule_internal_get_selector(const struct xccdf_refine_rule_internal*);
00041 xccdf_role_t xccdf_refine_rule_internal_get_role(const struct xccdf_refine_rule_internal*);
00042 xccdf_level_t xccdf_refine_rule_internal_get_severity(const struct xccdf_refine_rule_internal*);
00043 xccdf_numeric xccdf_refine_rule_internal_get_weight(const struct xccdf_refine_rule_internal*);
00044
00049 struct xccdf_refine_rule_internal* xccdf_policy_get_refine_rule_by_item(struct xccdf_policy* policy, struct xccdf_item* item);
00050
00054 bool xccdf_weight_defined(xccdf_numeric weight);
00055
00059 xccdf_role_t xccdf_get_final_role(const struct xccdf_rule* rule, const struct xccdf_refine_rule_internal* r_rule);
00060
00064 float xccdf_get_final_weight(const struct xccdf_rule* rule, const struct xccdf_refine_rule_internal* r_rule);
00065
00069 xccdf_level_t xccdf_get_final_severity(const struct xccdf_rule* rule, const struct xccdf_refine_rule_internal* r_rule);
00070
00074 void xccdf_policy_add_profile_refine_rules(struct xccdf_policy* policy, struct xccdf_benchmark* benchmark, struct xccdf_profile* profile);
00075
00079 void xccdf_refine_rule_internal_free(struct xccdf_refine_rule_internal* item);
00080
00081 #endif