Greenbone Vulnerability Management Libraries 22.18.1
cpeutils.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2009-2024 Greenbone AG
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later
4 */
5
10
11#ifndef _GVM_CPEUTILS_H
12#define _GVM_CPEUTILS_H
13
14#include <glib.h>
15#include <stdio.h>
16
22typedef struct
23{
24 char *part;
25 char *vendor;
26 char *product;
27 char *version;
28 char *update;
29 char *edition;
31 char *target_sw;
32 char *target_hw;
33 char *other;
34 char *language;
36
37char *
38uri_cpe_to_fs_cpe (const char *);
39
40char *
41uri_cpe_to_fs_product (const char *);
42
43char *
44uri_cpe_to_uri_product (const char *);
45
46char *
47fs_cpe_to_uri_cpe (const char *);
48
49char *
50fs_cpe_to_uri_product (const char *);
51
52void
53uri_cpe_to_cpe_struct (const char *, cpe_struct_t *);
54
55char *
57
58char *
60
61char *
62get_version_from_uri_cpe (const char *);
63
64void
65fs_cpe_to_cpe_struct (const char *, cpe_struct_t *);
66
67char *
69
70char *
72
73void
75
76void
78
79gboolean
81
82gboolean
84
93
94#define CPE_COMPONENT_IS_ANY(component) (component[0] == 'A')
95
96#endif
void cpe_struct_init(cpe_struct_t *)
Initialize a CPE struct.
Definition cpeutils.c:1190
void fs_cpe_to_cpe_struct(const char *, cpe_struct_t *)
Read a formatted string CPE into the CPE struct.
Definition cpeutils.c:366
char * cpe_struct_to_uri_cpe(const cpe_struct_t *)
Convert a CPE struct into a URI CPE.
Definition cpeutils.c:240
void uri_cpe_to_cpe_struct(const char *, cpe_struct_t *)
Read a URI CPE into the CPE struct.
Definition cpeutils.c:200
char * cpe_struct_to_fs_product(const cpe_struct_t *)
Convert a CPE struct into a formatted string product.
Definition cpeutils.c:496
gboolean cpe_struct_match_tail(cpe_struct_t *, cpe_struct_t *)
Returns if the part behind the version of source is a match for that part of target....
Definition cpeutils.c:1350
char * get_version_from_uri_cpe(const char *)
Get the version from an uri cpe.
Definition cpeutils.c:350
char * fs_cpe_to_uri_product(const char *)
Convert a formatted string CPE to an URI product.
Definition cpeutils.c:180
void cpe_struct_free(cpe_struct_t *)
Free a CPE struct.
Definition cpeutils.c:1214
set_relation
Definition cpeutils.h:86
@ SUBSET
Definition cpeutils.h:89
@ DISJOINT
Definition cpeutils.h:87
@ EQUAL
Definition cpeutils.h:88
@ UNDEFINED
Definition cpeutils.h:91
@ SUPERSET
Definition cpeutils.h:90
char * uri_cpe_to_uri_product(const char *)
Convert a URI CPE to a formatted string product.
Definition cpeutils.c:140
char * cpe_struct_to_uri_product(const cpe_struct_t *)
Convert a CPE struct into a URI product.
Definition cpeutils.c:309
char * fs_cpe_to_uri_cpe(const char *)
Convert a formatted string CPE to a URI CPE.
Definition cpeutils.c:160
char * uri_cpe_to_fs_product(const char *)
Convert a URI CPE to a formatted string product.
Definition cpeutils.c:120
char * cpe_struct_to_fs_cpe(const cpe_struct_t *)
Convert a CPE struct into a formatted string CPE.
Definition cpeutils.c:402
gboolean cpe_struct_match(cpe_struct_t *, cpe_struct_t *)
Returns if source is a match for target. That means that source is a superset of target.
Definition cpeutils.c:1295
char * uri_cpe_to_fs_cpe(const char *)
Convert a URI CPE to a formatted string CPE.
Definition cpeutils.c:100
XML context.
Definition cpeutils.h:23
char * sw_edition
Definition cpeutils.h:30
char * target_sw
Definition cpeutils.h:31
char * vendor
Definition cpeutils.h:25
char * version
Definition cpeutils.h:27
char * update
Definition cpeutils.h:28
char * product
Definition cpeutils.h:26
char * part
Definition cpeutils.h:24
char * edition
Definition cpeutils.h:29
char * language
Definition cpeutils.h:34
char * target_hw
Definition cpeutils.h:32
char * other
Definition cpeutils.h:33