Sophie

Sophie

distrib > Fedora > 17 > i386 > by-pkgid > ec8e217d4486ff9ba16b8bc2d8ec8602 > files > 242

openscap-devel-0.9.7-1.fc17.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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Open SCAP Library: OVAL Agent</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.1.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#files">Files</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">OVAL Agent</div>  </div>
<div class="ingroups"><a class="el" href="group__OVAL.html">OVAL</a></div></div><!--header-->
<div class="contents">

<p>OVAL Agent interface.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:oval__agent__api_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="oval__agent__api_8h.html">oval_agent_api.h</a></td></tr>
<tr class="memitem:oval__agent__xccdf__api_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="oval__agent__xccdf__api_8h.html">oval_agent_xccdf_api.h</a></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga7c852f3681ee4aaf6d372facf2e8c016"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7c852f3681ee4aaf6d372facf2e8c016"></a>
typedef struct <a class="el" href="structoval__agent__session.html">oval_agent_session</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a></td></tr>
<tr class="memdesc:ga7c852f3681ee4aaf6d372facf2e8c016"><td class="mdescLeft">&#160;</td><td class="mdescRight">Agent session consists of connection to system checking engine, definition model, system characteristics model and results model. <br/></td></tr>
<tr class="memitem:ga24d36c3c4be540ce08253abb69c4b842"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga24d36c3c4be540ce08253abb69c4b842"></a>
typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><b>agent_reporter</b> )(const struct <a class="el" href="structoval__result__definition.html">oval_result_definition</a> *res_def, void *arg)</td></tr>
<tr class="memitem:gaa4616a7375ac4a91ee293d69a5c30481"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a>(&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#gaa4616a7375ac4a91ee293d69a5c30481">xccdf_policy_eval_rule_cb_t</a> )(struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, const char *rule_id, const char *id, struct xccdf_value_binding_iterator *it, void *usr)</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga363376feb3dc45839611dbf7ae149934"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#ga363376feb3dc45839611dbf7ae149934">oval_agent_new_session</a> (struct <a class="el" href="structoval__definition__model.html">oval_definition_model</a> *model, const char *name)</td></tr>
<tr class="memdesc:ga363376feb3dc45839611dbf7ae149934"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new session for OVAL agent from OVAL definition model.  <a href="#ga363376feb3dc45839611dbf7ae149934"></a><br/></td></tr>
<tr class="memitem:ga5356ae518e8f7944d7c4e4a4d6320c79"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5356ae518e8f7944d7c4e4a4d6320c79"></a>
struct <a class="el" href="structoval__definition__model.html">oval_definition_model</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#ga5356ae518e8f7944d7c4e4a4d6320c79">oval_agent_get_definition_model</a> (<a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *ag_sess)</td></tr>
<tr class="memdesc:ga5356ae518e8f7944d7c4e4a4d6320c79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves OVAL definition model associated with given session. <br/></td></tr>
<tr class="memitem:ga4c6cd8133b213a14271d61c1058801c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#ga4c6cd8133b213a14271d61c1058801c8">oval_agent_set_product_name</a> (<a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *, char *)</td></tr>
<tr class="memdesc:ga4c6cd8133b213a14271d61c1058801c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a product name for the provided agent session.  <a href="#ga4c6cd8133b213a14271d61c1058801c8"></a><br/></td></tr>
<tr class="memitem:gaf73eb2fb4162b9293f166ea02dd889ab"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#gaf73eb2fb4162b9293f166ea02dd889ab">oval_agent_eval_definition</a> (<a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *, const char *)</td></tr>
<tr class="memdesc:gaf73eb2fb4162b9293f166ea02dd889ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Probe the system and evaluate specified definition.  <a href="#gaf73eb2fb4162b9293f166ea02dd889ab"></a><br/></td></tr>
<tr class="memitem:ga9a88f1166593f63aa0f7cdc080685c1d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#ga9a88f1166593f63aa0f7cdc080685c1d">oval_agent_get_definition_result</a> (<a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *, const char *, <a class="el" href="group__OVALRES.html#ga585abe0825db03426e1994ba335dc4bf">oval_result_t</a> *)</td></tr>
<tr class="memdesc:ga9a88f1166593f63aa0f7cdc080685c1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the OVAL result of a definition from an agent session.  <a href="#ga9a88f1166593f63aa0f7cdc080685c1d"></a><br/></td></tr>
<tr class="memitem:ga59b66b81fe4d2aedfe1255420fab709a"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structoval__result__definition.html">oval_result_definition</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#ga59b66b81fe4d2aedfe1255420fab709a">oval_agent_get_result_definition</a> (<a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *ag_sess, const char *id)</td></tr>
<tr class="memdesc:ga59b66b81fe4d2aedfe1255420fab709a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the OVAL result definition from an agent session.  <a href="#ga59b66b81fe4d2aedfe1255420fab709a"></a><br/></td></tr>
<tr class="memitem:ga1b0b775e52aff1452ff4423f897c5825"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1b0b775e52aff1452ff4423f897c5825"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#ga1b0b775e52aff1452ff4423f897c5825">oval_agent_reset_session</a> (<a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *ag_sess)</td></tr>
<tr class="memdesc:ga1b0b775e52aff1452ff4423f897c5825"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean resuls that were generated in this agent session. <br/></td></tr>
<tr class="memitem:ga7b465c077aa0ade17135dc1826b4465c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7b465c077aa0ade17135dc1826b4465c"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#ga7b465c077aa0ade17135dc1826b4465c">oval_agent_abort_session</a> (<a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *ag_sess)</td></tr>
<tr class="memdesc:ga7b465c077aa0ade17135dc1826b4465c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort a running probe session. <br/></td></tr>
<tr class="memitem:ga4e56e46262872dea08c12cf9fdf10d74"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#ga4e56e46262872dea08c12cf9fdf10d74">oval_agent_eval_system</a> (<a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *ag_sess, agent_reporter cb, void *arg)</td></tr>
<tr class="memdesc:ga4e56e46262872dea08c12cf9fdf10d74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Probe and evaluate all definitions from the content, call the callback functions upon single evaluation.  <a href="#ga4e56e46262872dea08c12cf9fdf10d74"></a><br/></td></tr>
<tr class="memitem:ga46b7afeb2b281141e4722f219a7a438a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga46b7afeb2b281141e4722f219a7a438a"></a>
struct <a class="el" href="structoval__results__model.html">oval_results_model</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#ga46b7afeb2b281141e4722f219a7a438a">oval_agent_get_results_model</a> (<a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *ag_sess)</td></tr>
<tr class="memdesc:ga46b7afeb2b281141e4722f219a7a438a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a result model from agent session. <br/></td></tr>
<tr class="memitem:ga891f69cec678e572518603f482e54877"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga891f69cec678e572518603f482e54877"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#ga891f69cec678e572518603f482e54877">oval_agent_get_filename</a> (<a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *ag_sess)</td></tr>
<tr class="memdesc:ga891f69cec678e572518603f482e54877"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a filename under which was created. <br/></td></tr>
<tr class="memitem:ga301f466948c1844837208f917b3e2025"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga301f466948c1844837208f917b3e2025"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#ga301f466948c1844837208f917b3e2025">oval_agent_destroy_session</a> (<a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *ag_sess)</td></tr>
<tr class="memdesc:ga301f466948c1844837208f917b3e2025"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finish OVAL agent session. <br/></td></tr>
<tr class="memitem:gaac9da992a174551ba8b76d647ebd6032"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#gaac9da992a174551ba8b76d647ebd6032">oval_agent_eval_rule</a> (struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, const char *rule_id, const char *id, const char *href, struct xccdf_value_binding_iterator *it, struct <a class="el" href="structxccdf__check__import__iterator.html">xccdf_check_import_iterator</a> *check_import_it, void *usr)</td></tr>
<tr class="memdesc:gaac9da992a174551ba8b76d647ebd6032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal OVAL Agent Callback that can be used to evaluate XCCDF content.  <a href="#gaac9da992a174551ba8b76d647ebd6032"></a><br/></td></tr>
<tr class="memitem:ga86f153582f6e48986aaac82efcb064ae"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#ga86f153582f6e48986aaac82efcb064ae">oval_agent_resolve_variables</a> (struct <a class="el" href="structoval__agent__session.html">oval_agent_session</a> *session, struct xccdf_value_binding_iterator *it)</td></tr>
<tr class="memdesc:ga86f153582f6e48986aaac82efcb064ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolve variables from XCCDF Value Bindings and set their values to OVAL Variables.  <a href="#ga86f153582f6e48986aaac82efcb064ae"></a><br/></td></tr>
<tr class="memitem:gacd87da61a584f365001a6a9a1f4a5c13"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#gacd87da61a584f365001a6a9a1f4a5c13">oval_agent_export_sysinfo_to_xccdf_result</a> (struct <a class="el" href="structoval__agent__session.html">oval_agent_session</a> *session, struct <a class="el" href="structxccdf__result.html">xccdf_result</a> *ritem)</td></tr>
<tr class="memitem:gaeee658b7aee3ba20b274248ec024eefc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__OVALAGENT.html#gaeee658b7aee3ba20b274248ec024eefc">xccdf_policy_model::xccdf_policy_model_register_engine_oval</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model, struct <a class="el" href="structoval__agent__session.html">oval_agent_session</a> *sess)</td></tr>
<tr class="memdesc:gaeee658b7aee3ba20b274248ec024eefc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to register predefined oval callback for XCCDF evaluation proccess.  <a href="#gaeee658b7aee3ba20b274248ec024eefc"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>OVAL Agent interface. </p>
<p>This is a high level API for system probing and OVAL Definition content evaluation. </p>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gaa4616a7375ac4a91ee293d69a5c30481"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a>( xccdf_policy_eval_rule_cb_t)(struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> *policy, const char *rule_id, const char *id, struct xccdf_value_binding_iterator *it, void *usr)</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">policy</td><td>XCCDF Policy that is being evaluated </td></tr>
    <tr><td class="paramname">rule_id</td><td>ID of XCCDF Rule </td></tr>
    <tr><td class="paramname">id</td><td>ID of OVAL definition </td></tr>
    <tr><td class="paramname">it</td><td>XCCDF Value Binding iterator with value bindings </td></tr>
    <tr><td class="paramname">usr</td><td>Void pointer to the user data structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>XCCDF test result type of evaluated rule </dd></dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gaf73eb2fb4162b9293f166ea02dd889ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int oval_agent_eval_definition </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Probe the system and evaluate specified definition. </p>
<dl class="section return"><dt>Returns:</dt><dd>0 on success; -1 error; 1 warning </dd></dl>

</div>
</div>
<a class="anchor" id="gaac9da992a174551ba8b76d647ebd6032"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a> oval_agent_eval_rule </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>rule_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>href</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct xccdf_value_binding_iterator *&#160;</td>
          <td class="paramname"><em>it</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structxccdf__check__import__iterator.html">xccdf_check_import_iterator</a> *&#160;</td>
          <td class="paramname"><em>check_import_it</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>Internal OVAL Agent Callback that can be used to evaluate XCCDF content. </p>
<p>You can either register this function with <a class="el" href="structxccdf__policy.html" title="XCCDF policy structure is abstract (class) structure of Profile element from benchmark.">xccdf_policy</a> (old fashioned way as described in the example bellow). Alternativelly you can use high level function <a class="el" href="group__OVALAGENT.html#gaeee658b7aee3ba20b274248ec024eefc" title="Function to register predefined oval callback for XCCDF evaluation proccess.">xccdf_policy_model_register_engine_oval()</a> (recommended) which will register the oval_engine.</p>
<dl class="section user"><dt>Example</dt><dd>Next example shows common use of this function in evaluation proccess of XCCDF file. </dd></dl>
<dl class="section user"><dt></dt><dd><div class="fragment"><div class="line">    <span class="keyword">struct </span><a class="code" href="structoval__definition__model.html" title="Oval definition model.">oval_definition_model</a> * def_model = <a class="code" href="group__OVALDEF.html#ga2931f8a8454c84703fb4e3e60a6c1552" title="Import the content from the file into an oval_definition_model.">oval_definition_model_import</a>(oval_file);</div>
<div class="line">    <span class="keyword">struct </span><a class="code" href="structxccdf__benchmark.html" title="Top level XCCDF structure containing profiles, rules, values and results.">xccdf_benchmark</a> * benchmark = <a class="code" href="group__XCCDF.html#gad71cc690fef5bceb9aa98bed119288f0" title="Import the content from a specified XML stream into a benchmark.">xccdf_benchmark_import</a>(file);</div>
<div class="line">    <span class="keyword">struct </span><a class="code" 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> * policy_model = <a class="code" href="group__XCCDF__POLICY.html#ga4f8f92790770ff3e12e55f3921b77261" title="Constructor of Policy Model structure.">xccdf_policy_model_new</a>(benchmark);</div>
<div class="line">    <span class="keyword">struct </span><a class="code" href="structoval__agent__session.html">oval_agent_session</a> * sess = <a class="code" href="group__OVALAGENT.html#ga363376feb3dc45839611dbf7ae149934" title="Create new session for OVAL agent from OVAL definition model.">oval_agent_new_session</a>(def_model, <span class="stringliteral">&quot;name-of-file&quot;</span>);</div>
<div class="line">    ...</div>
<div class="line">    <a class="code" href="group__XCCDF__POLICY.html#gaf6d7128afa3d1d0d207bee9a84b3dafa" title="Function to register callback for checking system.">xccdf_policy_model_register_engine_and_query_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#gaac9da992a174551ba8b76d647ebd6032" title="Internal OVAL Agent Callback that can be used to evaluate XCCDF content.">oval_agent_eval_rule</a>, (<span class="keywordtype">void</span> *) sess, NULL);</div>
</div><!-- fragment --> </dd></dl>

</div>
</div>
<a class="anchor" id="ga4e56e46262872dea08c12cf9fdf10d74"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int oval_agent_eval_system </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *&#160;</td>
          <td class="paramname"><em>ag_sess</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">agent_reporter&#160;</td>
          <td class="paramname"><em>cb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Probe and evaluate all definitions from the content, call the callback functions upon single evaluation. </p>
<dl class="section return"><dt>Returns:</dt><dd>0 on success; -1 error; 1 warning </dd></dl>

</div>
</div>
<a class="anchor" id="gacd87da61a584f365001a6a9a1f4a5c13"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void oval_agent_export_sysinfo_to_xccdf_result </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structoval__agent__session.html">oval_agent_session</a> *&#160;</td>
          <td class="paramname"><em>session</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>ritem</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Transform OVAL Sysinfo into XCCDF Test Result This function has been deprecated, please use <a class="el" href="group__XCCDF.html#gac9c058475045c84eb007c7ec080b6cff">xccdf_result_fill_sysinfo()</a> instead</dd></dl>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">session</td><td>OVAL Agent session </td></tr>
    <tr><td class="paramname">ritem</td><td>XCCDF Result </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga9a88f1166593f63aa0f7cdc080685c1d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int oval_agent_get_definition_result </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__OVALRES.html#ga585abe0825db03426e1994ba335dc4bf">oval_result_t</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>Get the OVAL result of a definition from an agent session. </p>
<dl class="section return"><dt>Returns:</dt><dd>0 on success; -1 error </dd></dl>

</div>
</div>
<a class="anchor" id="ga59b66b81fe4d2aedfe1255420fab709a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structoval__result__definition.html">oval_result_definition</a>* oval_agent_get_result_definition </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *&#160;</td>
          <td class="paramname"><em>ag_sess</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the OVAL result definition from an agent session. </p>
<dl class="section return"><dt>Returns:</dt><dd>NULL if not found </dd></dl>

</div>
</div>
<a class="anchor" id="ga363376feb3dc45839611dbf7ae149934"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a>* oval_agent_new_session </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structoval__definition__model.html">oval_definition_model</a> *&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create new session for OVAL agent from OVAL definition model. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">model</td><td>OVAL Definition model </td></tr>
    <tr><td class="paramname">name</td><td>Name of file that can be referenced from XCCDF Benchmark </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga86f153582f6e48986aaac82efcb064ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int oval_agent_resolve_variables </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structoval__agent__session.html">oval_agent_session</a> *&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct xccdf_value_binding_iterator *&#160;</td>
          <td class="paramname"><em>it</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resolve variables from XCCDF Value Bindings and set their values to OVAL Variables. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">session</td><td>OVAL Agent Session </td></tr>
    <tr><td class="paramname">it</td><td>XCCDF Value Bindng iterator </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>0 if resolving pass </dd></dl>
<dl class="section user"><dt>Example</dt><dd>Example in <a class="el" href="oval__agent_8c.html" title="Open Vulnerability and Assessment Language.">oval_agent.c</a> in function oval_agent_eval_rule </dd></dl>

</div>
</div>
<a class="anchor" id="ga4c6cd8133b213a14271d61c1058801c8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void oval_agent_set_product_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__OVALAGENT.html#ga7c852f3681ee4aaf6d372facf2e8c016">oval_agent_session_t</a> *&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set a product name for the provided agent session. </p>
<p>The product name should be used for all newly created OVAL documents. If there already are some models in the session, they are modified as well. </p>

</div>
</div>
<a class="anchor" id="gaeee658b7aee3ba20b274248ec024eefc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool xccdf_policy_model_register_engine_oval </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="structoval__agent__session.html">oval_agent_session</a> *&#160;</td>
          <td class="paramname"><em>sess</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to register predefined oval callback for XCCDF evaluation proccess. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">model</td><td>XCCDF Policy Model </td></tr>
    <tr><td class="paramname">sess</td><td>oval_agent_session_t parameter for passing session data to callback</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>true if callback registered succesfully, false otherwise </dd></dl>

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