Open SCAP Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions | Data Fields
xccdf_policy_model Struct Reference

Detailed Description

XCCDF policy model structure contains xccdf_benchmark as reference to Benchmark element in XML file and list of policies that are abstract structure of Profile element from benchmark file.

Handle all policies for given XCCDF benchmark.

#include <xccdf_policy_priv.h>

Public Member Functions

bool xccdf_policy_model_register_engine_oval (struct xccdf_policy_model *model, struct oval_agent_session *sess)
 Function to register predefined oval callback for XCCDF evaluation proccess. More...
 
struct xccdf_policy_modelxccdf_policy_model_new (struct xccdf_benchmark *benchmark)
 Constructor of Policy Model structure. More...
 
void xccdf_policy_model_free (struct xccdf_policy_model *)
 Destructor of Policy Model structure.
 
struct xccdf_tailoringxccdf_policy_model_get_tailoring (struct xccdf_policy_model *model)
 Retrieves the Tailoring element used in this policy.
 
bool xccdf_policy_model_register_engine_callback (struct xccdf_policy_model *model, char *sys, void *func, void *usr)
 Function to register callback for checking system. More...
 
bool xccdf_policy_model_register_engine_and_query_callback (struct xccdf_policy_model *model, char *sys, xccdf_policy_engine_eval_fn eval_fn, void *usr, xccdf_policy_engine_query_fn query_fn)
 Function to register callback for checking system. More...
 
bool xccdf_policy_model_register_output_callback (struct xccdf_policy_model *model, policy_reporter_output func, void *usr)
 Function to register output callback for checking system that will be called AFTER each rule evaluation. More...
 
bool xccdf_policy_model_register_start_callback (struct xccdf_policy_model *model, policy_reporter_start func, void *usr)
 Function to register start callback for checking system that will be called BEFORE each rule evaluation. More...
 
void xccdf_policy_model_unregister_engines (struct xccdf_policy_model *model, const char *sys)
 Remove checking engines with given system from xccdf_policy_model. More...
 
bool xccdf_policy_model_platforms_are_applicable (struct xccdf_policy_model *model, struct oscap_string_iterator *platforms)
 Query whether the given list platforms qualifies as 'applicable'. More...
 
bool xccdf_policy_model_item_is_applicable (struct xccdf_policy_model *model, struct xccdf_item *item)
 Query whether the given item is applicable within given policy. More...
 
struct cpe_sessionxccdf_policy_model_get_cpe_session (struct xccdf_policy_model *model)
 Get CPE session assigned with the XCCDF Policy Model. More...
 
Getters

Return value is pointer to structure's member.

Do not free unless you null the pointer in the structure. Use remove function otherwise.

struct xccdf_benchmarkxccdf_policy_model_get_benchmark (const struct xccdf_policy_model *item)
 Get Benchmark from Policy Model. More...
 
struct xccdf_policy_iteratorxccdf_policy_model_get_policies (const struct xccdf_policy_model *model)
 Get policies from Policy Model. More...
 
int xccdf_policy_model_build_all_useful_policies (struct xccdf_policy_model *policy_model)
 Build all policies that can be useful for user. More...
 
struct xccdf_result_iteratorxccdf_policy_get_results (const struct xccdf_policy *policy)
 Get results of all XCCDF Policy results.
 
struct xccdf_resultxccdf_policy_get_result_by_id (struct xccdf_policy *policy, const char *id)
 Get XCCDF Result structure by it's idetificator if there is one. More...
 
struct xccdf_policyxccdf_policy_model_get_policy_by_id (struct xccdf_policy_model *policy_model, const char *id)
 Get XCCDF Policy from Policy model by speciefied ID of Profile. More...
 
Setters

For lists use add functions.

Parameters of set functions are duplicated in memory and need to be freed by caller.

bool xccdf_policy_model_add_policy (struct xccdf_policy_model *, struct xccdf_policy *)
 Add Policy to Policy Model. More...
 
bool xccdf_policy_add_result (struct xccdf_policy *policy, struct xccdf_result *item)
 Add result to XCCDF Policy Model.
 

Data Fields

struct xccdf_benchmarkbenchmark
 Benchmark element (root element of XML file)
 
struct xccdf_tailoringtailoring
 Tailoring element.
 
struct oscap_listpolicies
 List of xccdf_policy structures.
 
struct oscap_listcallbacks
 Callbacks for output callbacks (see callback_out_t)
 
struct oscap_listengines
 Callbacks for checking engines (see xccdf_policy_engine)
 
struct cpe_sessioncpe
 

Member Function Documentation

struct cpe_session * xccdf_policy_model_get_cpe_session ( struct xccdf_policy_model model)

Get CPE session assigned with the XCCDF Policy Model.

Parameters
modelXCCDF Policy Model
Returns
cpe_session or NULL
bool xccdf_policy_model_item_is_applicable ( struct xccdf_policy_model model,
struct xccdf_item item 
)

Query whether the given item is applicable within given policy.

Parameters
modelXCCDF Policy Model
itemXCCDF Item
Returns
true if the given item is applicable
bool xccdf_policy_model_platforms_are_applicable ( struct xccdf_policy_model model,
struct oscap_string_iterator platforms 
)

Query whether the given list platforms qualifies as 'applicable'.

When considering policy_model CPE settings in the given policy model

Parameters
modelXCCDF Policy Model
platformslist of CPE platform identifiers
Returns
true if the list of platforms qualifies as 'applicable'
void xccdf_policy_model_unregister_engines ( struct xccdf_policy_model model,
const char *  sys 
)

Remove checking engines with given system from xccdf_policy_model.

Parameters
modelXCCDF Policy Model
syssytem name of the callback

The documentation for this struct was generated from the following files: