<!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 URIs</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.7.4 --> <div id="top"> <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> <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> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#files">Files</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> <div class="contents"> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr><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><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> <tr><td colspan="2"><h2><a name="files"></a> Files</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="cpeuri_8h.html">cpeuri.h</a></td></tr> <p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Interface to Common Platform Enumeration (CPE) URI. </p> <br/></td></tr> </p> <tr><td colspan="2"><h2><a name="enum-members"></a> Enumerations</h2></td></tr> <tr><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><td class="mdescLeft"> </td><td class="mdescRight">enumeration of possible CPE parts <a href="group__cpeuri.html#ga683b693cae1d4b68f257be24c4cc2ab7">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><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><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><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><td class="mdescLeft"> </td><td class="mdescRight">Clone CPE Name. <a href="#gaabe4411fd5d2a955dd6c8e5f95fd2138"></a><br/></td></tr> <tr><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><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#ga6fcacf25ee259b5b9343da178722ea1b"></a><br/></td></tr> <tr><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><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9471548809b90edca59ae2cec770575e"></a><!-- doxytag: member="cpeuri::cpe_name_get_part" ref="ga9471548809b90edca59ae2cec770575e" args="(const struct cpe_name *cpe)" --> <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><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name part type field. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8407fac5886e8440ebe512fe99e3038e"></a><!-- doxytag: member="cpeuri::cpe_name_get_vendor" ref="ga8407fac5886e8440ebe512fe99e3038e" args="(const struct cpe_name *cpe)" --> 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><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name vendor field. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacb0ea70e7a1f33e597c7a5c949852e5e"></a><!-- doxytag: member="cpeuri::cpe_name_get_product" ref="gacb0ea70e7a1f33e597c7a5c949852e5e" args="(const struct cpe_name *cpe)" --> 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><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name product field. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga441bc68b100261b3a477ba10bea9f319"></a><!-- doxytag: member="cpeuri::cpe_name_get_version" ref="ga441bc68b100261b3a477ba10bea9f319" args="(const struct cpe_name *cpe)" --> 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><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name version field. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga13d719e99ec308110024e87aaeb1309e"></a><!-- doxytag: member="cpeuri::cpe_name_get_update" ref="ga13d719e99ec308110024e87aaeb1309e" args="(const struct cpe_name *cpe)" --> 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><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name update field. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga636aef898ccd7b5e7314336a4756add9"></a><!-- doxytag: member="cpeuri::cpe_name_get_edition" ref="ga636aef898ccd7b5e7314336a4756add9" args="(const struct cpe_name *cpe)" --> 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><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name edition field. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeb40ced7dc773e5303354ccd6ddeb07b"></a><!-- doxytag: member="cpeuri::cpe_name_get_language" ref="gaeb40ced7dc773e5303354ccd6ddeb07b" args="(const struct cpe_name *cpe)" --> 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><td class="mdescLeft"> </td><td class="mdescRight">Get CPE name language field. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpeuri.html#ga855d92cdf74999859b86ef855b8a3170">cpe_name::cpe_name_get_uri</a> (const struct <a class="el" href="structcpe__name.html">cpe_name</a> *cpe)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return CPE URI as a new string. <a href="#ga855d92cdf74999859b86ef855b8a3170"></a><br/></td></tr> <tr><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><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae91ca3e6fb76cacf2f2bbf3227fa3050"></a><!-- doxytag: member="cpeuri::cpe_name_set_part" ref="gae91ca3e6fb76cacf2f2bbf3227fa3050" args="(struct cpe_name *cpe, cpe_part_t newval)" --> 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><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name part type field. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaca661342dca3ba6f24396c3c4d52e995"></a><!-- doxytag: member="cpeuri::cpe_name_set_vendor" ref="gaca661342dca3ba6f24396c3c4d52e995" args="(struct cpe_name *cpe, const char *newval)" --> 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><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name vendor field. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9ac1773a3bafd52855835bea7a9fc1d7"></a><!-- doxytag: member="cpeuri::cpe_name_set_product" ref="ga9ac1773a3bafd52855835bea7a9fc1d7" args="(struct cpe_name *cpe, const char *newval)" --> 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><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name product field. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6a65fbe17d81d69cac34c4d848f1be35"></a><!-- doxytag: member="cpeuri::cpe_name_set_version" ref="ga6a65fbe17d81d69cac34c4d848f1be35" args="(struct cpe_name *cpe, const char *newval)" --> 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><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name version field. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1d90b5f12042253d4455efb2d33c4730"></a><!-- doxytag: member="cpeuri::cpe_name_set_update" ref="ga1d90b5f12042253d4455efb2d33c4730" args="(struct cpe_name *cpe, const char *newval)" --> 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><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name update field. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8fa070ce8bc4d6811ba68388328c5cea"></a><!-- doxytag: member="cpeuri::cpe_name_set_edition" ref="ga8fa070ce8bc4d6811ba68388328c5cea" args="(struct cpe_name *cpe, const char *newval)" --> 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><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name edition field. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7f069900ea6c421e00a38caff4cf768a"></a><!-- doxytag: member="cpeuri::cpe_name_set_language" ref="ga7f069900ea6c421e00a38caff4cf768a" args="(struct cpe_name *cpe, const char *newval)" --> 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><td class="mdescLeft"> </td><td class="mdescRight">Set CPE name language field. <br/></td></tr> <tr><td colspan="2"><h2><a name="member-group"></a> Evaluators</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf3b2a0e23c35f22e126a9cd221bd6e70"></a><!-- doxytag: member="cpeuri::cpe_name_match_one" ref="gaf3b2a0e23c35f22e126a9cd221bd6e70" args="(const struct cpe_name *cpe, const struct cpe_name *against)" --> 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><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><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><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><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><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><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><td class="mdescLeft"> </td><td class="mdescRight">Ensures <em>str</em> is in proper CPE format. <a href="#gafd151f3ad1a0a5df02ad69643f083c19"></a><br/></td></tr> <tr><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><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><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><td class="mdescLeft"> </td><td class="mdescRight">Get supported version of CPE uri XML. <a href="#gaf107a1e1f7eb3aa94d941e003585f6a1"></a><br/></td></tr> </table> <hr/><h2>Enumeration Type Documentation</h2> <a class="anchor" id="ga683b693cae1d4b68f257be24c4cc2ab7"></a><!-- doxytag: member="cpeuri.h::cpe_part_t" ref="ga683b693cae1d4b68f257be24c4cc2ab7" args="" --> <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><!-- doxytag: member="CPE_PART_NONE" ref="gga683b693cae1d4b68f257be24c4cc2ab7a5c781205ea171ce6daacf4202cd8dfcd" args="" -->CPE_PART_NONE</em> </td><td> <p>no part specified </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga683b693cae1d4b68f257be24c4cc2ab7a56e20d753d7bacb0a52ab1e2f77deef9"></a><!-- doxytag: member="CPE_PART_HW" ref="gga683b693cae1d4b68f257be24c4cc2ab7a56e20d753d7bacb0a52ab1e2f77deef9" args="" -->CPE_PART_HW</em> </td><td> <p>hardware </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga683b693cae1d4b68f257be24c4cc2ab7abcc204922bfb1b0b9aeee3e9c5253150"></a><!-- doxytag: member="CPE_PART_OS" ref="gga683b693cae1d4b68f257be24c4cc2ab7abcc204922bfb1b0b9aeee3e9c5253150" args="" -->CPE_PART_OS</em> </td><td> <p>operating system </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga683b693cae1d4b68f257be24c4cc2ab7a6a885dbf3b1805209dd77f9c4747850a"></a><!-- doxytag: member="CPE_PART_APP" ref="gga683b693cae1d4b68f257be24c4cc2ab7a6a885dbf3b1805209dd77f9c4747850a" args="" -->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><!-- doxytag: member="cpe_name::cpe_name_check" ref="gafd151f3ad1a0a5df02ad69643f083c19" args="(const char *str)" --> <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>Ensures <em>str</em> is in proper CPE format. </p> <dl><dt><b>Parameters:</b></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><!-- doxytag: member="cpe_name::cpe_name_clone" ref="gaabe4411fd5d2a955dd6c8e5f95fd2138" args="(struct cpe_name *old_name)" --> <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_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><code> [read]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Clone CPE Name. </p> <dl><dt><b>Parameters:</b></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><!-- doxytag: member="cpe_name::cpe_name_free" ref="ga6fcacf25ee259b5b9343da178722ea1b" args="(struct cpe_name *cpe)" --> <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><dt><b>Parameters:</b></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="ga855d92cdf74999859b86ef855b8a3170"></a><!-- doxytag: member="cpe_name::cpe_name_get_uri" ref="ga855d92cdf74999859b86ef855b8a3170" args="(const struct cpe_name *cpe)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char * cpe_name_get_uri </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. </p> <dl class="note"><dt><b>Note:</b></dt><dd>Returned string is newly allocated and is caller's responsibility to free it. </dd></dl> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">cpe</td><td>CPE to be converted </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>CPE URI as string </dd></dl> <dl><dt><b>Return values:</b></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="gada347ce1193dc959312f0fefbdab9fa3"></a><!-- doxytag: member="cpe_name::cpe_name_match_cpes" ref="gada347ce1193dc959312f0fefbdab9fa3" args="(const struct cpe_name *name, size_t n, struct cpe_name **namelist)" --> <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><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>true if <em>name</em> was found within <em>namelist</em> </dd></dl> </div> </div> <a class="anchor" id="ga12c833bf057353c756b92570e0cfa047"></a><!-- doxytag: member="cpe_name::cpe_name_match_strs" ref="ga12c833bf057353c756b92570e0cfa047" args="(const char *candidate, size_t n, char **targets)" --> <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><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>index of first URI in targets, that matched </dd></dl> <dl><dt><b>Return values:</b></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><!-- doxytag: member="cpe_name::cpe_name_new" ref="ga6177bf1f59c75b3cdace48d52a817257" args="(const char *cpe)" --> <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_name_new </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>cpe</em></td><td>)</td> <td><code> [read]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Create a new CPE structure from string <em>cpe</em>. </p> <dl class="note"><dt><b>Note:</b></dt><dd>If <em>cpe</em> is NULL, empty cpe will be created. </dd></dl> <dl><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>new structure holding parsed data </dd></dl> <dl><dt><b>Return values:</b></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><!-- doxytag: member="cpe_name::cpe_name_supported" ref="gaf107a1e1f7eb3aa94d941e003585f6a1" args="(void)" --> <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="return"><dt><b>Returns:</b></dt><dd>version of XML file format </dd></dl> </div> </div> <a class="anchor" id="ga5830b374983190bd7a0bdabd93808a03"></a><!-- doxytag: member="cpe_name::cpe_name_write" ref="ga5830b374983190bd7a0bdabd93808a03" args="(const struct cpe_name *cpe, FILE *f)" --> <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><dt><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>number of written characters </dd></dl> <dl><dt><b>Return values:</b></dt><dd> <table class="retval"> <tr><td class="paramname"><0</td><td>on failure </td></tr> </table> </dd> </dl> </div> </div> </div> <hr class="footer"/><address class="footer"><small>Generated on Mon Jul 25 2011 for Open SCAP Library by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>