cve_nvd.h File Reference

Interface to Common Vulnerability and Exposure dictionary. More...

#include <stdbool.h>
#include <time.h>
#include "oscap.h"
#include "cpe_name.h"

Go to the source code of this file.

Functions

struct cve_entrycve_entry_new (void)
 New CVE entry cve_entry.
struct cve_configurationcve_configuration_new (void)
 New CVE vulnerability configuration cve_configuration.
struct cwe_entrycwe_entry_new (void)
 New CWE entry cwe_entry.
struct cve_productcve_product_new (void)
 New CVE product cve_product.
struct cve_summarycve_summary_new (void)
 New CVE summary cve_summary.
struct cve_referencecve_reference_new (void)
 New CVE reference cve_reference.
struct cve_modelcve_model_new (void)
 New CVE model cve_model.
struct cve_entrycve_entry_clone (struct cve_entry *old_entry)
 Clone CVE entry.
struct cve_configurationcve_configuration_clone (struct cve_configuration *old_conf)
 Clone CVE configuration.
struct cwe_entrycwe_entry_clone (struct cwe_entry *old_entry)
 Clone CWE entry.
struct cve_productcve_product_clone (struct cve_product *old_product)
 Clone CVE product.
struct cve_summarycve_summary_clone (struct cve_summary *old_sum)
 Clone CVE summary.
struct cve_referencecve_reference_clone (struct cve_reference *old_ref)
 Clone CVE reference.
struct cve_modelcve_model_clone (struct cve_model *old_model)
 Clone CVE model.
void cve_model_free (struct cve_model *cve_model)
 Free CVE model.
void cve_entry_free (struct cve_entry *entry)
 Free CVE entry.
void cve_summary_free (struct cve_summary *summary)
 Free CVE summary.
void cve_product_free (struct cve_product *product)
 Free CVE product.
void cve_reference_free (struct cve_reference *ref)
 Free CVE reference.
void cwe_entry_free (struct cwe_entry *entry)
 Free CVE entry.
void cve_configuration_free (struct cve_configuration *conf)
 Free CVE configuration.
void cve_entry_iterator_remove (struct cve_entry_iterator *it)
 cve_entry_iterator
void cve_entry_iterator_reset (struct cve_entry_iterator *it)
 cve_entry_iterator
void cve_product_iterator_remove (struct cve_product_iterator *it)
 cve_product_iterator
void cve_product_iterator_reset (struct cve_product_iterator *it)
 cve_product_iterator
void cve_reference_iterator_remove (struct cve_reference_iterator *it)
 cve_reference_iterator
void cve_reference_iterator_reset (struct cve_reference_iterator *it)
 cve_reference_iterator
void cve_summary_iterator_remove (struct cve_summary_iterator *it)
 cve_summary_iterator
void cve_summary_iterator_reset (struct cve_summary_iterator *it)
 cve_summary_iterator
void cve_configuration_iterator_remove (struct cve_configuration_iterator *it)
 cve_configuration_iterator
void cve_configuration_iterator_reset (struct cve_configuration_iterator *it)
 cve_configuration_iterator
void cve_model_export (struct cve_model *cve, const char *file)
 Export CVE model to XML file cve_model.
struct cve_modelcve_model_import (const char *file)
 Parses the specified XML file and creates a list of CVE data structures.
const char * cve_model_get_nvd_xml_version (const struct cve_model *item)
 cve_model
bool cve_model_set_nvd_xml_version (struct cve_model *obj, const char *newval)
 cve_model
const char * cve_model_get_pub_date (const struct cve_model *item)
 cve_model
bool cve_model_set_pub_date (struct cve_model *obj, const char *newval)
 cve_model
Getters
Return value is pointer to structure's member.

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

struct cve_entry_iteratorcve_model_get_entries (const struct cve_model *cve_model)
 Get en iterator to CVE entries.
const char * cve_entry_get_id (const struct cve_entry *item)
 Get CVE entry ID.
const char * cve_entry_get_cwe (const struct cve_entry *item)
 Get CVE entry CWE.
struct cve_summary_iteratorcve_entry_get_summaries (const struct cve_entry *item)
 Get CVE entry summary.
struct cve_reference_iteratorcve_entry_get_references (const struct cve_entry *item)
 Get an iterator to CVE entry's references.
const char * cve_reference_get_value (const struct cve_reference *ref)
 Get CVE reference values.
const char * cve_reference_get_href (const struct cve_reference *ref)
 Get CVE reference href.
const char * cve_reference_get_type (const struct cve_reference *ref)
 Get CVE reference type.
const char * cve_reference_get_source (const struct cve_reference *ref)
 Get CVE reference source.
const char * cve_reference_get_lang (const struct cve_reference *ref)
 cve_reference
const char * cve_summary_get_summary (const struct cve_summary *summary)
 Get value from CVE summary.
const char * cve_product_get_value (const struct cve_product *product)
 Get CVE product value.
const char * cwe_entry_get_value (const struct cwe_entry *entry)
 Get CVE entry value.
const char * cve_configuration_get_id (const struct cve_configuration *conf)
 Get CVE configuration id.
const char * cve_entry_get_published (const struct cve_entry *entry)
 Get CVE entry published date.
const char * cve_entry_get_modified (const struct cve_entry *entry)
 Get CVE entry modified.
const char * cve_entry_get_sec_protection (const struct cve_entry *entry)
 Get CVE entry protection.
struct cve_product_iteratorcve_entry_get_products (const struct cve_entry *entry)
 Get CVE entry products.
struct cve_configuration_iteratorcve_entry_get_configurations (const struct cve_entry *entry)
 Get CVE .
struct cpe_testexprcve_configuration_get_expr (const struct cve_configuration *conf)
 Get CVE configuration test expression.
struct cvss_impactcve_entry_get_cvss (const struct cve_entry *item)
 Get CVSS structure from CVE.
Setters
For lists use add functions.

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

bool cve_model_add_entry (struct cve_model *model, struct cve_entry *new_entry)
 Add entry to CVE model.
bool cve_entry_add_product (struct cve_entry *entry, struct cve_product *new_product)
 cve_entry
bool cve_entry_add_reference (struct cve_entry *entry, struct cve_reference *new_reference)
 cve_entry
bool cve_entry_add_summary (struct cve_entry *entry, struct cve_summary *new_summary)
 cve_entry
bool cve_entry_add_configuration (struct cve_entry *entry, struct cve_configuration *new_configuration)
 cve_entry
bool cve_entry_set_id (struct cve_entry *entry, const char *new_id)
 Set id of CVE entry.
bool cve_entry_set_published (struct cve_entry *entry, const char *new_published)
 Set publish date of CVE entry.
bool cve_entry_set_modified (struct cve_entry *entry, const char *new_modified)
 Set modified date of CVE entry.
bool cve_entry_set_sec_protection (struct cve_entry *entry, const char *new_protection)
 Set protection of CVE entry.
bool cve_entry_set_cwe (struct cve_entry *entry, const char *cwe)
 Set cwe of CVE entry.
bool cwe_entry_set_value (struct cwe_entry *entry, const char *new_value)
 Set value of CVE entry.
bool cve_reference_set_value (struct cve_reference *reference, const char *new_value)
 Set value of CVE reference.
bool cve_reference_set_href (struct cve_reference *reference, const char *new_href)
 Set href of CVE reference.
bool cve_reference_set_type (struct cve_reference *reference, const char *new_type)
 Set type of CVE reference.
bool cve_reference_set_source (struct cve_reference *reference, const char *new_source)
 Set source of CVE reference.
bool cve_reference_set_lang (struct cve_reference *reference, const char *new_lang)
 cve_reference
bool cve_configuration_set_id (struct cve_configuration *conf, const char *new_id)
 Set id of CVE configuration.
bool cve_product_set_value (struct cve_product *product, const char *new_value)
 Set value of CVE product.
bool cve_summary_set_summary (struct cve_summary *summary, const char *new_summary)
 Set summary of CVE summary.
Iterators
struct cve_entrycve_entry_iterator_next (struct cve_entry_iterator *it)
 cve_entry_iterator
bool cve_entry_iterator_has_more (struct cve_entry_iterator *it)
 cve_entry_iterator
void cve_entry_iterator_free (struct cve_entry_iterator *it)
 cve_entry_iterator
struct cve_summarycve_summary_iterator_next (struct cve_summary_iterator *it)
 cve_summary_iterator
bool cve_summary_iterator_has_more (struct cve_summary_iterator *it)
 cve_summary_iterator
void cve_summary_iterator_free (struct cve_summary_iterator *it)
 cve_summary_iterator
struct cve_productcve_product_iterator_next (struct cve_product_iterator *it)
 cve_product_iterator
bool cve_product_iterator_has_more (struct cve_product_iterator *it)
 cve_product_iterator
void cve_product_iterator_free (struct cve_product_iterator *it)
 cve_product_iterator
struct cve_configurationcve_configuration_iterator_next (struct cve_configuration_iterator *it)
 cve_configuration_iterator
bool cve_configuration_iterator_has_more (struct cve_configuration_iterator *it)
 cve_configuration_iterator
void cve_configuration_iterator_free (struct cve_configuration_iterator *it)
 cve_configuration_iterator
struct cve_referencecve_reference_iterator_next (struct cve_reference_iterator *it)
 cve_reference_iterator
bool cve_reference_iterator_has_more (struct cve_reference_iterator *it)
 cve_reference_iterator
void cve_reference_iterator_free (struct cve_reference_iterator *it)
 cve_reference_iterator
Evaluators
const char * cve_model_supported (void)
 Get supported version of CVE XML.


Detailed Description

Interface to Common Vulnerability and Exposure dictionary.


Function Documentation

void cve_model_export ( struct cve_model cve,
const char *  file 
)

Export CVE model to XML file cve_model.

Parameters:
cve CVE model
file OSCAP export target
Export CVE model to XML file cve_model.

Function fill the structure _target_ with model that is represented by structure _cve_.

struct cve_model* cve_model_import ( const char *  file  )  [read]

Parses the specified XML file and creates a list of CVE data structures.

The returned list can be freed with cveDelAll(). cve_model

Parameters:
file filename
Returns:
non-negative value indicates the number of CVEs in the list, negative value indicates an error
Parses the specified XML file and creates a list of CVE data structures.

Function returns CVE model, need to free source after calling this function


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