Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 537b4767ca71616a4bccbb57df0c2eb6 > files > 198

openscap-devel-0.7.4-1.fc16.i686.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"/>
<title>Open SCAP Library: XCCDF_POLICY</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<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>
  <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>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#files">Files</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">XCCDF_POLICY</div>  </div>
</div>
<div class="contents">

<p>Policy interface to Extensible Configuration Checklist Description Format.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><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><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><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><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><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><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><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterate through policies.  <a href="structxccdf__policy__iterator.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="files"></a>
Files</h2></td></tr>
<tr><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>

<p><tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Open-scap XCCDF Policy library interface. </p>
<br/></td></tr>
</p>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor of Policy Model structure.  <a href="#ga4f8f92790770ff3e12e55f3921b77261"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor of Policy structure.  <a href="#ga29f80bb419da8c7801a88bfc68481dcd"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor of structure with profile bindings - refine_rules, refine_values and set_values.  <a href="#gaa6bd35d79b54c53ea58cf961898cc16e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga46bbf0b7e034fee60fbbf244fba80288"></a><!-- doxytag: member="XCCDF_POLICY::xccdf_policy_model_free" ref="ga46bbf0b7e034fee60fbbf244fba80288" args="(struct xccdf_policy_model *)" -->
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><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor of Policy Model structure. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9c8bf5e613dfdd9b33cd4e3b0ce44a0c"></a><!-- doxytag: member="XCCDF_POLICY::xccdf_policy_free" ref="ga9c8bf5e613dfdd9b33cd4e3b0ce44a0c" args="(struct xccdf_policy *)" -->
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><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor of Policy structure. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad5089c4cc11671b9f0f71e26197744d0"></a><!-- doxytag: member="XCCDF_POLICY::xccdf_value_binding_free" ref="gad5089c4cc11671b9f0f71e26197744d0" args="(struct xccdf_value_binding *)" -->
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><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor of Value binding structure. <br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to register callback for checking system.  <a href="#ga625d761f5ab77888245d0378192e27c1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gab3bd1c78848a4f9b993a6f81242cfe8a">xccdf_policy_model::xccdf_policy_model_register_output_callback</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model, <a class="el" href="group__Reporters.html#gada96dbbbb54a7659c3acf1c00a7d7ad3">oscap_reporter</a> func, void *usr)</td></tr>
<tr><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="#gab3bd1c78848a4f9b993a6f81242cfe8a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gacd60bfd83abdfa3a31b91ba8493be842">xccdf_policy_model::xccdf_policy_model_register_start_callback</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model, <a class="el" href="group__Reporters.html#gada96dbbbb54a7659c3acf1c00a7d7ad3">oscap_reporter</a> func, void *usr)</td></tr>
<tr><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="#gacd60bfd83abdfa3a31b91ba8493be842"></a><br/></td></tr>
<tr><td colspan="2"><h2><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><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get model from Policy (parent structure of Policy to access the benchmark)  <a href="#gac0862a26dae600ce48497cd11e12f22f"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Benchmark from Policy Model.  <a href="#ga3ffe61a9b49a14ad14aa42c58a94c1bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7b7f39df7639c1d153e8cf6e3bd98753"></a><!-- doxytag: member="XCCDF_POLICY::xccdf_policy_get_values" ref="ga7b7f39df7639c1d153e8cf6e3bd98753" args="(const struct xccdf_policy *item)" -->
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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Value Bindings from XCCDF Policy. <br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get policies from Policy Model.  <a href="#ga42dd36f134faf00026a5f248069a451f"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get selected rules from policy.  <a href="#ga97af79d841abbbbe6607c6109af5ad3e"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get XCCDF Profile from Policy.  <a href="#ga5c031cf063b7fd4edc45c71d55488d63"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get rules from Policy.  <a href="#ga18e7a1b999050314284816996d46f7ca"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get variable name from value bindings.  <a href="#gaac7487fef713ec60a222b67668a146da"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get value from value bindings.  <a href="#ga5874ea4c3c0fe686fb60d6c42b4b4ded"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">get variable type from value bindings  <a href="#ga5eccc16ae366ae8190c7a7beca4b55a0"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">get Value operator from value bindings  <a href="#gad6ef469c638f357a09e2aef1cceb79d3"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">get Set Value from value bindings  <a href="#ga8d957218e74ddaa2929b72cb4f01d9eb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga39fb4c2c1729e997ae43efb5ce75210c"></a><!-- doxytag: member="XCCDF_POLICY::xccdf_policy_get_results" ref="ga39fb4c2c1729e997ae43efb5ce75210c" args="(const struct xccdf_policy *policy)" -->
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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get results of all XCCDF Policy results. <br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get XCCDF Result structure by it's idetificator if there is one.  <a href="#gaf7be772199b7326e7df16c0a985a7c63"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get ID of XCCDF Profile that is implemented by XCCDF Policy.  <a href="#gac3d9764faa0dd6a6de54503bc7b8b6fb"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get XCCDF Policy from Policy model by speciefied ID of Profile.  <a href="#gab31d7c9da64d171683b762b9d7f19f74"></a><br/></td></tr>
<tr><td colspan="2"><h2><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><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Add Policy to Policy Model.  <a href="#gaa099731e15f0d4d577bd72b07374ca69"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Add rule to Policy.  <a href="#ga0d83f932b1c6ac2161094d7c4126c276"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a new selector to the Policy structure.  <a href="#gaf034ed2138343743a99e5e89d632701c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6eb8c2f09d05e46a184b35fc2f8261ad"></a><!-- doxytag: member="XCCDF_POLICY::xccdf_policy_add_result" ref="ga6eb8c2f09d05e46a184b35fc2f8261ad" args="(struct xccdf_policy *policy, struct xccdf_result *item)" -->
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><td class="mdescLeft">&#160;</td><td class="mdescRight">Add result to XCCDF Policy Model. <br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Add value binding to the Policy structure.  <a href="#ga3738807d9e35ea11cc5b20638dc83815"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Add check export to the Value Binding structure.  <a href="#gafd3e5d89a8bc259470fd63c53c9c92e3"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Evaluators</h2></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Clone the item and tailor it against given policy (profile)  <a href="#gac9bc9a78e2289a2b13a05afd6c50241f"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Return names of files that are used in checks of particular rules.  <a href="#ga2178c207b3893ddd301d2df468576666"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Return names of files that are used in checks of particular rules.  <a href="#gaf0253768dcf8b1fced143fddb2075c75"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Call the checking engine for each selected rule in given policy structure.  <a href="#gad09ba99431d50108e4b475506c177b3d"></a><br/></td></tr>
<tr><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><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"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Iterators</h2></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get score of the XCCDF Benchmark.  <a href="#ga0cf0cc247cfbb7b37787286a77e7c57e"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform textual substitution of cdf:sub elements with respect to given XCCDF policy.  <a href="#gaa2ad18993c928304b44e43015fc1d4ad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga99f007fa5762d80f18d52326f2201a99"></a><!-- doxytag: member="XCCDF_POLICY::xccdf_policy_iterator_has_more" ref="ga99f007fa5762d80f18d52326f2201a99" args="(struct xccdf_policy_iterator *it)" -->
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><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if the list is not empty, false otherwise. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5b0aa2233a2f7999751a80ef1848cc84"></a><!-- doxytag: member="XCCDF_POLICY::xccdf_policy_iterator_next" ref="ga5b0aa2233a2f7999751a80ef1848cc84" args="(struct xccdf_policy_iterator *it)" -->
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><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><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeb065fc4c46cdf4e6b7d74e91561532f"></a><!-- doxytag: member="XCCDF_POLICY::xccdf_policy_iterator_free" ref="gaeb065fc4c46cdf4e6b7d74e91561532f" args="(struct xccdf_policy_iterator *it)" -->
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><td class="mdescLeft">&#160;</td><td class="mdescRight">Free the iterator structure (it makes no changes to the list structure) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga41fae5629470abc19b92c58d378200c5"></a><!-- doxytag: member="XCCDF_POLICY::xccdf_policy_iterator_reset" ref="ga41fae5629470abc19b92c58d378200c5" args="(struct xccdf_policy_iterator *it)" -->
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><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>
</table>
<hr/><a name="details" id="details"></a><h2>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>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gaf0253768dcf8b1fced143fddb2075c75"></a><!-- doxytag: member="xccdf_policy.h::xccdf_item_get_files" ref="gaf0253768dcf8b1fced143fddb2075c75" args="(struct xccdf_item *item)" -->
<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><code> [read]</code></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="ga0d83f932b1c6ac2161094d7c4126c276"></a><!-- doxytag: member="xccdf_policy::xccdf_policy_add_select" ref="ga0d83f932b1c6ac2161094d7c4126c276" args="(struct xccdf_policy *, struct xccdf_select *)" -->
<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="return"><dt><b>Returns:</b></dt><dd>true if rule has been added succesfully </dd></dl>

</div>
</div>
<a class="anchor" id="ga3738807d9e35ea11cc5b20638dc83815"></a><!-- doxytag: member="xccdf_policy::xccdf_policy_add_value" ref="ga3738807d9e35ea11cc5b20638dc83815" args="(struct xccdf_policy *, struct xccdf_value_binding *)" -->
<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="return"><dt><b>Returns:</b></dt><dd>true if rule has been added succesfully </dd></dl>

</div>
</div>
<a class="anchor" id="gad09ba99431d50108e4b475506c177b3d"></a><!-- doxytag: member="xccdf_policy::xccdf_policy_evaluate" ref="gad09ba99431d50108e4b475506c177b3d" args="(struct xccdf_policy *policy)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Call the checking engine for each selected rule in given policy structure. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">policy</td><td>given Policy to evaluate</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if evaluation pass or false in case of error </dd></dl>
<dl class="user"><dt><b>Example</b></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#ga58d82d4d759d169780b7ed90720a5af4">oval_agent_eval_rule</a> for evaluation OVAL checks: <div class="fragment"><pre class="fragment"> <a class="code" href="xccdf__policy_8c.html#a625d761f5ab77888245d0378192e27c1" title="Funtion to register callback for particular checking system.">xccdf_policy_model_register_engine_callback</a>(policy_model, <span class="stringliteral">&quot;http://oval.mitre.org/XMLSchema/oval-definitions-5&quot;</span>, <a class="code" href="group__OVALAGENT.html#ga58d82d4d759d169780b7ed90720a5af4" title="Internal OVAL Agent Callback that can be used to evaluate XCCDF content.">oval_agent_eval_rule</a>, (<span class="keywordtype">void</span> *) usr);
</pre></div> </dd></dl>
<dl class="user"><dt><b></b></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"><pre class="fragment"> <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" title="Create new session for OVAL agent from OVAL definition model.">oval_agent_new_session</a>((<span class="keyword">struct</span> <a class="code" href="structoval__definition__model.html" title="Oval definition model.">oval_definition_model</a> *) <a class="code" href="structxccdf__policy.html#a0406fc13d1156dafcfab00b88767150f" title="XCCDF Policy model.">model</a>, <span class="stringliteral">&quot;name-of-file&quot;</span>);
</pre></div> </dd></dl>

</div>
</div>
<a class="anchor" id="gac3d9764faa0dd6a6de54503bc7b8b6fb"></a><!-- doxytag: member="xccdf_policy::xccdf_policy_get_id" ref="gac3d9764faa0dd6a6de54503bc7b8b6fb" args="(struct xccdf_policy *policy)" -->
<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><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">policy</td><td>XCCDF Policy</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>ID of Policy's Profile </dd></dl>

</div>
</div>
<a class="anchor" id="gac0862a26dae600ce48497cd11e12f22f"></a><!-- doxytag: member="xccdf_policy::xccdf_policy_get_model" ref="gac0862a26dae600ce48497cd11e12f22f" args="(const struct xccdf_policy *policy)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="ga5c031cf063b7fd4edc45c71d55488d63"></a><!-- doxytag: member="xccdf_policy::xccdf_policy_get_profile" ref="ga5c031cf063b7fd4edc45c71d55488d63" args="(const struct xccdf_policy *)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="gaf7be772199b7326e7df16c0a985a7c63"></a><!-- doxytag: member="xccdf_policy_model::xccdf_policy_get_result_by_id" ref="gaf7be772199b7326e7df16c0a985a7c63" args="(struct xccdf_policy *policy, const char *id)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get XCCDF Result structure by it's idetificator if there is one. </p>
<dl class="return"><dt><b>Returns:</b></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><!-- doxytag: member="xccdf_policy.h::xccdf_policy_get_score" ref="ga0cf0cc247cfbb7b37787286a77e7c57e" args="(struct xccdf_policy *policy, struct xccdf_result *test_result, const char *system)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get score of the XCCDF Benchmark. </p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>XCCDF Score </dd></dl>

</div>
</div>
<a class="anchor" id="gafd3e5d89a8bc259470fd63c53c9c92e3"></a><!-- doxytag: member="xccdf_policy::xccdf_policy_get_select_by_id" ref="gafd3e5d89a8bc259470fd63c53c9c92e3" args="(struct xccdf_policy *policy, const char *item_id)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add check export to the Value Binding structure. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if rule has been added succesfully Get select from policy by specified ID of XCCDF Item</dd>
<dd>
XCCDF Select </dd></dl>

</div>
</div>
<a class="anchor" id="ga97af79d841abbbbe6607c6109af5ad3e"></a><!-- doxytag: member="xccdf_policy::xccdf_policy_get_selected_rules" ref="ga97af79d841abbbbe6607c6109af5ad3e" args="(struct xccdf_policy *)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get selected rules from policy. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to select iterator. </dd></dl>
<dl><dt><b>Return values:</b></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="ga18e7a1b999050314284816996d46f7ca"></a><!-- doxytag: member="xccdf_policy::xccdf_policy_get_selects" ref="ga18e7a1b999050314284816996d46f7ca" args="(const struct xccdf_policy *)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get rules from Policy. </p>
<dl class="return"><dt><b>Returns:</b></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="gaa099731e15f0d4d577bd72b07374ca69"></a><!-- doxytag: member="xccdf_policy_model::xccdf_policy_model_add_policy" ref="gaa099731e15f0d4d577bd72b07374ca69" args="(struct xccdf_policy_model *, struct xccdf_policy *)" -->
<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="return"><dt><b>Returns:</b></dt><dd>true if policy has been added succesfully </dd></dl>

</div>
</div>
<a class="anchor" id="ga3ffe61a9b49a14ad14aa42c58a94c1bd"></a><!-- doxytag: member="xccdf_policy_model::xccdf_policy_model_get_benchmark" ref="ga3ffe61a9b49a14ad14aa42c58a94c1bd" args="(const struct xccdf_policy_model *item)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="ga2178c207b3893ddd301d2df468576666"></a><!-- doxytag: member="xccdf_policy.h::xccdf_policy_model_get_files" ref="ga2178c207b3893ddd301d2df468576666" args="(struct xccdf_policy_model *policy_model)" -->
<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><code> [read]</code></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><!-- doxytag: member="xccdf_policy_model::xccdf_policy_model_get_policies" ref="ga42dd36f134faf00026a5f248069a451f" args="(const struct xccdf_policy_model *model)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get policies from Policy Model. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">model</td><td>Policy Model </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Iterator for list of policies </dd></dl>

</div>
</div>
<a class="anchor" id="gab31d7c9da64d171683b762b9d7f19f74"></a><!-- doxytag: member="xccdf_policy_model::xccdf_policy_model_get_policy_by_id" ref="gab31d7c9da64d171683b762b9d7f19f74" args="(struct xccdf_policy_model *policy_model, const char *id)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get XCCDF Policy from Policy model by speciefied ID of Profile. </p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>XCCDF Policy </dd></dl>

</div>
</div>
<a class="anchor" id="ga4f8f92790770ff3e12e55f3921b77261"></a><!-- doxytag: member="xccdf_policy_model::xccdf_policy_model_new" ref="ga4f8f92790770ff3e12e55f3921b77261" args="(struct xccdf_benchmark *benchmark)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor of Policy Model structure. </p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></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>

</div>
</div>
<a class="anchor" id="ga625d761f5ab77888245d0378192e27c1"></a><!-- doxytag: member="xccdf_policy_model::xccdf_policy_model_register_engine_callback" ref="ga625d761f5ab77888245d0378192e27c1" args="(struct xccdf_policy_model *model, char *sys, void *func, void *usr)" -->
<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><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>true if callback registered succesfully, false otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="gab3bd1c78848a4f9b993a6f81242cfe8a"></a><!-- doxytag: member="xccdf_policy_model::xccdf_policy_model_register_output_callback" ref="gab3bd1c78848a4f9b993a6f81242cfe8a" args="(struct xccdf_policy_model *model, oscap_reporter func, void *usr)" -->
<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"><a class="el" href="group__Reporters.html#gada96dbbbb54a7659c3acf1c00a7d7ad3">oscap_reporter</a>&#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><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>true if callback registered succesfully, false otherwise </dd></dl>
<dl class="user"><dt><b>Example</b></dt><dd>With the first function below (register output callback) user registers the callback that will be called after each rule evalution is done. Second callback is registered as callback for evaluation itself and will be called during the evaluation. <div class="fragment"><pre class="fragment"> <a class="code" href="group__XCCDF__POLICY.html#gab3bd1c78848a4f9b993a6f81242cfe8a" title="Function to register output callback for checking system that will be called AFTER each rule evaluati...">xccdf_policy_model_register_output_callback</a>(policy_model, <a class="code" href="structcallback__t.html" title="Typedef of callback structure with system identificator, callback function and usr data (optional) On...">callback</a>, NULL);
 <a class="code" href="group__XCCDF__POLICY.html#ga625d761f5ab77888245d0378192e27c1" title="Function to register callback for checking system.">xccdf_policy_model_register_engine_callback</a>(policy_model, <span class="stringliteral">&quot;http://oval.mitre.org/XMLSchema/oval-definitions-5&quot;</span>, <a class="code" href="group__OVALAGENT.html#ga58d82d4d759d169780b7ed90720a5af4" title="Internal OVAL Agent Callback that can be used to evaluate XCCDF content.">oval_agent_eval_rule</a>, (<span class="keywordtype">void</span> *) sess);
</pre></div> The example of callback: <div class="fragment"><pre class="fragment"> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="structcallback__t.html" title="Typedef of callback structure with system identificator, callback function and usr data (optional) On...">callback</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structoscap__reporter__message.html" title="Represents a message to be reported.">oscap_reporter_message</a> *msg, <span class="keywordtype">void</span> *arg)
 {
      <a class="code" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d" title="Test result.">xccdf_test_result_type_t</a> result = oscap_reporter_message_get_user2num(msg);
      <span class="keywordflow">if</span> (result == <a class="code" href="group__XCCDF.html#ggabf34f4480799efc8e1af5f4706d2666dad1a25dfdbd7c77e5e0f9a943e7ac240a" title="Rule was not selected in the Benchmark.">XCCDF_RESULT_NOT_SELECTED</a>) <span class="keywordflow">return</span> 0;
 
      printf(<span class="stringliteral">&quot;\n&quot;</span>);
      printf(<span class="stringliteral">&quot;Rule ID:\r\t\t\033[1m%s\033[0;0m\n&quot;</span>, oscap_reporter_message_get_user1str(msg));
      printf(<span class="stringliteral">&quot;Title:\r\t\t%s\n&quot;</span>, oscap_reporter_message_get_user3str(msg));
      printf(<span class="stringliteral">&quot;Result:\r\t\t\033[%sm%s\033[0m\n&quot;</span>, RESULT_COLORS[result], xccdf_test_result_type_get_text((<a class="code" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d" title="Test result.">xccdf_test_result_type_t</a>) result));
      <span class="keywordflow">return</span> 0;
 }
</pre></div> </dd></dl>

</div>
</div>
<a class="anchor" id="gacd60bfd83abdfa3a31b91ba8493be842"></a><!-- doxytag: member="xccdf_policy_model::xccdf_policy_model_register_start_callback" ref="gacd60bfd83abdfa3a31b91ba8493be842" args="(struct xccdf_policy_model *model, oscap_reporter func, void *usr)" -->
<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"><a class="el" href="group__Reporters.html#gada96dbbbb54a7659c3acf1c00a7d7ad3">oscap_reporter</a>&#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><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>true if callback registered succesfully, false otherwise </dd></dl>
<dl class="user"><dt><b>Example</b></dt><dd>With the first function below (register start callback) user registers the callback that will be called before each rule evalution is started. Second callback is registered as callback for evaluation itself and will be called during the evaluation. Last callback is registered output callback. <div class="fragment"><pre class="fragment"> <a class="code" href="group__XCCDF__POLICY.html#gacd60bfd83abdfa3a31b91ba8493be842" title="Function to register start callback for checking system that will be called BEFORE each rule evaluati...">xccdf_policy_model_register_start_callback</a>(policy_model, callback_start, NULL);
 <a class="code" href="group__XCCDF__POLICY.html#ga625d761f5ab77888245d0378192e27c1" title="Function to register callback for checking system.">xccdf_policy_model_register_engine_callback</a>(policy_model, <span class="stringliteral">&quot;http://oval.mitre.org/XMLSchema/oval-definitions-5&quot;</span>, <a class="code" href="group__OVALAGENT.html#ga58d82d4d759d169780b7ed90720a5af4" title="Internal OVAL Agent Callback that can be used to evaluate XCCDF content.">oval_agent_eval_rule</a>, (<span class="keywordtype">void</span> *) sess);
 <a class="code" href="group__XCCDF__POLICY.html#gab3bd1c78848a4f9b993a6f81242cfe8a" title="Function to register output callback for checking system that will be called AFTER each rule evaluati...">xccdf_policy_model_register_output_callback</a>(policy_model, callback_end, NULL);
</pre></div> The example of callback_start: <div class="fragment"><pre class="fragment"> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="structcallback__t.html" title="Typedef of callback structure with system identificator, callback function and usr data (optional) On...">callback</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structoscap__reporter__message.html" title="Represents a message to be reported.">oscap_reporter_message</a> *msg, <span class="keywordtype">void</span> *arg)
 {
      printf(<span class="stringliteral">&quot;Evaluating rule \&quot;%s\&quot;. Please wait.&quot;</span>. oscap_reporter_message_get_user1num(msg));
      <span class="keywordflow">return</span> 0;
 }
</pre></div> </dd></dl>

</div>
</div>
<a class="anchor" id="ga29f80bb419da8c7801a88bfc68481dcd"></a><!-- doxytag: member="xccdf_policy::xccdf_policy_new" ref="ga29f80bb419da8c7801a88bfc68481dcd" args="(struct xccdf_policy_model *model, struct xccdf_profile *profile)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor of Policy structure. </p>
<dl><dt><b>Parameters:</b></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><!-- doxytag: member="xccdf_policy::xccdf_policy_resolve" ref="ga5d741243d1b2e062bb802be5f145944c" args="(struct xccdf_policy *policy)" -->
<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><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>true if process ends succesfuly or false in case of error </dd></dl>

</div>
</div>
<a class="anchor" id="gaf034ed2138343743a99e5e89d632701c"></a><!-- doxytag: member="xccdf_policy::xccdf_policy_set_selected" ref="gaf034ed2138343743a99e5e89d632701c" args="(struct xccdf_policy *policy, char *idref)" -->
<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="return"><dt><b>Returns:</b></dt><dd>true if rule has been added succesfully </dd></dl>

</div>
</div>
<a class="anchor" id="gaa2ad18993c928304b44e43015fc1d4ad"></a><!-- doxytag: member="xccdf_policy.h::xccdf_policy_substitute" ref="gaa2ad18993c928304b44e43015fc1d4ad" args="(const char *text, struct xccdf_policy *policy)" -->
<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><dt><b>Parameters:</b></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><!-- doxytag: member="xccdf_policy.h::xccdf_policy_tailor_item" ref="gac9bc9a78e2289a2b13a05afd6c50241f" args="(struct xccdf_policy *policy, struct xccdf_item *item)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clone the item and tailor it against given policy (profile) </p>
<dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>new item that has to be freed by user </dd></dl>

</div>
</div>
<a class="anchor" id="gaac7487fef713ec60a222b67668a146da"></a><!-- doxytag: member="xccdf_value_binding::xccdf_value_binding_get_name" ref="gaac7487fef713ec60a222b67668a146da" args="(const struct xccdf_value_binding *)" -->
<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="return"><dt><b>Returns:</b></dt><dd>String </dd></dl>

</div>
</div>
<a class="anchor" id="gad6ef469c638f357a09e2aef1cceb79d3"></a><!-- doxytag: member="xccdf_value_binding::xccdf_value_binding_get_operator" ref="gad6ef469c638f357a09e2aef1cceb79d3" args="(const struct xccdf_value_binding *)" -->
<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="return"><dt><b>Returns:</b></dt><dd>xccdf_operator_t </dd></dl>

</div>
</div>
<a class="anchor" id="ga8d957218e74ddaa2929b72cb4f01d9eb"></a><!-- doxytag: member="xccdf_value_binding::xccdf_value_binding_get_setvalue" ref="ga8d957218e74ddaa2929b72cb4f01d9eb" args="(const struct xccdf_value_binding *)" -->
<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="return"><dt><b>Returns:</b></dt><dd>String </dd></dl>

</div>
</div>
<a class="anchor" id="ga5eccc16ae366ae8190c7a7beca4b55a0"></a><!-- doxytag: member="xccdf_value_binding::xccdf_value_binding_get_type" ref="ga5eccc16ae366ae8190c7a7beca4b55a0" args="(const struct xccdf_value_binding *)" -->
<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="return"><dt><b>Returns:</b></dt><dd>xccdf_value_type_t </dd></dl>

</div>
</div>
<a class="anchor" id="ga5874ea4c3c0fe686fb60d6c42b4b4ded"></a><!-- doxytag: member="xccdf_value_binding::xccdf_value_binding_get_value" ref="ga5874ea4c3c0fe686fb60d6c42b4b4ded" args="(const struct xccdf_value_binding *)" -->
<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="return"><dt><b>Returns:</b></dt><dd>String </dd></dl>

</div>
</div>
<a class="anchor" id="gaa6bd35d79b54c53ea58cf961898cc16e"></a><!-- doxytag: member="xccdf_value_binding::xccdf_value_binding_new" ref="gaa6bd35d79b54c53ea58cf961898cc16e" args="(void)" -->
<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><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor of structure with profile bindings - refine_rules, refine_values and set_values. </p>
<dl class="return"><dt><b>Returns:</b></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>
<hr class="footer"/><address class="footer"><small>Generated on Mon Jul 25 2011 for Open SCAP Library by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>