Open SCAP Library
Loading...
Searching...
No Matches
Files | Data Structures | Enumerations | Functions
CPE URIs
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_namecpe_name::cpe_name_new (const char *cpe)
 Create a new CPE structure from string cpe.
 
OSCAP_API struct cpe_namecpe_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

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
strstring to be validated

◆ cpe_name_clone()

OSCAP_API struct cpe_name * cpe_name_clone ( struct cpe_name * old_name)

Clone CPE Name.

Parameters
old_nameCPE name

◆ cpe_name_free()

OSCAP_API void cpe_name_free ( struct cpe_name * cpe)

Destructor.

Frees any used resources and safely destroys cpe.

Parameters
cpeCPE 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
cpeCPE to be converted
formatWhich format should the string be in
Returns
CPE URI as string
Return values
NULLon 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
cpeCPE to be converted
Returns
CPE URI as string
Return values
NULLon 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
cpeCPE URI string to be parsed
Returns
new structure holding parsed data
Return values
NULLon 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
cpecpe to write
ffile descriptor to write CPE URI to
Returns
number of written characters
Return values
<0on failure