/home/brq/plautrba/devel/src/openscap.git/openscap-0.8.2/src/CPE/cpedict_priv.c File Reference

Interface to Common Platform Enumeration (CPE) Language. More...

#include <libxml/xmlreader.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include "public/cpedict.h"
#include "public/cpeuri.h"
#include "cpedict_priv.h"
#include "common/list.h"
#include "common/elements.h"
#include "common/text_priv.h"
#include "common/_error.h"

Data Structures

struct  cpe_item
 Structure representing single CPE dictionary item. More...
struct  cpe_check
 Structure representing single CPE check. More...
struct  cpe_reference
 CPE dictionary item reference. More...
struct  cpe_generator
 Structure with information about document. More...
struct  cpe_dict_model
 Structure representing a CPE dictionary. More...
struct  cpe_product
 Product of some vendor. More...
struct  cpe_version
 Version of product. More...
struct  cpe_update
 Update of product version. More...
struct  cpe_edition
 Edition of product update. More...
struct  cpe_language
 Language of product edition. More...

Defines

#define TAG_CHECK_STR   BAD_CAST "check"
#define TAG_NOTES_STR   BAD_CAST "notes"
#define TAG_REFERENCES_STR   BAD_CAST "references"
#define ATTR_DEP_BY_NVDID_STR   BAD_CAST "deprecated-by-nvd-id"
#define ATTR_NVD_ID_STR   BAD_CAST "nvd-id"
#define ATTR_STATUS_STR   BAD_CAST "status"
#define ATTR_MODIFICATION_DATE_STR   BAD_CAST "modification-date"
#define TAG_ITEM_METADATA_STR   BAD_CAST "item-metadata"
#define TAG_REFERENCE_STR   BAD_CAST "reference"
#define TAG_NOTE_STR   BAD_CAST "note"
#define TAG_TITLE_STR   BAD_CAST "title"
#define TAG_CPE_ITEM_STR   BAD_CAST "cpe-item"
#define ATTR_DEPRECATION_DATE_STR   BAD_CAST "deprecation_date"
#define ATTR_DEPRECATED_BY_STR   BAD_CAST "deprecated_by"
#define ATTR_DEPRECATED_STR   BAD_CAST "deprecated"
#define ATTR_NAME_STR   BAD_CAST "name"
#define TAG_GENERATOR_STR   BAD_CAST "generator"
#define TAG_PRODUCT_STR   BAD_CAST "product"
#define TAG_PRODUCT_NAME_STR   BAD_CAST "product_name"
#define TAG_PRODUCT_VERSION_STR   BAD_CAST "product_version"
#define TAG_SCHEMA_VERSION_STR   BAD_CAST "schema_version"
#define TAG_TIMESTAMP_STR   BAD_CAST "timestamp"
#define TAG_COMPONENT_TREE_STR   BAD_CAST "component-tree"
#define TAG_VENDOR_STR   BAD_CAST "vendor"
#define TAG_CPE_LIST_STR   BAD_CAST "cpe-list"
#define TAG_VERSION_STR   BAD_CAST "version"
#define TAG_UPDATE_STR   BAD_CAST "update"
#define TAG_EDITION_STR   BAD_CAST "edition"
#define TAG_LANGUAGE_STR   BAD_CAST "language"
#define ATTR_VALUE_STR   BAD_CAST "value"
#define ATTR_PART_STR   BAD_CAST "part"
#define ATTR_SYSTEM_STR   BAD_CAST "system"
#define ATTR_HREF_STR   BAD_CAST "href"
#define NS_META_STR   BAD_CAST "meta"
#define ATTR_XML_LANG_STR   BAD_CAST "xml:lang"
#define VAL_TRUE_STR   BAD_CAST "true"
#define CPEDICT_NS   BAD_CAST "http://cpe.mitre.org/dictionary/2.0"
#define CPEMETA_NS   BAD_CAST "http://scap.nist.gov/schema/cpe-dictionary-metadata/0.2"

Functions

 OSCAP_ITERATOR_REMOVE_F (cpe_reference)
 OSCAP_IGETINS_GEN (cpe_vendor, cpe_dict_model, vendors, vendor)
struct cpe_dict_modelcpe_dict_model_new ()
struct cpe_item_metadatacpe_item_metadata_new ()
struct cpe_itemcpe_item_new ()
struct cpe_checkcpe_check_new ()
struct cpe_referencecpe_reference_new ()
struct cpe_generatorcpe_generator_new ()
struct cpe_vendorcpe_vendor_new ()
struct cpe_productcpe_product_new ()
struct cpe_versioncpe_version_new ()
struct cpe_updatecpe_update_new ()
struct cpe_editioncpe_edition_new ()
struct cpe_languagecpe_language_new ()
struct cpe_dict_modelcpe_dict_model_parse_xml (const char *file)
 Function to parse XML to CPE dictionary model.
struct cpe_dict_modelcpe_dict_model_parse (xmlTextReaderPtr reader)
 Load new CPE dictionary from XML node.
struct cpe_generatorcpe_generator_parse (xmlTextReaderPtr reader)
 Parse generator part of CPE dictionary XML file.
struct cpe_itemcpe_item_parse (xmlTextReaderPtr reader)
 New dictionary item from XML.
struct cpe_vendorcpe_vendor_parse (xmlTextReaderPtr reader)
 Parsing function to parse vendors of CPE dictionary.
void cpe_dict_model_export_xml (const struct cpe_dict_model *dict, const char *file)
 Export function for CPE dictionary model.
void cpe_dict_export (const struct cpe_dict_model *dict, xmlTextWriterPtr writer)
 Internal export function for CPE dictionary model.
void cpe_generator_export (const struct cpe_generator *generator, xmlTextWriterPtr writer)
 Exporting function for CPE generator - information of XML document.
void cpe_item_export (const struct cpe_item *item, xmlTextWriterPtr writer)
 Exporting function for CPE item.
void cpe_vendor_export (const struct cpe_vendor *vendor, xmlTextWriterPtr writer)
 Exporting function for CPE vendor.
void cpe_dict_model_free (struct cpe_dict_model *dict)
void cpe_item_free (struct cpe_item *item)
void cpe_generator_free (struct cpe_generator *generator)
void cpe_check_free (struct cpe_check *check)
void cpe_reference_free (struct cpe_reference *ref)
void cpe_vendor_free (struct cpe_vendor *vendor)
void cpe_product_free (struct cpe_product *product)
void cpe_version_free (struct cpe_version *version)
void cpe_update_free (struct cpe_update *update)
void cpe_edition_free (struct cpe_edition *edition)
void cpe_language_free (struct cpe_language *language)
void cpe_itemmetadata_free (struct cpe_item_metadata *meta)

Variables

const char * PART_TO_CHAR [] = { NULL, "h", "o", "a" }

Detailed Description

Interface to Common Platform Enumeration (CPE) Language.

See more details at http://nvd.nist.gov/cpe.cfm


Function Documentation

void cpe_dict_export ( const struct cpe_dict_model dict,
xmlTextWriterPtr  writer 
)

Internal export function for CPE dictionary model.

Parameters:
dict CPE dictionary
writer xmlTextWriterPtr representing XML model
void cpe_dict_model_export_xml ( const struct cpe_dict_model dict,
const char *  file 
)

Export function for CPE dictionary model.

Parameters:
dict CPE dictionary structure
target OSCAP exporting target
struct cpe_dict_model* cpe_dict_model_parse ( xmlTextReaderPtr  reader  )  [read]

Load new CPE dictionary from XML node.

Parameters:
node file name of dictionary to import
Returns:
new dictionary
Return values:
NULL on failure
struct cpe_dict_model* cpe_dict_model_parse_xml ( const char *  file  )  [read]

Function to parse XML to CPE dictionary model.

Parameters:
source Structure of name and encoding of importing XML file
void cpe_generator_export ( const struct cpe_generator generator,
xmlTextWriterPtr  writer 
)

Exporting function for CPE generator - information of XML document.

Parameters:
generator CPE generator structure
writer xmlTextWriterPtr representing XML model
struct cpe_generator* cpe_generator_parse ( xmlTextReaderPtr  reader  )  [read]

Parse generator part of CPE dictionary XML file.

Parameters:
reader xmlTextReaderPtr representing XML model
Returns:
new structure cpe_generator
void cpe_item_export ( const struct cpe_item item,
xmlTextWriterPtr  writer 
)

Exporting function for CPE item.

Parameters:
item CPE item structure
writer xmlTextWriterPtr representing XML model
struct cpe_item* cpe_item_parse ( xmlTextReaderPtr  reader  )  [read]

New dictionary item from XML.

Parameters:
node cpe-item node
Returns:
new dictionary item
Return values:
NULL on failure
void cpe_vendor_export ( const struct cpe_vendor vendor,
xmlTextWriterPtr  writer 
)

Exporting function for CPE vendor.

Parameters:
vendor CPE vendor structure
writer xmlTextWriterPtr representing XML model
struct cpe_vendor* cpe_vendor_parse ( xmlTextReaderPtr  reader  )  [read]

Parsing function to parse vendors of CPE dictionary.

Parameters:
reader xmlTextReaderPtr representing XML model
Returns:
new structure cpe_vendor

Generated on 30 Mar 2012 for Open SCAP Library by  doxygen 1.6.1