|
Open SCAP Library
|
Data Structures | |
| struct | cpe_lang_model |
| CPE platform specification. More... | |
| struct | cpe_platform |
| Single platform representation in CPE language. More... | |
| struct | cpe_testexpr |
| CPE language boolean expression. More... | |
| struct | cpe_platform_iterator |
| Iterator over CPE dictionary items. More... | |
| struct | cpe_testexpr_iterator |
| Iterator over CPE language expressions. More... | |
Files | |
| file | cpelang.h |
Interface to Common Platform Enumeration (CPE) Language. | |
Enumerations | |
| enum | cpe_lang_oper_t { CPE_LANG_OPER_INVALID = 0x00, CPE_LANG_OPER_AND = 0x01, CPE_LANG_OPER_OR = 0x02, CPE_LANG_OPER_MATCH = 0x04, CPE_LANG_OPER_MASK = 0xFF, CPE_LANG_OPER_NOT = 0x100, CPE_LANG_OPER_NAND = CPE_LANG_OPER_AND | CPE_LANG_OPER_NOT, CPE_LANG_OPER_NOR = CPE_LANG_OPER_OR | CPE_LANG_OPER_NOT } |
| CPE language operators. More... | |
Functions | |
| void | cpe_platform_iterator::cpe_platform_iterator_remove (struct cpe_platform_iterator *it, struct cpe_lang_model *parent) |
| void | cpe_testexpr_iterator::cpe_platform_iterator_reset (struct cpe_platform_iterator *it) |
| struct cpe_lang_model * | cpe_lang_model::cpe_lang_model_new (void) |
| Constructor of CPE Language model. | |
| struct cpe_testexpr * | cpe_testexpr::cpe_testexpr_new (void) |
| Constructor of CPE test expression. | |
| struct cpe_platform * | cpe_platform::cpe_platform_new (void) |
| Constructor of CPE Platform. | |
| struct cpe_testexpr * | cpe_testexpr::cpe_testexpr_clone (struct cpe_testexpr *old_expr) |
| Clone CPE test expression. | |
| void | cpe_testexpr::cpe_testexpr_free (struct cpe_testexpr *expr) |
| Free function of CPE test expression. | |
| void | cpe_testexpr::cpe_testexpr_iterator_reset (struct cpe_testexpr_iterator *it) |
| Reset function of CPE test expression. | |
| void | cpe_lang_model::cpe_lang_model_free (struct cpe_lang_model *platformspec) |
| Free function of CPE test expression. | |
| void | cpe_platform::cpe_platform_free (struct cpe_platform *platform) |
| Free function of CPE Platform. | |
| struct cpe_lang_model * | cpe_lang_model::cpe_lang_model_import (const char *file) |
| Load CPE language model from a XML document. | |
| void | cpe_lang_model::cpe_lang_model_export (const struct cpe_lang_model *spec, const char *file) |
| Write the lang_model to a file. | |
Iterators | |
| struct cpe_platform * | cpe_platform_iterator::cpe_platform_iterator_next (struct cpe_platform_iterator *it) |
| bool | cpe_platform_iterator::cpe_platform_iterator_has_more (struct cpe_platform_iterator *it) |
| void | cpe_platform_iterator::cpe_platform_iterator_free (struct cpe_platform_iterator *it) |
| struct cpe_testexpr * | cpe_testexpr_iterator::cpe_testexpr_iterator_next (struct cpe_testexpr_iterator *it) |
| bool | cpe_testexpr_iterator::cpe_testexpr_iterator_has_more (struct cpe_testexpr_iterator *it) |
| void | cpe_testexpr_iterator::cpe_testexpr_iterator_free (struct cpe_testexpr_iterator *it) |
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_lang_oper_t | cpe_testexpr::cpe_testexpr_get_oper (const struct cpe_testexpr *item) |
| cpe_testexpr functions to get variable members | |
| struct cpe_testexpr_iterator * | cpe_testexpr::cpe_testexpr_get_meta_expr (const struct cpe_testexpr *item) |
| Get CPE expression subexpression. | |
| struct cpe_name * | cpe_testexpr::cpe_testexpr_get_meta_cpe (const struct cpe_testexpr *item) |
| Get CPE name to match against. | |
| struct cpe_testexpr * | cpe_testexpr::cpe_testexpr_get_next (const struct cpe_testexpr *expr) |
| Function to get next expr from array. | |
| struct cpe_platform_iterator * | cpe_lang_model::cpe_lang_model_get_platforms (const struct cpe_lang_model *item) |
| cpe_lang_model function to get CPE platforms | |
| struct cpe_platform * | cpe_lang_model::cpe_lang_model_get_item (const struct cpe_lang_model *item, const char *key) |
| cpe_lang_model function to get CPE platforms | |
| const char * | cpe_platform::cpe_platform_get_id (const struct cpe_platform *item) |
| cpe_platform functions to get id | |
| const char * | cpe_platform::cpe_platform_get_remark (const struct cpe_platform *item) |
| cpe_platform functions to get remark | |
| struct oscap_text_iterator * | cpe_platform::cpe_platform_get_titles (const struct cpe_platform *item) |
| cpe_platform functions to get titles | |
| struct cpe_testexpr * | cpe_platform::cpe_platform_get_expr (const struct cpe_platform *item) |
| cpe_platform functions to get test expression | |
Setters | |
|
Parameters of set functions are duplicated in memory and need to be freed by caller. | |
| bool | cpe_lang_model::cpe_lang_model_add_platform (struct cpe_lang_model *lang, struct cpe_platform *platform) |
| Add platform to CPE lang model. | |
| bool | cpe_platform::cpe_platform_add_title (struct cpe_platform *platform, struct oscap_text *title) |
| Add title to platform. | |
| bool | cpe_testexpr::cpe_testexpr_add_subexpression (struct cpe_testexpr *expr, struct cpe_testexpr *sub) |
| Add XML namespace to CPE lang model. | |
| bool | cpe_platform::cpe_platform_set_id (struct cpe_platform *platform, const char *new_id) |
| Set ID of CPE platform. | |
| bool | cpe_platform::cpe_platform_set_remark (struct cpe_platform *platform, const char *new_remark) |
| Set remark of CPE platform. | |
| bool | cpe_platform::cpe_platform_set_expr (struct cpe_platform *platform, struct cpe_testexpr *expr) |
| Set evaluation expression for this CPE platform. | |
| bool | cpe_testexpr::cpe_testexpr_set_oper (struct cpe_testexpr *expr, cpe_lang_oper_t oper) |
| Set CPE operation. | |
| bool | cpe_testexpr::cpe_testexpr_set_name (struct cpe_testexpr *expr, struct cpe_name *name) |
| Set CPE name. | |
Evaluators | |
| const char * | cpe_lang_model::cpe_lang_model_supported (void) |
| Get supported version of CPE language XML. | |
| bool | cpe_platform::cpe_platform_match_cpe (struct cpe_name **cpe, size_t n, const struct cpe_platform *platform) |
| Function to match cpe in platform. | |
| enum cpe_lang_oper_t |
| void cpe_lang_model_export | ( | const struct cpe_lang_model * | spec, |
| const char * | file | ||
| ) |
Write the lang_model to a file.
| spec | CPE lang model |
| target | target structure with filename, endcoding and indent information |
| const char * cpe_lang_model_supported | ( | void | ) |
Get supported version of CPE language XML.
| void cpe_platform_iterator_free | ( | struct cpe_platform_iterator * | it | ) |
| bool cpe_platform_iterator_has_more | ( | struct cpe_platform_iterator * | it | ) |
| struct cpe_platform * cpe_platform_iterator_next | ( | struct cpe_platform_iterator * | it | ) | [read] |
| void cpe_platform_iterator_remove | ( | struct cpe_platform_iterator * | it, |
| struct cpe_lang_model * | parent | ||
| ) |
| void cpe_platform_iterator_reset | ( | struct cpe_platform_iterator * | it | ) |
| bool cpe_platform_match_cpe | ( | struct cpe_name ** | cpe, |
| size_t | n, | ||
| const struct cpe_platform * | platform | ||
| ) |
Function to match cpe in platform.
| cpe | to be matched with |
| n | size |
| platform | CPE platform |
| bool cpe_platform_set_expr | ( | struct cpe_platform * | platform, |
| struct cpe_testexpr * | expr | ||
| ) |
Set evaluation expression for this CPE platform.
Expression has to be a logical-test (i.e. its operation shall be AND or OR, possibly with negation)
| bool cpe_testexpr_add_subexpression | ( | struct cpe_testexpr * | expr, |
| struct cpe_testexpr * | sub | ||
| ) |
Add XML namespace to CPE lang model.
Add an subexpression to a compound CPE language expression.
Expression has to be of type CPE_LANG_OPER_AND or CPE_LANG_OPER_OR, possibly with negation.
| struct cpe_testexpr * cpe_testexpr_clone | ( | struct cpe_testexpr * | old_expr | ) | [read] |
Clone CPE test expression.
| old_expr | CPE test expression |
| struct cpe_name * cpe_testexpr_get_meta_cpe | ( | const struct cpe_testexpr * | item | ) | [read] |
Get CPE name to match against.
Only valid for CPE_LANG_OPER_MATCH.
| struct cpe_testexpr_iterator * cpe_testexpr_get_meta_expr | ( | const struct cpe_testexpr * | item | ) | [read] |
Get CPE expression subexpression.
Not valid for CPE_LANG_OPER_MATCH operation.
| struct cpe_testexpr * cpe_testexpr_get_next | ( | const struct cpe_testexpr * | expr | ) | [read] |
Function to get next expr from array.
| expr | CPE Test expression structure |
| void cpe_testexpr_iterator_free | ( | struct cpe_testexpr_iterator * | it | ) |
| bool cpe_testexpr_iterator_has_more | ( | struct cpe_testexpr_iterator * | it | ) |
| struct cpe_testexpr * cpe_testexpr_iterator_next | ( | struct cpe_testexpr_iterator * | it | ) | [read] |
| bool cpe_testexpr_set_name | ( | struct cpe_testexpr * | expr, |
| struct cpe_name * | name | ||
| ) |
Set CPE name.
If the expression does not have type CPE_LANG_OPER_MATCH, this function has no effect and returns false.
| bool cpe_testexpr_set_oper | ( | struct cpe_testexpr * | expr, |
| cpe_lang_oper_t | oper | ||
| ) |
Set CPE operation.
Any subexpressions and CPE names associated with this expression will be removed.
1.7.4