Loading...
Searching...
No Matches
cpelang_priv.c File Reference

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

`#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"`
Include dependency graph for cpelang_priv.c:

## Data Structures

struct | cpe_lang_model
| CPE platform specification. More...
struct | cpe_platform
| Single platform representation in CPE language. More...

## Macros

#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

const struct cpe_testexpr * | cpe_testexpr_get_next (const struct cpe_testexpr *expr)
struct cpe_testexpr * | cpe_testexpr_new ()
struct cpe_testexpr * | cpe_testexpr_clone (struct cpe_testexpr *old_expr)
struct cpe_lang_model * | cpe_lang_model_new ()
struct cpe_platform * | cpe_platform_new ()
struct cpe_lang_model * | cpe_lang_model_import_source (struct oscap_source *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)
void | cpe_platform_free (struct cpe_platform *platform)
void | cpe_testexpr_free (struct cpe_testexpr *expr)
struct cpe_testexpr_iterator * | cpe_testexpr_get_meta_expr (const struct cpe_testexpr *expr)
const struct cpe_name * | cpe_testexpr_get_meta_cpe (const struct cpe_testexpr *expr)
const char * | cpe_testexpr_get_meta_check_system (const struct cpe_testexpr *expr)
const char * | cpe_testexpr_get_meta_check_href (const struct cpe_testexpr *expr)
const char * | cpe_testexpr_get_meta_check_id (const struct cpe_testexpr *expr)
bool | cpe_testexpr_set_oper (struct cpe_testexpr *expr, cpe_lang_oper_t oper)
bool | cpe_testexpr_set_name (struct cpe_testexpr *expr, struct cpe_name *name)
bool | cpe_testexpr_add_subexpression (struct cpe_testexpr *expr, struct cpe_testexpr *sub)
bool | cpe_lang_model_add_platform (struct cpe_lang_model *lang, struct cpe_platform *platform)
void | cpe_platform_iterator_remove (struct cpe_platform_iterator *it, struct cpe_lang_model *parent)
bool | cpe_platform_set_expr (struct cpe_platform *platform, struct cpe_testexpr *expr)
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 This is necessary to figure out the full OVAL file path for applicability testing.

## Detailed Description

Interface to Common Platform Enumeration (CPE) Language.

See more details at http://nvd.nist.gov/cpe.cfm

## Function Documentation

## cpe_lang_export()

void cpe_lang_export | ( | const struct cpe_lang_model * | spec,
|  | xmlTextWriterPtr | writer )

Function for export CPE language top element.

Parameters

  writer | xmlTextWriterPtr structure representing XML model
  spec | CPE language model structure

## cpe_lang_model_export_xml()

void cpe_lang_model_export_xml | ( | const struct cpe_lang_model * | spec,
|  | const char * | file )

Function for export CPE language model to XML.

Parameters

  spec | CPE language model structure
  file | filename

## cpe_lang_model_get_origin_file()

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 This is necessary to figure out the full OVAL file path for applicability testing.

We can't do applicability here in the CPE module because that would create awful interdependencies.

## cpe_lang_model_parse()

struct cpe_lang_model * cpe_lang_model_parse | ( | xmlTextReaderPtr | reader | ) |

Parse function for CPE Lang model.

Parameters

  reader | xmlTextReaderPtr structure representing XML model

## cpe_lang_model_set_origin_file()

bool cpe_lang_model_set_origin_file | ( | struct cpe_lang_model * | lang_model,
|  | const char * | origin_file )

Sets the origin file hint.

See also
  cpe_lang_model_get_origin_file

## cpe_platform_export()

void cpe_platform_export | ( | const struct cpe_platform * | platform,
|  | xmlTextWriterPtr | writer )

Function for export CPE platform element.

Parameters

  writer | xmlTextWriterPtr structure representing XML model
  platform | CPE platform structure

## cpe_platform_parse()

struct cpe_platform * cpe_platform_parse | ( | xmlTextReaderPtr | reader | ) |

Parse CPE platform structure.

Parameters

  reader | xmlTextReaderPtr structure representing XML model

Returns
  cpe_platform structure with CPE platform item

## cpe_testexpr_export()

void cpe_testexpr_export | ( | const struct cpe_testexpr * | expr,
|  | xmlTextWriterPtr | writer )

Function for export CPE test expression element.

Parameters

  writer | xmlTextWriterPtr structure representing XML model
  expr | CPE test expression structure

## cpe_testexpr_parse()

struct cpe_testexpr * cpe_testexpr_parse | ( | xmlTextReaderPtr | reader | ) |

Parse CPE test expression structure.

Parameters

  reader | xmlTextReaderPtr structure representing XML model

Returns
  cpe_testexpr structure with CPE test expression item