cpe_lang.h File Reference

Interface to Common Platform Enumeration (CPE) Language. More...

#include <stdlib.h>
#include "cpe_name.h"
#include "oscap.h"
#include "oscap_text.h"
#include "oscap_source.h"

Go to the source code of this file.

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_CHECK = 0x08, 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_remove (struct cpe_platform_iterator *it, struct cpe_lang_model *parent)
 cpe_platform_iterator
void cpe_platform_iterator_reset (struct cpe_platform_iterator *it)
 cpe_testexpr_iterator
struct cpe_lang_modelcpe_lang_model_new (void)
 Constructor of CPE Language model cpe_lang_model.
struct cpe_testexprcpe_testexpr_new (void)
 Constructor of CPE test expression cpe_testexpr.
struct cpe_platformcpe_platform_new (void)
 Constructor of CPE Platform cpe_platform.
struct cpe_testexprcpe_testexpr_clone (struct cpe_testexpr *old_expr)
 Clone CPE test expression.
void cpe_testexpr_free (struct cpe_testexpr *expr)
 Free function of CPE test expression cpe_testexpr.
void cpe_testexpr_iterator_reset (struct cpe_testexpr_iterator *it)
 Reset function of CPE test expression cpe_testexpr.
void cpe_lang_model_free (struct cpe_lang_model *platformspec)
 Free function of CPE test expression cpe_lang_model.
void cpe_platform_free (struct cpe_platform *platform)
 Free function of CPE Platform cpe_platform.
struct cpe_lang_modelcpe_lang_model_import (const char *file)
 Load CPE language model from a XML document.
struct cpe_lang_modelcpe_lang_model_import_source (struct oscap_source *source)
 Load CPE language model from an oscap_source.
bool cpe_lang_model_set_origin_file (struct cpe_lang_model *lang_model, const char *origin_file)
 Sets the origin file hint.
const char * cpe_lang_model_get_origin_file (const struct cpe_lang_model *lang_model)
 Gets the file the CPE dict model was loaded from.
void cpe_lang_model_export (const struct cpe_lang_model *spec, const char *file)
 Write the lang_model to a file.
Iterators
struct cpe_platformcpe_platform_iterator_next (struct cpe_platform_iterator *it)
 cpe_platform_iterator
bool cpe_platform_iterator_has_more (struct cpe_platform_iterator *it)
 cpe_platform_iterator
void cpe_platform_iterator_free (struct cpe_platform_iterator *it)
 cpe_platform_iterator
struct cpe_testexprcpe_testexpr_iterator_next (struct cpe_testexpr_iterator *it)
 cpe_testexpr_iterator
bool cpe_testexpr_iterator_has_more (struct cpe_testexpr_iterator *it)
 cpe_testexpr_iterator
void cpe_testexpr_iterator_free (struct cpe_testexpr_iterator *it)
 cpe_testexpr_iterator
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_get_oper (const struct cpe_testexpr *item)
 cpe_testexpr functions to get variable members cpe_testexpr
struct cpe_testexpr_iteratorcpe_testexpr_get_meta_expr (const struct cpe_testexpr *item)
 Get CPE expression subexpression.
struct cpe_namecpe_testexpr_get_meta_cpe (const struct cpe_testexpr *item)
 Get CPE name to match against.
const char * cpe_testexpr_get_meta_check_system (const struct cpe_testexpr *item)
 Get check system to evaluate Only valid for CPE_LANG_OPER_CHECK.
const char * cpe_testexpr_get_meta_check_href (const struct cpe_testexpr *item)
 Get check href to evaluate Only valid for CPE_LANG_OPER_CHECK.
const char * cpe_testexpr_get_meta_check_id (const struct cpe_testexpr *item)
 Get check idref to evaluate Only valid for CPE_LANG_OPER_CHECK.
struct cpe_testexprcpe_testexpr_get_next (const struct cpe_testexpr *expr)
 Function to get next expr from array.
struct cpe_platform_iteratorcpe_lang_model_get_platforms (const struct cpe_lang_model *item)
 cpe_lang_model function to get CPE platforms cpe_lang_model
struct cpe_platformcpe_lang_model_get_item (const struct cpe_lang_model *item, const char *key)
 cpe_lang_model function to get CPE platforms cpe_lang_model
bool cpe_platform_applicable_lang_model (const char *platform, struct cpe_lang_model *lang_model, cpe_check_fn check_cb, cpe_dict_fn dict_cb, void *usr)
 Verify whether given CPE platform idref is applicable by evaluating test expression associated with it.
const char * cpe_platform_get_id (const struct cpe_platform *item)
 cpe_platform functions to get id cpe_platform
const char * cpe_platform_get_remark (const struct cpe_platform *item)
 cpe_platform functions to get remark cpe_platform
struct oscap_text_iteratorcpe_platform_get_titles (const struct cpe_platform *item)
 cpe_platform functions to get titles cpe_platform
struct cpe_testexprcpe_platform_get_expr (const struct cpe_platform *item)
 cpe_platform functions to get test expression cpe_platform
Setters
For lists use add functions.

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

bool cpe_lang_model_add_platform (struct cpe_lang_model *lang, struct cpe_platform *platform)
 Add platform to CPE lang model cpe_lang_model.
bool cpe_platform_add_title (struct cpe_platform *platform, struct oscap_text *title)
 Add title to platform cpe_platform.
bool cpe_testexpr_add_subexpression (struct cpe_testexpr *expr, struct cpe_testexpr *sub)
 Add XML namespace to CPE lang model cpe_lang_model.
bool cpe_platform_set_id (struct cpe_platform *platform, const char *new_id)
 Set ID of CPE platform cpe_platform.
bool cpe_platform_set_remark (struct cpe_platform *platform, const char *new_remark)
 Set remark of CPE platform cpe_platform.
bool cpe_platform_set_expr (struct cpe_platform *platform, struct cpe_testexpr *expr)
 Set evaluation expression for this CPE platform.
bool cpe_testexpr_set_oper (struct cpe_testexpr *expr, cpe_lang_oper_t oper)
 Set CPE operation.
bool cpe_testexpr_set_name (struct cpe_testexpr *expr, struct cpe_name *name)
 Set CPE name.
Evaluators
const char * cpe_lang_model_supported (void)
 Get supported version of CPE language XML.
char * cpe_lang_model_detect_version (const char *file)
 Detect version of given CPE language XML cpe_lang_model.
bool cpe_platform_match_cpe (struct cpe_name **cpe, size_t n, const struct cpe_platform *platform)
 Function to match cpe in platform.


Detailed Description

Interface to Common Platform Enumeration (CPE) Language.


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