<!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: sce_engine.c File Reference</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 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_2907eb5268f8c7a51da22eaa0a32e043.html">SCE</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">sce_engine.c File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Script Check Engine. <a href="#details">More...</a></p> <div class="textblock"><code>#include "<a class="el" href="alloc_8h_source.html">common/alloc.h</a>"</code><br/> <code>#include "common/_error.h"</code><br/> <code>#include "common/util.h"</code><br/> <code>#include "common/list.h"</code><br/> <code>#include "common/oscap_acquire.h"</code><br/> <code>#include "sce_engine_api.h"</code><br/> <code>#include <stdlib.h></code><br/> <code>#include <string.h></code><br/> <code>#include <stdio.h></code><br/> <code>#include <wait.h></code><br/> <code>#include <unistd.h></code><br/> <code>#include <sys/stat.h></code><br/> <code>#include <assert.h></code><br/> <code>#include <fcntl.h></code><br/> <code>#include <sys/types.h></code><br/> <code>#include <limits.h></code><br/> </div><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsce__check__result.html">sce_check_result</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsce__session.html">sce_session</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structsce__parameters.html">sce_parameters</a></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:a0fa4a38d258cd3251e899f6f7a22a283"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0fa4a38d258cd3251e899f6f7a22a283"></a> struct <a class="el" href="structsce__check__result.html">sce_check_result</a> * </td><td class="memItemRight" valign="bottom"><b>sce_check_result_new</b> (void)</td></tr> <tr class="memitem:a9711d43e30605274b6346aaa55be867c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9711d43e30605274b6346aaa55be867c"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_check_result_free</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v)</td></tr> <tr class="memitem:ad0f2c197d7871a868996d5b336b5a31c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad0f2c197d7871a868996d5b336b5a31c"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_check_result_set_href</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v, const char *href)</td></tr> <tr class="memitem:a55011828c56d580cf51a4583192a6dfb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55011828c56d580cf51a4583192a6dfb"></a> const char * </td><td class="memItemRight" valign="bottom"><b>sce_check_result_get_href</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v)</td></tr> <tr class="memitem:adb69060661a080b94b43561d4f359e8f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb69060661a080b94b43561d4f359e8f"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_check_result_set_basename</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v, const char *base_name)</td></tr> <tr class="memitem:ab6c722b5ab94a55c85a9e4fdf91fa8cd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6c722b5ab94a55c85a9e4fdf91fa8cd"></a> const char * </td><td class="memItemRight" valign="bottom"><b>sce_check_result_get_basename</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v)</td></tr> <tr class="memitem:a61958cd3c3b91fe3d1a4c9be225eecac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61958cd3c3b91fe3d1a4c9be225eecac"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_check_result_set_stdout</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v, const char *_stdout)</td></tr> <tr class="memitem:af14e5edc2b775185f2dcd663e5564266"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af14e5edc2b775185f2dcd663e5564266"></a> const char * </td><td class="memItemRight" valign="bottom"><b>sce_check_result_get_stdout</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v)</td></tr> <tr class="memitem:a92496bb53bf6de30b7f5daac054bea46"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92496bb53bf6de30b7f5daac054bea46"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_check_result_set_exit_code</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v, int exit_code)</td></tr> <tr class="memitem:ad8e2b97a9c8b580bacd553d4b8f956f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8e2b97a9c8b580bacd553d4b8f956f8"></a> int </td><td class="memItemRight" valign="bottom"><b>sce_check_result_get_exit_code</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v)</td></tr> <tr class="memitem:a527899bc859f036c7fa9788af378d585"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a527899bc859f036c7fa9788af378d585"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_check_result_reset_environment_variables</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v)</td></tr> <tr class="memitem:a25cb6feea6c0173dc485936481c9d6a0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25cb6feea6c0173dc485936481c9d6a0"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_check_result_add_environment_variable</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v, const char *var)</td></tr> <tr class="memitem:a9dacd04a46932e19506a664ab0352301"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9dacd04a46932e19506a664ab0352301"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_check_result_set_xccdf_result</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v, <a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a> result)</td></tr> <tr class="memitem:a24edb08e998770a748fc31f76a440698"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24edb08e998770a748fc31f76a440698"></a> <a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a> </td><td class="memItemRight" valign="bottom"><b>sce_check_result_get_xccdf_result</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v)</td></tr> <tr class="memitem:afad4a0ba0f1226aff6fb6308676b36fe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afad4a0ba0f1226aff6fb6308676b36fe"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_check_result_export</b> (struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *v, const char *target_file)</td></tr> <tr class="memitem:a47194dd5f0baf71a426db5f05990e59a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47194dd5f0baf71a426db5f05990e59a"></a> struct <a class="el" href="structsce__session.html">sce_session</a> * </td><td class="memItemRight" valign="bottom"><b>sce_session_new</b> (void)</td></tr> <tr class="memitem:ae241165949735afb9251633102f43f58"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae241165949735afb9251633102f43f58"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_session_free</b> (struct <a class="el" href="structsce__session.html">sce_session</a> *s)</td></tr> <tr class="memitem:a553444b33672a5d3c39591cdcc1f9195"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a553444b33672a5d3c39591cdcc1f9195"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_session_reset</b> (struct <a class="el" href="structsce__session.html">sce_session</a> *s)</td></tr> <tr class="memitem:a327a938787f38714ff6d12f619ee1874"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a327a938787f38714ff6d12f619ee1874"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_session_add_check_result</b> (struct <a class="el" href="structsce__session.html">sce_session</a> *s, struct <a class="el" href="structsce__check__result.html">sce_check_result</a> *result)</td></tr> <tr class="memitem:a6887c297f6e724805045c93890f0e63d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6887c297f6e724805045c93890f0e63d"></a> struct <a class="el" href="structsce__check__result__iterator.html">sce_check_result_iterator</a> * </td><td class="memItemRight" valign="bottom"><b>sce_session_get_check_results</b> (struct <a class="el" href="structsce__session.html">sce_session</a> *s)</td></tr> <tr class="memitem:a9966a6b220d510e39fd9a4bb21971e21"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9966a6b220d510e39fd9a4bb21971e21"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_session_export_to_directory</b> (struct <a class="el" href="structsce__session.html">sce_session</a> *s, const char *directory)</td></tr> <tr class="memitem:a86e2a65d3afa7859cdf7f0efb9bc97cf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86e2a65d3afa7859cdf7f0efb9bc97cf"></a> struct <a class="el" href="structsce__parameters.html">sce_parameters</a> * </td><td class="memItemRight" valign="bottom"><b>sce_parameters_new</b> (void)</td></tr> <tr class="memitem:ad12e9d285b78c02860bb89cc0ebc0571"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad12e9d285b78c02860bb89cc0ebc0571"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_parameters_free</b> (struct <a class="el" href="structsce__parameters.html">sce_parameters</a> *v)</td></tr> <tr class="memitem:ac6c9b3ab187953ae81ae4b00556b9125"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6c9b3ab187953ae81ae4b00556b9125"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="sce__engine_8c.html#ac6c9b3ab187953ae81ae4b00556b9125">sce_parameters_set_xccdf_directory</a> (struct <a class="el" href="structsce__parameters.html">sce_parameters</a> *v, const char *value)</td></tr> <tr class="memdesc:ac6c9b3ab187953ae81ae4b00556b9125"><td class="mdescLeft"> </td><td class="mdescRight">Sets the directory that contains XCCDF that will reference SCE checks. <br/></td></tr> <tr class="memitem:a8b363aaa232c415e220a790ae1925f5d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b363aaa232c415e220a790ae1925f5d"></a> const char * </td><td class="memItemRight" valign="bottom"><b>sce_parameters_get_xccdf_directory</b> (struct <a class="el" href="structsce__parameters.html">sce_parameters</a> *v)</td></tr> <tr class="memitem:a0bec050a547eea417413ca79e9f7be4f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bec050a547eea417413ca79e9f7be4f"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_parameters_set_session</b> (struct <a class="el" href="structsce__parameters.html">sce_parameters</a> *v, struct <a class="el" href="structsce__session.html">sce_session</a> *value)</td></tr> <tr class="memitem:acc505fe0792b7f65b90e471500e274e2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc505fe0792b7f65b90e471500e274e2"></a> struct <a class="el" href="structsce__session.html">sce_session</a> * </td><td class="memItemRight" valign="bottom"><b>sce_parameters_get_session</b> (struct <a class="el" href="structsce__parameters.html">sce_parameters</a> *v)</td></tr> <tr class="memitem:ae128122f59b8601b5bf13cdfc721c32d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae128122f59b8601b5bf13cdfc721c32d"></a> void </td><td class="memItemRight" valign="bottom"><b>sce_parameters_allocate_session</b> (struct <a class="el" href="structsce__parameters.html">sce_parameters</a> *v)</td></tr> <tr class="memitem:a7eaa38ae1537cb73c92e1c8536918718"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__XCCDF.html#gabf34f4480799efc8e1af5f4706d2666d">xccdf_test_result_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="sce__engine_8c.html#a7eaa38ae1537cb73c92e1c8536918718">sce_engine_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 *value_binding_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:a7eaa38ae1537cb73c92e1c8536918718"><td class="mdescLeft"> </td><td class="mdescRight">Internal rule evaluation callback, don't use directly. <a href="#a7eaa38ae1537cb73c92e1c8536918718"></a><br/></td></tr> <tr class="memitem:a0047795f7ba3cb1aaa64044c4449027e"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="sce__engine_8c.html#a0047795f7ba3cb1aaa64044c4449027e">xccdf_policy_model_register_engine_sce</a> (struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> *model, struct <a class="el" href="structsce__parameters.html">sce_parameters</a> *parameters)</td></tr> <tr class="memdesc:a0047795f7ba3cb1aaa64044c4449027e"><td class="mdescLeft"> </td><td class="mdescRight">Registers SCE to given policy model. <a href="#a0047795f7ba3cb1aaa64044c4449027e"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Script Check Engine. </p> </div><hr/><h2>Function Documentation</h2> <a class="anchor" id="a7eaa38ae1537cb73c92e1c8536918718"></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> sce_engine_eval_rule </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structxccdf__policy.html">xccdf_policy</a> * </td> <td class="paramname"><em>policy</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>rule_id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>href</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct xccdf_value_binding_iterator * </td> <td class="paramname"><em>value_binding_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> * </td> <td class="paramname"><em>check_import_it</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>usr</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Internal rule evaluation callback, don't use directly. </p> <dl class="section see"><dt>See also:</dt><dd><a class="el" href="sce__engine_8c.html#a0047795f7ba3cb1aaa64044c4449027e" title="Registers SCE to given policy model.">xccdf_policy_model_register_engine_sce</a> </dd></dl> </div> </div> <a class="anchor" id="a0047795f7ba3cb1aaa64044c4449027e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool xccdf_policy_model_register_engine_sce </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structxccdf__policy__model.html">xccdf_policy_model</a> * </td> <td class="paramname"><em>model</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structsce__parameters.html">sce_parameters</a> * </td> <td class="paramname"><em>sce_parameters</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Registers SCE to given policy model. </p> <dl class="params"><dt>Parameters:</dt><dd> <table class="params"> <tr><td class="paramname">model</td><td>model to register SCE to </td></tr> <tr><td class="paramname"><a class="el" href="structsce__parameters.html">sce_parameters</a></td><td>various parameters to be used with SCE (you are responsible to deallocate them!) </td></tr> </table> </dd> </dl> </div> </div> </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.1.1 </small></address> </body> </html>