| Current File : //usr/share/docs/openscap/html/group__cpelang.html |
<!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.9.1"/>
<title>Open SCAP Library: CPE Language</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</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.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<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><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#files">Files</a> |
<a href="#nested-classes">Data Structures</a> |
<a href="#enum-members">Enumerations</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">CPE Language<div class="ingroups"><a class="el" href="group__CPE.html">CPE</a></div></div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:cpe__lang_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="cpe__lang_8h.html">cpe_lang.h</a></td></tr>
<tr class="memdesc:cpe__lang_8h"><td class="mdescLeft"> </td><td class="mdescRight">Interface to Common Platform Enumeration (CPE) Language. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><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="structcpe__lang__model.html">cpe_lang_model</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPE platform specification. <a href="structcpe__lang__model.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcpe__platform.html">cpe_platform</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Single platform representation in CPE language. <a href="structcpe__platform.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcpe__testexpr.html">cpe_testexpr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">CPE language boolean expression. <a href="structcpe__testexpr.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Iterator over CPE dictionary items. <a href="structcpe__platform__iterator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcpe__testexpr__iterator.html">cpe_testexpr_iterator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Iterator over CPE language expressions. <a href="structcpe__testexpr__iterator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gacbb2c8c91d3bb516182bb64c6d8f7d82"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gacbb2c8c91d3bb516182bb64c6d8f7d82">cpe_lang_oper_t</a> { <br />
  <a class="el" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82aff8e856890304becc49a2d20226384c9">CPE_LANG_OPER_INVALID</a> = 0x00,
<a class="el" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a5f771b20c70ee0e33634122b911a7aac">CPE_LANG_OPER_AND</a> = 0x01,
<a class="el" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a9dd5489d930d04d6abf1764da5e45a5c">CPE_LANG_OPER_OR</a> = 0x02,
<a class="el" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a6780963744226db651cbceb998302a6d">CPE_LANG_OPER_MATCH</a> = 0x04,
<br />
  <a class="el" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a3ced9cb36d0d1f4b2ee1a85e9c42da6f">CPE_LANG_OPER_CHECK</a> = 0x08,
<a class="el" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a40fe8d6616363046111b48e04aaf47fa">CPE_LANG_OPER_MASK</a> = 0xFF,
<a class="el" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a77cd2c7e835b07adc60002de1c041b4f">CPE_LANG_OPER_NOT</a> = 0x100,
<b>CPE_LANG_OPER_NAND</b> = CPE_LANG_OPER_AND | CPE_LANG_OPER_NOT,
<br />
  <b>CPE_LANG_OPER_NOR</b> = CPE_LANG_OPER_OR | CPE_LANG_OPER_NOT
<br />
}</td></tr>
<tr class="memdesc:gacbb2c8c91d3bb516182bb64c6d8f7d82"><td class="mdescLeft"> </td><td class="mdescRight">CPE language operators. <a href="group__cpelang.html#gacbb2c8c91d3bb516182bb64c6d8f7d82">More...</a><br /></td></tr>
<tr class="separator:gacbb2c8c91d3bb516182bb64c6d8f7d82"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaa1486cdd1e78378386223eb75112ef5b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gaa1486cdd1e78378386223eb75112ef5b">cpe_lang_model_set_origin_file</a> (struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *lang_model, const char *origin_file)</td></tr>
<tr class="memdesc:gaa1486cdd1e78378386223eb75112ef5b"><td class="mdescLeft"> </td><td class="mdescRight">Sets the origin file hint. <a href="#gaa1486cdd1e78378386223eb75112ef5b">More...</a><br /></td></tr>
<tr class="separator:gaa1486cdd1e78378386223eb75112ef5b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga627c9092bd37510bf4d0854816a2deed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga627c9092bd37510bf4d0854816a2deed"></a>
const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga627c9092bd37510bf4d0854816a2deed">cpe_lang_model_get_origin_file</a> (const struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *lang_model)</td></tr>
<tr class="memdesc:ga627c9092bd37510bf4d0854816a2deed"><td class="mdescLeft"> </td><td class="mdescRight">Gets the file the CPE dict model was loaded from. <br /></td></tr>
<tr class="separator:ga627c9092bd37510bf4d0854816a2deed"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaf7011b78669b32e52036b3923878e831"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gaf7011b78669b32e52036b3923878e831">cpe_platform_iterator::cpe_platform_iterator_remove</a> (struct <a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a> *it, struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *parent)</td></tr>
<tr class="separator:gaf7011b78669b32e52036b3923878e831"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gac3e04f4f99a03c069f03337a6730c57e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gac3e04f4f99a03c069f03337a6730c57e">cpe_testexpr_iterator::cpe_platform_iterator_reset</a> (struct <a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a> *it)</td></tr>
<tr class="separator:gac3e04f4f99a03c069f03337a6730c57e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gab38c9e5fb94f6cbb806cb02d4d24bf51"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab38c9e5fb94f6cbb806cb02d4d24bf51"></a>
struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gab38c9e5fb94f6cbb806cb02d4d24bf51">cpe_lang_model::cpe_lang_model_new</a> (void)</td></tr>
<tr class="memdesc:gab38c9e5fb94f6cbb806cb02d4d24bf51"><td class="mdescLeft"> </td><td class="mdescRight">Constructor of CPE Language model. <br /></td></tr>
<tr class="separator:gab38c9e5fb94f6cbb806cb02d4d24bf51"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga6de4dc9c0d8171bcb666da7bbae44984"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6de4dc9c0d8171bcb666da7bbae44984"></a>
struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga6de4dc9c0d8171bcb666da7bbae44984">cpe_testexpr::cpe_testexpr_new</a> (void)</td></tr>
<tr class="memdesc:ga6de4dc9c0d8171bcb666da7bbae44984"><td class="mdescLeft"> </td><td class="mdescRight">Constructor of CPE test expression. <br /></td></tr>
<tr class="separator:ga6de4dc9c0d8171bcb666da7bbae44984"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad83641ba4fb292a923b7ff5753b4070d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad83641ba4fb292a923b7ff5753b4070d"></a>
struct <a class="el" href="structcpe__platform.html">cpe_platform</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gad83641ba4fb292a923b7ff5753b4070d">cpe_platform::cpe_platform_new</a> (void)</td></tr>
<tr class="memdesc:gad83641ba4fb292a923b7ff5753b4070d"><td class="mdescLeft"> </td><td class="mdescRight">Constructor of CPE Platform. <br /></td></tr>
<tr class="separator:gad83641ba4fb292a923b7ff5753b4070d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga93e9e2635cf947b57d02d426b7f72500"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga93e9e2635cf947b57d02d426b7f72500">cpe_testexpr::cpe_testexpr_clone</a> (struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *old_expr)</td></tr>
<tr class="memdesc:ga93e9e2635cf947b57d02d426b7f72500"><td class="mdescLeft"> </td><td class="mdescRight">Clone CPE test expression. <a href="#ga93e9e2635cf947b57d02d426b7f72500">More...</a><br /></td></tr>
<tr class="separator:ga93e9e2635cf947b57d02d426b7f72500"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gac6135bb7df1b4c083e97dcb67f7bfccd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac6135bb7df1b4c083e97dcb67f7bfccd"></a>
void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gac6135bb7df1b4c083e97dcb67f7bfccd">cpe_testexpr::cpe_testexpr_free</a> (struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *expr)</td></tr>
<tr class="memdesc:gac6135bb7df1b4c083e97dcb67f7bfccd"><td class="mdescLeft"> </td><td class="mdescRight">Free function of CPE test expression. <br /></td></tr>
<tr class="separator:gac6135bb7df1b4c083e97dcb67f7bfccd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga26308a02ac14cc1c1c19604c2bab2b8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga26308a02ac14cc1c1c19604c2bab2b8e"></a>
void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga26308a02ac14cc1c1c19604c2bab2b8e">cpe_testexpr::cpe_testexpr_iterator_reset</a> (struct <a class="el" href="structcpe__testexpr__iterator.html">cpe_testexpr_iterator</a> *it)</td></tr>
<tr class="memdesc:ga26308a02ac14cc1c1c19604c2bab2b8e"><td class="mdescLeft"> </td><td class="mdescRight">Reset function of CPE test expression. <br /></td></tr>
<tr class="separator:ga26308a02ac14cc1c1c19604c2bab2b8e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga6a4e8a7210b76078bb6ac8bc9f3be0a7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6a4e8a7210b76078bb6ac8bc9f3be0a7"></a>
void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga6a4e8a7210b76078bb6ac8bc9f3be0a7">cpe_lang_model::cpe_lang_model_free</a> (struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *platformspec)</td></tr>
<tr class="memdesc:ga6a4e8a7210b76078bb6ac8bc9f3be0a7"><td class="mdescLeft"> </td><td class="mdescRight">Free function of CPE test expression. <br /></td></tr>
<tr class="separator:ga6a4e8a7210b76078bb6ac8bc9f3be0a7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga1bcb12e96db31e6b57be749fd5ba3b3e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1bcb12e96db31e6b57be749fd5ba3b3e"></a>
void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga1bcb12e96db31e6b57be749fd5ba3b3e">cpe_platform::cpe_platform_free</a> (struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *platform)</td></tr>
<tr class="memdesc:ga1bcb12e96db31e6b57be749fd5ba3b3e"><td class="mdescLeft"> </td><td class="mdescRight">Free function of CPE Platform. <br /></td></tr>
<tr class="separator:ga1bcb12e96db31e6b57be749fd5ba3b3e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga421b4fec7e3e664a1b7a783d57ad63a2"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga421b4fec7e3e664a1b7a783d57ad63a2">cpe_lang_model::cpe_lang_model_import</a> (const char *file)</td></tr>
<tr class="memdesc:ga421b4fec7e3e664a1b7a783d57ad63a2"><td class="mdescLeft"> </td><td class="mdescRight">Load CPE language model from a XML document. <a href="#ga421b4fec7e3e664a1b7a783d57ad63a2">More...</a><br /></td></tr>
<tr class="separator:ga421b4fec7e3e664a1b7a783d57ad63a2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gae452dd20504849e6a02864b192f7eab2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae452dd20504849e6a02864b192f7eab2"></a>
struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gae452dd20504849e6a02864b192f7eab2">cpe_lang_model::cpe_lang_model_import_source</a> (struct <a class="el" href="structoscap__source.html">oscap_source</a> *source)</td></tr>
<tr class="memdesc:gae452dd20504849e6a02864b192f7eab2"><td class="mdescLeft"> </td><td class="mdescRight">Load CPE language model from an <a class="el" href="structoscap__source.html">oscap_source</a>. <br /></td></tr>
<tr class="separator:gae452dd20504849e6a02864b192f7eab2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga37e588d571ed4de824472cfe28284954"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga37e588d571ed4de824472cfe28284954">cpe_lang_model::cpe_lang_model_export</a> (const struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *spec, const char *file)</td></tr>
<tr class="memdesc:ga37e588d571ed4de824472cfe28284954"><td class="mdescLeft"> </td><td class="mdescRight">Write the lang_model to a file. <a href="#ga37e588d571ed4de824472cfe28284954">More...</a><br /></td></tr>
<tr class="separator:ga37e588d571ed4de824472cfe28284954"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Iterators</h2></td></tr>
<tr class="memitem:gad18be4cfe7be42e8869a3e0e7202532f"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__platform.html">cpe_platform</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gad18be4cfe7be42e8869a3e0e7202532f">cpe_platform_iterator::cpe_platform_iterator_next</a> (struct <a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a> *it)</td></tr>
<tr class="separator:gad18be4cfe7be42e8869a3e0e7202532f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gafe87b5c9308ad0cf4f2e55a73b008b91"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gafe87b5c9308ad0cf4f2e55a73b008b91">cpe_platform_iterator::cpe_platform_iterator_has_more</a> (struct <a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a> *it)</td></tr>
<tr class="separator:gafe87b5c9308ad0cf4f2e55a73b008b91"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gafbcede38295c3ae9cc4c2e568ce3ea26"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gafbcede38295c3ae9cc4c2e568ce3ea26">cpe_platform_iterator::cpe_platform_iterator_free</a> (struct <a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a> *it)</td></tr>
<tr class="separator:gafbcede38295c3ae9cc4c2e568ce3ea26"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gadba17c675fef806a7a97bb9976bbfa6c"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gadba17c675fef806a7a97bb9976bbfa6c">cpe_testexpr_iterator::cpe_testexpr_iterator_next</a> (struct <a class="el" href="structcpe__testexpr__iterator.html">cpe_testexpr_iterator</a> *it)</td></tr>
<tr class="separator:gadba17c675fef806a7a97bb9976bbfa6c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga43c36e2b99f7362081eb2f7a2130cc6f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga43c36e2b99f7362081eb2f7a2130cc6f">cpe_testexpr_iterator::cpe_testexpr_iterator_has_more</a> (struct <a class="el" href="structcpe__testexpr__iterator.html">cpe_testexpr_iterator</a> *it)</td></tr>
<tr class="separator:ga43c36e2b99f7362081eb2f7a2130cc6f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7578274b57a93aebd0f462c779ec20be"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga7578274b57a93aebd0f462c779ec20be">cpe_testexpr_iterator::cpe_testexpr_iterator_free</a> (struct <a class="el" href="structcpe__testexpr__iterator.html">cpe_testexpr_iterator</a> *it)</td></tr>
<tr class="separator:ga7578274b57a93aebd0f462c779ec20be"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><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 class="memitem:ga4016df3687404f37811b7f94c31e26a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4016df3687404f37811b7f94c31e26a4"></a>
<a class="el" href="group__cpelang.html#gacbb2c8c91d3bb516182bb64c6d8f7d82">cpe_lang_oper_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga4016df3687404f37811b7f94c31e26a4">cpe_testexpr::cpe_testexpr_get_oper</a> (const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *item)</td></tr>
<tr class="memdesc:ga4016df3687404f37811b7f94c31e26a4"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structcpe__testexpr.html" title="CPE language boolean expression. ">cpe_testexpr</a> functions to get variable members <br /></td></tr>
<tr class="separator:ga4016df3687404f37811b7f94c31e26a4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga2b7e68ad301e0c45227c7fc9071be2cd"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__testexpr__iterator.html">cpe_testexpr_iterator</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga2b7e68ad301e0c45227c7fc9071be2cd">cpe_testexpr::cpe_testexpr_get_meta_expr</a> (const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *item)</td></tr>
<tr class="memdesc:ga2b7e68ad301e0c45227c7fc9071be2cd"><td class="mdescLeft"> </td><td class="mdescRight">Get CPE expression subexpression. <a href="#ga2b7e68ad301e0c45227c7fc9071be2cd">More...</a><br /></td></tr>
<tr class="separator:ga2b7e68ad301e0c45227c7fc9071be2cd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga25d473c4f54512a43bac96b2dfba545c"><td class="memItemLeft" align="right" valign="top">const struct <a class="el" href="structcpe__name.html">cpe_name</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga25d473c4f54512a43bac96b2dfba545c">cpe_testexpr::cpe_testexpr_get_meta_cpe</a> (const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *item)</td></tr>
<tr class="memdesc:ga25d473c4f54512a43bac96b2dfba545c"><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name to match against. <a href="#ga25d473c4f54512a43bac96b2dfba545c">More...</a><br /></td></tr>
<tr class="separator:ga25d473c4f54512a43bac96b2dfba545c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gadf9b79bc12d745f011219205800e65c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadf9b79bc12d745f011219205800e65c0"></a>
const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gadf9b79bc12d745f011219205800e65c0">cpe_testexpr::cpe_testexpr_get_meta_check_system</a> (const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *item)</td></tr>
<tr class="memdesc:gadf9b79bc12d745f011219205800e65c0"><td class="mdescLeft"> </td><td class="mdescRight">Get check system to evaluate Only valid for CPE_LANG_OPER_CHECK. <br /></td></tr>
<tr class="separator:gadf9b79bc12d745f011219205800e65c0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga5806924aa0ccf4b6de03efe4dd7d86d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5806924aa0ccf4b6de03efe4dd7d86d3"></a>
const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga5806924aa0ccf4b6de03efe4dd7d86d3">cpe_testexpr::cpe_testexpr_get_meta_check_href</a> (const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *item)</td></tr>
<tr class="memdesc:ga5806924aa0ccf4b6de03efe4dd7d86d3"><td class="mdescLeft"> </td><td class="mdescRight">Get check href to evaluate Only valid for CPE_LANG_OPER_CHECK. <br /></td></tr>
<tr class="separator:ga5806924aa0ccf4b6de03efe4dd7d86d3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gae86fc7ba23894699d2c13d13ca215f1d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae86fc7ba23894699d2c13d13ca215f1d"></a>
const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gae86fc7ba23894699d2c13d13ca215f1d">cpe_testexpr::cpe_testexpr_get_meta_check_id</a> (const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *item)</td></tr>
<tr class="memdesc:gae86fc7ba23894699d2c13d13ca215f1d"><td class="mdescLeft"> </td><td class="mdescRight">Get check idref to evaluate Only valid for CPE_LANG_OPER_CHECK. <br /></td></tr>
<tr class="separator:gae86fc7ba23894699d2c13d13ca215f1d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gadd7958c47c3371c2038e9124e82cd640"><td class="memItemLeft" align="right" valign="top">const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gadd7958c47c3371c2038e9124e82cd640">cpe_testexpr::cpe_testexpr_get_next</a> (const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *expr)</td></tr>
<tr class="memdesc:gadd7958c47c3371c2038e9124e82cd640"><td class="mdescLeft"> </td><td class="mdescRight">Function to get next expr from array. <a href="#gadd7958c47c3371c2038e9124e82cd640">More...</a><br /></td></tr>
<tr class="separator:gadd7958c47c3371c2038e9124e82cd640"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaa5e9009c4b979291e110552c8e8a31b1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa5e9009c4b979291e110552c8e8a31b1"></a>
struct <a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gaa5e9009c4b979291e110552c8e8a31b1">cpe_lang_model::cpe_lang_model_get_platforms</a> (const struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *item)</td></tr>
<tr class="memdesc:gaa5e9009c4b979291e110552c8e8a31b1"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structcpe__lang__model.html" title="CPE platform specification. ">cpe_lang_model</a> function to get CPE platforms <br /></td></tr>
<tr class="separator:gaa5e9009c4b979291e110552c8e8a31b1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaccd09354281b8303bbf85eeacf218c6a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaccd09354281b8303bbf85eeacf218c6a"></a>
struct <a class="el" href="structcpe__platform.html">cpe_platform</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gaccd09354281b8303bbf85eeacf218c6a">cpe_lang_model::cpe_lang_model_get_item</a> (const struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *item, const char *key)</td></tr>
<tr class="memdesc:gaccd09354281b8303bbf85eeacf218c6a"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structcpe__lang__model.html" title="CPE platform specification. ">cpe_lang_model</a> function to get CPE platforms <br /></td></tr>
<tr class="separator:gaccd09354281b8303bbf85eeacf218c6a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad72b66c6706c5dbf6d1b5e962416c949"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gad72b66c6706c5dbf6d1b5e962416c949">cpe_lang_model::cpe_platform_applicable_lang_model</a> (const char *platform, struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *lang_model, <a class="el" href="cpe__name_8h.html#a6a067b87517db0fc81f0c8dd1bb39cc5">cpe_check_fn</a> check_cb, <a class="el" href="cpe__name_8h.html#a0e7a67f8b5227ad9df2202986ffae494">cpe_dict_fn</a> dict_cb, void *usr)</td></tr>
<tr class="memdesc:gad72b66c6706c5dbf6d1b5e962416c949"><td class="mdescLeft"> </td><td class="mdescRight">Verify whether given CPE platform idref is applicable by evaluating test expression associated with it. <a href="#gad72b66c6706c5dbf6d1b5e962416c949">More...</a><br /></td></tr>
<tr class="separator:gad72b66c6706c5dbf6d1b5e962416c949"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga8b9494431d8599fe802361433231436d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8b9494431d8599fe802361433231436d"></a>
const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga8b9494431d8599fe802361433231436d">cpe_platform::cpe_platform_get_id</a> (const struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *item)</td></tr>
<tr class="memdesc:ga8b9494431d8599fe802361433231436d"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structcpe__platform.html" title="Single platform representation in CPE language. ">cpe_platform</a> functions to get id <br /></td></tr>
<tr class="separator:ga8b9494431d8599fe802361433231436d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga11161328967d030f8d71608b27415676"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga11161328967d030f8d71608b27415676"></a>
const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga11161328967d030f8d71608b27415676">cpe_platform::cpe_platform_get_remark</a> (const struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *item)</td></tr>
<tr class="memdesc:ga11161328967d030f8d71608b27415676"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structcpe__platform.html" title="Single platform representation in CPE language. ">cpe_platform</a> functions to get remark <br /></td></tr>
<tr class="separator:ga11161328967d030f8d71608b27415676"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7947b222d4920ab6cf0888920cd6d6c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7947b222d4920ab6cf0888920cd6d6c9"></a>
struct <a class="el" href="structoscap__text__iterator.html">oscap_text_iterator</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga7947b222d4920ab6cf0888920cd6d6c9">cpe_platform::cpe_platform_get_titles</a> (const struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *item)</td></tr>
<tr class="memdesc:ga7947b222d4920ab6cf0888920cd6d6c9"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structcpe__platform.html" title="Single platform representation in CPE language. ">cpe_platform</a> functions to get titles <br /></td></tr>
<tr class="separator:ga7947b222d4920ab6cf0888920cd6d6c9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga00e98b8bd11ea72aea47a185a4f7fe03"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga00e98b8bd11ea72aea47a185a4f7fe03"></a>
const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga00e98b8bd11ea72aea47a185a4f7fe03">cpe_platform::cpe_platform_get_expr</a> (const struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *item)</td></tr>
<tr class="memdesc:ga00e98b8bd11ea72aea47a185a4f7fe03"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structcpe__platform.html" title="Single platform representation in CPE language. ">cpe_platform</a> functions to get test expression <br /></td></tr>
<tr class="separator:ga00e98b8bd11ea72aea47a185a4f7fe03"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><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 class="memitem:ga563eeb9702f9c93df5a25998e9a39600"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga563eeb9702f9c93df5a25998e9a39600"></a>
bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga563eeb9702f9c93df5a25998e9a39600">cpe_lang_model::cpe_lang_model_add_platform</a> (struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *lang, struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *platform)</td></tr>
<tr class="memdesc:ga563eeb9702f9c93df5a25998e9a39600"><td class="mdescLeft"> </td><td class="mdescRight">Add platform to CPE lang model. <br /></td></tr>
<tr class="separator:ga563eeb9702f9c93df5a25998e9a39600"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga1fd21792bdcff96d02fc83e90b184ce8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1fd21792bdcff96d02fc83e90b184ce8"></a>
bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga1fd21792bdcff96d02fc83e90b184ce8">cpe_platform::cpe_platform_add_title</a> (struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *platform, struct <a class="el" href="structoscap__text.html">oscap_text</a> *title)</td></tr>
<tr class="memdesc:ga1fd21792bdcff96d02fc83e90b184ce8"><td class="mdescLeft"> </td><td class="mdescRight">Add title to platform. <br /></td></tr>
<tr class="separator:ga1fd21792bdcff96d02fc83e90b184ce8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga0f9cb4770990700bb2828faf397addb3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga0f9cb4770990700bb2828faf397addb3">cpe_testexpr::cpe_testexpr_add_subexpression</a> (struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *expr, struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *sub)</td></tr>
<tr class="memdesc:ga0f9cb4770990700bb2828faf397addb3"><td class="mdescLeft"> </td><td class="mdescRight">Add XML namespace to CPE lang model. <a href="#ga0f9cb4770990700bb2828faf397addb3">More...</a><br /></td></tr>
<tr class="separator:ga0f9cb4770990700bb2828faf397addb3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad59b55938ebbe388218016cb67fbac50"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad59b55938ebbe388218016cb67fbac50"></a>
bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gad59b55938ebbe388218016cb67fbac50">cpe_platform::cpe_platform_set_id</a> (struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *platform, const char *new_id)</td></tr>
<tr class="memdesc:gad59b55938ebbe388218016cb67fbac50"><td class="mdescLeft"> </td><td class="mdescRight">Set ID of CPE platform. <br /></td></tr>
<tr class="separator:gad59b55938ebbe388218016cb67fbac50"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga301685568659041bd2a47c958800ddbc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga301685568659041bd2a47c958800ddbc"></a>
bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga301685568659041bd2a47c958800ddbc">cpe_platform::cpe_platform_set_remark</a> (struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *platform, const char *new_remark)</td></tr>
<tr class="memdesc:ga301685568659041bd2a47c958800ddbc"><td class="mdescLeft"> </td><td class="mdescRight">Set remark of CPE platform. <br /></td></tr>
<tr class="separator:ga301685568659041bd2a47c958800ddbc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaa9bc76ff30e7f9faa4def792404c1a62"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gaa9bc76ff30e7f9faa4def792404c1a62">cpe_platform::cpe_platform_set_expr</a> (struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *platform, struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *expr)</td></tr>
<tr class="memdesc:gaa9bc76ff30e7f9faa4def792404c1a62"><td class="mdescLeft"> </td><td class="mdescRight">Set evaluation expression for this CPE platform. <a href="#gaa9bc76ff30e7f9faa4def792404c1a62">More...</a><br /></td></tr>
<tr class="separator:gaa9bc76ff30e7f9faa4def792404c1a62"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaf5cbbabfe39b2bbd5eebd180d0b3eb68"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gaf5cbbabfe39b2bbd5eebd180d0b3eb68">cpe_testexpr::cpe_testexpr_set_oper</a> (struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *expr, <a class="el" href="group__cpelang.html#gacbb2c8c91d3bb516182bb64c6d8f7d82">cpe_lang_oper_t</a> oper)</td></tr>
<tr class="memdesc:gaf5cbbabfe39b2bbd5eebd180d0b3eb68"><td class="mdescLeft"> </td><td class="mdescRight">Set CPE operation. <a href="#gaf5cbbabfe39b2bbd5eebd180d0b3eb68">More...</a><br /></td></tr>
<tr class="separator:gaf5cbbabfe39b2bbd5eebd180d0b3eb68"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaa95723258aff68c121c25c825852d5c3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gaa95723258aff68c121c25c825852d5c3">cpe_testexpr::cpe_testexpr_set_name</a> (struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *expr, struct <a class="el" href="structcpe__name.html">cpe_name</a> *name)</td></tr>
<tr class="memdesc:gaa95723258aff68c121c25c825852d5c3"><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name. <a href="#gaa95723258aff68c121c25c825852d5c3">More...</a><br /></td></tr>
<tr class="separator:gaa95723258aff68c121c25c825852d5c3"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Evaluators</h2></td></tr>
<tr class="memitem:gabf469c1ab5798bb321e6c89ffb4b6e9d"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gabf469c1ab5798bb321e6c89ffb4b6e9d">cpe_lang_model::cpe_lang_model_supported</a> (void)</td></tr>
<tr class="memdesc:gabf469c1ab5798bb321e6c89ffb4b6e9d"><td class="mdescLeft"> </td><td class="mdescRight">Get supported version of CPE language XML. <a href="#gabf469c1ab5798bb321e6c89ffb4b6e9d">More...</a><br /></td></tr>
<tr class="separator:gabf469c1ab5798bb321e6c89ffb4b6e9d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga4ea26aca1301a1380ffc1e3830d72100"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga4ea26aca1301a1380ffc1e3830d72100">cpe_lang_model::cpe_lang_model_detect_version</a> (const char *file)</td></tr>
<tr class="memdesc:ga4ea26aca1301a1380ffc1e3830d72100"><td class="mdescLeft"> </td><td class="mdescRight">Detect version of given CPE language XML. <a href="#ga4ea26aca1301a1380ffc1e3830d72100">More...</a><br /></td></tr>
<tr class="separator:ga4ea26aca1301a1380ffc1e3830d72100"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga087bb45387925a51ae6be052320327c2"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga087bb45387925a51ae6be052320327c2">cpe_platform::cpe_platform_match_cpe</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> **cpe, size_t n, const struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *platform)</td></tr>
<tr class="memdesc:ga087bb45387925a51ae6be052320327c2"><td class="mdescLeft"> </td><td class="mdescRight">Function to match cpe in platform. <a href="#ga087bb45387925a51ae6be052320327c2">More...</a><br /></td></tr>
<tr class="separator:ga087bb45387925a51ae6be052320327c2"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="image">
<img src="cpe_language.png" alt="cpe_language.png"/>
<div class="caption">
Class diagram</div></div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="gacbb2c8c91d3bb516182bb64c6d8f7d82"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__cpelang.html#gacbb2c8c91d3bb516182bb64c6d8f7d82">cpe_lang_oper_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>CPE language operators. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggacbb2c8c91d3bb516182bb64c6d8f7d82aff8e856890304becc49a2d20226384c9"></a>CPE_LANG_OPER_INVALID </td><td class="fielddoc">
<p>invalid or unknown operation </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggacbb2c8c91d3bb516182bb64c6d8f7d82a5f771b20c70ee0e33634122b911a7aac"></a>CPE_LANG_OPER_AND </td><td class="fielddoc">
<p>logical AND </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggacbb2c8c91d3bb516182bb64c6d8f7d82a9dd5489d930d04d6abf1764da5e45a5c"></a>CPE_LANG_OPER_OR </td><td class="fielddoc">
<p>logical OR </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggacbb2c8c91d3bb516182bb64c6d8f7d82a6780963744226db651cbceb998302a6d"></a>CPE_LANG_OPER_MATCH </td><td class="fielddoc">
<p>fact-ref = match given CPE name against available dictionaries </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggacbb2c8c91d3bb516182bb64c6d8f7d82a3ced9cb36d0d1f4b2ee1a85e9c42da6f"></a>CPE_LANG_OPER_CHECK </td><td class="fielddoc">
<p>check-ref = evaluate given check </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggacbb2c8c91d3bb516182bb64c6d8f7d82a40fe8d6616363046111b48e04aaf47fa"></a>CPE_LANG_OPER_MASK </td><td class="fielddoc">
<p>mask to extract the operator w/o possible negation </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggacbb2c8c91d3bb516182bb64c6d8f7d82a77cd2c7e835b07adc60002de1c041b4f"></a>CPE_LANG_OPER_NOT </td><td class="fielddoc">
<p>negate </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga4ea26aca1301a1380ffc1e3830d72100"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char * cpe_lang_model_detect_version </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>file</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Detect version of given CPE language XML. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000010">Deprecated:</a></b></dt><dd>This function has been deprecated by oscap_source_get_schema_version. This function may be dropped from later versions of the library. </dd></dl>
</div>
</div>
<a class="anchor" id="ga37e588d571ed4de824472cfe28284954"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cpe_lang_model_export </td>
<td>(</td>
<td class="paramtype">const struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> * </td>
<td class="paramname"><em>spec</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>file</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write the lang_model to a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">spec</td><td>CPE lang model </td></tr>
<tr><td class="paramname">file</td><td>filename </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga421b4fec7e3e664a1b7a783d57ad63a2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> * cpe_lang_model_import </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>file</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Load CPE language model from a XML document. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000011">Deprecated:</a></b></dt><dd>This function has been deprecated by <a class="el" href="group__cpelang.html#gae452dd20504849e6a02864b192f7eab2">cpe_lang_model_import_source</a> This function may be dropped from later versions of the library. </dd></dl>
</div>
</div>
<a class="anchor" id="gaa1486cdd1e78378386223eb75112ef5b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cpe_lang_model_set_origin_file </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> * </td>
<td class="paramname"><em>lang_model</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>origin_file</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the origin file hint. </p>
<dl class="section note"><dt>Note</dt><dd>This is intended for internal use only! </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__cpelang.html#ga627c9092bd37510bf4d0854816a2deed" title="Gets the file the CPE dict model was loaded from. ">cpe_lang_model_get_origin_file</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gabf469c1ab5798bb321e6c89ffb4b6e9d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char * cpe_lang_model_supported </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get supported version of CPE language XML. </p>
<dl class="section return"><dt>Returns</dt><dd>version of XML file format </dd></dl>
</div>
</div>
<a class="anchor" id="gad72b66c6706c5dbf6d1b5e962416c949"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cpe_platform_applicable_lang_model </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>platform</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> * </td>
<td class="paramname"><em>lang_model</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="cpe__name_8h.html#a6a067b87517db0fc81f0c8dd1bb39cc5">cpe_check_fn</a> </td>
<td class="paramname"><em>check_cb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="cpe__name_8h.html#a0e7a67f8b5227ad9df2202986ffae494">cpe_dict_fn</a> </td>
<td class="paramname"><em>dict_cb</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>Verify whether given CPE platform idref is applicable by evaluating test expression associated with it. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">platform</td><td>idref to the platform to verify (do not pass with "#" prepended) </td></tr>
<tr><td class="paramname">lang_model</td><td>used CPE language model </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if lang model contains given platform and the platform is applicable </dd></dl>
</div>
</div>
<a class="anchor" id="gafbcede38295c3ae9cc4c2e568ce3ea26"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cpe_platform_iterator_free </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a> * </td>
<td class="paramname"><em>it</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gafe87b5c9308ad0cf4f2e55a73b008b91"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cpe_platform_iterator_has_more </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a> * </td>
<td class="paramname"><em>it</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gad18be4cfe7be42e8869a3e0e7202532f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structcpe__platform.html">cpe_platform</a> * cpe_platform_iterator_next </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a> * </td>
<td class="paramname"><em>it</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gaf7011b78669b32e52036b3923878e831"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cpe_platform_iterator_remove </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a> * </td>
<td class="paramname"><em>it</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> * </td>
<td class="paramname"><em>parent</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gac3e04f4f99a03c069f03337a6730c57e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cpe_platform_iterator_reset </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a> * </td>
<td class="paramname"><em>it</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga087bb45387925a51ae6be052320327c2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cpe_platform_match_cpe </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__name.html">cpe_name</a> ** </td>
<td class="paramname"><em>cpe</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const struct <a class="el" href="structcpe__platform.html">cpe_platform</a> * </td>
<td class="paramname"><em>platform</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Function to match cpe in platform. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cpe</td><td>to be matched with </td></tr>
<tr><td class="paramname">n</td><td>size </td></tr>
<tr><td class="paramname">platform</td><td>CPE platform </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa9bc76ff30e7f9faa4def792404c1a62"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cpe_platform_set_expr </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__platform.html">cpe_platform</a> * </td>
<td class="paramname"><em>platform</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td>
<td class="paramname"><em>expr</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set evaluation expression for this CPE platform. </p>
<p>Expression has to be a logical-test (i.e. its operation shall be AND or OR, possibly with negation) </p>
</div>
</div>
<a class="anchor" id="ga0f9cb4770990700bb2828faf397addb3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cpe_testexpr_add_subexpression </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td>
<td class="paramname"><em>sub</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add XML namespace to CPE lang model. </p>
<p>Add an subexpression to a compound CPE language expression.</p>
<p>Expression has to be of type CPE_LANG_OPER_AND or CPE_LANG_OPER_OR, possibly with negation. </p>
</div>
</div>
<a class="anchor" id="ga93e9e2635cf947b57d02d426b7f72500"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * cpe_testexpr_clone </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td>
<td class="paramname"><em>old_expr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clone CPE test expression. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">old_expr</td><td>CPE test expression </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga25d473c4f54512a43bac96b2dfba545c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const struct <a class="el" href="structcpe__name.html">cpe_name</a> * cpe_testexpr_get_meta_cpe </td>
<td>(</td>
<td class="paramtype">const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td>
<td class="paramname"><em>item</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get CPE name to match against. </p>
<p>Only valid for CPE_LANG_OPER_MATCH. </p>
</div>
</div>
<a class="anchor" id="ga2b7e68ad301e0c45227c7fc9071be2cd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structcpe__testexpr__iterator.html">cpe_testexpr_iterator</a> * cpe_testexpr_get_meta_expr </td>
<td>(</td>
<td class="paramtype">const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td>
<td class="paramname"><em>item</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get CPE expression subexpression. </p>
<p>Not valid for CPE_LANG_OPER_MATCH operation. </p>
</div>
</div>
<a class="anchor" id="gadd7958c47c3371c2038e9124e82cd640"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * cpe_testexpr_get_next </td>
<td>(</td>
<td class="paramtype">const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td>
<td class="paramname"><em>expr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Function to get next expr from array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">expr</td><td>CPE Test expression structure </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga7578274b57a93aebd0f462c779ec20be"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cpe_testexpr_iterator_free </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__testexpr__iterator.html">cpe_testexpr_iterator</a> * </td>
<td class="paramname"><em>it</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ga43c36e2b99f7362081eb2f7a2130cc6f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cpe_testexpr_iterator_has_more </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__testexpr__iterator.html">cpe_testexpr_iterator</a> * </td>
<td class="paramname"><em>it</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gadba17c675fef806a7a97bb9976bbfa6c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * cpe_testexpr_iterator_next </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__testexpr__iterator.html">cpe_testexpr_iterator</a> * </td>
<td class="paramname"><em>it</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gaa95723258aff68c121c25c825852d5c3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cpe_testexpr_set_name </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structcpe__name.html">cpe_name</a> * </td>
<td class="paramname"><em>name</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set CPE name. </p>
<p>If the expression does not have type CPE_LANG_OPER_MATCH, this function has no effect and returns false. </p>
</div>
</div>
<a class="anchor" id="gaf5cbbabfe39b2bbd5eebd180d0b3eb68"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cpe_testexpr_set_oper </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> * </td>
<td class="paramname"><em>expr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__cpelang.html#gacbb2c8c91d3bb516182bb64c6d8f7d82">cpe_lang_oper_t</a> </td>
<td class="paramname"><em>oper</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set CPE operation. </p>
<p>Any subexpressions and CPE names associated with this expression will be removed. </p>
</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.9.1
</small></address>
</body>
</html>