<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.6"/> <title>Open SCAP Library: oval_agent_xccdf_api.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Open SCAP Library </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.6 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main 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><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_dec16e0beb5f79ab6b40e328203e2e32.html">OVAL</a></li><li class="navelem"><a class="el" href="dir_d7d4c5e9309fab4992a34dcb057ec544.html">public</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">oval_agent_xccdf_api.h</div> </div> </div><!--header--> <div class="contents"> <a href="oval__agent__xccdf__api_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">/*</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * Copyright 2010,2011 Red Hat Inc., Durham, North Carolina.</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * All Rights Reserved.</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> *</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> *</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * This library is distributed in the hope that it will be useful,</span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Lesser General Public License for more details.</span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> *</span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> *</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> */</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#ifndef OVAL_AGENT_XCCDF_API_H_</span></div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#define OVAL_AGENT_XCCDF_API_H_</span></div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <<a class="code" href="oscap_8h.html">oscap.h</a>></span></div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "<a class="code" href="oval__agent__api_8h.html">oval_agent_api.h</a>"</span></div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="xccdf__policy_8h.html">xccdf_policy.h</a>"</span></div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div> <div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="group__OVALAGENT.html#gaa4616a7375ac4a91ee293d69a5c30481"> 52</a></span> <span class="keyword">typedef</span> <a class="code" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a> (<a class="code" href="group__OVALAGENT.html#gaa4616a7375ac4a91ee293d69a5c30481">xccdf_policy_eval_rule_cb_t</a>) (<span class="keyword">struct </span><a class="code" href="structxccdf__policy.html">xccdf_policy</a> * policy, <span class="keyword">const</span> <span class="keywordtype">char</span> * rule_id,</div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> * id, <span class="keyword">struct </span>xccdf_value_binding_iterator * it, <span class="keywordtype">void</span> * usr);</div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <a class="code" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a> <a class="code" href="group__OVALAGENT.html#gaac9da992a174551ba8b76d647ebd6032">oval_agent_eval_rule</a>(<span class="keyword">struct</span> <a class="code" href="structxccdf__policy.html">xccdf_policy</a> * policy, <span class="keyword">const</span> <span class="keywordtype">char</span> * rule_id, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keywordtype">id</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> * href,</div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keyword">struct</span> xccdf_value_binding_iterator * it,</div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keyword">struct</span> <a class="code" href="structxccdf__check__import__iterator.html">xccdf_check_import_iterator</a> * check_import_it,</div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordtype">void</span> * usr);</div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">int</span> <a class="code" href="group__OVALAGENT.html#ga86f153582f6e48986aaac82efcb064ae">oval_agent_resolve_variables</a>(<span class="keyword">struct</span> <a class="code" href="structoval__agent__session.html">oval_agent_session</a> * session, <span class="keyword">struct</span> xccdf_value_binding_iterator *it);</div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div> <div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div> <div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">bool</span> <a class="code" href="group__OVALAGENT.html#gaeee658b7aee3ba20b274248ec024eefc">xccdf_policy_model_register_engine_oval</a>(<span class="keyword">struct</span> <a class="code" href="structxccdf__policy__model.html">xccdf_policy_model</a> * model, <span class="keyword">struct</span> <a class="code" href="structoval__agent__session.html">oval_agent_session</a> * sess);</div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div> <div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <a class="code" href="group__COMMON.html#ga87ad87a49af7d966b9a966e0fa260bc1">OSCAP_DEPRECATED</a>(<span class="keywordtype">void</span> <a class="code" href="group__OVALAGENT.html#gacd87da61a584f365001a6a9a1f4a5c13">oval_agent_export_sysinfo_to_xccdf_result</a>(<span class="keyword">struct</span> <a class="code" href="structoval__agent__session.html">oval_agent_session</a> * session, <span class="keyword">struct</span> <a class="code" href="structxccdf__result.html">xccdf_result</a> * ritem));</div> <div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div> <div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor">#endif </span></div> <div class="ttc" id="structoval__agent__session_html"><div class="ttname"><a href="structoval__agent__session.html">oval_agent_session</a></div><div class="ttdef"><b>Definition:</b> oval_agent.c:53</div></div> <div class="ttc" id="oscap_8h_html"><div class="ttname"><a href="oscap_8h.html">oscap.h</a></div><div class="ttdoc">General OpenScap functions and types. </div></div> <div class="ttc" id="xccdf__policy_8h_html"><div class="ttname"><a href="xccdf__policy_8h.html">xccdf_policy.h</a></div><div class="ttdoc">Open-scap XCCDF Policy library interface. </div></div> <div class="ttc" id="group__COMMON_html_ga87ad87a49af7d966b9a966e0fa260bc1"><div class="ttname"><a href="group__COMMON.html#ga87ad87a49af7d966b9a966e0fa260bc1">OSCAP_DEPRECATED</a></div><div class="ttdeci">#define OSCAP_DEPRECATED(func)</div><div class="ttdoc">This macro will warn, when a deprecated function is used. </div><div class="ttdef"><b>Definition:</b> oscap.h:50</div></div> <div class="ttc" id="group__OVALAGENT_html_gacd87da61a584f365001a6a9a1f4a5c13"><div class="ttname"><a href="group__OVALAGENT.html#gacd87da61a584f365001a6a9a1f4a5c13">oval_agent_export_sysinfo_to_xccdf_result</a></div><div class="ttdeci">void oval_agent_export_sysinfo_to_xccdf_result(struct oval_agent_session *session, struct xccdf_result *ritem)</div><div class="ttdef"><b>Definition:</b> oval_agent.c:601</div></div> <div class="ttc" id="structxccdf__check__import__iterator_html"><div class="ttname"><a href="structxccdf__check__import__iterator.html">xccdf_check_import_iterator</a></div><div class="ttdoc">Check import iterator. </div><div class="ttdef"><b>Definition:</b> xccdf_benchmark.h:529</div></div> <div class="ttc" id="group__OVALAGENT_html_gaac9da992a174551ba8b76d647ebd6032"><div class="ttname"><a href="group__OVALAGENT.html#gaac9da992a174551ba8b76d647ebd6032">oval_agent_eval_rule</a></div><div class="ttdeci">xccdf_test_result_type_t oval_agent_eval_rule(struct xccdf_policy *policy, const char *rule_id, const char *id, const char *href, struct xccdf_value_binding_iterator *it, struct xccdf_check_import_iterator *check_import_it, void *usr)</div><div class="ttdoc">Internal OVAL Agent Callback that can be used to evaluate XCCDF content. </div><div class="ttdef"><b>Definition:</b> oval_agent.c:543</div></div> <div class="ttc" id="structxccdf__policy__model_html"><div class="ttname"><a href="structxccdf__policy__model.html">xccdf_policy_model</a></div><div class="ttdoc">XCCDF policy model structure contains xccdf_benchmark as reference to Benchmark element in XML file a...</div><div class="ttdef"><b>Definition:</b> xccdf_policy.c:58</div></div> <div class="ttc" id="structxccdf__result_html"><div class="ttname"><a href="structxccdf__result.html">xccdf_result</a></div><div class="ttdoc">Actual results of running a XCCDF test or profile. </div><div class="ttdef"><b>Definition:</b> xccdf_benchmark.h:222</div></div> <div class="ttc" id="group__XCCDF_html_gabf34f4480799efc8e1af5f4706d2666d"><div class="ttname"><a href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a></div><div class="ttdeci">xccdf_test_result_type_t</div><div class="ttdoc">Test result. </div><div class="ttdef"><b>Definition:</b> xccdf_benchmark.h:167</div></div> <div class="ttc" id="oval__agent__api_8h_html"><div class="ttname"><a href="oval__agent__api_8h.html">oval_agent_api.h</a></div></div> <div class="ttc" id="group__OVALAGENT_html_ga86f153582f6e48986aaac82efcb064ae"><div class="ttname"><a href="group__OVALAGENT.html#ga86f153582f6e48986aaac82efcb064ae">oval_agent_resolve_variables</a></div><div class="ttdeci">int oval_agent_resolve_variables(struct oval_agent_session *session, struct xccdf_value_binding_iterator *it)</div><div class="ttdoc">Resolve variables from XCCDF Value Bindings and set their values to OVAL Variables. </div><div class="ttdef"><b>Definition:</b> oval_agent.c:467</div></div> <div class="ttc" id="structxccdf__policy_html"><div class="ttname"><a href="structxccdf__policy.html">xccdf_policy</a></div><div class="ttdoc">XCCDF policy structure is abstract (class) structure of Profile element from benchmark. </div><div class="ttdef"><b>Definition:</b> xccdf_policy.c:83</div></div> <div class="ttc" id="group__OVALAGENT_html_gaa4616a7375ac4a91ee293d69a5c30481"><div class="ttname"><a href="group__OVALAGENT.html#gaa4616a7375ac4a91ee293d69a5c30481">xccdf_policy_eval_rule_cb_t</a></div><div class="ttdeci">xccdf_test_result_type_t( xccdf_policy_eval_rule_cb_t)(struct xccdf_policy *policy, const char *rule_id, const char *id, struct xccdf_value_binding_iterator *it, void *usr)</div><div class="ttdef"><b>Definition:</b> oval_agent_xccdf_api.h:52</div></div> <div class="ttc" id="group__OVALAGENT_html_gaeee658b7aee3ba20b274248ec024eefc"><div class="ttname"><a href="group__OVALAGENT.html#gaeee658b7aee3ba20b274248ec024eefc">xccdf_policy_model::xccdf_policy_model_register_engine_oval</a></div><div class="ttdeci">bool xccdf_policy_model_register_engine_oval(struct xccdf_policy_model *model, struct oval_agent_session *sess)</div><div class="ttdoc">Function to register predefined oval callback for XCCDF evaluation proccess. </div><div class="ttdef"><b>Definition:</b> oval_agent.c:594</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> </body> </html>