cpe_dict.h File Reference

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

#include "oscap.h"
#include "cpe_name.h"
#include "oscap_text.h"
#include "oscap_source.h"

Go to the source code of this file.

Functions

void cpe_check_free (struct cpe_check *check)
 cpe_check
void cpe_reference_free (struct cpe_reference *ref)
 cpe_reference
void cpe_vendor_free (struct cpe_vendor *vendor)
 cpe_vendor
void cpe_product_free (struct cpe_product *product)
 cpe_product
void cpe_version_free (struct cpe_version *version)
 cpe_version
void cpe_update_free (struct cpe_update *update)
 cpe_update
void cpe_edition_free (struct cpe_edition *edition)
 cpe_edition
void cpe_language_free (struct cpe_language *language)
 cpe_language
void cpe_itemmetadata_free (struct cpe_item_metadata *meta)
 cpe_itemmetadata
void cpe_dict_model_free (struct cpe_dict_model *dict)
 cpe_dict_model
void cpe_generator_free (struct cpe_generator *generator)
 cpe_generator
void cpe_item_free (struct cpe_item *item)
 cpe_item
struct cpe_dict_modelcpe_dict_model_new (void)
 cpe_dict_model
struct cpe_generatorcpe_generator_new (void)
 cpe_generator
struct cpe_checkcpe_check_new (void)
 cpe_check
struct cpe_referencecpe_reference_new (void)
 cpe_reference
struct cpe_itemcpe_item_new (void)
 cpe_item
struct cpe_vendorcpe_vendor_new (void)
 cpe_vendor
struct cpe_productcpe_product_new (void)
 cpe_product
struct cpe_versioncpe_version_new (void)
 cpe_version
struct cpe_updatecpe_update_new (void)
 cpe_update
struct cpe_editioncpe_edition_new (void)
 cpe_edition
struct cpe_languagecpe_language_new (void)
 cpe_language
struct cpe_item_metadatacpe_item_metadata_new (void)
 cpe_item_metadata
void cpe_dict_model_export (const struct cpe_dict_model *dict, const char *file)
 Write the dict_model to a file.
struct cpe_dict_modelcpe_dict_model_import (const char *file)
 Load new CPE dictionary from file cpe_dict_model.
struct cpe_dict_modelcpe_dict_model_import_source (struct oscap_source *source)
 Load new CPE dictionary from an oscap_source cpe_dict_model.
bool cpe_dict_model_set_origin_file (struct cpe_dict_model *dict, const char *origin_file)
 Sets the origin file hint.
const char * cpe_dict_model_get_origin_file (const struct cpe_dict_model *dict)
 Gets the file the CPE dict model was loaded from.
Getters
Return value is pointer to structure's member.

Do not free unless you null the pointer in the structure. Use remove function otherwise.

const char * cpe_item_metadata_get_modification_date (const struct cpe_item_metadata *item)
 cpe_item_metadata function to get date cpe_item_metadata
const char * cpe_item_metadata_get_status (const struct cpe_item_metadata *item)
 cpe_item_metadata function to get status cpe_item_metadata
const char * cpe_item_metadata_get_nvd_id (const struct cpe_item_metadata *item)
 cpe_item_metadata function to get nvd ID cpe_item_metadata
const char * cpe_item_metadata_get_deprecated_by_nvd_id (const struct cpe_item_metadata *item)
 cpe_item_metadata function to get NVD ID of deprecated item cpe_item_metadata
const char * cpe_check_get_system (const struct cpe_check *item)
 cpe_check functions to get system cpe_check
const char * cpe_check_get_href (const struct cpe_check *item)
 cpe_check functions to get href cpe_check
const char * cpe_check_get_identifier (const struct cpe_check *item)
 cpe_check functions to get identifier cpe_check
const char * cpe_reference_get_href (const struct cpe_reference *item)
 cpe_reference functions to get href of reference cpe_reference
const char * cpe_reference_get_content (const struct cpe_reference *item)
 cpe_reference functions to get content of reference cpe_reference
struct cpe_namecpe_item_get_name (const struct cpe_item *item)
 cpe_item functions to get variable member name cpe_item
struct cpe_namecpe_item_get_deprecated_by (const struct cpe_item *item)
 cpe_item functions to get variable member deprecated_by cpe_item
struct cpe_namecpe_item_get_deprecated (const struct cpe_item *item)
 cpe_item functions to get variable member deprecated_by cpe_item
const char * cpe_item_get_deprecation_date (const struct cpe_item *item)
 cpe_item functions to get variable member date cpe_item
struct cpe_item_metadatacpe_item_get_metadata (const struct cpe_item *item)
 cpe_item functions to get metadata of cpe_item cpe_item
struct cpe_reference_iteratorcpe_item_get_references (const struct cpe_item *item)
 cpe_item functions to get CPE references cpe_item
struct cpe_check_iteratorcpe_item_get_checks (const struct cpe_item *item)
 cpe_item functions to get CPE checks cpe_item
struct oscap_text_iteratorcpe_item_get_titles (const struct cpe_item *item)
 cpe_item functions to get CPE titles cpe_item
struct oscap_text_iteratorcpe_item_get_notes (const struct cpe_item *item)
 cpe_item functions to get CPE notes cpe_item
const char * cpe_generator_get_product_name (const struct cpe_generator *item)
 cpe_generator functions to get product name cpe_generator
const char * cpe_generator_get_product_version (const struct cpe_generator *item)
 cpe_generator functions to get product version cpe_generator
const char * cpe_generator_get_schema_version (const struct cpe_generator *item)
 cpe_generator functions to get document schema version cpe_generator
const char * cpe_generator_get_timestamp (const struct cpe_generator *item)
 cpe_generator functions to get timestamp from generator cpe_generator
int cpe_dict_model_get_base_version (const struct cpe_dict_model *item)
 cpe_dict_model functions to get the base version from CPE dictionary model
bool cpe_dict_model_set_base_version (struct cpe_dict_model *item, int base_version)
 cpe_dict_model functions to get the base version from CPE dictionary model cpe_dict_model
struct cpe_generatorcpe_dict_model_get_generator (const struct cpe_dict_model *item)
 cpe_dict_model functions to get generator from CPE dictionary model cpe_dict_model cpe_generator
struct cpe_item_iteratorcpe_dict_model_get_items (const struct cpe_dict_model *item)
 cpe_dict_model functions to get CPE items cpe_dict_model
struct cpe_vendor_iteratorcpe_dict_model_get_vendors (const struct cpe_dict_model *item)
 cpe_dict_model functions to get vendors cpe_dict_model
const char * cpe_vendor_get_value (const struct cpe_vendor *item)
 cpe_vendor functions to get vendor value cpe_vendor
struct oscap_text_iteratorcpe_vendor_get_titles (const struct cpe_vendor *item)
 cpe_vendor functions to get vendor titles cpe_vendor
struct cpe_product_iteratorcpe_vendor_get_products (const struct cpe_vendor *item)
 cpe_vendor functions to get vendor products cpe_vendor
const char * cpe_product_get_value (const struct cpe_product *item)
 cpe_product functions to get product value cpe_product
cpe_part_t cpe_product_get_part (const struct cpe_product *item)
 cpe_product functions to get product part cpe_product
struct cpe_version_iteratorcpe_product_get_versions (const struct cpe_product *item)
 cpe_product functions to get versions of product cpe_product cpe_version
const char * cpe_version_get_value (const struct cpe_version *item)
 cpe_version functions to get vupdates of versions cpe_version
struct cpe_update_iteratorcpe_version_get_updates (const struct cpe_version *item)
 cpe_version functions to get value of version cpe_version cpe_update
const char * cpe_update_get_value (const struct cpe_update *item)
 cpe_update functions to get updates of version cpe_update
struct cpe_edition_iteratorcpe_update_get_editions (const struct cpe_update *item)
 cpe_update functions to get editions of update cpe_update cpe_edition
const char * cpe_edition_get_value (const struct cpe_edition *item)
 cpe_edition functions to get value of edition cpe_edition
struct cpe_language_iteratorcpe_edition_get_languages (const struct cpe_edition *item)
 cpe_edition functions to get languages of edition cpe_edition cpe_language
const char * cpe_language_get_value (const struct cpe_language *item)
 cpe_language functions to get value of language cpe_language
Setters
For lists use add functions.

Parameters of set functions are duplicated in memory and need to be freed by caller.

bool cpe_item_set_name (struct cpe_item *item, const struct cpe_name *new_name)
 cpe_item
bool cpe_item_set_deprecated_by (struct cpe_item *item, const struct cpe_name *new_deprecated_by)
 cpe_item
bool cpe_item_set_deprecation_date (struct cpe_item *item, const char *new_deprecation_date)
 cpe_item
bool cpe_item_metadata_set_modification_date (struct cpe_item_metadata *item_metadata, const char *new_modification_date)
 cpe_item_metadata
bool cpe_item_metadata_set_status (struct cpe_item_metadata *item_metadata, const char *new_status)
 cpe_item_metadata
bool cpe_item_metadata_set_nvd_id (struct cpe_item_metadata *item_metadata, const char *new_nvd_id)
 cpe_item_metadata
bool cpe_item_metadata_set_deprecated_by_nvd_id (struct cpe_item_metadata *item_metadata, const char *new_deprecated_by_nvd_id)
 cpe_item_metadata
bool cpe_check_set_system (struct cpe_check *check, const char *new_system)
 cpe_check
bool cpe_check_set_href (struct cpe_check *check, const char *new_href)
 cpe_check
bool cpe_check_set_identifier (struct cpe_check *check, const char *new_identifier)
 cpe_check
bool cpe_reference_set_href (struct cpe_reference *reference, const char *new_href)
 cpe_reference
bool cpe_reference_set_content (struct cpe_reference *reference, const char *new_content)
 cpe_reference
bool cpe_generator_set_product_name (struct cpe_generator *generator, const char *new_product_name)
 cpe_generator
bool cpe_generator_set_product_version (struct cpe_generator *generator, const char *new_product_version)
 cpe_generator
bool cpe_generator_set_schema_version (struct cpe_generator *generator, const char *new_schema_version)
 cpe_generator
bool cpe_generator_set_timestamp (struct cpe_generator *generator, const char *new_timestamp)
 cpe_generator
bool cpe_vendor_set_value (struct cpe_vendor *vendor, const char *new_value)
 cpe_vendor
bool cpe_product_set_value (struct cpe_product *product, const char *new_value)
 cpe_product
bool cpe_product_set_part (struct cpe_product *product, cpe_part_t new_part)
 cpe_product
bool cpe_version_set_value (struct cpe_version *version, const char *new_value)
 cpe_version
bool cpe_update_set_value (struct cpe_update *update, const char *new_value)
 cpe_update
bool cpe_edition_set_value (struct cpe_edition *edition, const char *new_value)
 cpe_edition
bool cpe_language_set_value (struct cpe_language *language, const char *new_value)
 cpe_language
bool cpe_item_add_reference (struct cpe_item *item, struct cpe_reference *new_reference)
 cpe_item
bool cpe_item_add_check (struct cpe_item *item, struct cpe_check *new_check)
 cpe_item
bool cpe_item_add_title (struct cpe_item *item, struct oscap_text *new_title)
 cpe_item
bool cpe_item_add_note (struct cpe_item *item, struct oscap_text *new_title)
 cpe_item
bool cpe_dict_model_add_item (struct cpe_dict_model *dict, struct cpe_item *new_item)
 cpe_dict_model
bool cpe_dict_model_add_vendor (struct cpe_dict_model *dict, struct cpe_vendor *new_vendor)
 cpe_dict_model
bool cpe_vendor_add_title (struct cpe_vendor *vendor, struct oscap_text *new_title)
 cpe_vendor
bool cpe_vendor_add_product (struct cpe_vendor *vendor, struct cpe_product *new_product)
 cpe_vendor
bool cpe_product_add_version (struct cpe_product *product, struct cpe_version *new_version)
 cpe_product
bool cpe_version_add_update (struct cpe_version *version, struct cpe_update *new_update)
 cpe_version
bool cpe_update_add_edition (struct cpe_update *update, struct cpe_edition *new_edition)
 cpe_update
bool cpe_edition_add_language (struct cpe_edition *edition, struct cpe_language *new_language)
 cpe_edition
Iterators
struct cpe_itemcpe_item_iterator_next (struct cpe_item_iterator *it)
 Iterator over CPE dictionary items.
bool cpe_item_iterator_has_more (struct cpe_item_iterator *it)
 Iterator over CPE dictionary items.
void cpe_item_iterator_free (struct cpe_item_iterator *it)
 Iterator over CPE dictionary items.
void cpe_item_iterator_remove (struct cpe_item_iterator *it)
 cpe_item
void cpe_item_iterator_reset (struct cpe_item_iterator *it)
 cpe_item_iterator
struct cpe_referencecpe_reference_iterator_next (struct cpe_reference_iterator *it)
 Iterator over CPE item reference items.
bool cpe_reference_iterator_has_more (struct cpe_reference_iterator *it)
 Iterator over CPE item reference items.
void cpe_reference_iterator_free (struct cpe_reference_iterator *it)
 Iterator over CPE item reference items.
void cpe_reference_iterator_remove (struct cpe_reference_iterator *it)
 cpe_reference_iterator
void cpe_reference_iterator_reset (struct cpe_reference_iterator *it)
 cpe_reference_iterator
struct cpe_checkcpe_check_iterator_next (struct cpe_check_iterator *it)
 Iterator over CPE item check items.
bool cpe_check_iterator_has_more (struct cpe_check_iterator *it)
 Iterator over CPE item check items.
void cpe_check_iterator_free (struct cpe_check_iterator *it)
 Iterator over CPE item check items.
void cpe_check_iterator_remove (struct cpe_check_iterator *it)
 cpe_check_iterator
void cpe_check_iterator_reset (struct cpe_check_iterator *it)
 cpe_check_iterator
struct cpe_vendorcpe_vendor_iterator_next (struct cpe_vendor_iterator *it)
 Iterator over CPE vendor items.
bool cpe_vendor_iterator_has_more (struct cpe_vendor_iterator *it)
 Iterator over CPE vendor items.
void cpe_vendor_iterator_free (struct cpe_vendor_iterator *it)
 Iterator over CPE vendor items.
void cpe_vendor_iterator_remove (struct cpe_vendor_iterator *it)
 cpe_vendor_iterator
void cpe_vendor_iterator_reset (struct cpe_vendor_iterator *it)
 cpe_vendor_iterator
struct cpe_productcpe_product_iterator_next (struct cpe_product_iterator *it)
 Iterator over CPE product items.
bool cpe_product_iterator_has_more (struct cpe_product_iterator *it)
 Iterator over CPE product items.
void cpe_product_iterator_free (struct cpe_product_iterator *it)
 Iterator over CPE product items.
void cpe_product_iterator_remove (struct cpe_product_iterator *it)
 cpe_product_iterator
void cpe_product_iterator_reset (struct cpe_product_iterator *it)
 cpe_product_iterator
struct cpe_versioncpe_version_iterator_next (struct cpe_version_iterator *it)
 Iterator over CPE version items.
bool cpe_version_iterator_has_more (struct cpe_version_iterator *it)
 Iterator over CPE version items.
void cpe_version_iterator_free (struct cpe_version_iterator *it)
 Iterator over CPE version items.
void cpe_version_iterator_remove (struct cpe_version_iterator *it)
 cpe_version_iterator
void cpe_version_iterator_reset (struct cpe_version_iterator *it)
 cpe_version_iterator
struct cpe_updatecpe_update_iterator_next (struct cpe_update_iterator *it)
 Iterator over CPE update items.
bool cpe_update_iterator_has_more (struct cpe_update_iterator *it)
 Iterator over CPE update items.
void cpe_update_iterator_free (struct cpe_update_iterator *it)
 Iterator over CPE update items.
void cpe_update_iterator_remove (struct cpe_update_iterator *it)
 cpe_update_iterator
void cpe_update_iterator_reset (struct cpe_update_iterator *it)
 cpe_update_iterator
struct cpe_editioncpe_edition_iterator_next (struct cpe_edition_iterator *it)
 Iterator over CPE edition items.
bool cpe_edition_iterator_has_more (struct cpe_edition_iterator *it)
 Iterator over CPE edition items.
void cpe_edition_iterator_free (struct cpe_edition_iterator *it)
 Iterator over CPE edition items.
void cpe_edition_iterator_remove (struct cpe_edition_iterator *it)
 cpe_edition_iterator
void cpe_edition_iterator_reset (struct cpe_edition_iterator *it)
 cpe_edition_iterator
struct cpe_languagecpe_language_iterator_next (struct cpe_language_iterator *it)
 Iterator over CPE language items.
bool cpe_language_iterator_has_more (struct cpe_language_iterator *it)
 Iterator over CPE language items.
void cpe_language_iterator_free (struct cpe_language_iterator *it)
 Iterator over CPE language items.
void cpe_language_iterator_remove (struct cpe_language_iterator *it)
 cpe_language_iterator
void cpe_language_iterator_reset (struct cpe_language_iterator *it)
 cpe_language_iterator
Evaluators
const char * cpe_dict_model_supported (void)
 Get the newest supported version of CPE dictionary XML.
char * cpe_dict_detect_version (const char *file)
 Detects which version the given CPE file is.
bool cpe_name_match_dict (struct cpe_name *cpe, struct cpe_dict_model *dict)
 Verify wether given CPE is known according to specified dictionary cpe_name cpe_dict_model.
bool cpe_name_match_dict_str (const char *cpe, struct cpe_dict_model *dict)
 Verify if CPE given by string is known according to specified dictionary cpe_name cpe_dict_model.
bool cpe_name_applicable_dict (struct cpe_name *cpe, struct cpe_dict_model *dict, cpe_check_fn cb, void *usr)
 Verify whether given CPE is applicable to current platform by evaluating checks associated with it.
bool cpe_item_is_applicable (struct cpe_item *item, cpe_check_fn cb, void *usr)
 cpe_item


Detailed Description

Interface to Common Platform Enumeration (CPE) Dictionary.


Generated on Tue Nov 14 12:18:54 2017 for Open SCAP Library by  doxygen 1.5.6