Sophie

Sophie

distrib > Mandriva > current > x86_64 > by-pkgid > 3736f276bb1ccfbcee6cb2d27b25d981 > files > 161

openscap-devel-0.5.7-1mdv2010.1.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Open SCAP Library: CPE Language</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>CPE Language<br/>
<small>
[<a class="el" href="group__CPE.html">CPE</a>]</small>
</h1>
<p>See more details at <a href="http://nvd.nist.gov/cpe.cfm.">http://nvd.nist.gov/cpe.cfm.</a>  
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcpe__testexpr.html">cpe_testexpr</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">CPE language boolean expression.  <a href="structcpe__testexpr.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcpe__lang__model.html">cpe_lang_model</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">CPE platform specification.  <a href="structcpe__lang__model.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcpe__platform.html">cpe_platform</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Single platform representation in CPE language.  <a href="structcpe__platform.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator over CPE dictionary items.  <a href="structcpe__platform__iterator.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcpe__testexpr__iterator.html">cpe_testexpr_iterator</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator over CPE language expressions.  <a href="structcpe__testexpr__iterator.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Modules</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CPELangPrivate.html">Private members</a></td></tr>
<tr><td colspan="2"><h2>Files</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cpelang__priv_8h.html">cpelang_priv.h</a></td></tr>

<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Interface to Common Platform Enumeration (CPE) Language. </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cpelang_8h.html">cpelang.h</a></td></tr>

<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Interface to Common Platform Enumeration (CPE) Language. </p>
<br/></td></tr>
</p>
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gacbb2c8c91d3bb516182bb64c6d8f7d82">cpe_lang_oper_t</a> { <br/>
&nbsp;&nbsp;<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/>
&nbsp;&nbsp;<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, 
<b>CPE_LANG_OPER_NOR</b> =  CPE_LANG_OPER_OR | CPE_LANG_OPER_NOT
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>CPE language operators. </p>
 <a href="group__cpelang.html#gacbb2c8c91d3bb516182bb64c6d8f7d82">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Get functions</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrpc2ac1eb4de8ec5add5567cbae2f237e5"></a>Functions for getting attributes from CVE model structures.</p>
<p>Return value is pointer to structure's member. Do not free unless you null the pointer in the structure. Use remove function otherwise. </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga310cec52c2b21a717df860d162840baa"></a><!-- doxytag: member="cpelang::cpe_lang_model_get_item" ref="ga310cec52c2b21a717df860d162840baa" args="(const struct cpe_lang_model *item, const char *key)" -->
struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>cpe_lang_model_get_item</b> (const struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *item, const char *key)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4016df3687404f37811b7f94c31e26a4"></a><!-- doxytag: member="cpelang::cpe_testexpr_get_oper" ref="ga4016df3687404f37811b7f94c31e26a4" args="(const struct cpe_testexpr *item)" -->
<a class="el" href="group__cpelang.html#gacbb2c8c91d3bb516182bb64c6d8f7d82">cpe_lang_oper_t</a>&nbsp;</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><td class="mdescLeft">&nbsp;</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><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__testexpr__iterator.html">cpe_testexpr_iterator</a> *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get CPE expression subexpression.  <a href="#ga2b7e68ad301e0c45227c7fc9071be2cd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__name.html">cpe_name</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga8b24fb99f23926f558662d6808bcb534">cpe_testexpr::cpe_testexpr_get_meta_cpe</a> (const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *item)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get CPE name to match against.  <a href="#ga8b24fb99f23926f558662d6808bcb534"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gab229fbb8fa2c2c0de0714ce2c9c9bc53">cpe_testexpr::cpe_testexpr_get_next</a> (const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *expr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to get next expr from array.  <a href="#gab229fbb8fa2c2c0de0714ce2c9c9bc53"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8c3446147158e606b9d02ccd33020d8a"></a><!-- doxytag: member="cpelang::cpe_lang_model_get_ns_prefix" ref="ga8c3446147158e606b9d02ccd33020d8a" args="(const struct cpe_lang_model *item)" -->
const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga8c3446147158e606b9d02ccd33020d8a">cpe_lang_model::cpe_lang_model_get_ns_prefix</a> (const struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *item)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a> function to get namespace prefix <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa5e9009c4b979291e110552c8e8a31b1"></a><!-- doxytag: member="cpelang::cpe_lang_model_get_platforms" ref="gaa5e9009c4b979291e110552c8e8a31b1" args="(const struct cpe_lang_model *item)" -->
struct <a class="el" href="structcpe__platform__iterator.html">cpe_platform_iterator</a> *&nbsp;</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><td class="mdescLeft">&nbsp;</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><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga90b91aecc0f9f8255a32b1fe00de1234"></a><!-- doxytag: member="cpelang::cpe_lang_model_get_xmlns" ref="ga90b91aecc0f9f8255a32b1fe00de1234" args="(const struct cpe_lang_model *item)" -->
struct <a class="el" href="structxml__metadata__iterator.html">xml_metadata_iterator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga90b91aecc0f9f8255a32b1fe00de1234">cpe_lang_model::cpe_lang_model_get_xmlns</a> (const struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *item)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structcpe__lang__model.html" title="CPE platform specification.">cpe_lang_model</a> function to get xmlns attribute <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8b9494431d8599fe802361433231436d"></a><!-- doxytag: member="cpelang::cpe_platform_get_id" ref="ga8b9494431d8599fe802361433231436d" args="(const struct cpe_platform *item)" -->
const char *&nbsp;</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><td class="mdescLeft">&nbsp;</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><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga11161328967d030f8d71608b27415676"></a><!-- doxytag: member="cpelang::cpe_platform_get_remark" ref="ga11161328967d030f8d71608b27415676" args="(const struct cpe_platform *item)" -->
const char *&nbsp;</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><td class="mdescLeft">&nbsp;</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><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab6a97be125225b1d698e7e6f9c0001f1"></a><!-- doxytag: member="cpelang::cpe_platform_get_titles" ref="gab6a97be125225b1d698e7e6f9c0001f1" args="(const struct cpe_platform *item)" -->
struct <a class="el" href="structoscap__title__iterator.html">oscap_title_iterator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gab6a97be125225b1d698e7e6f9c0001f1">cpe_platform::cpe_platform_get_titles</a> (const struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *item)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga66c92792dad71233eaca532a143aefac"></a><!-- doxytag: member="cpelang::cpe_platform_get_expr" ref="ga66c92792dad71233eaca532a143aefac" args="(const struct cpe_platform *item)" -->
struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga66c92792dad71233eaca532a143aefac">cpe_platform::cpe_platform_get_expr</a> (const struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *item)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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><td colspan="2"><h2>Iterator functions</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrp5668530844eac97b0daa3354806c1edf"></a>Functions to iterate throught lists. </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *&nbsp;</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><td class="memItemLeft" align="right" valign="top">bool&nbsp;</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><td class="memItemLeft" align="right" valign="top">void&nbsp;</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><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *&nbsp;</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><td class="memItemLeft" align="right" valign="top">bool&nbsp;</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><td class="memItemLeft" align="right" valign="top">void&nbsp;</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><td colspan="2"><h2>Add functions</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrpaabced06c8a2e8c15954ce4b1e334884"></a>Get XML namespace from CPE lang model</p>
<p>Functions to add member to list. Return value is true if added succesfuly or false in case of error. </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga563eeb9702f9c93df5a25998e9a39600"></a><!-- doxytag: member="cpelang::cpe_lang_model_add_platform" ref="ga563eeb9702f9c93df5a25998e9a39600" args="(struct cpe_lang_model *lang, struct cpe_platform *platform)" -->
bool&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add platform to CPE lang model. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab31bfb6288d13667166acab4947db1ff"></a><!-- doxytag: member="cpelang::cpe_lang_model_add_xml" ref="gab31bfb6288d13667166acab4947db1ff" args="(struct cpe_lang_model *lang, struct xml_metadata *xml)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gab31bfb6288d13667166acab4947db1ff">cpe_lang_model::cpe_lang_model_add_xml</a> (struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *lang, struct <a class="el" href="structxml__metadata.html">xml_metadata</a> *xml)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add xml metadata to CPE lang model. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga64da424f8bd783da762bee8b766e247d"></a><!-- doxytag: member="cpelang::cpe_platform_add_title" ref="ga64da424f8bd783da762bee8b766e247d" args="(struct cpe_platform *platform, struct oscap_title *title)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga64da424f8bd783da762bee8b766e247d">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__title.html">oscap_title</a> *title)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add title to platform. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add XML namespace to CPE lang model.  <a href="#ga0f9cb4770990700bb2828faf397addb3"></a><br/></td></tr>
<tr><td colspan="2"><h2>Remove functions</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrp40428a142bd2c0b6ea1306c0905502ce"></a>Functions to remove list memebers that the given iterator is pointing to. </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</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><td colspan="2"><h2>New functions</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrp73a4128f20867fa23ebb2e75e58922df"></a>Constructors of CVE model structures.</p>
<p>Free function returns new empty allocated structure. If returns non NULL it need to be freed by the caller. </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab38c9e5fb94f6cbb806cb02d4d24bf51"></a><!-- doxytag: member="cpelang::cpe_lang_model_new" ref="gab38c9e5fb94f6cbb806cb02d4d24bf51" args="(void)" -->
struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor of CPE Language model. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6de4dc9c0d8171bcb666da7bbae44984"></a><!-- doxytag: member="cpelang::cpe_testexpr_new" ref="ga6de4dc9c0d8171bcb666da7bbae44984" args="(void)" -->
struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga6de4dc9c0d8171bcb666da7bbae44984">cpe_testexpr::cpe_testexpr_new</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor of CPE test expression. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad83641ba4fb292a923b7ff5753b4070d"></a><!-- doxytag: member="cpelang::cpe_platform_new" ref="gad83641ba4fb292a923b7ff5753b4070d" args="(void)" -->
struct <a class="el" href="structcpe__platform.html">cpe_platform</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gad83641ba4fb292a923b7ff5753b4070d">cpe_platform::cpe_platform_new</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor of CPE Platform. <br/></td></tr>
<tr><td colspan="2"><h2>Set functions</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrp8b7ecf2f4bd25da1aae981677901d55d"></a>Set functions assign values to members of structures except lists.</p>
<p>For lists use add functions. Parameters of set functions are duplicated in memory and need to be freed by caller. </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga24d19a5cfb7d414053f8a5e99a4e6b5a"></a><!-- doxytag: member="cpelang::cpe_lang_model_set_ns_prefix" ref="ga24d19a5cfb7d414053f8a5e99a4e6b5a" args="(struct cpe_lang_model *model, const char *new_prefix)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga24d19a5cfb7d414053f8a5e99a4e6b5a">cpe_lang_model::cpe_lang_model_set_ns_prefix</a> (struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *model, const char *new_prefix)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set ns_prefix to CPE lang model. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad59b55938ebbe388218016cb67fbac50"></a><!-- doxytag: member="cpelang::cpe_platform_set_id" ref="gad59b55938ebbe388218016cb67fbac50" args="(struct cpe_platform *platform, const char *new_id)" -->
bool&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set ID of CPE platform. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga301685568659041bd2a47c958800ddbc"></a><!-- doxytag: member="cpelang::cpe_platform_set_remark" ref="ga301685568659041bd2a47c958800ddbc" args="(struct cpe_platform *platform, const char *new_remark)" -->
bool&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set remark of CPE platform. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set evaluation expression for this CPE platform.  <a href="#gaa9bc76ff30e7f9faa4def792404c1a62"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set CPE operation.  <a href="#gaf5cbbabfe39b2bbd5eebd180d0b3eb68"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set CPE name.  <a href="#gaa95723258aff68c121c25c825852d5c3"></a><br/></td></tr>
<tr><td colspan="2"><h2>Free functions</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrp237dd65bc76b7de56066830910ced6ed"></a>Destructors of CVE model structures.</p>
<p>Functions free structures with all members recursively. For simple deletion of entity use remove functions. </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac6135bb7df1b4c083e97dcb67f7bfccd"></a><!-- doxytag: member="cpelang::cpe_testexpr_free" ref="gac6135bb7df1b4c083e97dcb67f7bfccd" args="(struct cpe_testexpr *expr)" -->
void&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free function of CPE test expression. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6a4e8a7210b76078bb6ac8bc9f3be0a7"></a><!-- doxytag: member="cpelang::cpe_lang_model_free" ref="ga6a4e8a7210b76078bb6ac8bc9f3be0a7" args="(struct cpe_lang_model *platformspec)" -->
void&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free function of CPE test expression. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1bcb12e96db31e6b57be749fd5ba3b3e"></a><!-- doxytag: member="cpelang::cpe_platform_free" ref="ga1bcb12e96db31e6b57be749fd5ba3b3e" args="(struct cpe_platform *platform)" -->
void&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free function of CPE Platform. <br/></td></tr>
<tr><td colspan="2"><h2>Other functions</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrpb175402ebe89f00c62233c5453c5a243"></a> </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get supported version of CPE language XML.  <a href="#gabf469c1ab5798bb321e6c89ffb4b6e9d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga087bb45387925a51ae6be052320327c2">cpe_lang_model::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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to match cpe in platform.  <a href="#ga087bb45387925a51ae6be052320327c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga092a153b42c0b5565a2c22eebf79874d"></a><!-- doxytag: member="cpelang::cpe_lang_model_import" ref="ga092a153b42c0b5565a2c22eebf79874d" args="(const struct oscap_import_source *source)" -->
struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#ga092a153b42c0b5565a2c22eebf79874d">cpe_lang_model::cpe_lang_model_import</a> (const struct <a class="el" href="structoscap__import__source.html">oscap_import_source</a> *source)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load CPE language model from a XML document. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpelang.html#gade703f4a7cf45cefa351f975a5fed5da">cpe_lang_model::cpe_lang_model_export</a> (const struct <a class="el" href="structcpe__lang__model.html">cpe_lang_model</a> *spec, struct <a class="el" href="structoscap__export__target.html">oscap_export_target</a> *target)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write the lang_model to a file.  <a href="#gade703f4a7cf45cefa351f975a5fed5da"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>See more details at <a href="http://nvd.nist.gov/cpe.cfm.">http://nvd.nist.gov/cpe.cfm.</a> </p>
<p>Class diagram </p>
<div align="center">
<img src="cpe_language.png" alt="cpe_language.png"/>
</div>
 <hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="gacbb2c8c91d3bb516182bb64c6d8f7d82"></a><!-- doxytag: member="cpelang.h::cpe_lang_oper_t" ref="gacbb2c8c91d3bb516182bb64c6d8f7d82" args="" -->
<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>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggacbb2c8c91d3bb516182bb64c6d8f7d82aff8e856890304becc49a2d20226384c9"></a><!-- doxytag: member="CPE_LANG_OPER_INVALID" ref="ggacbb2c8c91d3bb516182bb64c6d8f7d82aff8e856890304becc49a2d20226384c9" args="" -->CPE_LANG_OPER_INVALID</em>&nbsp;</td><td>
<p>invalid or unknown operation </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacbb2c8c91d3bb516182bb64c6d8f7d82a5f771b20c70ee0e33634122b911a7aac"></a><!-- doxytag: member="CPE_LANG_OPER_AND" ref="ggacbb2c8c91d3bb516182bb64c6d8f7d82a5f771b20c70ee0e33634122b911a7aac" args="" -->CPE_LANG_OPER_AND</em>&nbsp;</td><td>
<p>logical AND </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacbb2c8c91d3bb516182bb64c6d8f7d82a9dd5489d930d04d6abf1764da5e45a5c"></a><!-- doxytag: member="CPE_LANG_OPER_OR" ref="ggacbb2c8c91d3bb516182bb64c6d8f7d82a9dd5489d930d04d6abf1764da5e45a5c" args="" -->CPE_LANG_OPER_OR</em>&nbsp;</td><td>
<p>logical OR </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacbb2c8c91d3bb516182bb64c6d8f7d82a6780963744226db651cbceb998302a6d"></a><!-- doxytag: member="CPE_LANG_OPER_MATCH" ref="ggacbb2c8c91d3bb516182bb64c6d8f7d82a6780963744226db651cbceb998302a6d" args="" -->CPE_LANG_OPER_MATCH</em>&nbsp;</td><td>
<p>match against specified CPE </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacbb2c8c91d3bb516182bb64c6d8f7d82a40fe8d6616363046111b48e04aaf47fa"></a><!-- doxytag: member="CPE_LANG_OPER_MASK" ref="ggacbb2c8c91d3bb516182bb64c6d8f7d82a40fe8d6616363046111b48e04aaf47fa" args="" -->CPE_LANG_OPER_MASK</em>&nbsp;</td><td>
<p>mask to extract the operator w/o possible negation </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggacbb2c8c91d3bb516182bb64c6d8f7d82a77cd2c7e835b07adc60002de1c041b4f"></a><!-- doxytag: member="CPE_LANG_OPER_NOT" ref="ggacbb2c8c91d3bb516182bb64c6d8f7d82a77cd2c7e835b07adc60002de1c041b4f" args="" -->CPE_LANG_OPER_NOT</em>&nbsp;</td><td>
<p>negate </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gade703f4a7cf45cefa351f975a5fed5da"></a><!-- doxytag: member="cpe_lang_model::cpe_lang_model_export" ref="gade703f4a7cf45cefa351f975a5fed5da" args="(const struct cpe_lang_model *spec, struct oscap_export_target *target)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>spec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structoscap__export__target.html">oscap_export_target</a> *&nbsp;</td>
          <td class="paramname"> <em>target</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write the lang_model to a file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>spec</em>&nbsp;</td><td>CPE lang model </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>target</em>&nbsp;</td><td>target structure with filename, endcoding and indent information </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gabf469c1ab5798bb321e6c89ffb4b6e9d"></a><!-- doxytag: member="cpe_lang_model::cpe_lang_model_supported" ref="gabf469c1ab5798bb321e6c89ffb4b6e9d" args="(void)" -->
<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&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get supported version of CPE language XML. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>version of XML file format </dd></dl>

</div>
</div>
<a class="anchor" id="gafbcede38295c3ae9cc4c2e568ce3ea26"></a><!-- doxytag: member="cpe_platform_iterator::cpe_platform_iterator_free" ref="gafbcede38295c3ae9cc4c2e568ce3ea26" args="(struct cpe_platform_iterator *it)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>it</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="gafe87b5c9308ad0cf4f2e55a73b008b91"></a><!-- doxytag: member="cpe_platform_iterator::cpe_platform_iterator_has_more" ref="gafe87b5c9308ad0cf4f2e55a73b008b91" args="(struct cpe_platform_iterator *it)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>it</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="gad18be4cfe7be42e8869a3e0e7202532f"></a><!-- doxytag: member="cpe_platform_iterator::cpe_platform_iterator_next" ref="gad18be4cfe7be42e8869a3e0e7202532f" args="(struct cpe_platform_iterator *it)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>it</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="gaf7011b78669b32e52036b3923878e831"></a><!-- doxytag: member="cpe_platform_iterator::cpe_platform_iterator_remove" ref="gaf7011b78669b32e52036b3923878e831" args="(struct cpe_platform_iterator *it, struct cpe_lang_model *parent)" -->
<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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>parent</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ga087bb45387925a51ae6be052320327c2"></a><!-- doxytag: member="cpe_lang_model::cpe_platform_match_cpe" ref="ga087bb45387925a51ae6be052320327c2" args="(struct cpe_name **cpe, size_t n, const struct cpe_platform *platform)" -->
<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> **&nbsp;</td>
          <td class="paramname"> <em>cpe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>platform</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [related, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Function to match cpe in platform. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>cpe</em>&nbsp;</td><td>to be matched with </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>size </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>platform</em>&nbsp;</td><td>CPE platform </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaa9bc76ff30e7f9faa4def792404c1a62"></a><!-- doxytag: member="cpe_platform::cpe_platform_set_expr" ref="gaa9bc76ff30e7f9faa4def792404c1a62" args="(struct cpe_platform *platform, struct cpe_testexpr *expr)" -->
<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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>expr</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inherited]</code></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><!-- doxytag: member="cpe_testexpr::cpe_testexpr_add_subexpression" ref="ga0f9cb4770990700bb2828faf397addb3" args="(struct cpe_testexpr *expr, struct cpe_testexpr *sub)" -->
<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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>sub</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inherited]</code></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="ga8b24fb99f23926f558662d6808bcb534"></a><!-- doxytag: member="cpe_testexpr::cpe_testexpr_get_meta_cpe" ref="ga8b24fb99f23926f558662d6808bcb534" args="(const struct cpe_testexpr *item)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">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> *&nbsp;</td>
          <td class="paramname"> <em>item</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read, inherited]</code></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><!-- doxytag: member="cpe_testexpr::cpe_testexpr_get_meta_expr" ref="ga2b7e68ad301e0c45227c7fc9071be2cd" args="(const struct cpe_testexpr *item)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>item</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read, inherited]</code></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="gab229fbb8fa2c2c0de0714ce2c9c9bc53"></a><!-- doxytag: member="cpe_testexpr::cpe_testexpr_get_next" ref="gab229fbb8fa2c2c0de0714ce2c9c9bc53" args="(const struct cpe_testexpr *expr)" -->
<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_get_next </td>
          <td>(</td>
          <td class="paramtype">const struct <a class="el" href="structcpe__testexpr.html">cpe_testexpr</a> *&nbsp;</td>
          <td class="paramname"> <em>expr</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Function to get next expr from array. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>expr</em>&nbsp;</td><td>CPE Test expression structure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga7578274b57a93aebd0f462c779ec20be"></a><!-- doxytag: member="cpe_testexpr_iterator::cpe_testexpr_iterator_free" ref="ga7578274b57a93aebd0f462c779ec20be" args="(struct cpe_testexpr_iterator *it)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>it</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ga43c36e2b99f7362081eb2f7a2130cc6f"></a><!-- doxytag: member="cpe_testexpr_iterator::cpe_testexpr_iterator_has_more" ref="ga43c36e2b99f7362081eb2f7a2130cc6f" args="(struct cpe_testexpr_iterator *it)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>it</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="gadba17c675fef806a7a97bb9976bbfa6c"></a><!-- doxytag: member="cpe_testexpr_iterator::cpe_testexpr_iterator_next" ref="gadba17c675fef806a7a97bb9976bbfa6c" args="(struct cpe_testexpr_iterator *it)" -->
<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> *&nbsp;</td>
          <td class="paramname"> <em>it</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="gaa95723258aff68c121c25c825852d5c3"></a><!-- doxytag: member="cpe_testexpr::cpe_testexpr_set_name" ref="gaa95723258aff68c121c25c825852d5c3" args="(struct cpe_testexpr *expr, struct cpe_name *name)" -->
<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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inherited]</code></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><!-- doxytag: member="cpe_testexpr::cpe_testexpr_set_oper" ref="gaf5cbbabfe39b2bbd5eebd180d0b3eb68" args="(struct cpe_testexpr *expr, cpe_lang_oper_t oper)" -->
<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> *&nbsp;</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>&nbsp;</td>
          <td class="paramname"> <em>oper</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inherited]</code></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>
<hr size="1"/><address style="text-align: right;"><small>Generated on 26 Feb 2010 for Open SCAP Library by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>