Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > dcbb19bbc4636f73f405fbb232b0cc34 > files > 274

openscap-devel-1.0.8-1.el5_10.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>Open SCAP Library: XCCDF_POLICY</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Open SCAP Library
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#files">Files</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">XCCDF_POLICY</div>  </div>
</div><!--header-->
<div class="contents">

<p>Policy interface to Extensible Configuration Checklist Description Format.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:group__Check"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Check.html">Engine Plugin</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:xccdf__policy_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xccdf__policy_8h.html">xccdf_policy.h</a></td></tr>
<tr class="memdesc:xccdf__policy_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open-scap XCCDF Policy library interface. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">XCCDF policy model structure contains <a class="el" href="structxccdf__benchmark.html" title="Top level XCCDF structure containing profiles, rules, values and results. ">xccdf_benchmark</a> as reference to Benchmark element in XML file and list of policies that are abstract structure of Profile element from benchmark file.  <a href="structxccdf__policy__model.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxccdf__policy.html">xccdf_policy</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">XCCDF policy structure is abstract (class) structure of Profile element from benchmark.  <a href="structxccdf__policy.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">XCCDF value binding structure is binding between Refine values, Set values, Value element and Check export element of benchmark.  <a href="structxccdf__value__binding.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxccdf__policy__iterator.html">xccdf_policy_iterator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate through policies.  <a href="structxccdf__policy__iterator.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoscap__file__entry__iterator.html">oscap_file_entry_iterator</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoscap__file__entry__list.html">oscap_file_entry_list</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga4943da55034c7b10b86826fe968571a8"><td class="memItemLeft" align="right" valign="top">typedef void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga4943da55034c7b10b86826fe968571a8">xccdf_policy_engine_query_fn</a> )(void *, <a class="el" href="group__XCCDF__POLICY.html#ga74d0efa085633f92a2421580786aca01">xccdf_policy_engine_query_t</a>, void *)</td></tr>
<tr class="memdesc:ga4943da55034c7b10b86826fe968571a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of function which implements queries defined within xccdf_policy_engine_query_t.  <a href="#ga4943da55034c7b10b86826fe968571a8">More...</a><br/></td></tr>
<tr class="separator:ga4943da55034c7b10b86826fe968571a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga322816631128d9e1e513441b0d87a9c4"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga322816631128d9e1e513441b0d87a9c4">xccdf_policy_engine_eval_fn</a> )(struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, const char *rule_id, const char *definition_id, const char *href_if, struct xccdf_value_binding_iterator *value_binding_it, struct <a class="el" href="structxccdf__check__import__iterator.html">xccdf_check_import_iterator</a> *check_imports_it, void *user_data)</td></tr>
<tr class="memdesc:ga322816631128d9e1e513441b0d87a9c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of function which implements OpenSCAP checking engine.  <a href="#ga322816631128d9e1e513441b0d87a9c4">More...</a><br/></td></tr>
<tr class="separator:ga322816631128d9e1e513441b0d87a9c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e2de446271c4da00514188159d8c55d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3e2de446271c4da00514188159d8c55d"></a>
typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><b>policy_reporter_output</b> )(struct <a class="el" href="structxccdf__rule__result.html">xccdf_rule_result</a> *, void *)</td></tr>
<tr class="separator:ga3e2de446271c4da00514188159d8c55d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65ee7d2d5812cbbf7601f8b77c9f9c70"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga65ee7d2d5812cbbf7601f8b77c9f9c70"></a>
typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><b>policy_reporter_start</b> )(struct <a class="el" href="structxccdf__rule.html">xccdf_rule</a> *, void *)</td></tr>
<tr class="separator:ga65ee7d2d5812cbbf7601f8b77c9f9c70"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga74d0efa085633f92a2421580786aca01"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga74d0efa085633f92a2421580786aca01">xccdf_policy_engine_query_t</a> { <b>POLICY_ENGINE_QUERY_NAMES_FOR_HREF</b> = 1
 }</td></tr>
<tr class="memdesc:ga74d0efa085633f92a2421580786aca01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of a query over checking-engine data.  <a href="group__XCCDF__POLICY.html#ga74d0efa085633f92a2421580786aca01">More...</a><br/></td></tr>
<tr class="separator:ga74d0efa085633f92a2421580786aca01"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga41d9f37dc37cabf240a8bec4d1123248"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga41d9f37dc37cabf240a8bec4d1123248">xccdf_policy_model_set_tailoring</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model, struct <a class="el" href="structxccdf__tailoring.html">xccdf_tailoring</a> *tailoring)</td></tr>
<tr class="memdesc:ga41d9f37dc37cabf240a8bec4d1123248"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the Tailoring element to use in the policy.  <a href="#ga41d9f37dc37cabf240a8bec4d1123248">More...</a><br/></td></tr>
<tr class="separator:ga41d9f37dc37cabf240a8bec4d1123248"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fb6f8da0dbde52de6e170452d4b6405"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4fb6f8da0dbde52de6e170452d4b6405"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga4fb6f8da0dbde52de6e170452d4b6405">xccdf_policy_model_add_cpe_dict</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model, const char *cpe_dict)</td></tr>
<tr class="memdesc:ga4fb6f8da0dbde52de6e170452d4b6405"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers an additional CPE dictionary for applicability testing The one embedded in the evaluated XCCDF take precedence! <br/></td></tr>
<tr class="separator:ga4fb6f8da0dbde52de6e170452d4b6405"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c9fbe2a247ae96eb8de2a3c52583345"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9c9fbe2a247ae96eb8de2a3c52583345"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga9c9fbe2a247ae96eb8de2a3c52583345">xccdf_policy_model_add_cpe_lang_model</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model, const char *cpe_lang)</td></tr>
<tr class="memdesc:ga9c9fbe2a247ae96eb8de2a3c52583345"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers an additional CPE lang model for applicability testing The one embedded in the evaluated XCCDF take precedence! <br/></td></tr>
<tr class="separator:ga9c9fbe2a247ae96eb8de2a3c52583345"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd2608ae85b438ba30140bbedbd963c6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gadd2608ae85b438ba30140bbedbd963c6">xccdf_policy_model_add_cpe_autodetect</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model, const char *filepath)</td></tr>
<tr class="memdesc:gadd2608ae85b438ba30140bbedbd963c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers an additional CPE resource (either dictionary or language) Autodetects given file and acts accordingly.  <a href="#gadd2608ae85b438ba30140bbedbd963c6">More...</a><br/></td></tr>
<tr class="separator:gadd2608ae85b438ba30140bbedbd963c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga993ca9acd0654ef17a63160d1f21f4df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga993ca9acd0654ef17a63160d1f21f4df"></a>
struct <a class="el" href="structoscap__htable__iterator.html">oscap_htable_iterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga993ca9acd0654ef17a63160d1f21f4df">xccdf_policy_model_get_cpe_oval_sessions</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model)</td></tr>
<tr class="memdesc:ga993ca9acd0654ef17a63160d1f21f4df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves an iterator of all OVAL sessions created for CPE applicability evaluation key is the OVAL href, value is the OVAL session itself (type oval_agent_session*) <br/></td></tr>
<tr class="separator:ga993ca9acd0654ef17a63160d1f21f4df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f8f92790770ff3e12e55f3921b77261"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga4f8f92790770ff3e12e55f3921b77261">xccdf_policy_model::xccdf_policy_model_new</a> (struct <a class="el" href="structxccdf__benchmark.html">xccdf_benchmark</a> *benchmark)</td></tr>
<tr class="memdesc:ga4f8f92790770ff3e12e55f3921b77261"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor of Policy Model structure.  <a href="#ga4f8f92790770ff3e12e55f3921b77261">More...</a><br/></td></tr>
<tr class="separator:ga4f8f92790770ff3e12e55f3921b77261"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29f80bb419da8c7801a88bfc68481dcd"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga29f80bb419da8c7801a88bfc68481dcd">xccdf_policy::xccdf_policy_new</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model, struct <a class="el" href="structxccdf__profile.html">xccdf_profile</a> *profile)</td></tr>
<tr class="memdesc:ga29f80bb419da8c7801a88bfc68481dcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor of Policy structure.  <a href="#ga29f80bb419da8c7801a88bfc68481dcd">More...</a><br/></td></tr>
<tr class="separator:ga29f80bb419da8c7801a88bfc68481dcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa6bd35d79b54c53ea58cf961898cc16e"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gaa6bd35d79b54c53ea58cf961898cc16e">xccdf_value_binding::xccdf_value_binding_new</a> (void)</td></tr>
<tr class="memdesc:gaa6bd35d79b54c53ea58cf961898cc16e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor of structure with profile bindings - refine_rules, refine_values and set_values.  <a href="#gaa6bd35d79b54c53ea58cf961898cc16e">More...</a><br/></td></tr>
<tr class="separator:gaa6bd35d79b54c53ea58cf961898cc16e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46bbf0b7e034fee60fbbf244fba80288"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga46bbf0b7e034fee60fbbf244fba80288"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga46bbf0b7e034fee60fbbf244fba80288">xccdf_policy_model::xccdf_policy_model_free</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *)</td></tr>
<tr class="memdesc:ga46bbf0b7e034fee60fbbf244fba80288"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor of Policy Model structure. <br/></td></tr>
<tr class="separator:ga46bbf0b7e034fee60fbbf244fba80288"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c8bf5e613dfdd9b33cd4e3b0ce44a0c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9c8bf5e613dfdd9b33cd4e3b0ce44a0c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga9c8bf5e613dfdd9b33cd4e3b0ce44a0c">xccdf_policy::xccdf_policy_free</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *)</td></tr>
<tr class="memdesc:ga9c8bf5e613dfdd9b33cd4e3b0ce44a0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor of Policy structure. <br/></td></tr>
<tr class="separator:ga9c8bf5e613dfdd9b33cd4e3b0ce44a0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5089c4cc11671b9f0f71e26197744d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad5089c4cc11671b9f0f71e26197744d0"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gad5089c4cc11671b9f0f71e26197744d0">xccdf_value_binding::xccdf_value_binding_free</a> (struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *)</td></tr>
<tr class="memdesc:gad5089c4cc11671b9f0f71e26197744d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor of Value binding structure. <br/></td></tr>
<tr class="separator:gad5089c4cc11671b9f0f71e26197744d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b9f0fe2928e2211e07fdce61cda7c43"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3b9f0fe2928e2211e07fdce61cda7c43"></a>
struct <a class="el" href="structxccdf__tailoring.html">xccdf_tailoring</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga3b9f0fe2928e2211e07fdce61cda7c43">xccdf_policy_model::xccdf_policy_model_get_tailoring</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model)</td></tr>
<tr class="memdesc:ga3b9f0fe2928e2211e07fdce61cda7c43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the Tailoring element used in this policy. <br/></td></tr>
<tr class="separator:ga3b9f0fe2928e2211e07fdce61cda7c43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7569d65ef772e069abdeec590eb622c0"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga7569d65ef772e069abdeec590eb622c0">xccdf_policy::xccdf_policy_get_readable_item_title</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, struct <a class="el" href="structxccdf__item.html">xccdf_item</a> *item, const char *preferred_lang)</td></tr>
<tr class="memdesc:ga7569d65ef772e069abdeec590eb622c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get human readable title of given XCCDF Item.  <a href="#ga7569d65ef772e069abdeec590eb622c0">More...</a><br/></td></tr>
<tr class="separator:ga7569d65ef772e069abdeec590eb622c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54672d5a5ca9c2cfca4c76d92132938f"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga54672d5a5ca9c2cfca4c76d92132938f">xccdf_policy::xccdf_policy_get_readable_item_description</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, struct <a class="el" href="structxccdf__item.html">xccdf_item</a> *item, const char *preferred_lang)</td></tr>
<tr class="memdesc:ga54672d5a5ca9c2cfca4c76d92132938f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get human readable description of given XCCDF Item.  <a href="#ga54672d5a5ca9c2cfca4c76d92132938f">More...</a><br/></td></tr>
<tr class="separator:ga54672d5a5ca9c2cfca4c76d92132938f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga625d761f5ab77888245d0378192e27c1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga625d761f5ab77888245d0378192e27c1">xccdf_policy_model::xccdf_policy_model_register_engine_callback</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model, char *sys, void *func, void *usr)</td></tr>
<tr class="memdesc:ga625d761f5ab77888245d0378192e27c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to register callback for checking system.  <a href="#ga625d761f5ab77888245d0378192e27c1">More...</a><br/></td></tr>
<tr class="separator:ga625d761f5ab77888245d0378192e27c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf6d7128afa3d1d0d207bee9a84b3dafa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gaf6d7128afa3d1d0d207bee9a84b3dafa">xccdf_policy_model::xccdf_policy_model_register_engine_and_query_callback</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model, char *sys, <a class="el" href="group__XCCDF__POLICY.html#ga322816631128d9e1e513441b0d87a9c4">xccdf_policy_engine_eval_fn</a> eval_fn, void *usr, <a class="el" href="group__XCCDF__POLICY.html#ga4943da55034c7b10b86826fe968571a8">xccdf_policy_engine_query_fn</a> query_fn)</td></tr>
<tr class="memdesc:gaf6d7128afa3d1d0d207bee9a84b3dafa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to register callback for checking system.  <a href="#gaf6d7128afa3d1d0d207bee9a84b3dafa">More...</a><br/></td></tr>
<tr class="separator:gaf6d7128afa3d1d0d207bee9a84b3dafa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac65069c78fabfffd5185c5ac4bd9b2cf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gac65069c78fabfffd5185c5ac4bd9b2cf">xccdf_policy_model::xccdf_policy_model_register_output_callback</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model, policy_reporter_output func, void *usr)</td></tr>
<tr class="memdesc:gac65069c78fabfffd5185c5ac4bd9b2cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to register output callback for checking system that will be called AFTER each rule evaluation.  <a href="#gac65069c78fabfffd5185c5ac4bd9b2cf">More...</a><br/></td></tr>
<tr class="separator:gac65069c78fabfffd5185c5ac4bd9b2cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga27f7e9d8197079d7fa79efc6f5c2caf8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga27f7e9d8197079d7fa79efc6f5c2caf8">xccdf_policy_model::xccdf_policy_model_register_start_callback</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model, policy_reporter_start func, void *usr)</td></tr>
<tr class="memdesc:ga27f7e9d8197079d7fa79efc6f5c2caf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to register start callback for checking system that will be called BEFORE each rule evaluation.  <a href="#ga27f7e9d8197079d7fa79efc6f5c2caf8">More...</a><br/></td></tr>
<tr class="separator:ga27f7e9d8197079d7fa79efc6f5c2caf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Getters</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpc9fd0bcb5385a65354c37f1bb504399d"></a>Return value is pointer to structure's member.</p>
<p>Do not free unless you null the pointer in the structure. Use remove function otherwise. </p>
</td></tr>
<tr class="memitem:gac0862a26dae600ce48497cd11e12f22f"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gac0862a26dae600ce48497cd11e12f22f">xccdf_policy::xccdf_policy_get_model</a> (const struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy)</td></tr>
<tr class="memdesc:gac0862a26dae600ce48497cd11e12f22f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get model from Policy (parent structure of Policy to access the benchmark)  <a href="#gac0862a26dae600ce48497cd11e12f22f">More...</a><br/></td></tr>
<tr class="separator:gac0862a26dae600ce48497cd11e12f22f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ffe61a9b49a14ad14aa42c58a94c1bd"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__benchmark.html">xccdf_benchmark</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga3ffe61a9b49a14ad14aa42c58a94c1bd">xccdf_policy_model::xccdf_policy_model_get_benchmark</a> (const struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *item)</td></tr>
<tr class="memdesc:ga3ffe61a9b49a14ad14aa42c58a94c1bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Benchmark from Policy Model.  <a href="#ga3ffe61a9b49a14ad14aa42c58a94c1bd">More...</a><br/></td></tr>
<tr class="separator:ga3ffe61a9b49a14ad14aa42c58a94c1bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b7f39df7639c1d153e8cf6e3bd98753"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7b7f39df7639c1d153e8cf6e3bd98753"></a>
struct <br class="typebreak"/>
xccdf_value_binding_iterator *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga7b7f39df7639c1d153e8cf6e3bd98753">xccdf_policy::xccdf_policy_get_values</a> (const struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *item)</td></tr>
<tr class="memdesc:ga7b7f39df7639c1d153e8cf6e3bd98753"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Value Bindings from XCCDF Policy. <br/></td></tr>
<tr class="separator:ga7b7f39df7639c1d153e8cf6e3bd98753"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga42dd36f134faf00026a5f248069a451f"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__policy__iterator.html">xccdf_policy_iterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga42dd36f134faf00026a5f248069a451f">xccdf_policy_model::xccdf_policy_model_get_policies</a> (const struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model)</td></tr>
<tr class="memdesc:ga42dd36f134faf00026a5f248069a451f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get policies from Policy Model.  <a href="#ga42dd36f134faf00026a5f248069a451f">More...</a><br/></td></tr>
<tr class="separator:ga42dd36f134faf00026a5f248069a451f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97af79d841abbbbe6607c6109af5ad3e"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__select__iterator.html">xccdf_select_iterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga97af79d841abbbbe6607c6109af5ad3e">xccdf_policy::xccdf_policy_get_selected_rules</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *)</td></tr>
<tr class="memdesc:ga97af79d841abbbbe6607c6109af5ad3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get selected rules from policy.  <a href="#ga97af79d841abbbbe6607c6109af5ad3e">More...</a><br/></td></tr>
<tr class="separator:ga97af79d841abbbbe6607c6109af5ad3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c031cf063b7fd4edc45c71d55488d63"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__profile.html">xccdf_profile</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga5c031cf063b7fd4edc45c71d55488d63">xccdf_policy::xccdf_policy_get_profile</a> (const struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *)</td></tr>
<tr class="memdesc:ga5c031cf063b7fd4edc45c71d55488d63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get XCCDF Profile from Policy.  <a href="#ga5c031cf063b7fd4edc45c71d55488d63">More...</a><br/></td></tr>
<tr class="separator:ga5c031cf063b7fd4edc45c71d55488d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga18e7a1b999050314284816996d46f7ca"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__select__iterator.html">xccdf_select_iterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga18e7a1b999050314284816996d46f7ca">xccdf_policy::xccdf_policy_get_selects</a> (const struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *)</td></tr>
<tr class="memdesc:ga18e7a1b999050314284816996d46f7ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get rules from Policy.  <a href="#ga18e7a1b999050314284816996d46f7ca">More...</a><br/></td></tr>
<tr class="separator:ga18e7a1b999050314284816996d46f7ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac7487fef713ec60a222b67668a146da"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gaac7487fef713ec60a222b67668a146da">xccdf_value_binding::xccdf_value_binding_get_name</a> (const struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *)</td></tr>
<tr class="memdesc:gaac7487fef713ec60a222b67668a146da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get variable name from value bindings.  <a href="#gaac7487fef713ec60a222b67668a146da">More...</a><br/></td></tr>
<tr class="separator:gaac7487fef713ec60a222b67668a146da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5874ea4c3c0fe686fb60d6c42b4b4ded"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga5874ea4c3c0fe686fb60d6c42b4b4ded">xccdf_value_binding::xccdf_value_binding_get_value</a> (const struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *)</td></tr>
<tr class="memdesc:ga5874ea4c3c0fe686fb60d6c42b4b4ded"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get value from value bindings.  <a href="#ga5874ea4c3c0fe686fb60d6c42b4b4ded">More...</a><br/></td></tr>
<tr class="separator:ga5874ea4c3c0fe686fb60d6c42b4b4ded"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5eccc16ae366ae8190c7a7beca4b55a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XCCDF.html#gaa2d75ea6d3cd6957100f532b2ab8e8a8">xccdf_value_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga5eccc16ae366ae8190c7a7beca4b55a0">xccdf_value_binding::xccdf_value_binding_get_type</a> (const struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *)</td></tr>
<tr class="memdesc:ga5eccc16ae366ae8190c7a7beca4b55a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">get variable type from value bindings  <a href="#ga5eccc16ae366ae8190c7a7beca4b55a0">More...</a><br/></td></tr>
<tr class="separator:ga5eccc16ae366ae8190c7a7beca4b55a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6ef469c638f357a09e2aef1cceb79d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XCCDF.html#ga4458b04cd1236b95d15ac2d74276c09c">xccdf_operator_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gad6ef469c638f357a09e2aef1cceb79d3">xccdf_value_binding::xccdf_value_binding_get_operator</a> (const struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *)</td></tr>
<tr class="memdesc:gad6ef469c638f357a09e2aef1cceb79d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">get Value operator from value bindings  <a href="#gad6ef469c638f357a09e2aef1cceb79d3">More...</a><br/></td></tr>
<tr class="separator:gad6ef469c638f357a09e2aef1cceb79d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d957218e74ddaa2929b72cb4f01d9eb"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga8d957218e74ddaa2929b72cb4f01d9eb">xccdf_value_binding::xccdf_value_binding_get_setvalue</a> (const struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *)</td></tr>
<tr class="memdesc:ga8d957218e74ddaa2929b72cb4f01d9eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">get Set Value from value bindings  <a href="#ga8d957218e74ddaa2929b72cb4f01d9eb">More...</a><br/></td></tr>
<tr class="separator:ga8d957218e74ddaa2929b72cb4f01d9eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39fb4c2c1729e997ae43efb5ce75210c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga39fb4c2c1729e997ae43efb5ce75210c"></a>
struct <a class="el" href="structxccdf__result__iterator.html">xccdf_result_iterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga39fb4c2c1729e997ae43efb5ce75210c">xccdf_policy_model::xccdf_policy_get_results</a> (const struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy)</td></tr>
<tr class="memdesc:ga39fb4c2c1729e997ae43efb5ce75210c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get results of all XCCDF Policy results. <br/></td></tr>
<tr class="separator:ga39fb4c2c1729e997ae43efb5ce75210c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7be772199b7326e7df16c0a985a7c63"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__result.html">xccdf_result</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gaf7be772199b7326e7df16c0a985a7c63">xccdf_policy_model::xccdf_policy_get_result_by_id</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, const char *id)</td></tr>
<tr class="memdesc:gaf7be772199b7326e7df16c0a985a7c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get XCCDF Result structure by it's idetificator if there is one.  <a href="#gaf7be772199b7326e7df16c0a985a7c63">More...</a><br/></td></tr>
<tr class="separator:gaf7be772199b7326e7df16c0a985a7c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3d9764faa0dd6a6de54503bc7b8b6fb"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gac3d9764faa0dd6a6de54503bc7b8b6fb">xccdf_policy::xccdf_policy_get_id</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy)</td></tr>
<tr class="memdesc:gac3d9764faa0dd6a6de54503bc7b8b6fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get ID of XCCDF Profile that is implemented by XCCDF Policy.  <a href="#gac3d9764faa0dd6a6de54503bc7b8b6fb">More...</a><br/></td></tr>
<tr class="separator:gac3d9764faa0dd6a6de54503bc7b8b6fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab31d7c9da64d171683b762b9d7f19f74"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gab31d7c9da64d171683b762b9d7f19f74">xccdf_policy_model::xccdf_policy_model_get_policy_by_id</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *policy_model, const char *id)</td></tr>
<tr class="memdesc:gab31d7c9da64d171683b762b9d7f19f74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get XCCDF Policy from Policy model by speciefied ID of Profile.  <a href="#gab31d7c9da64d171683b762b9d7f19f74">More...</a><br/></td></tr>
<tr class="separator:gab31d7c9da64d171683b762b9d7f19f74"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Setters</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp6e47466b75bb957a603aa54c079ac8bf"></a>For lists use add functions.</p>
<p>Parameters of set functions are duplicated in memory and need to be freed by caller. </p>
</td></tr>
<tr class="memitem:ga64a14d992b285724823c6a51abdf0e1b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga64a14d992b285724823c6a51abdf0e1b">xccdf_policy_get_selected_rules_count</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy)</td></tr>
<tr class="memdesc:ga64a14d992b285724823c6a51abdf0e1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves number of selected items in the policy.  <a href="#ga64a14d992b285724823c6a51abdf0e1b">More...</a><br/></td></tr>
<tr class="separator:ga64a14d992b285724823c6a51abdf0e1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa099731e15f0d4d577bd72b07374ca69"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gaa099731e15f0d4d577bd72b07374ca69">xccdf_policy_model::xccdf_policy_model_add_policy</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *, struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *)</td></tr>
<tr class="memdesc:gaa099731e15f0d4d577bd72b07374ca69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add Policy to Policy Model.  <a href="#gaa099731e15f0d4d577bd72b07374ca69">More...</a><br/></td></tr>
<tr class="separator:gaa099731e15f0d4d577bd72b07374ca69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d83f932b1c6ac2161094d7c4126c276"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga0d83f932b1c6ac2161094d7c4126c276">xccdf_policy::xccdf_policy_add_select</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *, struct <a class="el" href="structxccdf__select.html">xccdf_select</a> *)</td></tr>
<tr class="memdesc:ga0d83f932b1c6ac2161094d7c4126c276"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add rule to Policy.  <a href="#ga0d83f932b1c6ac2161094d7c4126c276">More...</a><br/></td></tr>
<tr class="separator:ga0d83f932b1c6ac2161094d7c4126c276"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf034ed2138343743a99e5e89d632701c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gaf034ed2138343743a99e5e89d632701c">xccdf_policy::xccdf_policy_set_selected</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, char *idref)</td></tr>
<tr class="memdesc:gaf034ed2138343743a99e5e89d632701c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a new selector to the Policy structure.  <a href="#gaf034ed2138343743a99e5e89d632701c">More...</a><br/></td></tr>
<tr class="separator:gaf034ed2138343743a99e5e89d632701c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6eb8c2f09d05e46a184b35fc2f8261ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6eb8c2f09d05e46a184b35fc2f8261ad"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga6eb8c2f09d05e46a184b35fc2f8261ad">xccdf_policy_model::xccdf_policy_add_result</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, struct <a class="el" href="structxccdf__result.html">xccdf_result</a> *item)</td></tr>
<tr class="memdesc:ga6eb8c2f09d05e46a184b35fc2f8261ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add result to XCCDF Policy Model. <br/></td></tr>
<tr class="separator:ga6eb8c2f09d05e46a184b35fc2f8261ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3738807d9e35ea11cc5b20638dc83815"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga3738807d9e35ea11cc5b20638dc83815">xccdf_policy::xccdf_policy_add_value</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *, struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *)</td></tr>
<tr class="memdesc:ga3738807d9e35ea11cc5b20638dc83815"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add value binding to the Policy structure.  <a href="#ga3738807d9e35ea11cc5b20638dc83815">More...</a><br/></td></tr>
<tr class="separator:ga3738807d9e35ea11cc5b20638dc83815"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4843dfd6b6543450204cd3fa9fe4286f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga4843dfd6b6543450204cd3fa9fe4286f">xccdf_policy::xccdf_policy_is_item_selected</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, const char *id)</td></tr>
<tr class="memdesc:ga4843dfd6b6543450204cd3fa9fe4286f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the selection settings of the item.  <a href="#ga4843dfd6b6543450204cd3fa9fe4286f">More...</a><br/></td></tr>
<tr class="separator:ga4843dfd6b6543450204cd3fa9fe4286f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd3e5d89a8bc259470fd63c53c9c92e3"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__select.html">xccdf_select</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gafd3e5d89a8bc259470fd63c53c9c92e3">xccdf_policy::xccdf_policy_get_select_by_id</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, const char *item_id)</td></tr>
<tr class="memdesc:gafd3e5d89a8bc259470fd63c53c9c92e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get select from policy by specified ID of XCCDF Item.  <a href="#gafd3e5d89a8bc259470fd63c53c9c92e3">More...</a><br/></td></tr>
<tr class="separator:gafd3e5d89a8bc259470fd63c53c9c92e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Evaluators</h2></td></tr>
<tr class="memitem:gac9bc9a78e2289a2b13a05afd6c50241f"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__item.html">xccdf_item</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gac9bc9a78e2289a2b13a05afd6c50241f">xccdf_policy_tailor_item</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, struct <a class="el" href="structxccdf__item.html">xccdf_item</a> *item)</td></tr>
<tr class="memdesc:gac9bc9a78e2289a2b13a05afd6c50241f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clone the item and tailor it against given policy (profile)  <a href="#gac9bc9a78e2289a2b13a05afd6c50241f">More...</a><br/></td></tr>
<tr class="separator:gac9bc9a78e2289a2b13a05afd6c50241f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad719b40d4a661566c29957a146a3a595"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structoscap__file__entry__list.html">oscap_file_entry_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gad719b40d4a661566c29957a146a3a595">xccdf_policy_model_get_systems_and_files</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *policy_model)</td></tr>
<tr class="memdesc:gad719b40d4a661566c29957a146a3a595"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return names of files that are used in checks of particular rules.  <a href="#gad719b40d4a661566c29957a146a3a595">More...</a><br/></td></tr>
<tr class="separator:gad719b40d4a661566c29957a146a3a595"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga456e06c604baac6bb4134351150850bd"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structoscap__file__entry__list.html">oscap_file_entry_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga456e06c604baac6bb4134351150850bd">xccdf_item_get_systems_and_files</a> (struct <a class="el" href="structxccdf__item.html">xccdf_item</a> *item)</td></tr>
<tr class="memdesc:ga456e06c604baac6bb4134351150850bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return names of files that are used in checks of particular rules.  <a href="#ga456e06c604baac6bb4134351150850bd">More...</a><br/></td></tr>
<tr class="separator:ga456e06c604baac6bb4134351150850bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2178c207b3893ddd301d2df468576666"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structoscap__stringlist.html">oscap_stringlist</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga2178c207b3893ddd301d2df468576666">xccdf_policy_model_get_files</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *policy_model)</td></tr>
<tr class="memdesc:ga2178c207b3893ddd301d2df468576666"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return names of files that are used in checks of particular rules.  <a href="#ga2178c207b3893ddd301d2df468576666">More...</a><br/></td></tr>
<tr class="separator:ga2178c207b3893ddd301d2df468576666"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0253768dcf8b1fced143fddb2075c75"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structoscap__stringlist.html">oscap_stringlist</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gaf0253768dcf8b1fced143fddb2075c75">xccdf_item_get_files</a> (struct <a class="el" href="structxccdf__item.html">xccdf_item</a> *item)</td></tr>
<tr class="memdesc:gaf0253768dcf8b1fced143fddb2075c75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return names of files that are used in checks of particular rules.  <a href="#gaf0253768dcf8b1fced143fddb2075c75">More...</a><br/></td></tr>
<tr class="separator:gaf0253768dcf8b1fced143fddb2075c75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26c7d2add2dc1975b600aa528327a266"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga26c7d2add2dc1975b600aa528327a266">xccdf_test_result_resolve_and_operation</a> (<a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a> A, <a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a> B)</td></tr>
<tr class="memdesc:ga26c7d2add2dc1975b600aa528327a266"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return result of the AND operation for two given attributes.  <a href="#ga26c7d2add2dc1975b600aa528327a266">More...</a><br/></td></tr>
<tr class="separator:ga26c7d2add2dc1975b600aa528327a266"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad09ba99431d50108e4b475506c177b3d"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__result.html">xccdf_result</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gad09ba99431d50108e4b475506c177b3d">xccdf_policy::xccdf_policy_evaluate</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy)</td></tr>
<tr class="memdesc:gad09ba99431d50108e4b475506c177b3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call the checking engine for each selected rule in given policy structure.  <a href="#gad09ba99431d50108e4b475506c177b3d">More...</a><br/></td></tr>
<tr class="separator:gad09ba99431d50108e4b475506c177b3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d741243d1b2e062bb802be5f145944c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga5d741243d1b2e062bb802be5f145944c">xccdf_policy::xccdf_policy_resolve</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy)</td></tr>
<tr class="memdesc:ga5d741243d1b2e062bb802be5f145944c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolve benchmark by applying all refine_rules and refine_values to rules / values of benchmark.  <a href="#ga5d741243d1b2e062bb802be5f145944c">More...</a><br/></td></tr>
<tr class="separator:ga5d741243d1b2e062bb802be5f145944c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga639d867b0f8b7fd93c7d9aa178cfcf25"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga639d867b0f8b7fd93c7d9aa178cfcf25">xccdf_policy::xccdf_policy_generate_fix</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, struct <a class="el" href="structxccdf__result.html">xccdf_result</a> *result, const char *sys, int output_fd)</td></tr>
<tr class="memdesc:ga639d867b0f8b7fd93c7d9aa178cfcf25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate remediation prescription (presumably a remediation script).  <a href="#ga639d867b0f8b7fd93c7d9aa178cfcf25">More...</a><br/></td></tr>
<tr class="separator:ga639d867b0f8b7fd93c7d9aa178cfcf25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5218f3fddc1ef4f5e3dbbc77d8b179b9"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga5218f3fddc1ef4f5e3dbbc77d8b179b9">oscap_file_entry::oscap_file_entry_new</a> (void)</td></tr>
<tr class="separator:ga5218f3fddc1ef4f5e3dbbc77d8b179b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7047ad74fadd8dfec4244bc6c42034d"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gab7047ad74fadd8dfec4244bc6c42034d">oscap_file_entry::oscap_file_entry_dup</a> (struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> *file_entry)</td></tr>
<tr class="separator:gab7047ad74fadd8dfec4244bc6c42034d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03839dd7f37042f77846e7a0a18f9946"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga03839dd7f37042f77846e7a0a18f9946">oscap_file_entry::oscap_file_entry_free</a> (struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> *entry)</td></tr>
<tr class="separator:ga03839dd7f37042f77846e7a0a18f9946"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1ddea8c2eefe038cb341711eb0fca00"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gac1ddea8c2eefe038cb341711eb0fca00">oscap_file_entry::oscap_file_entry_get_system</a> (struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> *entry)</td></tr>
<tr class="separator:gac1ddea8c2eefe038cb341711eb0fca00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga622403a1d4632526b5cee189b5028a51"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga622403a1d4632526b5cee189b5028a51">oscap_file_entry::oscap_file_entry_get_file</a> (struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> *entry)</td></tr>
<tr class="separator:ga622403a1d4632526b5cee189b5028a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3508905bd9f6d99199b875e4b5d1cab1"><td class="memItemLeft" align="right" valign="top">const struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga3508905bd9f6d99199b875e4b5d1cab1">oscap_file_entry_iterator::oscap_file_entry_iterator_next</a> (struct <a class="el" href="structoscap__file__entry__iterator.html">oscap_file_entry_iterator</a> *it)</td></tr>
<tr class="separator:ga3508905bd9f6d99199b875e4b5d1cab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3bc5d2cea4c33e3c3c997f5332111947"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga3bc5d2cea4c33e3c3c997f5332111947">oscap_file_entry_iterator::oscap_file_entry_iterator_has_more</a> (struct <a class="el" href="structoscap__file__entry__iterator.html">oscap_file_entry_iterator</a> *it)</td></tr>
<tr class="separator:ga3bc5d2cea4c33e3c3c997f5332111947"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e87759c06728550ddd214fb8e261244"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga0e87759c06728550ddd214fb8e261244">oscap_file_entry_iterator::oscap_file_entry_iterator_free</a> (struct <a class="el" href="structoscap__file__entry__iterator.html">oscap_file_entry_iterator</a> *it)</td></tr>
<tr class="separator:ga0e87759c06728550ddd214fb8e261244"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7806fc4caf76ed7f09bb41ed4b1b418a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga7806fc4caf76ed7f09bb41ed4b1b418a">oscap_file_entry_iterator::oscap_file_entry_iterator_reset</a> (struct <a class="el" href="structoscap__file__entry__iterator.html">oscap_file_entry_iterator</a> *it)</td></tr>
<tr class="separator:ga7806fc4caf76ed7f09bb41ed4b1b418a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c3c20d45113dd49bdc39d94c7c3d388"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structoscap__file__entry__list.html">oscap_file_entry_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga5c3c20d45113dd49bdc39d94c7c3d388">oscap_file_entry_list::oscap_file_entry_list_new</a> (void)</td></tr>
<tr class="separator:ga5c3c20d45113dd49bdc39d94c7c3d388"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga870ffee965fe40467f4dead86a5c1a85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga870ffee965fe40467f4dead86a5c1a85">oscap_file_entry_list::oscap_file_entry_list_free</a> (struct <a class="el" href="structoscap__file__entry__list.html">oscap_file_entry_list</a> *list)</td></tr>
<tr class="separator:ga870ffee965fe40467f4dead86a5c1a85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1cf76ae79c5fcd4d0c3082190a5e39c"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structoscap__file__entry__iterator.html">oscap_file_entry_iterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gaf1cf76ae79c5fcd4d0c3082190a5e39c">oscap_file_entry_list::oscap_file_entry_list_get_files</a> (struct <a class="el" href="structoscap__file__entry__list.html">oscap_file_entry_list</a> *list)</td></tr>
<tr class="separator:gaf1cf76ae79c5fcd4d0c3082190a5e39c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Iterators</h2></td></tr>
<tr class="memitem:ga0cf0cc247cfbb7b37787286a77e7c57e"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__score.html">xccdf_score</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga0cf0cc247cfbb7b37787286a77e7c57e">xccdf_policy_get_score</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, struct <a class="el" href="structxccdf__result.html">xccdf_result</a> *test_result, const char *system)</td></tr>
<tr class="memdesc:ga0cf0cc247cfbb7b37787286a77e7c57e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get score of the XCCDF Benchmark.  <a href="#ga0cf0cc247cfbb7b37787286a77e7c57e">More...</a><br/></td></tr>
<tr class="separator:ga0cf0cc247cfbb7b37787286a77e7c57e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2ad18993c928304b44e43015fc1d4ad"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gaa2ad18993c928304b44e43015fc1d4ad">xccdf_policy_substitute</a> (const char *text, struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy)</td></tr>
<tr class="memdesc:gaa2ad18993c928304b44e43015fc1d4ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform textual substitution of cdf:sub elements with respect to given XCCDF policy.  <a href="#gaa2ad18993c928304b44e43015fc1d4ad">More...</a><br/></td></tr>
<tr class="separator:gaa2ad18993c928304b44e43015fc1d4ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99f007fa5762d80f18d52326f2201a99"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga99f007fa5762d80f18d52326f2201a99"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga99f007fa5762d80f18d52326f2201a99">xccdf_policy_iterator::xccdf_policy_iterator_has_more</a> (struct <a class="el" href="structxccdf__policy__iterator.html">xccdf_policy_iterator</a> *it)</td></tr>
<tr class="memdesc:ga99f007fa5762d80f18d52326f2201a99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if the list is not empty, false otherwise. <br/></td></tr>
<tr class="separator:ga99f007fa5762d80f18d52326f2201a99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b0aa2233a2f7999751a80ef1848cc84"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5b0aa2233a2f7999751a80ef1848cc84"></a>
struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga5b0aa2233a2f7999751a80ef1848cc84">xccdf_policy_iterator::xccdf_policy_iterator_next</a> (struct <a class="el" href="structxccdf__policy__iterator.html">xccdf_policy_iterator</a> *it)</td></tr>
<tr class="memdesc:ga5b0aa2233a2f7999751a80ef1848cc84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the next <a class="el" href="structxccdf__policy.html" title="XCCDF policy structure is abstract (class) structure of Profile element from benchmark. ">xccdf_policy</a> structure from the list and increment the iterator. <br/></td></tr>
<tr class="separator:ga5b0aa2233a2f7999751a80ef1848cc84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeb065fc4c46cdf4e6b7d74e91561532f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeb065fc4c46cdf4e6b7d74e91561532f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gaeb065fc4c46cdf4e6b7d74e91561532f">xccdf_policy_iterator::xccdf_policy_iterator_free</a> (struct <a class="el" href="structxccdf__policy__iterator.html">xccdf_policy_iterator</a> *it)</td></tr>
<tr class="memdesc:gaeb065fc4c46cdf4e6b7d74e91561532f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free the iterator structure (it makes no changes to the list structure) <br/></td></tr>
<tr class="separator:gaeb065fc4c46cdf4e6b7d74e91561532f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41fae5629470abc19b92c58d378200c5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga41fae5629470abc19b92c58d378200c5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga41fae5629470abc19b92c58d378200c5">xccdf_policy_iterator::xccdf_policy_iterator_reset</a> (struct <a class="el" href="structxccdf__policy__iterator.html">xccdf_policy_iterator</a> *it)</td></tr>
<tr class="memdesc:ga41fae5629470abc19b92c58d378200c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the iterator structure (it will point to the first item in the list) <br/></td></tr>
<tr class="separator:ga41fae5629470abc19b92c58d378200c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Policy interface to Extensible Configuration Checklist Description Format. </p>
<p>Purpose of this layer is to separate the transport syntax of the XCCDF XML from the processes of evaluating and scoring the policy content comprised by the XCCDF documents. XCCDF Policy model performs the loading, evaluation and scoring tasks of XCCDF. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga322816631128d9e1e513441b0d87a9c4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a>(* xccdf_policy_engine_eval_fn)(struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, const char *rule_id, const char *definition_id, const char *href_if, struct xccdf_value_binding_iterator *value_binding_it, struct <a class="el" href="structxccdf__check__import__iterator.html">xccdf_check_import_iterator</a> *check_imports_it, void *user_data)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type of function which implements OpenSCAP checking engine. </p>
<p>This function defines basic interface between XCCDF module and thee checking engine. For each checking engine required for evaluation there should be at least one such function registerd. The registered function is then used by <a class="el" href="structxccdf__policy.html" title="XCCDF policy structure is abstract (class) structure of Profile element from benchmark. ">xccdf_policy</a> module to perform evaluation on the machine. </p>

</div>
</div>
<a class="anchor" id="ga4943da55034c7b10b86826fe968571a8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void*(* xccdf_policy_engine_query_fn)(void *, <a class="el" href="group__XCCDF__POLICY.html#ga74d0efa085633f92a2421580786aca01">xccdf_policy_engine_query_t</a>, void *)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type of function which implements queries defined within xccdf_policy_engine_query_t. </p>
<p>Each checking engine may register its own function of the xccdf_policy_engine_query_fn type. The registered function is then used by <a class="el" href="structxccdf__policy.html" title="XCCDF policy structure is abstract (class) structure of Profile element from benchmark. ">xccdf_policy</a> module to acquire comprehensive info about the checking-engine itself or the data fed in. First argument of the function is always user data as registered. Second argument defines the query. Third argument is dependent on query and defined as follows:</p>
<ul>
<li>(const char *)href &ndash; for POLICY_ENGINE_QUERY_NAMES_FOR_HREF</li>
</ul>
<p>Expected return type depends also on query as follows:</p>
<ul>
<li>(struct oscap_stringlists *) &ndash; for POLICY_ENGINE_QUERY_NAMES_FOR_HREF</li>
<li>NULL shall be returned if the function doesn't understand the query. </li>
</ul>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga74d0efa085633f92a2421580786aca01"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__XCCDF__POLICY.html#ga74d0efa085633f92a2421580786aca01">xccdf_policy_engine_query_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type of a query over checking-engine data. </p>
<p>This allows <a class="el" href="structxccdf__policy.html" title="XCCDF policy structure is abstract (class) structure of Profile element from benchmark. ">xccdf_policy</a> module to query checking engine and acquire comprehensive info. </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gab7047ad74fadd8dfec4244bc6c42034d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> * oscap_file_entry_dup </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> *&#160;</td>
          <td class="paramname"><em>file_entry</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga03839dd7f37042f77846e7a0a18f9946"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void oscap_file_entry_free </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> *&#160;</td>
          <td class="paramname"><em>entry</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga622403a1d4632526b5cee189b5028a51"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * oscap_file_entry_get_file </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> *&#160;</td>
          <td class="paramname"><em>entry</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="gac1ddea8c2eefe038cb341711eb0fca00"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * oscap_file_entry_get_system </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> *&#160;</td>
          <td class="paramname"><em>entry</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga0e87759c06728550ddd214fb8e261244"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void oscap_file_entry_iterator_free </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structoscap__file__entry__iterator.html">oscap_file_entry_iterator</a> *&#160;</td>
          <td class="paramname"><em>it</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga3bc5d2cea4c33e3c3c997f5332111947"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool oscap_file_entry_iterator_has_more </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structoscap__file__entry__iterator.html">oscap_file_entry_iterator</a> *&#160;</td>
          <td class="paramname"><em>it</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga3508905bd9f6d99199b875e4b5d1cab1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> * oscap_file_entry_iterator_next </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structoscap__file__entry__iterator.html">oscap_file_entry_iterator</a> *&#160;</td>
          <td class="paramname"><em>it</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga7806fc4caf76ed7f09bb41ed4b1b418a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void oscap_file_entry_iterator_reset </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structoscap__file__entry__iterator.html">oscap_file_entry_iterator</a> *&#160;</td>
          <td class="paramname"><em>it</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga870ffee965fe40467f4dead86a5c1a85"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void oscap_file_entry_list_free </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structoscap__file__entry__list.html">oscap_file_entry_list</a> *&#160;</td>
          <td class="paramname"><em>list</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="gaf1cf76ae79c5fcd4d0c3082190a5e39c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structoscap__file__entry__iterator.html">oscap_file_entry_iterator</a> * oscap_file_entry_list_get_files </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structoscap__file__entry__list.html">oscap_file_entry_list</a> *&#160;</td>
          <td class="paramname"><em>list</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga5c3c20d45113dd49bdc39d94c7c3d388"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structoscap__file__entry__list.html">oscap_file_entry_list</a> * oscap_file_entry_list_new </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga5218f3fddc1ef4f5e3dbbc77d8b179b9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structoscap__file__entry.html">oscap_file_entry</a> * oscap_file_entry_new </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="gaf0253768dcf8b1fced143fddb2075c75"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structoscap__stringlist.html">oscap_stringlist</a>* xccdf_item_get_files </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__item.html">xccdf_item</a> *&#160;</td>
          <td class="paramname"><em>item</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return names of files that are used in checks of particular rules. </p>
<p>Every check needs this file to be evaluated properly. If this file will not be imported and bind to the XCCDF Policy system the result of rule after evaluation will be "Not checked" </p>

</div>
</div>
<a class="anchor" id="ga456e06c604baac6bb4134351150850bd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structoscap__file__entry__list.html">oscap_file_entry_list</a>* xccdf_item_get_systems_and_files </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__item.html">xccdf_item</a> *&#160;</td>
          <td class="paramname"><em>item</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return names of files that are used in checks of particular rules. </p>
<p>Every check needs this file to be evaluated properly. If this file will not be imported and bind to the XCCDF Policy system the result of rule after evaluation will be "Not checked"</p>
<p>The resulting list should be freed with oscap_filelist_free. </p>

</div>
</div>
<a class="anchor" id="ga0d83f932b1c6ac2161094d7c4126c276"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool xccdf_policy_add_select </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structxccdf__select.html">xccdf_select</a> *&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add rule to Policy. </p>
<dl class="section return"><dt>Returns</dt><dd>true if rule has been added succesfully </dd></dl>

</div>
</div>
<a class="anchor" id="ga3738807d9e35ea11cc5b20638dc83815"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool xccdf_policy_add_value </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add value binding to the Policy structure. </p>
<dl class="section return"><dt>Returns</dt><dd>true if rule has been added succesfully </dd></dl>

</div>
</div>
<a class="anchor" id="gad09ba99431d50108e4b475506c177b3d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__result.html">xccdf_result</a> * xccdf_policy_evaluate </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Call the checking engine for each selected rule in given policy structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">policy</td><td>given Policy to evaluate</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if evaluation pass or false in case of error </dd></dl>
<dl class="section user"><dt>Example</dt><dd>Before each policy evaluation user has to register callback that will be called for each check. Every checking engine must have registered callback or the particular check will be skipped. In the code below is used the predefined function <a class="el" href="group__OVALAGENT.html#gaac9da992a174551ba8b76d647ebd6032">oval_agent_eval_rule</a> for evaluation OVAL checks: <div class="fragment"><div class="line">xccdf_policy_model_register_engine_oval(policy_mode, agent_session)</div>
</div><!-- fragment --> </dd></dl>
<dl class="section user"><dt></dt><dd>If you use this predefined OVAL callback, user data structure (last parameter of register function) <b>MUST</b> be of type  oval_agent_session_t: <div class="fragment"><div class="line"><span class="keyword">struct </span><a class="code" href="structoval__agent__session.html">oval_agent_session</a> * sess = <a class="code" href="group__OVALAGENT.html#ga363376feb3dc45839611dbf7ae149934">oval_agent_new_session</a>((<span class="keyword">struct</span> <a class="code" href="structoval__definition__model.html">oval_definition_model</a> *) <a class="code" href="structxccdf__policy.html#a0406fc13d1156dafcfab00b88767150f">model</a>, <span class="stringliteral">&quot;name-of-file&quot;</span>);</div>
</div><!-- fragment --> </dd></dl>

</div>
</div>
<a class="anchor" id="ga639d867b0f8b7fd93c7d9aa178cfcf25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int xccdf_policy_generate_fix </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structxccdf__result.html">xccdf_result</a> *&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>sys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>output_fd</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate remediation prescription (presumably a remediation script). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">policy</td><td>XCCDF Policy </td></tr>
    <tr><td class="paramname">result</td><td>XCCDF TestResult. This may be omitted to generate the prescription based solely on the XCCDF Policy (xccdf:Profile). </td></tr>
    <tr><td class="paramname">sys</td><td>Consider only those fixes that have  attribute equal to sys </td></tr>
    <tr><td class="paramname">output_fd</td><td>write prescription to this file descriptor </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>zero on success, non-zero indicate partial (incomplete) output. </dd></dl>

</div>
</div>
<a class="anchor" id="gac3d9764faa0dd6a6de54503bc7b8b6fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * xccdf_policy_get_id </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get ID of XCCDF Profile that is implemented by XCCDF Policy. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">policy</td><td>XCCDF Policy</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ID of Policy's Profile </dd></dl>

</div>
</div>
<a class="anchor" id="gac0862a26dae600ce48497cd11e12f22f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> * xccdf_policy_get_model </td>
          <td>(</td>
          <td class="paramtype">const struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get model from Policy (parent structure of Policy to access the benchmark) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">policy</td><td>XCCDF Policy </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Policy model </dd></dl>

</div>
</div>
<a class="anchor" id="ga5c031cf063b7fd4edc45c71d55488d63"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__profile.html">xccdf_profile</a> * xccdf_policy_get_profile </td>
          <td>(</td>
          <td class="paramtype">const struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get XCCDF Profile from Policy. </p>
<dl class="section return"><dt>Returns</dt><dd>XCCDF Profile </dd></dl>

</div>
</div>
<a class="anchor" id="ga54672d5a5ca9c2cfca4c76d92132938f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char * xccdf_policy_get_readable_item_description </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structxccdf__item.html">xccdf_item</a> *&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>preferred_lang</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get human readable description of given XCCDF Item. </p>
<p>This function searches for description with the best matching language and resolves any inner &lt;xccdf:sub&gt; substitution (in accordance with the given XCCDF Policy.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">policy</td><td>XCCDF Policy </td></tr>
    <tr><td class="paramname">item</td><td>XCCDF Item to query description from </td></tr>
    <tr><td class="paramname">preferred_lang</td><td>Language of your choice, Null value for the default. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>plaintext C string which must be freed by caller </dd></dl>

</div>
</div>
<a class="anchor" id="ga7569d65ef772e069abdeec590eb622c0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char * xccdf_policy_get_readable_item_title </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structxccdf__item.html">xccdf_item</a> *&#160;</td>
          <td class="paramname"><em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>preferred_lang</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get human readable title of given XCCDF Item. </p>
<p>This finds title with best matching language and resolves &lt;xccdf:sub&gt; substitution in accordance with the given XCCDF Policy.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">policy</td><td>XCCDF Policy </td></tr>
    <tr><td class="paramname">item</td><td>XCCDF Item to query title from </td></tr>
    <tr><td class="paramname">preferred_lang</td><td>Language of your choice, Null value for the default. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>plaintext C string which must be freed by caller </dd></dl>

</div>
</div>
<a class="anchor" id="gaf7be772199b7326e7df16c0a985a7c63"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__result.html">xccdf_result</a> * xccdf_policy_get_result_by_id </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get XCCDF Result structure by it's idetificator if there is one. </p>
<dl class="section return"><dt>Returns</dt><dd>structure <a class="el" href="structxccdf__result.html" title="Actual results of running a XCCDF test or profile. ">xccdf_result</a> if found, NULL otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="ga0cf0cc247cfbb7b37787286a77e7c57e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__score.html">xccdf_score</a>* xccdf_policy_get_score </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structxccdf__result.html">xccdf_result</a> *&#160;</td>
          <td class="paramname"><em>test_result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>system</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get score of the XCCDF Benchmark. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">policy</td><td>XCCDF Policy </td></tr>
    <tr><td class="paramname">test_result</td><td>Test Result model </td></tr>
    <tr><td class="paramname">system</td><td>Score system </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XCCDF Score </dd></dl>

</div>
</div>
<a class="anchor" id="gafd3e5d89a8bc259470fd63c53c9c92e3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__select.html">xccdf_select</a> * xccdf_policy_get_select_by_id </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>item_id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get select from policy by specified ID of XCCDF Item. </p>
<dl class="section return"><dt>Returns</dt><dd>XCCDF Select </dd></dl>

</div>
</div>
<a class="anchor" id="ga97af79d841abbbbe6607c6109af5ad3e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__select__iterator.html">xccdf_select_iterator</a> * xccdf_policy_get_selected_rules </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get selected rules from policy. </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to select iterator. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">NULL</td><td>on faliure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga64a14d992b285724823c6a51abdf0e1b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int xccdf_policy_get_selected_rules_count </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieves number of selected items in the policy. </p>
<dl class="section note"><dt>Note</dt><dd>This is meant to be used to estimate scanning progress for example. </dd></dl>

</div>
</div>
<a class="anchor" id="ga18e7a1b999050314284816996d46f7ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__select__iterator.html">xccdf_select_iterator</a> * xccdf_policy_get_selects </td>
          <td>(</td>
          <td class="paramtype">const struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get rules from Policy. </p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structxccdf__select__iterator.html" title="Select iterator. ">xccdf_select_iterator</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga4843dfd6b6543450204cd3fa9fe4286f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool xccdf_policy_is_item_selected </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the selection settings of the item. </p>
<dl class="section return"><dt>Returns</dt><dd>true if the item is selected </dd></dl>

</div>
</div>
<a class="anchor" id="gadd2608ae85b438ba30140bbedbd963c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool xccdf_policy_model_add_cpe_autodetect </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filepath</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Registers an additional CPE resource (either dictionary or language) Autodetects given file and acts accordingly. </p>
<p>The one embedded in the evaluated XCCDF take precedence! </p>

</div>
</div>
<a class="anchor" id="gaa099731e15f0d4d577bd72b07374ca69"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool xccdf_policy_model_add_policy </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add Policy to Policy Model. </p>
<dl class="section return"><dt>Returns</dt><dd>true if policy has been added succesfully </dd></dl>

</div>
</div>
<a class="anchor" id="ga3ffe61a9b49a14ad14aa42c58a94c1bd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__benchmark.html">xccdf_benchmark</a> * xccdf_policy_model_get_benchmark </td>
          <td>(</td>
          <td class="paramtype">const struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td>
          <td class="paramname"><em>item</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get Benchmark from Policy Model. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">item</td><td>Policy model structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XCCDF Benchmark for given policy model </dd></dl>

</div>
</div>
<a class="anchor" id="ga2178c207b3893ddd301d2df468576666"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structoscap__stringlist.html">oscap_stringlist</a>* xccdf_policy_model_get_files </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td>
          <td class="paramname"><em>policy_model</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return names of files that are used in checks of particular rules. </p>
<p>Every check needs this file to be evaluated properly. If this file will not be imported and bind to the XCCDF Policy system the result of rule after evaluation will be "Not checked" </p>

</div>
</div>
<a class="anchor" id="ga42dd36f134faf00026a5f248069a451f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__policy__iterator.html">xccdf_policy_iterator</a> * xccdf_policy_model_get_policies </td>
          <td>(</td>
          <td class="paramtype">const struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td>
          <td class="paramname"><em>model</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get policies from Policy Model. </p>
<p>Be aware, this function returns only a list of previously initialized policies. A policy can be initialized by xccdf_policy_model_get_policy_by_id. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">model</td><td>Policy Model </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator for list of policies </dd></dl>

</div>
</div>
<a class="anchor" id="gab31d7c9da64d171683b762b9d7f19f74"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> * xccdf_policy_model_get_policy_by_id </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td>
          <td class="paramname"><em>policy_model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get XCCDF Policy from Policy model by speciefied ID of Profile. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">policy_model</td><td>XCCDF Policy model </td></tr>
    <tr><td class="paramname">id</td><td>ID of Profile</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XCCDF Policy </dd></dl>

</div>
</div>
<a class="anchor" id="gad719b40d4a661566c29957a146a3a595"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structoscap__file__entry__list.html">oscap_file_entry_list</a>* xccdf_policy_model_get_systems_and_files </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td>
          <td class="paramname"><em>policy_model</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return names of files that are used in checks of particular rules. </p>
<p>Every check needs this file to be evaluated properly. If this file will not be imported and bind to the XCCDF Policy system the result of rule after evaluation will be "Not checked"</p>
<p>The resulting list should be freed with oscap_filelist_free. </p>

</div>
</div>
<a class="anchor" id="ga4f8f92790770ff3e12e55f3921b77261"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> * xccdf_policy_model_new </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__benchmark.html">xccdf_benchmark</a> *&#160;</td>
          <td class="paramname"><em>benchmark</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor of Policy Model structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">benchmark</td><td>Struct <a class="el" href="structxccdf__benchmark.html" title="Top level XCCDF structure containing profiles, rules, values and results. ">xccdf_benchmark</a> with benchmark model </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new <a class="el" href="structxccdf__policy__model.html" title="XCCDF policy model structure contains xccdf_benchmark as reference to Benchmark element in XML file a...">xccdf_policy_model</a> </dd></dl>
<dl class="section note"><dt>Note</dt><dd>The policy model will take ownership of given benchmark and free it when it's being destructed! </dd></dl>

</div>
</div>
<a class="anchor" id="gaf6d7128afa3d1d0d207bee9a84b3dafa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool xccdf_policy_model_register_engine_and_query_callback </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>sys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__XCCDF__POLICY.html#ga322816631128d9e1e513441b0d87a9c4">xccdf_policy_engine_eval_fn</a>&#160;</td>
          <td class="paramname"><em>eval_fn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>usr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__XCCDF__POLICY.html#ga4943da55034c7b10b86826fe968571a8">xccdf_policy_engine_query_fn</a>&#160;</td>
          <td class="paramname"><em>query_fn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to register callback for checking system. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">model</td><td>XCCDF Policy Model </td></tr>
    <tr><td class="paramname">sys</td><td>String representing given checking system </td></tr>
    <tr><td class="paramname">eval_fn</td><td>Callback - pointer to function called by XCCDF Policy system when rule parsed </td></tr>
    <tr><td class="paramname">usr</td><td>optional parameter for passing user data to callback </td></tr>
    <tr><td class="paramname">query_fn</td><td>- optional parameter for providing xccdf_policy_engine_query_fn implementation for given system.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if callback registered succesfully, false otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="ga625d761f5ab77888245d0378192e27c1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool xccdf_policy_model_register_engine_callback </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>sys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>usr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to register callback for checking system. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">model</td><td>XCCDF Policy Model </td></tr>
    <tr><td class="paramname">sys</td><td>String representing given checking system </td></tr>
    <tr><td class="paramname">func</td><td>Callback - pointer to function called by XCCDF Policy system when rule parsed </td></tr>
    <tr><td class="paramname">usr</td><td>optional parameter for passing user data to callback</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if callback registered succesfully, false otherwise</dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000012">Deprecated:</a></b></dt><dd>This function is deprecated by <a class="el" href="group__XCCDF__POLICY.html#gaf6d7128afa3d1d0d207bee9a84b3dafa">xccdf_policy_model_register_engine_and_query_callback</a> and might be dropped from future releases. </dd></dl>

</div>
</div>
<a class="anchor" id="gac65069c78fabfffd5185c5ac4bd9b2cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool xccdf_policy_model_register_output_callback </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">policy_reporter_output&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>usr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to register output callback for checking system that will be called AFTER each rule evaluation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">model</td><td>XCCDF Policy Model </td></tr>
    <tr><td class="paramname">func</td><td>Callback - pointer to function called by XCCDF Policy system when rule parsed </td></tr>
    <tr><td class="paramname">usr</td><td>optional parameter for passing user data to callback</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if callback registered succesfully, false otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="ga27f7e9d8197079d7fa79efc6f5c2caf8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool xccdf_policy_model_register_start_callback </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">policy_reporter_start&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>usr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to register start callback for checking system that will be called BEFORE each rule evaluation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">model</td><td>XCCDF Policy Model </td></tr>
    <tr><td class="paramname">func</td><td>Callback - pointer to function called by XCCDF Policy system when rule parsed </td></tr>
    <tr><td class="paramname">usr</td><td>optional parameter for passing user data to callback</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if callback registered succesfully, false otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="ga41d9f37dc37cabf240a8bec4d1123248"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool xccdf_policy_model_set_tailoring </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structxccdf__tailoring.html">xccdf_tailoring</a> *&#160;</td>
          <td class="paramname"><em>tailoring</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the Tailoring element to use in the policy. </p>
<p>Profiles from the Benchmark <em>may</em> be shadowed by profiles in the given Tailoring element! Calling this function will affect the results of xccdf_policy_model_get_policy_by_id calls.</p>
<p>This does INVALIDATE preexisting <a class="el" href="structxccdf__policy.html" title="XCCDF policy structure is abstract (class) structure of Profile element from benchmark. ">xccdf_policy</a> pointers in this xccdf_policy_model! It is recommended to call this function before policy for any profile is queried.</p>
<dl class="section note"><dt>Note</dt><dd>The policy model will take ownership of given tailoring and free it when it's being destructed or when new tailoring is being set. </dd></dl>

</div>
</div>
<a class="anchor" id="ga29f80bb419da8c7801a88bfc68481dcd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> * xccdf_policy_new </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structxccdf__profile.html">xccdf_profile</a> *&#160;</td>
          <td class="paramname"><em>profile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor of Policy structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">model</td><td>Policy model </td></tr>
    <tr><td class="paramname">profile</td><td>Profile from XCCDF Benchmark </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga5d741243d1b2e062bb802be5f145944c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool xccdf_policy_resolve </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resolve benchmark by applying all refine_rules and refine_values to rules / values of benchmark. </p>
<p>All properties in benchmark will be irreversible changed and user has to load benchmark (from XML) again to discard these changes. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">policy</td><td>XCCDF policy containing rules/values that will be applied to benchmark rules/values. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if process ends succesfuly or false in case of error </dd></dl>

</div>
</div>
<a class="anchor" id="gaf034ed2138343743a99e5e89d632701c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool xccdf_policy_set_selected </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>idref</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set a new selector to the Policy structure. </p>
<dl class="section return"><dt>Returns</dt><dd>true if rule has been added succesfully </dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000013">Deprecated:</a></b></dt><dd>This function is deprecated by <a class="el" href="group__XCCDF__POLICY.html#ga0d83f932b1c6ac2161094d7c4126c276">xccdf_policy_add_select</a> and might be dropped from future releases. </dd></dl>

</div>
</div>
<a class="anchor" id="gaa2ad18993c928304b44e43015fc1d4ad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* xccdf_policy_substitute </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>text</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Perform textual substitution of cdf:sub elements with respect to given XCCDF policy. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">text</td><td>text to be substituted </td></tr>
    <tr><td class="paramname">policy</td><td>policy to be used </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gac9bc9a78e2289a2b13a05afd6c50241f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__item.html">xccdf_item</a>* xccdf_policy_tailor_item </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *&#160;</td>
          <td class="paramname"><em>policy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structxccdf__item.html">xccdf_item</a> *&#160;</td>
          <td class="paramname"><em>item</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clone the item and tailor it against given policy (profile) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">policy</td><td>Policy with profile </td></tr>
    <tr><td class="paramname">item</td><td>XCCDF item to be tailored </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new item that has to be freed by user </dd></dl>

</div>
</div>
<a class="anchor" id="ga26c7d2add2dc1975b600aa528327a266"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a> xccdf_test_result_resolve_and_operation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a>&#160;</td>
          <td class="paramname"><em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a>&#160;</td>
          <td class="paramname"><em>B</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return result of the AND operation for two given attributes. </p>
<p>For more details about the attributes A and B please consult 'Table 26: Possible Results for a Single Test' from NISTIR-7275r4. For more details about the AND operation please consult 'Table 12: Truth Table for AND' in the very same document. </p>

</div>
</div>
<a class="anchor" id="gaac7487fef713ec60a222b67668a146da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char * xccdf_value_binding_get_name </td>
          <td>(</td>
          <td class="paramtype">const struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get variable name from value bindings. </p>
<dl class="section return"><dt>Returns</dt><dd>String </dd></dl>

</div>
</div>
<a class="anchor" id="gad6ef469c638f357a09e2aef1cceb79d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__XCCDF.html#ga4458b04cd1236b95d15ac2d74276c09c">xccdf_operator_t</a> xccdf_value_binding_get_operator </td>
          <td>(</td>
          <td class="paramtype">const struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get Value operator from value bindings </p>
<dl class="section return"><dt>Returns</dt><dd>xccdf_operator_t </dd></dl>

</div>
</div>
<a class="anchor" id="ga8d957218e74ddaa2929b72cb4f01d9eb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char * xccdf_value_binding_get_setvalue </td>
          <td>(</td>
          <td class="paramtype">const struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get Set Value from value bindings </p>
<dl class="section return"><dt>Returns</dt><dd>String </dd></dl>

</div>
</div>
<a class="anchor" id="ga5eccc16ae366ae8190c7a7beca4b55a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__XCCDF.html#gaa2d75ea6d3cd6957100f532b2ab8e8a8">xccdf_value_type_t</a> xccdf_value_binding_get_type </td>
          <td>(</td>
          <td class="paramtype">const struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get variable type from value bindings </p>
<dl class="section return"><dt>Returns</dt><dd>xccdf_value_type_t </dd></dl>

</div>
</div>
<a class="anchor" id="ga5874ea4c3c0fe686fb60d6c42b4b4ded"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char * xccdf_value_binding_get_value </td>
          <td>(</td>
          <td class="paramtype">const struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get value from value bindings. </p>
<dl class="section return"><dt>Returns</dt><dd>String </dd></dl>

</div>
</div>
<a class="anchor" id="gaa6bd35d79b54c53ea58cf961898cc16e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structxccdf__value__binding.html">xccdf_value_binding</a> * xccdf_value_binding_new </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor of structure with profile bindings - refine_rules, refine_values and set_values. </p>
<dl class="section return"><dt>Returns</dt><dd>new structure of <a class="el" href="structxccdf__value__binding.html" title="XCCDF value binding structure is binding between Refine values, Set values, Value element and Check e...">xccdf_value_binding</a> </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>