<!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 URIs</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><a href="files.html"><span>Files</span></a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#files">Files</a> | <a href="#nested-classes">Data Structures</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">CPE URIs</div> </div> <div class="ingroups"><a class="el" href="group__CPE.html">CPE</a></div></div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="files"></a> Files</h2></td></tr> <tr class="memitem:cpe__name_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="cpe__name_8h.html">cpe_name.h</a></td></tr> <tr class="memdesc:cpe__name_8h"><td class="mdescLeft"> </td><td class="mdescRight">Interface to Common Platform Enumeration (CPE) URI. <br/></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcpe__name.html">cpe_name</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Structure holding Common Platform Enumeration URI data. <a href="structcpe__name.html#details">More...</a><br/></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:ga683b693cae1d4b68f257be24c4cc2ab7"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga683b693cae1d4b68f257be24c4cc2ab7">cpe_part_t</a> { <a class="el" href="group__cpeuri.html#gga683b693cae1d4b68f257be24c4cc2ab7a5c781205ea171ce6daacf4202cd8dfcd">CPE_PART_NONE</a>, <a class="el" href="group__cpeuri.html#gga683b693cae1d4b68f257be24c4cc2ab7a56e20d753d7bacb0a52ab1e2f77deef9">CPE_PART_HW</a>, <a class="el" href="group__cpeuri.html#gga683b693cae1d4b68f257be24c4cc2ab7abcc204922bfb1b0b9aeee3e9c5253150">CPE_PART_OS</a>, <a class="el" href="group__cpeuri.html#gga683b693cae1d4b68f257be24c4cc2ab7a6a885dbf3b1805209dd77f9c4747850a">CPE_PART_APP</a> }</td></tr> <tr class="memdesc:ga683b693cae1d4b68f257be24c4cc2ab7"><td class="mdescLeft"> </td><td class="mdescRight">enumeration of possible CPE parts <a href="group__cpeuri.html#ga683b693cae1d4b68f257be24c4cc2ab7">More...</a><br/></td></tr> <tr class="memitem:gaae53e0c2b5bf2944830957a0cbcee53f"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#gaae53e0c2b5bf2944830957a0cbcee53f">cpe_format_t</a> { <a class="el" href="group__cpeuri.html#ggaae53e0c2b5bf2944830957a0cbcee53fa7755fc5b990ab2b090c046af53261a63">CPE_FORMAT_UNKNOWN</a>, <a class="el" href="group__cpeuri.html#ggaae53e0c2b5bf2944830957a0cbcee53fa67a8f55de32391469ba0905e3aeb8fa3">CPE_FORMAT_URI</a>, <a class="el" href="group__cpeuri.html#ggaae53e0c2b5bf2944830957a0cbcee53fad395d4dc0c0d71e80e0efcbf125ba0ac">CPE_FORMAT_STRING</a>, <a class="el" href="group__cpeuri.html#ggaae53e0c2b5bf2944830957a0cbcee53fa0971aaeacb44fee6161bf5642743f189">CPE_FORMAT_WFN</a> }</td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ga6177bf1f59c75b3cdace48d52a817257"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__name.html">cpe_name</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga6177bf1f59c75b3cdace48d52a817257">cpe_name::cpe_name_new</a> (const char *cpe)</td></tr> <tr class="memdesc:ga6177bf1f59c75b3cdace48d52a817257"><td class="mdescLeft"> </td><td class="mdescRight">Create a new CPE structure from string <em>cpe</em>. <a href="#ga6177bf1f59c75b3cdace48d52a817257"></a><br/></td></tr> <tr class="memitem:gaabe4411fd5d2a955dd6c8e5f95fd2138"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__name.html">cpe_name</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#gaabe4411fd5d2a955dd6c8e5f95fd2138">cpe_name::cpe_name_clone</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *old_name)</td></tr> <tr class="memdesc:gaabe4411fd5d2a955dd6c8e5f95fd2138"><td class="mdescLeft"> </td><td class="mdescRight">Clone CPE Name. <a href="#gaabe4411fd5d2a955dd6c8e5f95fd2138"></a><br/></td></tr> <tr class="memitem:ga6fcacf25ee259b5b9343da178722ea1b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga6fcacf25ee259b5b9343da178722ea1b">cpe_name::cpe_name_free</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:ga6fcacf25ee259b5b9343da178722ea1b"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#ga6fcacf25ee259b5b9343da178722ea1b"></a><br/></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="member-group"></a> Getters</h2></td></tr> <tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpc9fd0bcb5385a65354c37f1bb504399d"></a>Return value is pointer to structure's member.</p> <p>Do not free unless you null the pointer in the structure. Use remove function otherwise. </p> </td></tr> <tr class="memitem:gad770164f6ea935f8431443ac9c57b89f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad770164f6ea935f8431443ac9c57b89f"></a> <a class="el" href="group__cpeuri.html#gaae53e0c2b5bf2944830957a0cbcee53f">cpe_format_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#gad770164f6ea935f8431443ac9c57b89f">cpe_name::cpe_name_get_format</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:gad770164f6ea935f8431443ac9c57b89f"><td class="mdescLeft"> </td><td class="mdescRight">Get how the CPE name was loaded and how it should be saved. <br/></td></tr> <tr class="memitem:ga9471548809b90edca59ae2cec770575e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9471548809b90edca59ae2cec770575e"></a> <a class="el" href="group__cpeuri.html#ga683b693cae1d4b68f257be24c4cc2ab7">cpe_part_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga9471548809b90edca59ae2cec770575e">cpe_name::cpe_name_get_part</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:ga9471548809b90edca59ae2cec770575e"><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name part type field. <br/></td></tr> <tr class="memitem:ga8407fac5886e8440ebe512fe99e3038e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8407fac5886e8440ebe512fe99e3038e"></a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga8407fac5886e8440ebe512fe99e3038e">cpe_name::cpe_name_get_vendor</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:ga8407fac5886e8440ebe512fe99e3038e"><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name vendor field. <br/></td></tr> <tr class="memitem:gacb0ea70e7a1f33e597c7a5c949852e5e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacb0ea70e7a1f33e597c7a5c949852e5e"></a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#gacb0ea70e7a1f33e597c7a5c949852e5e">cpe_name::cpe_name_get_product</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:gacb0ea70e7a1f33e597c7a5c949852e5e"><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name product field. <br/></td></tr> <tr class="memitem:ga441bc68b100261b3a477ba10bea9f319"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga441bc68b100261b3a477ba10bea9f319"></a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga441bc68b100261b3a477ba10bea9f319">cpe_name::cpe_name_get_version</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:ga441bc68b100261b3a477ba10bea9f319"><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name version field. <br/></td></tr> <tr class="memitem:ga13d719e99ec308110024e87aaeb1309e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga13d719e99ec308110024e87aaeb1309e"></a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga13d719e99ec308110024e87aaeb1309e">cpe_name::cpe_name_get_update</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:ga13d719e99ec308110024e87aaeb1309e"><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name update field. <br/></td></tr> <tr class="memitem:ga636aef898ccd7b5e7314336a4756add9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga636aef898ccd7b5e7314336a4756add9"></a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga636aef898ccd7b5e7314336a4756add9">cpe_name::cpe_name_get_edition</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:ga636aef898ccd7b5e7314336a4756add9"><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name edition field. <br/></td></tr> <tr class="memitem:gaeb40ced7dc773e5303354ccd6ddeb07b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeb40ced7dc773e5303354ccd6ddeb07b"></a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#gaeb40ced7dc773e5303354ccd6ddeb07b">cpe_name::cpe_name_get_language</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:gaeb40ced7dc773e5303354ccd6ddeb07b"><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name language field. <br/></td></tr> <tr class="memitem:ga3bd44d9954ecb2b420d0bf512528c4ef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3bd44d9954ecb2b420d0bf512528c4ef"></a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga3bd44d9954ecb2b420d0bf512528c4ef">cpe_name::cpe_name_get_sw_edition</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:ga3bd44d9954ecb2b420d0bf512528c4ef"><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name sw_edition field. <br/></td></tr> <tr class="memitem:ga358da6d64ce3bad70ba91be434098899"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga358da6d64ce3bad70ba91be434098899"></a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga358da6d64ce3bad70ba91be434098899">cpe_name::cpe_name_get_target_sw</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:ga358da6d64ce3bad70ba91be434098899"><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name target_sw field. <br/></td></tr> <tr class="memitem:ga9e3c349dca9177fde08ebecc9216f0f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9e3c349dca9177fde08ebecc9216f0f9"></a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga9e3c349dca9177fde08ebecc9216f0f9">cpe_name::cpe_name_get_target_hw</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:ga9e3c349dca9177fde08ebecc9216f0f9"><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name target_hw field. <br/></td></tr> <tr class="memitem:gaacd2ebad5e413298766c7eb1d1b94302"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaacd2ebad5e413298766c7eb1d1b94302"></a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#gaacd2ebad5e413298766c7eb1d1b94302">cpe_name::cpe_name_get_other</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:gaacd2ebad5e413298766c7eb1d1b94302"><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name other field. <br/></td></tr> <tr class="memitem:ga47cb19f49f324cbf1b8c5c98026d49f8"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga47cb19f49f324cbf1b8c5c98026d49f8">cpe_name::cpe_name_get_as_format</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, <a class="el" href="group__cpeuri.html#gaae53e0c2b5bf2944830957a0cbcee53f">cpe_format_t</a> format)</td></tr> <tr class="memdesc:ga47cb19f49f324cbf1b8c5c98026d49f8"><td class="mdescLeft"> </td><td class="mdescRight">Return CPE URI as a new string in specified format. <a href="#ga47cb19f49f324cbf1b8c5c98026d49f8"></a><br/></td></tr> <tr class="memitem:ga9a038405d203a8400f72434469db9c05"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga9a038405d203a8400f72434469db9c05">cpe_name::cpe_name_get_as_str</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr class="memdesc:ga9a038405d203a8400f72434469db9c05"><td class="mdescLeft"> </td><td class="mdescRight">Return CPE URI as a new string in the format in which it was loaded. <a href="#ga9a038405d203a8400f72434469db9c05"></a><br/></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="member-group"></a> Setters</h2></td></tr> <tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp6e47466b75bb957a603aa54c079ac8bf"></a>For lists use add functions.</p> <p>Parameters of set functions are duplicated in memory and need to be freed by caller. </p> </td></tr> <tr class="memitem:gaa4cb958cb6fa4111615b2e2dcf8187d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa4cb958cb6fa4111615b2e2dcf8187d0"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#gaa4cb958cb6fa4111615b2e2dcf8187d0">cpe_name::cpe_name_set_format</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, <a class="el" href="group__cpeuri.html#gaae53e0c2b5bf2944830957a0cbcee53f">cpe_format_t</a> newval)</td></tr> <tr class="memdesc:gaa4cb958cb6fa4111615b2e2dcf8187d0"><td class="mdescLeft"> </td><td class="mdescRight">Set how the CPE name was loaded and how it should be saved. <br/></td></tr> <tr class="memitem:gae91ca3e6fb76cacf2f2bbf3227fa3050"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae91ca3e6fb76cacf2f2bbf3227fa3050"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#gae91ca3e6fb76cacf2f2bbf3227fa3050">cpe_name::cpe_name_set_part</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, <a class="el" href="group__cpeuri.html#ga683b693cae1d4b68f257be24c4cc2ab7">cpe_part_t</a> newval)</td></tr> <tr class="memdesc:gae91ca3e6fb76cacf2f2bbf3227fa3050"><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name part type field. <br/></td></tr> <tr class="memitem:gaca661342dca3ba6f24396c3c4d52e995"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaca661342dca3ba6f24396c3c4d52e995"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#gaca661342dca3ba6f24396c3c4d52e995">cpe_name::cpe_name_set_vendor</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, const char *newval)</td></tr> <tr class="memdesc:gaca661342dca3ba6f24396c3c4d52e995"><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name vendor field. <br/></td></tr> <tr class="memitem:ga9ac1773a3bafd52855835bea7a9fc1d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9ac1773a3bafd52855835bea7a9fc1d7"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga9ac1773a3bafd52855835bea7a9fc1d7">cpe_name::cpe_name_set_product</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, const char *newval)</td></tr> <tr class="memdesc:ga9ac1773a3bafd52855835bea7a9fc1d7"><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name product field. <br/></td></tr> <tr class="memitem:ga6a65fbe17d81d69cac34c4d848f1be35"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6a65fbe17d81d69cac34c4d848f1be35"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga6a65fbe17d81d69cac34c4d848f1be35">cpe_name::cpe_name_set_version</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, const char *newval)</td></tr> <tr class="memdesc:ga6a65fbe17d81d69cac34c4d848f1be35"><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name version field. <br/></td></tr> <tr class="memitem:ga1d90b5f12042253d4455efb2d33c4730"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1d90b5f12042253d4455efb2d33c4730"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga1d90b5f12042253d4455efb2d33c4730">cpe_name::cpe_name_set_update</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, const char *newval)</td></tr> <tr class="memdesc:ga1d90b5f12042253d4455efb2d33c4730"><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name update field. <br/></td></tr> <tr class="memitem:ga8fa070ce8bc4d6811ba68388328c5cea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8fa070ce8bc4d6811ba68388328c5cea"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga8fa070ce8bc4d6811ba68388328c5cea">cpe_name::cpe_name_set_edition</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, const char *newval)</td></tr> <tr class="memdesc:ga8fa070ce8bc4d6811ba68388328c5cea"><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name edition field. <br/></td></tr> <tr class="memitem:ga7f069900ea6c421e00a38caff4cf768a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7f069900ea6c421e00a38caff4cf768a"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga7f069900ea6c421e00a38caff4cf768a">cpe_name::cpe_name_set_language</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, const char *newval)</td></tr> <tr class="memdesc:ga7f069900ea6c421e00a38caff4cf768a"><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name language field. <br/></td></tr> <tr class="memitem:ga26b47d48ca0d6a2011185c0cb7653cc6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga26b47d48ca0d6a2011185c0cb7653cc6"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga26b47d48ca0d6a2011185c0cb7653cc6">cpe_name::cpe_name_set_sw_edition</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, const char *newval)</td></tr> <tr class="memdesc:ga26b47d48ca0d6a2011185c0cb7653cc6"><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name sw_edition field. <br/></td></tr> <tr class="memitem:ga383c61a7ea46c6c65b2197b8b3bd4095"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga383c61a7ea46c6c65b2197b8b3bd4095"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga383c61a7ea46c6c65b2197b8b3bd4095">cpe_name::cpe_name_set_target_sw</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, const char *newval)</td></tr> <tr class="memdesc:ga383c61a7ea46c6c65b2197b8b3bd4095"><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name target_sw field. <br/></td></tr> <tr class="memitem:ga8b1ac76410a85f6e5e01aba7a795dc1c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8b1ac76410a85f6e5e01aba7a795dc1c"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga8b1ac76410a85f6e5e01aba7a795dc1c">cpe_name::cpe_name_set_target_hw</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, const char *newval)</td></tr> <tr class="memdesc:ga8b1ac76410a85f6e5e01aba7a795dc1c"><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name target_hw field. <br/></td></tr> <tr class="memitem:ga60f2a940f9224c319d5e7a7e81bf94bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga60f2a940f9224c319d5e7a7e81bf94bd"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga60f2a940f9224c319d5e7a7e81bf94bd">cpe_name::cpe_name_set_other</a> (struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, const char *newval)</td></tr> <tr class="memdesc:ga60f2a940f9224c319d5e7a7e81bf94bd"><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name other field. <br/></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="member-group"></a> Evaluators</h2></td></tr> <tr class="memitem:ga28fe77f0c34a8b39c10e4d0906b5343d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__cpeuri.html#gaae53e0c2b5bf2944830957a0cbcee53f">cpe_format_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga28fe77f0c34a8b39c10e4d0906b5343d">cpe_name_get_format_of_str</a> (const char *str)</td></tr> <tr class="memdesc:ga28fe77f0c34a8b39c10e4d0906b5343d"><td class="mdescLeft"> </td><td class="mdescRight">Looks at given string and returns format it is in. <a href="#ga28fe77f0c34a8b39c10e4d0906b5343d"></a><br/></td></tr> <tr class="memitem:gaf3b2a0e23c35f22e126a9cd221bd6e70"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf3b2a0e23c35f22e126a9cd221bd6e70"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#gaf3b2a0e23c35f22e126a9cd221bd6e70">cpe_name::cpe_name_match_one</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, const struct <a class="el" href="structcpe__name.html">cpe_name</a> *against)</td></tr> <tr class="memdesc:gaf3b2a0e23c35f22e126a9cd221bd6e70"><td class="mdescLeft"> </td><td class="mdescRight">Check if candidate CPE <em>cpe</em> matches CPE <em>against</em> according to CPE specification v 2.1. <br/></td></tr> <tr class="memitem:gada347ce1193dc959312f0fefbdab9fa3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#gada347ce1193dc959312f0fefbdab9fa3">cpe_name::cpe_name_match_cpes</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *name, size_t n, struct <a class="el" href="structcpe__name.html">cpe_name</a> **namelist)</td></tr> <tr class="memdesc:gada347ce1193dc959312f0fefbdab9fa3"><td class="mdescLeft"> </td><td class="mdescRight">Check if CPE <em>name</em> matches any CPE in <em>namelist</em>. <a href="#gada347ce1193dc959312f0fefbdab9fa3"></a><br/></td></tr> <tr class="memitem:ga5830b374983190bd7a0bdabd93808a03"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga5830b374983190bd7a0bdabd93808a03">cpe_name::cpe_name_write</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe, FILE *f)</td></tr> <tr class="memdesc:ga5830b374983190bd7a0bdabd93808a03"><td class="mdescLeft"> </td><td class="mdescRight">Write CPE URI <em>cpe</em> to file a descriptor <em>f</em>. <a href="#ga5830b374983190bd7a0bdabd93808a03"></a><br/></td></tr> <tr class="memitem:gafd151f3ad1a0a5df02ad69643f083c19"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#gafd151f3ad1a0a5df02ad69643f083c19">cpe_name::cpe_name_check</a> (const char *str)</td></tr> <tr class="memdesc:gafd151f3ad1a0a5df02ad69643f083c19"><td class="mdescLeft"> </td><td class="mdescRight">Checks whether <em>str</em> is valid CPE string (in any supported format). <a href="#gafd151f3ad1a0a5df02ad69643f083c19"></a><br/></td></tr> <tr class="memitem:ga12c833bf057353c756b92570e0cfa047"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga12c833bf057353c756b92570e0cfa047">cpe_name::cpe_name_match_strs</a> (const char *candidate, size_t n, char **targets)</td></tr> <tr class="memdesc:ga12c833bf057353c756b92570e0cfa047"><td class="mdescLeft"> </td><td class="mdescRight">Match CPE URI <em>candidate</em> against list of <em>n</em> CPE URIs given by <em>targets</em>. <a href="#ga12c833bf057353c756b92570e0cfa047"></a><br/></td></tr> <tr class="memitem:gaf107a1e1f7eb3aa94d941e003585f6a1"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#gaf107a1e1f7eb3aa94d941e003585f6a1">cpe_name::cpe_name_supported</a> (void)</td></tr> <tr class="memdesc:gaf107a1e1f7eb3aa94d941e003585f6a1"><td class="mdescLeft"> </td><td class="mdescRight">Get supported version of CPE uri XML. <a href="#gaf107a1e1f7eb3aa94d941e003585f6a1"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <hr/><h2>Enumeration Type Documentation</h2> <a class="anchor" id="gaae53e0c2b5bf2944830957a0cbcee53f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group__cpeuri.html#gaae53e0c2b5bf2944830957a0cbcee53f">cpe_format_t</a></td> </tr> </table> </div><div class="memdoc"> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="ggaae53e0c2b5bf2944830957a0cbcee53fa7755fc5b990ab2b090c046af53261a63"></a>CPE_FORMAT_UNKNOWN</em> </td><td> <p>can't be serialized, is usually used to signal errors </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggaae53e0c2b5bf2944830957a0cbcee53fa67a8f55de32391469ba0905e3aeb8fa3"></a>CPE_FORMAT_URI</em> </td><td> <p>available in all CPE versions, default in CPE 2.2 and previous </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggaae53e0c2b5bf2944830957a0cbcee53fad395d4dc0c0d71e80e0efcbf125ba0ac"></a>CPE_FORMAT_STRING</em> </td><td> <p>available in CPE 2.3 and newer </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggaae53e0c2b5bf2944830957a0cbcee53fa0971aaeacb44fee6161bf5642743f189"></a>CPE_FORMAT_WFN</em> </td><td> <p>available in CPE 2.3 and newer versions, default in CPE 2.3 and newer </p> </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga683b693cae1d4b68f257be24c4cc2ab7"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group__cpeuri.html#ga683b693cae1d4b68f257be24c4cc2ab7">cpe_part_t</a></td> </tr> </table> </div><div class="memdoc"> <p>enumeration of possible CPE parts </p> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="gga683b693cae1d4b68f257be24c4cc2ab7a5c781205ea171ce6daacf4202cd8dfcd"></a>CPE_PART_NONE</em> </td><td> <p>no part specified </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga683b693cae1d4b68f257be24c4cc2ab7a56e20d753d7bacb0a52ab1e2f77deef9"></a>CPE_PART_HW</em> </td><td> <p>hardware </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga683b693cae1d4b68f257be24c4cc2ab7abcc204922bfb1b0b9aeee3e9c5253150"></a>CPE_PART_OS</em> </td><td> <p>operating system </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga683b693cae1d4b68f257be24c4cc2ab7a6a885dbf3b1805209dd77f9c4747850a"></a>CPE_PART_APP</em> </td><td> <p>application </p> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="gafd151f3ad1a0a5df02ad69643f083c19"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool cpe_name_check </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>str</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Checks whether <em>str</em> is valid CPE string (in any supported format). </p> <dl class="params"><dt>Parameters:</dt><dd> <table class="params"> <tr><td class="paramname">str</td><td>string to be validated </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gaabe4411fd5d2a955dd6c8e5f95fd2138"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structcpe__name.html">cpe_name</a> * cpe_name_clone </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcpe__name.html">cpe_name</a> * </td> <td class="paramname"><em>old_name</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">read</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Clone CPE Name. </p> <dl class="params"><dt>Parameters:</dt><dd> <table class="params"> <tr><td class="paramname">old_name</td><td>CPE name </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga6fcacf25ee259b5b9343da178722ea1b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cpe_name_free </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcpe__name.html">cpe_name</a> * </td> <td class="paramname"><em>cpe</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Destructor. </p> <p>Frees any used resources and safely destroys <em>cpe</em>.</p> <dl class="params"><dt>Parameters:</dt><dd> <table class="params"> <tr><td class="paramname">cpe</td><td>CPE to be deleted </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga47cb19f49f324cbf1b8c5c98026d49f8"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char * cpe_name_get_as_format </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structcpe__name.html">cpe_name</a> * </td> <td class="paramname"><em>cpe</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__cpeuri.html#gaae53e0c2b5bf2944830957a0cbcee53f">cpe_format_t</a> </td> <td class="paramname"><em>format</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Return CPE URI as a new string in specified format. </p> <dl class="section note"><dt>Note:</dt><dd>Returned string is newly allocated and is caller's responsibility to free it. </dd></dl> <dl class="params"><dt>Parameters:</dt><dd> <table class="params"> <tr><td class="paramname">cpe</td><td>CPE to be converted </td></tr> <tr><td class="paramname">format</td><td>Which format should the string be in </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns:</dt><dd>CPE URI as string </dd></dl> <dl class="retval"><dt>Return values:</dt><dd> <table class="retval"> <tr><td class="paramname">NULL</td><td>on failure </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga9a038405d203a8400f72434469db9c05"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char * cpe_name_get_as_str </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structcpe__name.html">cpe_name</a> * </td> <td class="paramname"><em>cpe</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Return CPE URI as a new string in the format in which it was loaded. </p> <dl class="section note"><dt>Note:</dt><dd>Returned string is newly allocated and is caller's responsibility to free it. </dd></dl> <dl class="params"><dt>Parameters:</dt><dd> <table class="params"> <tr><td class="paramname">cpe</td><td>CPE to be converted </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns:</dt><dd>CPE URI as string </dd></dl> <dl class="retval"><dt>Return values:</dt><dd> <table class="retval"> <tr><td class="paramname">NULL</td><td>on failure </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga28fe77f0c34a8b39c10e4d0906b5343d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__cpeuri.html#gaae53e0c2b5bf2944830957a0cbcee53f">cpe_format_t</a> cpe_name_get_format_of_str </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>str</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Looks at given string and returns format it is in. </p> <p>CPE_FORMAT_UNKNOWN is used in case of errors </p> </div> </div> <a class="anchor" id="gada347ce1193dc959312f0fefbdab9fa3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool cpe_name_match_cpes </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structcpe__name.html">cpe_name</a> * </td> <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structcpe__name.html">cpe_name</a> ** </td> <td class="paramname"><em>namelist</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Check if CPE <em>name</em> matches any CPE in <em>namelist</em>. </p> <dl class="params"><dt>Parameters:</dt><dd> <table class="params"> <tr><td class="paramname">name</td><td>name to be looked-up </td></tr> <tr><td class="paramname">n</td><td>number of items in namelist </td></tr> <tr><td class="paramname">namelist</td><td>list of names to search in </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns:</dt><dd>true if <em>name</em> was found within <em>namelist</em> </dd></dl> </div> </div> <a class="anchor" id="ga12c833bf057353c756b92570e0cfa047"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int cpe_name_match_strs </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>candidate</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char ** </td> <td class="paramname"><em>targets</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Match CPE URI <em>candidate</em> against list of <em>n</em> CPE URIs given by <em>targets</em>. </p> <dl class="params"><dt>Parameters:</dt><dd> <table class="params"> <tr><td class="paramname">candidate</td><td>candidarte CPE URI as string </td></tr> <tr><td class="paramname">n</td><td>number of items in targets </td></tr> <tr><td class="paramname">targets</td><td>list of CPE URIs to be candidate matched against </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns:</dt><dd>index of first URI in targets, that matched </dd></dl> <dl class="retval"><dt>Return values:</dt><dd> <table class="retval"> <tr><td class="paramname">-1</td><td>on mismatch </td></tr> <tr><td class="paramname">-2</td><td>invalid CPE URI was given as parameter </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga6177bf1f59c75b3cdace48d52a817257"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structcpe__name.html">cpe_name</a> * cpe_name_new </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>cpe</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">read</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Create a new CPE structure from string <em>cpe</em>. </p> <dl class="section note"><dt>Note:</dt><dd>If <em>cpe</em> is NULL, empty cpe will be created. </dd></dl> <dl class="params"><dt>Parameters:</dt><dd> <table class="params"> <tr><td class="paramname">cpe</td><td>CPE URI string to be parsed </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns:</dt><dd>new structure holding parsed data </dd></dl> <dl class="retval"><dt>Return values:</dt><dd> <table class="retval"> <tr><td class="paramname">NULL</td><td>on failure </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gaf107a1e1f7eb3aa94d941e003585f6a1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char * cpe_name_supported </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get supported version of CPE uri XML. </p> <dl class="section return"><dt>Returns:</dt><dd>version of XML file format </dd></dl> </div> </div> <a class="anchor" id="ga5830b374983190bd7a0bdabd93808a03"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int cpe_name_write </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structcpe__name.html">cpe_name</a> * </td> <td class="paramname"><em>cpe</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">FILE * </td> <td class="paramname"><em>f</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Write CPE URI <em>cpe</em> to file a descriptor <em>f</em>. </p> <dl class="params"><dt>Parameters:</dt><dd> <table class="params"> <tr><td class="paramname">cpe</td><td>cpe to write </td></tr> <tr><td class="paramname">f</td><td>file descriptor to write CPE URI to </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns:</dt><dd>number of written characters </dd></dl> <dl class="retval"><dt>Return values:</dt><dd> <table class="retval"> <tr><td class="paramname"><0</td><td>on failure </td></tr> </table> </dd> </dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1.1 </small></address> </body> </html>