CPE URIs
[CPE]

Data Structures

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

Files

file  cpe_name.h
 

Interface to Common Platform Enumeration (CPE) URI.


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

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

Evaluators



cpe_format_t cpe_name_get_format_of_str (const char *str)
 Looks at given string and returns format it is in.
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.
bool cpe_name::cpe_name_match_cpes (const struct cpe_name *name, size_t n, struct cpe_name **namelist)
 Check if CPE name matches any CPE in namelist.
int cpe_name::cpe_name_write (const struct cpe_name *cpe, FILE *f)
 Write CPE URI cpe to file a descriptor f.
bool cpe_name::cpe_name_check (const char *str)
 Checks whether str is valid CPE string (in any supported format).
int cpe_name::cpe_name_match_strs (const char *candidate, size_t n, char **targets)
 Match CPE URI candidate against list of n CPE URIs given by targets.
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.



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.
cpe_part_t cpe_name::cpe_name_get_part (const struct cpe_name *cpe)
 Get CPE name part type field.
const char * cpe_name::cpe_name_get_vendor (const struct cpe_name *cpe)
 Get CPE name vendor field.
const char * cpe_name::cpe_name_get_product (const struct cpe_name *cpe)
 Get CPE name product field.
const char * cpe_name::cpe_name_get_version (const struct cpe_name *cpe)
 Get CPE name version field.
const char * cpe_name::cpe_name_get_update (const struct cpe_name *cpe)
 Get CPE name update field.
const char * cpe_name::cpe_name_get_edition (const struct cpe_name *cpe)
 Get CPE name edition field.
const char * cpe_name::cpe_name_get_language (const struct cpe_name *cpe)
 Get CPE name language field.
const char * cpe_name::cpe_name_get_sw_edition (const struct cpe_name *cpe)
 Get CPE name sw_edition field.
const char * cpe_name::cpe_name_get_target_sw (const struct cpe_name *cpe)
 Get CPE name target_sw field.
const char * cpe_name::cpe_name_get_target_hw (const struct cpe_name *cpe)
 Get CPE name target_hw field.
const char * cpe_name::cpe_name_get_other (const struct cpe_name *cpe)
 Get CPE name other field.
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.
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.



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.
bool cpe_name::cpe_name_set_part (struct cpe_name *cpe, cpe_part_t newval)
 Set CPE name part type field.
bool cpe_name::cpe_name_set_vendor (struct cpe_name *cpe, const char *newval)
 Set CPE name vendor field.
bool cpe_name::cpe_name_set_product (struct cpe_name *cpe, const char *newval)
 Set CPE name product field.
bool cpe_name::cpe_name_set_version (struct cpe_name *cpe, const char *newval)
 Set CPE name version field.
bool cpe_name::cpe_name_set_update (struct cpe_name *cpe, const char *newval)
 Set CPE name update field.
bool cpe_name::cpe_name_set_edition (struct cpe_name *cpe, const char *newval)
 Set CPE name edition field.
bool cpe_name::cpe_name_set_language (struct cpe_name *cpe, const char *newval)
 Set CPE name language field.
bool cpe_name::cpe_name_set_sw_edition (struct cpe_name *cpe, const char *newval)
 Set CPE name sw_edition field.
bool cpe_name::cpe_name_set_target_sw (struct cpe_name *cpe, const char *newval)
 Set CPE name target_sw field.
bool cpe_name::cpe_name_set_target_hw (struct cpe_name *cpe, const char *newval)
 Set CPE name target_hw field.
bool cpe_name::cpe_name_set_other (struct cpe_name *cpe, const char *newval)
 Set CPE name other field.

Enumeration Type Documentation

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

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

bool cpe_name_check ( const char *  str  )  [inherited]

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

Parameters:
str string to be validated
struct cpe_name * cpe_name_clone ( struct cpe_name old_name  )  [read, inherited]

Clone CPE Name.

Parameters:
old_name CPE name
void cpe_name_free ( struct cpe_name cpe  )  [inherited]

Destructor.

Frees any used resources and safely destroys cpe.

Parameters:
cpe CPE to be deleted
char * cpe_name_get_as_format ( const struct cpe_name cpe,
cpe_format_t  format 
) [inherited]

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
char * cpe_name_get_as_str ( const struct cpe_name cpe  )  [inherited]

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_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

bool cpe_name_match_cpes ( const struct cpe_name name,
size_t  n,
struct cpe_name **  namelist 
) [inherited]

Check if CPE name matches any CPE in namelist.

Parameters:
name name to be looked-up
n number of items in namelist
namelist list of names to search in
Returns:
true if name was found within namelist
int cpe_name_match_strs ( const char *  candidate,
size_t  n,
char **  targets 
) [inherited]

Match CPE URI candidate against list of n CPE URIs given by targets.

Parameters:
candidate candidarte CPE URI as string
n number of items in targets
targets list of CPE URIs to be candidate matched against
Returns:
index of first URI in targets, that matched
Return values:
-1 on mismatch
-2 invalid CPE URI was given as parameter
struct cpe_name * cpe_name_new ( const char *  cpe  )  [read, inherited]

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
const char * cpe_name_supported ( void   )  [inherited]

Get supported version of CPE uri XML.

Returns:
version of XML file format
int cpe_name_write ( const struct cpe_name cpe,
FILE *  f 
) [inherited]

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

Generated on 19 Nov 2012 for Open SCAP Library by  doxygen 1.6.1