<!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: cpe_lang.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Open SCAP Library </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.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_adb51d477b117837783049eccd784b4d.html">CPE</a></li><li class="navelem"><a class="el" href="dir_49246e5dc9b1510e3c2e5eb7d15e203b.html">public</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">cpe_lang.h</div> </div> </div><!--header--> <div class="contents"> <a href="cpe__lang_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">/*</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * Copyright 2009 Red Hat Inc., Durham, North Carolina.</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * All Rights Reserved.</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * This library is free software; you can redistribute it and/or</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> *</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * This library is distributed in the hope that it will be useful, </span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * Lesser General Public License for more details.</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> *</span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * License along with this library; if not, write to the Free Software </span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> *</span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Authors:</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * Lukas Kuklinek <lkuklinek@redhat.com></span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * Maros Barabas <mbarabas@redhat.com></span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> */</span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#ifndef CPELANG_H_</span></div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#define CPELANG_H_</span></div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <stdlib.h></span></div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="cpe__name_8h.html" title="Interface to Common Platform Enumeration (CPE) URI.">cpe_name.h</a>"</span></div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "<a class="code" href="oscap__text_8h.html" title="Multilingual text processing interface.">oscap_text.h</a>"</span></div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div> <div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="group__cpelang.html#gacbb2c8c91d3bb516182bb64c6d8f7d82"> 47</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div> <div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82aff8e856890304becc49a2d20226384c9"> 48</a></span>  <a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82aff8e856890304becc49a2d20226384c9" title="invalid or unknown operation">CPE_LANG_OPER_INVALID</a> = 0x00, </div> <div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a5f771b20c70ee0e33634122b911a7aac"> 49</a></span>  <a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a5f771b20c70ee0e33634122b911a7aac" title="logical AND">CPE_LANG_OPER_AND</a> = 0x01, </div> <div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a9dd5489d930d04d6abf1764da5e45a5c"> 50</a></span>  <a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a9dd5489d930d04d6abf1764da5e45a5c" title="logical OR">CPE_LANG_OPER_OR</a> = 0x02, </div> <div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a6780963744226db651cbceb998302a6d"> 51</a></span>  <a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a6780963744226db651cbceb998302a6d" title="fact-ref = match given CPE name against available dictionaries">CPE_LANG_OPER_MATCH</a> = 0x04, </div> <div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a3ced9cb36d0d1f4b2ee1a85e9c42da6f"> 52</a></span>  <a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a3ced9cb36d0d1f4b2ee1a85e9c42da6f" title="check-ref = evaluate given check">CPE_LANG_OPER_CHECK</a> = 0x08, </div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div> <div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a40fe8d6616363046111b48e04aaf47fa"> 54</a></span>  <a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a40fe8d6616363046111b48e04aaf47fa" title="mask to extract the operator w/o possible negation">CPE_LANG_OPER_MASK</a> = 0xFF, </div> <div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a77cd2c7e835b07adc60002de1c041b4f"> 55</a></span>  <a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a77cd2c7e835b07adc60002de1c041b4f" title="negate">CPE_LANG_OPER_NOT</a> = 0x100, </div> <div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  CPE_LANG_OPER_NAND = <a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a5f771b20c70ee0e33634122b911a7aac" title="logical AND">CPE_LANG_OPER_AND</a> | <a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a77cd2c7e835b07adc60002de1c041b4f" title="negate">CPE_LANG_OPER_NOT</a>,</div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  CPE_LANG_OPER_NOR = <a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a9dd5489d930d04d6abf1764da5e45a5c" title="logical OR">CPE_LANG_OPER_OR</a> | <a class="code" href="group__cpelang.html#ggacbb2c8c91d3bb516182bb64c6d8f7d82a77cd2c7e835b07adc60002de1c041b4f" title="negate">CPE_LANG_OPER_NOT</a>,</div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span> } <a class="code" href="group__cpelang.html#gacbb2c8c91d3bb516182bb64c6d8f7d82" title="CPE language operators.">cpe_lang_oper_t</a>;</div> <div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">struct </span><a class="code" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a>;</div> <div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div> <div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">struct </span><a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a>;</div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">struct </span><a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a>;</div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/************************************************************/</span></div> <div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">struct </span><a class="code" href="structcpe__platform__iterator.html" title="Iterator over CPE dictionary items.">cpe_platform_iterator</a>;</div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div> <div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">struct </span><a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *<a class="code" href="group__cpelang.html#gad18be4cfe7be42e8869a3e0e7202532f">cpe_platform_iterator_next</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__platform__iterator.html" title="Iterator over CPE dictionary items.">cpe_platform_iterator</a> *it);</div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">bool</span> <a class="code" href="group__cpelang.html#gafe87b5c9308ad0cf4f2e55a73b008b91">cpe_platform_iterator_has_more</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__platform__iterator.html" title="Iterator over CPE dictionary items.">cpe_platform_iterator</a> *it);</div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">void</span> <a class="code" href="group__cpelang.html#gafbcede38295c3ae9cc4c2e568ce3ea26">cpe_platform_iterator_free</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__platform__iterator.html" title="Iterator over CPE dictionary items.">cpe_platform_iterator</a> *it);</div> <div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div> <div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">struct </span><a class="code" href="structcpe__testexpr__iterator.html" title="Iterator over CPE language expressions.">cpe_testexpr_iterator</a>;</div> <div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">struct </span><a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *<a class="code" href="group__cpelang.html#gadba17c675fef806a7a97bb9976bbfa6c">cpe_testexpr_iterator_next</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__testexpr__iterator.html" title="Iterator over CPE language expressions.">cpe_testexpr_iterator</a> *it);</div> <div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">bool</span> <a class="code" href="group__cpelang.html#ga43c36e2b99f7362081eb2f7a2130cc6f">cpe_testexpr_iterator_has_more</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__testexpr__iterator.html" title="Iterator over CPE language expressions.">cpe_testexpr_iterator</a> *it);</div> <div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">void</span> <a class="code" href="group__cpelang.html#ga7578274b57a93aebd0f462c779ec20be">cpe_testexpr_iterator_free</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__testexpr__iterator.html" title="Iterator over CPE language expressions.">cpe_testexpr_iterator</a> *it);</div> <div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div> <div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">/************************************************************/</span></div> <div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/************************************************************/</span></div> <div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <a class="code" href="group__cpelang.html#gacbb2c8c91d3bb516182bb64c6d8f7d82" title="CPE language operators.">cpe_lang_oper_t</a> <a class="code" href="group__cpelang.html#ga4016df3687404f37811b7f94c31e26a4" title="cpe_testexpr functions to get variable members">cpe_testexpr_get_oper</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *item);</div> <div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div> <div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">struct </span><a class="code" href="structcpe__testexpr__iterator.html" title="Iterator over CPE language expressions.">cpe_testexpr_iterator</a> *<a class="code" href="group__cpelang.html#ga2b7e68ad301e0c45227c7fc9071be2cd" title="Get CPE expression subexpression.">cpe_testexpr_get_meta_expr</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *item);</div> <div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div> <div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="structcpe__name.html" title="Structure holding Common Platform Enumeration URI data.">cpe_name</a> *<a class="code" href="group__cpelang.html#ga8b24fb99f23926f558662d6808bcb534" title="Get CPE name to match against.">cpe_testexpr_get_meta_cpe</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *item);</div> <div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div> <div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__cpelang.html#gadf9b79bc12d745f011219205800e65c0" title="Get check system to evaluate Only valid for CPE_LANG_OPER_CHECK.">cpe_testexpr_get_meta_check_system</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *item);</div> <div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div> <div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__cpelang.html#ga5806924aa0ccf4b6de03efe4dd7d86d3" title="Get check href to evaluate Only valid for CPE_LANG_OPER_CHECK.">cpe_testexpr_get_meta_check_href</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *item);</div> <div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div> <div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__cpelang.html#gae86fc7ba23894699d2c13d13ca215f1d" title="Get check idref to evaluate Only valid for CPE_LANG_OPER_CHECK.">cpe_testexpr_get_meta_check_id</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *item);</div> <div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div> <div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *<a class="code" href="group__cpelang.html#gab229fbb8fa2c2c0de0714ce2c9c9bc53" title="Function to get next expr from array.">cpe_testexpr_get_next</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *<a class="code" href="structcpe__testexpr.html#adaae01bbfd90628408feba7c3a8c40d0" title="array of subexpressions for operators">expr</a>);</div> <div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div> <div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="keyword">struct </span><a class="code" href="structcpe__platform__iterator.html" title="Iterator over CPE dictionary items.">cpe_platform_iterator</a> *<a class="code" href="group__cpelang.html#gaa5e9009c4b979291e110552c8e8a31b1" title="cpe_lang_model function to get CPE platforms">cpe_lang_model_get_platforms</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a> *item);</div> <div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div> <div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">struct </span><a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *<a class="code" href="group__cpelang.html#gaccd09354281b8303bbf85eeacf218c6a" title="cpe_lang_model function to get CPE platforms">cpe_lang_model_get_item</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a> *item, <span class="keyword">const</span> <span class="keywordtype">char</span> *key);</div> <div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div> <div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keywordtype">bool</span> <a class="code" href="group__cpelang.html#gad72b66c6706c5dbf6d1b5e962416c949" title="Verify whether given CPE platform idref is applicable by evaluating test expression associated with i...">cpe_platform_applicable_lang_model</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* platform, <span class="keyword">struct</span> <a class="code" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a> *lang_model, <a class="code" href="cpe__name_8h.html#acd5b9dfed7f43c5d019c633fcaa73e35" title="Shared callback definition used to evaluate checks to perform applicability tests.">cpe_check_fn</a> check_cb, <a class="code" href="cpe__name_8h.html#abc3dfeb573d85326d538906c3ebfadf3" title="Shared callback definition used to match CPE names to perform applicability tests.">cpe_dict_fn</a> dict_cb, <span class="keywordtype">void</span>* usr);</div> <div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div> <div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__cpelang.html#ga8b9494431d8599fe802361433231436d" title="cpe_platform functions to get id">cpe_platform_get_id</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *item);</div> <div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__cpelang.html#ga11161328967d030f8d71608b27415676" title="cpe_platform functions to get remark">cpe_platform_get_remark</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *item);</div> <div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keyword">struct </span><a class="code" href="structoscap__text__iterator.html" title="Internationalized string iterator.">oscap_text_iterator</a> *<a class="code" href="group__cpelang.html#ga7947b222d4920ab6cf0888920cd6d6c9" title="cpe_platform functions to get titles">cpe_platform_get_titles</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *item);</div> <div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *<a class="code" href="group__cpelang.html#ga66c92792dad71233eaca532a143aefac" title="cpe_platform functions to get test expression">cpe_platform_get_expr</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *item);</div> <div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div> <div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">/************************************************************/</span></div> <div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment">/************************************************************/</span></div> <div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">bool</span> <a class="code" href="group__cpelang.html#ga563eeb9702f9c93df5a25998e9a39600" title="Add platform to CPE lang model.">cpe_lang_model_add_platform</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a> *lang, <span class="keyword">struct</span> <a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *platform);</div> <div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">bool</span> <a class="code" href="group__cpelang.html#ga1fd21792bdcff96d02fc83e90b184ce8" title="Add title to platform.">cpe_platform_add_title</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *platform, <span class="keyword">struct</span> <a class="code" href="structoscap__text.html" title="Representation of internationalizable character strings.">oscap_text</a> *title);</div> <div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div> <div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">/*bool cpe_lang_model_add_xmlns(struct cpe_lang_model * model, struct xml_metadata * xml);*/</span></div> <div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div> <div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="keywordtype">bool</span> <a class="code" href="group__cpelang.html#ga0f9cb4770990700bb2828faf397addb3" title="Add XML namespace to CPE lang model.">cpe_testexpr_add_subexpression</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *<a class="code" href="structcpe__testexpr.html#adaae01bbfd90628408feba7c3a8c40d0" title="array of subexpressions for operators">expr</a>, <span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *sub);</div> <div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div> <div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="keywordtype">bool</span> <a class="code" href="group__cpelang.html#gad59b55938ebbe388218016cb67fbac50" title="Set ID of CPE platform.">cpe_platform_set_id</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *platform, <span class="keyword">const</span> <span class="keywordtype">char</span> *new_id);</div> <div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordtype">bool</span> <a class="code" href="group__cpelang.html#ga301685568659041bd2a47c958800ddbc" title="Set remark of CPE platform.">cpe_platform_set_remark</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *platform, <span class="keyword">const</span> <span class="keywordtype">char</span> *new_remark);</div> <div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keywordtype">bool</span> <a class="code" href="group__cpelang.html#gaa9bc76ff30e7f9faa4def792404c1a62" title="Set evaluation expression for this CPE platform.">cpe_platform_set_expr</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *platform, <span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *<a class="code" href="structcpe__testexpr.html#adaae01bbfd90628408feba7c3a8c40d0" title="array of subexpressions for operators">expr</a>);</div> <div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keywordtype">bool</span> <a class="code" href="group__cpelang.html#gaf5cbbabfe39b2bbd5eebd180d0b3eb68" title="Set CPE operation.">cpe_testexpr_set_oper</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *<a class="code" href="structcpe__testexpr.html#adaae01bbfd90628408feba7c3a8c40d0" title="array of subexpressions for operators">expr</a>, <a class="code" href="group__cpelang.html#gacbb2c8c91d3bb516182bb64c6d8f7d82" title="CPE language operators.">cpe_lang_oper_t</a> <a class="code" href="structcpe__testexpr.html#a818142dd3fd60970b290efb12082705b" title="operator">oper</a>);</div> <div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div> <div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">bool</span> <a class="code" href="group__cpelang.html#gaa95723258aff68c121c25c825852d5c3" title="Set CPE name.">cpe_testexpr_set_name</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *<a class="code" href="structcpe__testexpr.html#adaae01bbfd90628408feba7c3a8c40d0" title="array of subexpressions for operators">expr</a>, <span class="keyword">struct</span> <a class="code" href="structcpe__name.html" title="Structure holding Common Platform Enumeration URI data.">cpe_name</a> *name);</div> <div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div> <div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment">/************************************************************/</span></div> <div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div> <div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keywordtype">void</span> <a class="code" href="group__cpelang.html#gaf7011b78669b32e52036b3923878e831">cpe_platform_iterator_remove</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__platform__iterator.html" title="Iterator over CPE dictionary items.">cpe_platform_iterator</a> *it, <span class="keyword">struct</span> <a class="code" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a> *parent);</div> <div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keywordtype">void</span> <a class="code" href="group__cpelang.html#gac3e04f4f99a03c069f03337a6730c57e">cpe_platform_iterator_reset</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__platform__iterator.html" title="Iterator over CPE dictionary items.">cpe_platform_iterator</a> *it);</div> <div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div> <div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keyword">struct </span><a class="code" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a> *<a class="code" href="group__cpelang.html#gab38c9e5fb94f6cbb806cb02d4d24bf51" title="Constructor of CPE Language model.">cpe_lang_model_new</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div> <div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keyword">struct </span><a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *<a class="code" href="group__cpelang.html#ga6de4dc9c0d8171bcb666da7bbae44984" title="Constructor of CPE test expression.">cpe_testexpr_new</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div> <div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keyword">struct </span><a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *<a class="code" href="group__cpelang.html#gad83641ba4fb292a923b7ff5753b4070d" title="Constructor of CPE Platform.">cpe_platform_new</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div> <div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keyword">struct </span><a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> * <a class="code" href="group__cpelang.html#ga93e9e2635cf947b57d02d426b7f72500" title="Clone CPE test expression.">cpe_testexpr_clone</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> * old_expr);</div> <div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div> <div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="keywordtype">void</span> <a class="code" href="group__cpelang.html#gac6135bb7df1b4c083e97dcb67f7bfccd" title="Free function of CPE test expression.">cpe_testexpr_free</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__testexpr.html" title="CPE language boolean expression.">cpe_testexpr</a> *<a class="code" href="structcpe__testexpr.html#adaae01bbfd90628408feba7c3a8c40d0" title="array of subexpressions for operators">expr</a>);</div> <div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div> <div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keywordtype">void</span> <a class="code" href="group__cpelang.html#ga26308a02ac14cc1c1c19604c2bab2b8e" title="Reset function of CPE test expression.">cpe_testexpr_iterator_reset</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__testexpr__iterator.html" title="Iterator over CPE language expressions.">cpe_testexpr_iterator</a> *it);</div> <div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div> <div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="keywordtype">void</span> <a class="code" href="group__cpelang.html#ga6a4e8a7210b76078bb6ac8bc9f3be0a7" title="Free function of CPE test expression.">cpe_lang_model_free</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a> *platformspec);</div> <div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div> <div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="keywordtype">void</span> <a class="code" href="group__cpelang.html#ga1bcb12e96db31e6b57be749fd5ba3b3e" title="Free function of CPE Platform.">cpe_platform_free</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *platform);</div> <div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div> <div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="comment">/************************************************************/</span></div> <div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="group__cpelang.html#gabf469c1ab5798bb321e6c89ffb4b6e9d" title="Get supported version of CPE language XML.">cpe_lang_model_supported</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div> <div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keywordtype">char</span> * <a class="code" href="group__cpelang.html#ga4ea26aca1301a1380ffc1e3830d72100" title="Detect version of given CPE language XML.">cpe_lang_model_detect_version</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* file);</div> <div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div> <div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="keywordtype">bool</span> <a class="code" href="group__cpelang.html#ga087bb45387925a51ae6be052320327c2" title="Function to match cpe in platform.">cpe_platform_match_cpe</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__name.html" title="Structure holding Common Platform Enumeration URI data.">cpe_name</a> **<a class="code" href="structcpe__testexpr.html#ae625f88da01a916a7bfe89fd3db432ea" title="CPE for match operation.">cpe</a>, <span class="keywordtype">size_t</span> n, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__platform.html" title="Single platform representation in CPE language.">cpe_platform</a> *platform);</div> <div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div> <div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment">/************************************************************/</span></div> <div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keyword">struct </span><a class="code" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a> *<a class="code" href="group__cpelang.html#ga421b4fec7e3e664a1b7a783d57ad63a2" title="Load CPE language model from a XML document.">cpe_lang_model_import</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *file);</div> <div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div> <div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordtype">bool</span> <a class="code" href="group__cpelang.html#gaa1486cdd1e78378386223eb75112ef5b" title="Sets the origin file hint.">cpe_lang_model_set_origin_file</a>(<span class="keyword">struct</span> <a class="code" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a>* lang_model, <span class="keyword">const</span> <span class="keywordtype">char</span>* origin_file);</div> <div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div> <div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__cpelang.html#ga627c9092bd37510bf4d0854816a2deed" title="Gets the file the CPE dict model was loaded from.">cpe_lang_model_get_origin_file</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a>* lang_model);</div> <div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div> <div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordtype">void</span> <a class="code" href="group__cpelang.html#ga37e588d571ed4de824472cfe28284954" title="Write the lang_model to a file.">cpe_lang_model_export</a>(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a> *spec, <span class="keyword">const</span> <span class="keywordtype">char</span> *file);</div> <div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div> <div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="preprocessor">#endif </span><span class="comment">/* _CPELANG_H_ */</span><span class="preprocessor"></span></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1.1 </small></address> </body> </html>