Interface to Common Platform Enumeration (CPE) URI. More...
#include <string.h>
#include <stdio.h>
#include <pcre.h>
#include <ctype.h>
#include <assert.h>
#include "cpeuri.h"
#include "../common/util.h"
Data Structures | |
struct | cpe_name |
Structure holding Common Platform Enumeration URI data. More... | |
Defines | |
#define | _BSD_SOURCE |
#define | CPENAME_GETTER(RTYPE, MNAME) OSCAP_GETTER(RTYPE,cpe_name,MNAME) |
Enumerations | |
enum | cpe_field_t { CPE_FIELD_TYPE, CPE_FIELD_VENDOR, CPE_FIELD_PRODUCT, CPE_FIELD_VERSION, CPE_FIELD_UPDATE, CPE_FIELD_EDITION, CPE_FIELD_LANGUAGE, CPE_FIELDNUM } |
Functions | |
char ** | cpe_uri_split (char *str, const char *delim) |
bool | cpe_urldecode (char *str) |
size_t | ptrarray_length (void **arr) |
bool | cpe_name_check (const char *str) |
char ** | cpe_split (char *str, const char *delim) |
bool | cpe_assign_values (struct cpe_name *cpe, char **fields) |
struct cpe_name * | cpe_name_new (const char *cpestr) |
bool | cpe_name_match_one (const struct cpe_name *cpe, const struct cpe_name *against) |
bool | cpe_name_match_cpes (const struct cpe_name *name, size_t n, struct cpe_name **namelist) |
int | cpe_name_match_strs (const char *candidate, size_t n, char **targets) |
const char * | as_str (const char *str) |
char * | cpe_name_get_uri (const struct cpe_name *cpe) |
int | cpe_name_write (const struct cpe_name *cpe, FILE *f) |
void | cpe_name_free (struct cpe_name *cpe) |
Variables | |
const char * | CPE_PART_CHAR [] = { NULL, "h", "o", "a" } |
const char * | CPE_SCHEMA = "cpe:/" |
const char | CPE_SEP_CHAR = ':' |
const char * | CPE_SEP_STR = ":" |
const size_t | CPE_SPLIT_INIT_ALLOC = 8 |
Interface to Common Platform Enumeration (CPE) URI.
See more details at http://nvd.nist.gov/cpe.cfm