Open SCAP Library: xccdf_policy_model Struct Reference

Open SCAP Library

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Data Fields

Public Member Functions | Data Fields
xccdf_policy_model Struct Reference
XCCDF_POLICY

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. More...

`#include <xccdf_policy.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_model * | xccdf_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_tailoring * | xccdf_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_session * | xccdf_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_benchmark * | xccdf_policy_model_get_benchmark (const struct xccdf_policy_model *item)
| Get Benchmark from Policy Model. More...
struct xccdf_policy_iterator * | xccdf_policy_model_get_policies (const struct xccdf_policy_model *model)
| Get policies from Policy Model. More...
struct xccdf_result_iterator * | xccdf_policy_get_results (const struct xccdf_policy *policy)
| Get results of all XCCDF Policy results.
struct xccdf_result * | xccdf_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_policy * | xccdf_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_benchmark * | benchmark
| Benchmark element (root element of XML file)
struct xccdf_tailoring * | tailoring
| Tailoring element.
struct oscap_list * | policies
| List of xccdf_policy structures.
struct oscap_list * | callbacks
| Callbacks for output callbacks (see callback_out_t)
struct oscap_list * | engines
| Callbacks for checking engines (see xccdf_policy_engine)
struct cpe_session * | cpe

## 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.

## 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

  model | XCCDF 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

  model | XCCDF Policy Model
  item | XCCDF 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

  model | XCCDF Policy Model
  platforms | list 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

  model | XCCDF Policy Model
  sys | sytem name of the callback

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

- xccdf_policy.c
- oval_agent_xccdf_api.h
- xccdf_policy.h
- xccdf_policy_model_priv.h