#include <libxml/xmlreader.h>
#include <libxml/xmlwriter.h>
#include <libxml/tree.h>
#include <string.h>
#include "public/cpe_lang.h"
#include "cpelang_priv.h"
#include "common/util.h"
#include "common/list.h"
#include "common/text_priv.h"
#include "common/elements.h"
#include "common/_error.h"
#include "common/xmlns_priv.h"
#include "common/xmltext_priv.h"
#include "source/oscap_source_priv.h"
#include "source/public/oscap_source.h"
Data Structures | |
struct | cpe_lang_model |
CPE platform specification. More... | |
struct | cpe_platform |
Single platform representation in CPE language. More... | |
Defines | |
#define | TAG_PLATFORM_SPEC_STR BAD_CAST "platform-specification" |
#define | TAG_PLATFORM_STR BAD_CAST "platform" |
#define | TAG_LOGICAL_TEST_STR BAD_CAST "logical-test" |
#define | TAG_FACT_REF_STR BAD_CAST "fact-ref" |
#define | TAG_CHECK_FACT_REF_STR BAD_CAST "check-fact-ref" |
#define | TAG_REMARK_STR BAD_CAST "remark" |
#define | ATTR_TITLE_STR BAD_CAST "title" |
#define | ATTR_NAME_STR BAD_CAST "name" |
#define | ATTR_OPERATOR_STR BAD_CAST "operator" |
#define | ATTR_NEGATE_STR BAD_CAST "negate" |
#define | ATTR_ID_STR BAD_CAST "id" |
#define | ATTR_HREF_STR BAD_CAST "href" |
#define | ATTR_SYSTEM_STR BAD_CAST "system" |
#define | ATTR_ID_REF_STR BAD_CAST "id-ref" |
#define | VAL_AND_STR BAD_CAST "AND" |
#define | VAL_OR_STR BAD_CAST "OR" |
#define | VAL_FALSE_STR BAD_CAST "false" |
#define | VAL_TRUE_STR BAD_CAST "true" |
Functions | |
struct cpe_testexpr * | cpe_testexpr_get_next (const struct cpe_testexpr *expr) |
Function to get next expr from array. | |
struct cpe_testexpr * | cpe_testexpr_new () |
Constructor of CPE test expression cpe_testexpr. | |
struct cpe_testexpr * | cpe_testexpr_clone (struct cpe_testexpr *old_expr) |
Clone CPE test expression. | |
struct cpe_lang_model * | cpe_lang_model_new () |
Constructor of CPE Language model cpe_lang_model. | |
struct cpe_platform * | cpe_platform_new () |
Constructor of CPE Platform cpe_platform. | |
struct cpe_lang_model * | cpe_lang_model_import_source (struct oscap_source *source) |
Load CPE language model from an oscap_source. | |
struct cpe_lang_model * | cpe_lang_model_parse (xmlTextReaderPtr reader) |
Parse function for CPE Lang model. | |
struct cpe_platform * | cpe_platform_parse (xmlTextReaderPtr reader) |
Parse CPE platform structure. | |
struct cpe_testexpr * | cpe_testexpr_parse (xmlTextReaderPtr reader) |
Parse CPE test expression structure. | |
void | cpe_lang_model_export_xml (const struct cpe_lang_model *spec, const char *file) |
Function for export CPE language model to XML. | |
void | cpe_lang_export (const struct cpe_lang_model *spec, xmlTextWriterPtr writer) |
Function for export CPE language top element. | |
void | cpe_platform_export (const struct cpe_platform *platform, xmlTextWriterPtr writer) |
Function for export CPE platform element. | |
void | cpe_testexpr_export (const struct cpe_testexpr *expr, xmlTextWriterPtr writer) |
Function for export CPE test expression element. | |
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. | |
void | cpe_testexpr_free (struct cpe_testexpr *expr) |
Free function of CPE test expression cpe_testexpr. | |
struct cpe_testexpr_iterator * | cpe_testexpr_get_meta_expr (const struct cpe_testexpr *expr) |
Get CPE expression subexpression. | |
struct cpe_name * | cpe_testexpr_get_meta_cpe (const struct cpe_testexpr *expr) |
Get CPE name to match against. | |
const char * | cpe_testexpr_get_meta_check_system (const struct cpe_testexpr *expr) |
Get check system to evaluate Only valid for CPE_LANG_OPER_CHECK. | |
const char * | cpe_testexpr_get_meta_check_href (const struct cpe_testexpr *expr) |
Get check href to evaluate Only valid for CPE_LANG_OPER_CHECK. | |
const char * | cpe_testexpr_get_meta_check_id (const struct cpe_testexpr *expr) |
Get check idref to evaluate Only valid for CPE_LANG_OPER_CHECK. | |
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. | |
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_lang_model_add_platform (struct cpe_lang_model *lang, struct cpe_platform *platform) |
Add platform to CPE lang model cpe_lang_model. | |
void | cpe_platform_iterator_remove (struct cpe_platform_iterator *it, struct cpe_lang_model *parent) |
cpe_platform_iterator | |
bool | cpe_platform_set_expr (struct cpe_platform *platform, struct cpe_testexpr *expr) |
Set evaluation expression for this CPE platform. | |
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. |
See more details at http://nvd.nist.gov/cpe.cfm
void cpe_lang_export | ( | const struct cpe_lang_model * | spec, | |
xmlTextWriterPtr | writer | |||
) |
Function for export CPE language top element.
writer | xmlTextWriterPtr structure representing XML model | |
spec | CPE language model structure |
void cpe_lang_model_export_xml | ( | const struct cpe_lang_model * | spec, | |
const char * | file | |||
) |
Function for export CPE language model to XML.
spec | CPE language model structure | |
file | filename |
struct cpe_lang_model* cpe_lang_model_parse | ( | xmlTextReaderPtr | reader | ) | [read] |
Parse function for CPE Lang model.
reader | xmlTextReaderPtr structure representing XML model |
void cpe_platform_export | ( | const struct cpe_platform * | platform, | |
xmlTextWriterPtr | writer | |||
) |
Function for export CPE platform element.
writer | xmlTextWriterPtr structure representing XML model | |
platform | CPE platform structure |
struct cpe_platform* cpe_platform_parse | ( | xmlTextReaderPtr | reader | ) | [read] |
Parse CPE platform structure.
reader | xmlTextReaderPtr structure representing XML model |
void cpe_testexpr_export | ( | const struct cpe_testexpr * | expr, | |
xmlTextWriterPtr | writer | |||
) |
Function for export CPE test expression element.
writer | xmlTextWriterPtr structure representing XML model | |
expr | CPE test expression structure |
struct cpe_testexpr* cpe_testexpr_parse | ( | xmlTextReaderPtr | reader | ) | [read] |
Parse CPE test expression structure.
reader | xmlTextReaderPtr structure representing XML model |