<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.6"/> <title>Open SCAP Library: cpedict_priv.h File Reference</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.6 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_adb51d477b117837783049eccd784b4d.html">CPE</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">cpedict_priv.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Interface to Common Platform Enumeration (CPE) Dictionary. <a href="#details">More...</a></p> <div class="textblock"><code>#include <libxml/xmlreader.h></code><br/> <code>#include <libxml/xmlwriter.h></code><br/> <code>#include <stdlib.h></code><br/> <code>#include "<a class="el" href="cpe__name_8h_source.html">cpe_name.h</a>"</code><br/> <code>#include "cpe_ctx_priv.h"</code><br/> <code>#include "<a class="el" href="oscap_8h_source.html">../common/public/oscap.h</a>"</code><br/> <code>#include "../common/util.h"</code><br/> <code>#include "../common/elements.h"</code><br/> </div> <p><a href="cpedict__priv_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcpe__dict__model.html">cpe_dict_model</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Structure representing a CPE dictionary. <a href="structcpe__dict__model.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ab91e38812afe6fcd7d8e3f9344d6293c"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__dict__model.html">cpe_dict_model</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpedict__priv_8h.html#ab91e38812afe6fcd7d8e3f9344d6293c">cpe_dict_model_parse_xml</a> (const char *file)</td></tr> <tr class="memdesc:ab91e38812afe6fcd7d8e3f9344d6293c"><td class="mdescLeft"> </td><td class="mdescRight">Function to parse XML to CPE dictionary model. <a href="#ab91e38812afe6fcd7d8e3f9344d6293c">More...</a><br/></td></tr> <tr class="separator:ab91e38812afe6fcd7d8e3f9344d6293c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2017292b0650545ade586fffb5c2af56"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__generator.html">cpe_generator</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpedict__priv_8h.html#a2017292b0650545ade586fffb5c2af56">cpe_generator_parse</a> (struct <a class="el" href="structcpe__parser__ctx.html">cpe_parser_ctx</a> *ctx)</td></tr> <tr class="memdesc:a2017292b0650545ade586fffb5c2af56"><td class="mdescLeft"> </td><td class="mdescRight">Parse generator part of CPE dictionary XML file. <a href="#a2017292b0650545ade586fffb5c2af56">More...</a><br/></td></tr> <tr class="separator:a2017292b0650545ade586fffb5c2af56"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4ff63eb3d1fee39bcd31b9790db28643"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__item.html">cpe_item</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpedict__priv_8h.html#a4ff63eb3d1fee39bcd31b9790db28643">cpe_item_parse</a> (struct <a class="el" href="structcpe__parser__ctx.html">cpe_parser_ctx</a> *ctx)</td></tr> <tr class="memdesc:a4ff63eb3d1fee39bcd31b9790db28643"><td class="mdescLeft"> </td><td class="mdescRight">New dictionary item from XML. <a href="#a4ff63eb3d1fee39bcd31b9790db28643">More...</a><br/></td></tr> <tr class="separator:a4ff63eb3d1fee39bcd31b9790db28643"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaf937a430bf11be20fa2e5996aa2ed67"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__vendor.html">cpe_vendor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpedict__priv_8h.html#aaf937a430bf11be20fa2e5996aa2ed67">cpe_vendor_parse</a> (xmlTextReaderPtr reader)</td></tr> <tr class="memdesc:aaf937a430bf11be20fa2e5996aa2ed67"><td class="mdescLeft"> </td><td class="mdescRight">Parsing function to parse vendors of CPE dictionary. <a href="#aaf937a430bf11be20fa2e5996aa2ed67">More...</a><br/></td></tr> <tr class="separator:aaf937a430bf11be20fa2e5996aa2ed67"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aae63c5b0db9369aaee79a42fff570b50"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcpe__dict__model.html">cpe_dict_model</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpedict__priv_8h.html#aae63c5b0db9369aaee79a42fff570b50">cpe_dict_model_parse</a> (struct <a class="el" href="structcpe__parser__ctx.html">cpe_parser_ctx</a> *ctx)</td></tr> <tr class="memdesc:aae63c5b0db9369aaee79a42fff570b50"><td class="mdescLeft"> </td><td class="mdescRight">Load new CPE dictionary from XML node. <a href="#aae63c5b0db9369aaee79a42fff570b50">More...</a><br/></td></tr> <tr class="separator:aae63c5b0db9369aaee79a42fff570b50"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af533a25fc4fdd9101bf4badf15d50f20"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cpedict__priv_8h.html#af533a25fc4fdd9101bf4badf15d50f20">cpe_dict_model_export_xml</a> (const struct <a class="el" href="structcpe__dict__model.html">cpe_dict_model</a> *dict, const char *file)</td></tr> <tr class="memdesc:af533a25fc4fdd9101bf4badf15d50f20"><td class="mdescLeft"> </td><td class="mdescRight">Export function for CPE dictionary model. <a href="#af533a25fc4fdd9101bf4badf15d50f20">More...</a><br/></td></tr> <tr class="separator:af533a25fc4fdd9101bf4badf15d50f20"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa67e4679e6c485673692d0807d0d0a99"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cpedict__priv_8h.html#aa67e4679e6c485673692d0807d0d0a99">cpe_dict_export</a> (const struct <a class="el" href="structcpe__dict__model.html">cpe_dict_model</a> *dict, xmlTextWriterPtr writer)</td></tr> <tr class="memdesc:aa67e4679e6c485673692d0807d0d0a99"><td class="mdescLeft"> </td><td class="mdescRight">Internal export function for CPE dictionary model. <a href="#aa67e4679e6c485673692d0807d0d0a99">More...</a><br/></td></tr> <tr class="separator:aa67e4679e6c485673692d0807d0d0a99"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a43920e3a31e443ef3aa55d00d0ce3e76"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cpedict__priv_8h.html#a43920e3a31e443ef3aa55d00d0ce3e76">cpe_generator_export</a> (const struct <a class="el" href="structcpe__generator.html">cpe_generator</a> *generator, xmlTextWriterPtr writer)</td></tr> <tr class="memdesc:a43920e3a31e443ef3aa55d00d0ce3e76"><td class="mdescLeft"> </td><td class="mdescRight">Exporting function for CPE generator - information of XML document. <a href="#a43920e3a31e443ef3aa55d00d0ce3e76">More...</a><br/></td></tr> <tr class="separator:a43920e3a31e443ef3aa55d00d0ce3e76"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab292f9e8368385e006896fcf63a690e3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cpedict__priv_8h.html#ab292f9e8368385e006896fcf63a690e3">cpe_item_export</a> (const struct <a class="el" href="structcpe__item.html">cpe_item</a> *item, xmlTextWriterPtr writer, int base_version)</td></tr> <tr class="memdesc:ab292f9e8368385e006896fcf63a690e3"><td class="mdescLeft"> </td><td class="mdescRight">Exporting function for CPE item. <a href="#ab292f9e8368385e006896fcf63a690e3">More...</a><br/></td></tr> <tr class="separator:ab292f9e8368385e006896fcf63a690e3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abf5bcc5c74c7e5826325537ecbbfc512"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cpedict__priv_8h.html#abf5bcc5c74c7e5826325537ecbbfc512">cpe_vendor_export</a> (const struct <a class="el" href="structcpe__vendor.html">cpe_vendor</a> *vendor, xmlTextWriterPtr writer)</td></tr> <tr class="memdesc:abf5bcc5c74c7e5826325537ecbbfc512"><td class="mdescLeft"> </td><td class="mdescRight">Exporting function for CPE vendor. <a href="#abf5bcc5c74c7e5826325537ecbbfc512">More...</a><br/></td></tr> <tr class="separator:abf5bcc5c74c7e5826325537ecbbfc512"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Interface to Common Platform Enumeration (CPE) Dictionary. </p> <p>See more details at <a href="http://nvd.nist.gov/cpe.cfm">http://nvd.nist.gov/cpe.cfm</a> </p> </div><h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="aa67e4679e6c485673692d0807d0d0a99"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cpe_dict_export </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structcpe__dict__model.html">cpe_dict_model</a> * </td> <td class="paramname"><em>dict</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">xmlTextWriterPtr </td> <td class="paramname"><em>writer</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Internal export function for CPE dictionary model. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">dict</td><td>CPE dictionary </td></tr> <tr><td class="paramname">writer</td><td>xmlTextWriterPtr representing XML model </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="af533a25fc4fdd9101bf4badf15d50f20"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cpe_dict_model_export_xml </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structcpe__dict__model.html">cpe_dict_model</a> * </td> <td class="paramname"><em>dict</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>file</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Export function for CPE dictionary model. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">dict</td><td>CPE dictionary structure </td></tr> <tr><td class="paramname">file</td><td>filename to export </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="aae63c5b0db9369aaee79a42fff570b50"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structcpe__dict__model.html">cpe_dict_model</a>* cpe_dict_model_parse </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcpe__parser__ctx.html">cpe_parser_ctx</a> * </td> <td class="paramname"><em>ctx</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Load new CPE dictionary from XML node. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>CPE parser context </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>new dictionary </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="ab91e38812afe6fcd7d8e3f9344d6293c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structcpe__dict__model.html">cpe_dict_model</a>* cpe_dict_model_parse_xml </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>file</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Function to parse XML to CPE dictionary model. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">file</td><td>filename </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a43920e3a31e443ef3aa55d00d0ce3e76"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cpe_generator_export </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structcpe__generator.html">cpe_generator</a> * </td> <td class="paramname"><em>generator</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">xmlTextWriterPtr </td> <td class="paramname"><em>writer</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Exporting function for CPE generator - information of XML document. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">generator</td><td>CPE generator structure </td></tr> <tr><td class="paramname">writer</td><td>xmlTextWriterPtr representing XML model </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a2017292b0650545ade586fffb5c2af56"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structcpe__generator.html">cpe_generator</a>* cpe_generator_parse </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcpe__parser__ctx.html">cpe_parser_ctx</a> * </td> <td class="paramname"><em>ctx</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Parse generator part of CPE dictionary XML file. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>CPE Parser's context </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>new structure <a class="el" href="structcpe__generator.html" title="Structure with information about document. ">cpe_generator</a> </dd></dl> </div> </div> <a class="anchor" id="ab292f9e8368385e006896fcf63a690e3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cpe_item_export </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structcpe__item.html">cpe_item</a> * </td> <td class="paramname"><em>item</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">xmlTextWriterPtr </td> <td class="paramname"><em>writer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>base_version</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Exporting function for CPE item. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">item</td><td>CPE item structure </td></tr> <tr><td class="paramname">writer</td><td>xmlTextWriterPtr representing XML model </td></tr> <tr><td class="paramname">base_version</td><td>what is the base version of target CPE dict (1 for CPE 1.x, 2 for CPE 2.x, ...) </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a4ff63eb3d1fee39bcd31b9790db28643"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structcpe__item.html">cpe_item</a>* cpe_item_parse </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcpe__parser__ctx.html">cpe_parser_ctx</a> * </td> <td class="paramname"><em>ctx</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>New dictionary item from XML. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>CPE parser's context </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>new dictionary item </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="abf5bcc5c74c7e5826325537ecbbfc512"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cpe_vendor_export </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structcpe__vendor.html">cpe_vendor</a> * </td> <td class="paramname"><em>vendor</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">xmlTextWriterPtr </td> <td class="paramname"><em>writer</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Exporting function for CPE vendor. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">vendor</td><td>CPE vendor structure </td></tr> <tr><td class="paramname">writer</td><td>xmlTextWriterPtr representing XML model </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="aaf937a430bf11be20fa2e5996aa2ed67"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structcpe__vendor.html">cpe_vendor</a>* cpe_vendor_parse </td> <td>(</td> <td class="paramtype">xmlTextReaderPtr </td> <td class="paramname"><em>reader</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Parsing function to parse vendors of CPE dictionary. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">reader</td><td>xmlTextReaderPtr representing XML model </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>new structure <a class="el" href="structcpe__vendor.html" title="Structure with information about vendor. ">cpe_vendor</a> </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.6 </small></address> </body> </html>