<!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 Struct Reference</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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-attribs">Data Fields</a> </div> <div class="headertitle"> <div class="title">xccdf_policy Struct Reference<div class="ingroups"><a class="el" href="group__XCCDF__POLICY.html">XCCDF_POLICY</a></div></div> </div> </div> <div class="contents"> <!-- doxytag: class="xccdf_policy" --> <p>XCCDF policy structure is abstract (class) structure of Profile element from benchmark. <a href="structxccdf__policy.html#details">More...</a></p> <p><code>#include <<a class="el" href="xccdf__policy_8h_source.html">xccdf_policy.h</a>></code></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga29f80bb419da8c7801a88bfc68481dcd">xccdf_policy_new</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *<a class="el" href="structxccdf__policy.html#a0406fc13d1156dafcfab00b88767150f">model</a>, struct <a class="el" href="structxccdf__profile.html">xccdf_profile</a> *<a class="el" href="structxccdf__policy.html#aa9b356a88ddfb729745dc246d1da9614">profile</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor of Policy structure. <a href="group__XCCDF__POLICY.html#ga29f80bb419da8c7801a88bfc68481dcd"></a><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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga9c8bf5e613dfdd9b33cd4e3b0ce44a0c">xccdf_policy_free</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor of Policy structure. <br/></td></tr> <tr><td colspan="2"><div class="groupHeader">Getters</div></td></tr> <tr><td colspan="2"><div class="groupText"><p>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> </div></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gac0862a26dae600ce48497cd11e12f22f">xccdf_policy_get_model</a> (const struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get model from Policy (parent structure of Policy to access the benchmark) <a href="group__XCCDF__POLICY.html#gac0862a26dae600ce48497cd11e12f22f"></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 * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga7b7f39df7639c1d153e8cf6e3bd98753">xccdf_policy_get_values</a> (const struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *item)</td></tr> <tr><td class="mdescLeft"> </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__select__iterator.html">xccdf_select_iterator</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga97af79d841abbbbe6607c6109af5ad3e">xccdf_policy_get_selected_rules</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get selected rules from policy. <a href="group__XCCDF__POLICY.html#ga97af79d841abbbbe6607c6109af5ad3e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__profile.html">xccdf_profile</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga5c031cf063b7fd4edc45c71d55488d63">xccdf_policy_get_profile</a> (const struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get XCCDF Profile from Policy. <a href="group__XCCDF__POLICY.html#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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga18e7a1b999050314284816996d46f7ca">xccdf_policy_get_selects</a> (const struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get rules from Policy. <a href="group__XCCDF__POLICY.html#ga18e7a1b999050314284816996d46f7ca"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gac3d9764faa0dd6a6de54503bc7b8b6fb">xccdf_policy_get_id</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get ID of XCCDF Profile that is implemented by XCCDF Policy. <a href="group__XCCDF__POLICY.html#gac3d9764faa0dd6a6de54503bc7b8b6fb"></a><br/></td></tr> <tr><td colspan="2"><div class="groupHeader">Setters</div></td></tr> <tr><td colspan="2"><div class="groupText"><p>For lists use add functions.</p> <p>Parameters of set functions are duplicated in memory and need to be freed by caller. </p> </div></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga0d83f932b1c6ac2161094d7c4126c276">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"> </td><td class="mdescRight">Add rule to Policy. <a href="group__XCCDF__POLICY.html#ga0d83f932b1c6ac2161094d7c4126c276"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gaf034ed2138343743a99e5e89d632701c">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"> </td><td class="mdescRight">Set a new selector to the Policy structure. <a href="group__XCCDF__POLICY.html#gaf034ed2138343743a99e5e89d632701c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga3738807d9e35ea11cc5b20638dc83815">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"> </td><td class="mdescRight">Add value binding to the Policy structure. <a href="group__XCCDF__POLICY.html#ga3738807d9e35ea11cc5b20638dc83815"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__select.html">xccdf_select</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gafd3e5d89a8bc259470fd63c53c9c92e3">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"> </td><td class="mdescRight">Add check export to the Value Binding structure. <a href="group__XCCDF__POLICY.html#gafd3e5d89a8bc259470fd63c53c9c92e3"></a><br/></td></tr> <tr><td colspan="2"><div class="groupHeader">Evaluators</div></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structxccdf__result.html">xccdf_result</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#gad09ba99431d50108e4b475506c177b3d">xccdf_policy_evaluate</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Call the checking engine for each selected rule in given policy structure. <a href="group__XCCDF__POLICY.html#gad09ba99431d50108e4b475506c177b3d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__XCCDF__POLICY.html#ga5d741243d1b2e062bb802be5f145944c">xccdf_policy_resolve</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Resolve benchmark by applying all refine_rules and refine_values to rules / values of benchmark. <a href="group__XCCDF__POLICY.html#ga5d741243d1b2e062bb802be5f145944c"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pub-attribs"></a> Data Fields</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0406fc13d1156dafcfab00b88767150f"></a><!-- doxytag: member="xccdf_policy::model" ref="a0406fc13d1156dafcfab00b88767150f" args="" --> struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structxccdf__policy.html#a0406fc13d1156dafcfab00b88767150f">model</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">XCCDF Policy model. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa9b356a88ddfb729745dc246d1da9614"></a><!-- doxytag: member="xccdf_policy::profile" ref="aa9b356a88ddfb729745dc246d1da9614" args="" --> struct <a class="el" href="structxccdf__profile.html">xccdf_profile</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structxccdf__policy.html#aa9b356a88ddfb729745dc246d1da9614">profile</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Profile structure (from benchmark) <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1d1c70c1fbb0e47c62b98011ab9ad7c"></a><!-- doxytag: member="xccdf_policy::selects" ref="ad1d1c70c1fbb0e47c62b98011ab9ad7c" args="" --> struct <a class="el" href="structoscap__list.html">oscap_list</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structxccdf__policy.html#ad1d1c70c1fbb0e47c62b98011ab9ad7c">selects</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Selected rules and groups of profile. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6439c166d042a4a66361bdaf066de2bb"></a><!-- doxytag: member="xccdf_policy::values" ref="a6439c166d042a4a66361bdaf066de2bb" args="" --> struct <a class="el" href="structoscap__list.html">oscap_list</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structxccdf__policy.html#a6439c166d042a4a66361bdaf066de2bb">values</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Bound values of profile. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0fb9cc7a5d3e90013bcb311d50f892f7"></a><!-- doxytag: member="xccdf_policy::results" ref="a0fb9cc7a5d3e90013bcb311d50f892f7" args="" --> struct <a class="el" href="structoscap__list.html">oscap_list</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structxccdf__policy.html#a0fb9cc7a5d3e90013bcb311d50f892f7">results</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">List of XCCDF results. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab40d71b3de8dfbf29fb1a84f0fa4dd68"></a><!-- doxytag: member="xccdf_policy::ht_selects" ref="ab40d71b3de8dfbf29fb1a84f0fa4dd68" args="" --> struct <a class="el" href="structoscap__htable.html">oscap_htable</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structxccdf__policy.html#ab40d71b3de8dfbf29fb1a84f0fa4dd68">ht_selects</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Hash table of selects. <br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>XCCDF policy structure is abstract (class) structure of Profile element from benchmark. </p> <p>Policy structure that abstract benchmark's profile.</p> <p>Structure contains rules and bound values to abstract these lists from the benchmark file. Can be modified temporaly so changes can be discarded or saved to the existing model. </p> </div><hr/>The documentation for this struct was generated from the following files:<ul> <li>/home/pvrabec/project/openscap/openscap-0.7.4/src/XCCDF_POLICY/xccdf_policy.c</li> <li>/home/pvrabec/project/openscap/openscap-0.7.4/src/XCCDF_POLICY/public/<a class="el" href="xccdf__policy_8h_source.html">xccdf_policy.h</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated on Mon Jul 25 2011 for Open SCAP Library by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>