Loading...
Searching...
No Matches
CPE URIs
CPE
Collaboration diagram for CPE URIs:

## Files

file | cpe_name.h
| Interface to Common Platform Enumeration (CPE) URI.

## Data Structures

struct | cpe_name
| Structure holding Common Platform Enumeration URI data. More...

## Enumerations

enum | cpe_part_t { CPE_PART_NONE , CPE_PART_HW , CPE_PART_OS , CPE_PART_APP }
| enumeration of possible CPE parts More...
enum | cpe_format_t { CPE_FORMAT_UNKNOWN , CPE_FORMAT_URI , CPE_FORMAT_STRING , CPE_FORMAT_WFN }

## Functions

OSCAP_API struct cpe_name * | cpe_name::cpe_name_new (const char *cpe)
| Create a new CPE structure from string cpe.
OSCAP_API struct cpe_name * | cpe_name::cpe_name_clone (struct cpe_name *old_name)
| Clone CPE Name.
OSCAP_API void | cpe_name::cpe_name_free (struct cpe_name *cpe)
| Destructor.

## Evaluators

OSCAP_API cpe_format_t | cpe_name_get_format_of_str (const char *str)
| Looks at given string and returns format it is in.
OSCAP_API bool | cpe_name::cpe_name_match_one (const struct cpe_name *cpe, const struct cpe_name *against)
| Check if candidate CPE cpe matches CPE against according to CPE specification v 2.1.
OSCAP_API int | cpe_name::cpe_name_write (const struct cpe_name *cpe, FILE *f)
| Write CPE URI cpe to file a descriptor f.
OSCAP_API bool | cpe_name::cpe_name_check (const char *str)
| Checks whether str is valid CPE string (in any supported format).
OSCAP_API const char * | cpe_name::cpe_name_supported (void)
| Get supported version of CPE uri XML.

## Getters

Return value is pointer to structure's member. Do not free unless you null the pointer in the structure. Use remove function otherwise.
OSCAP_API cpe_format_t | cpe_name::cpe_name_get_format (const struct cpe_name *cpe)
| Get how the CPE name was loaded and how it should be saved.
OSCAP_API cpe_part_t | cpe_name::cpe_name_get_part (const struct cpe_name *cpe)
| Get CPE name part type field.
OSCAP_API const char * | cpe_name::cpe_name_get_vendor (const struct cpe_name *cpe)
| Get CPE name vendor field.
OSCAP_API const char * | cpe_name::cpe_name_get_product (const struct cpe_name *cpe)
| Get CPE name product field.
OSCAP_API const char * | cpe_name::cpe_name_get_version (const struct cpe_name *cpe)
| Get CPE name version field.
OSCAP_API const char * | cpe_name::cpe_name_get_update (const struct cpe_name *cpe)
| Get CPE name update field.
OSCAP_API const char * | cpe_name::cpe_name_get_edition (const struct cpe_name *cpe)
| Get CPE name edition field.
OSCAP_API const char * | cpe_name::cpe_name_get_language (const struct cpe_name *cpe)
| Get CPE name language field.
OSCAP_API const char * | cpe_name::cpe_name_get_sw_edition (const struct cpe_name *cpe)
| Get CPE name sw_edition field.
OSCAP_API const char * | cpe_name::cpe_name_get_target_sw (const struct cpe_name *cpe)
| Get CPE name target_sw field.
OSCAP_API const char * | cpe_name::cpe_name_get_target_hw (const struct cpe_name *cpe)
| Get CPE name target_hw field.
OSCAP_API const char * | cpe_name::cpe_name_get_other (const struct cpe_name *cpe)
| Get CPE name other field.
OSCAP_API char * | cpe_name::cpe_name_get_as_format (const struct cpe_name *cpe, cpe_format_t format)
| Return CPE URI as a new string in specified format.
OSCAP_API char * | cpe_name::cpe_name_get_as_str (const struct cpe_name *cpe)
| Return CPE URI as a new string in the format in which it was loaded.

## Setters

For lists use add functions. Parameters of set functions are duplicated in memory and need to be freed by caller.
OSCAP_API bool | cpe_name::cpe_name_set_format (struct cpe_name *cpe, cpe_format_t newval)
| Set how the CPE name was loaded and how it should be saved.
OSCAP_API bool | cpe_name::cpe_name_set_part (struct cpe_name *cpe, cpe_part_t newval)
| Set CPE name part type field.
OSCAP_API bool | cpe_name::cpe_name_set_vendor (struct cpe_name *cpe, const char *newval)
| Set CPE name vendor field.
OSCAP_API bool | cpe_name::cpe_name_set_product (struct cpe_name *cpe, const char *newval)
| Set CPE name product field.
OSCAP_API bool | cpe_name::cpe_name_set_version (struct cpe_name *cpe, const char *newval)
| Set CPE name version field.
OSCAP_API bool | cpe_name::cpe_name_set_update (struct cpe_name *cpe, const char *newval)
| Set CPE name update field.
OSCAP_API bool | cpe_name::cpe_name_set_edition (struct cpe_name *cpe, const char *newval)
| Set CPE name edition field.
OSCAP_API bool | cpe_name::cpe_name_set_language (struct cpe_name *cpe, const char *newval)
| Set CPE name language field.
OSCAP_API bool | cpe_name::cpe_name_set_sw_edition (struct cpe_name *cpe, const char *newval)
| Set CPE name sw_edition field.
OSCAP_API bool | cpe_name::cpe_name_set_target_sw (struct cpe_name *cpe, const char *newval)
| Set CPE name target_sw field.
OSCAP_API bool | cpe_name::cpe_name_set_target_hw (struct cpe_name *cpe, const char *newval)
| Set CPE name target_hw field.
OSCAP_API bool | cpe_name::cpe_name_set_other (struct cpe_name *cpe, const char *newval)
| Set CPE name other field.

## Detailed Description

## Enumeration Type Documentation

## cpe_format_t

enum cpe_format_t

Enumerator
CPE_FORMAT_UNKNOWN | can't be serialized, is usually used to signal errors
CPE_FORMAT_URI | available in all CPE versions, default in CPE 2.2 and previous
CPE_FORMAT_STRING | available in CPE 2.3 and newer
CPE_FORMAT_WFN | available in CPE 2.3 and newer versions, default in CPE 2.3 and newer

## cpe_part_t

enum cpe_part_t

enumeration of possible CPE parts

Enumerator
CPE_PART_NONE | no part specified
CPE_PART_HW | hardware
CPE_PART_OS | operating system
CPE_PART_APP | application

## Function Documentation

## cpe_name_check()

OSCAP_API bool cpe_name_check | ( | const char * | str | ) |

Checks whether str is valid CPE string (in any supported format).

Parameters

  str | string to be validated

## cpe_name_clone()

OSCAP_API struct cpe_name * cpe_name_clone | ( | struct cpe_name * | old_name | ) |

Clone CPE Name.

Parameters

  old_name | CPE name

## cpe_name_free()

OSCAP_API void cpe_name_free | ( | struct cpe_name * | cpe | ) |

Destructor.

Frees any used resources and safely destroys cpe.

Parameters

  cpe | CPE to be deleted

## cpe_name_get_as_format()

OSCAP_API char * cpe_name_get_as_format | ( | const struct cpe_name * | cpe,
|  | cpe_format_t | format )

Return CPE URI as a new string in specified format.

Note
  Returned string is newly allocated and is caller's responsibility to free it.

Parameters

  cpe | CPE to be converted
  format | Which format should the string be in

Returns
  CPE URI as string

Return values

  NULL | on failure

## cpe_name_get_as_str()

OSCAP_API char * cpe_name_get_as_str | ( | const struct cpe_name * | cpe | ) |

Return CPE URI as a new string in the format in which it was loaded.

Note
  Returned string is newly allocated and is caller's responsibility to free it.

Parameters

  cpe | CPE to be converted

Returns
  CPE URI as string

Return values

  NULL | on failure

## cpe_name_get_format_of_str()

OSCAP_API cpe_format_t cpe_name_get_format_of_str | ( | const char * | str | ) |

Looks at given string and returns format it is in.

CPE_FORMAT_UNKNOWN is used in case of errors

## cpe_name_new()

OSCAP_API struct cpe_name * cpe_name_new | ( | const char * | cpe | ) |

Create a new CPE structure from string cpe.

Note
  If cpe is NULL, empty cpe will be created.

Parameters

  cpe | CPE URI string to be parsed

Returns
  new structure holding parsed data

Return values

  NULL | on failure

## cpe_name_supported()

OSCAP_API const char * cpe_name_supported | ( | void |  | ) |

Get supported version of CPE uri XML.

Returns
  version of XML file format

## cpe_name_write()

OSCAP_API int cpe_name_write | ( | const struct cpe_name * | cpe,
|  | FILE * | f )

Write CPE URI cpe to file a descriptor f.

Parameters

  cpe | cpe to write
  f | file descriptor to write CPE URI to

Returns
  number of written characters

Return values

  <0 | on failure