nvti.h
Go to the documentation of this file.
/* SPDX-FileCopyrightText: 2009-2023 Greenbone AG
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef _NVTI_H
#define _NVTI_H
#include <glib.h>
#define NVTPREF_TIMEOUT_ID 0
typedef struct nvtpref nvtpref_t;
nvtpref_t *
nvtpref_new (int, const gchar *, const gchar *, const gchar *);
void
nvtpref_free (nvtpref_t *);
gchar *
nvtpref_name (const nvtpref_t *);
gchar *
nvtpref_type (const nvtpref_t *);
gchar *
nvtpref_default (const nvtpref_t *);
int
nvtpref_id (const nvtpref_t *);
typedef struct vtref vtref_t;
typedef struct vtseverity vtseverity_t;
typedef struct nvti nvti_t;
vtref_t *
vtref_new (const gchar *, const gchar *, const gchar *);
void
vtref_free (vtref_t *);
const gchar *
vtref_type (const vtref_t *);
const gchar *
vtref_id (const vtref_t *);
const gchar *
vtref_text (const vtref_t *);
vtseverity_t *
vtseverity_new (const gchar *, const gchar *, int, double, const gchar *);
void
vtseverity_free (vtseverity_t *);
const gchar *
vtseverity_type (const vtseverity_t *);
const gchar *
vtseverity_origin (const vtseverity_t *);
const gchar *
vtseverity_value (const vtseverity_t *);
int
vtseverity_date (const vtseverity_t *);
double
vtseverity_score (const vtseverity_t *);
int
nvti_add_vtref (nvti_t *, vtref_t *);
guint
nvti_vtref_len (const nvti_t *);
vtref_t *
nvti_vtref (const nvti_t *, guint);
int
nvti_add_vtseverity (nvti_t *, vtseverity_t *);
guint
nvti_vtseverities_len (const nvti_t *);
vtseverity_t *
nvti_vtseverity (const nvti_t *, guint);
double
nvti_severity_score (const nvti_t *);
gchar *
nvti_severity_vector_from_tag (const nvti_t *);
nvti_t *
nvti_new (void);
void
nvti_free (nvti_t *);
gchar *
nvti_oid (const nvti_t *);
gchar *
nvti_name (const nvti_t *);
gchar *
nvti_summary (const nvti_t *);
gchar *
nvti_affected (const nvti_t *);
gchar *
nvti_impact (const nvti_t *);
time_t
nvti_creation_time (const nvti_t *);
time_t
nvti_modification_time (const nvti_t *);
gchar *
nvti_insight (const nvti_t *);
gchar *
nvti_refs (const nvti_t *, const gchar *, const char *, guint);
gchar *
nvti_solution (const nvti_t *);
gchar *
nvti_solution_type (const nvti_t *);
gchar *
nvti_solution_method (const nvti_t *);
gchar *
nvti_tag (const nvti_t *);
gchar *
nvti_get_tag (const nvti_t *, const gchar *);
gchar *
nvti_cvss_base (const nvti_t *);
gchar *
nvti_dependencies (const nvti_t *);
gchar *
nvti_required_keys (const nvti_t *);
gchar *
nvti_mandatory_keys (const nvti_t *);
gchar *
nvti_excluded_keys (const nvti_t *);
gchar *
nvti_required_ports (const nvti_t *);
gchar *
nvti_required_udp_ports (const nvti_t *);
gchar *
nvti_detection (const nvti_t *);
gchar *
nvti_qod_type (const nvti_t *);
gchar *
nvti_qod (const nvti_t *);
gint
nvti_timeout (const nvti_t *);
gint
nvti_category (const nvti_t *);
gchar *
nvti_family (const nvti_t *);
guint
nvti_pref_len (const nvti_t *);
const nvtpref_t *
nvti_pref (const nvti_t *, guint);
int
nvti_set_oid (nvti_t *, const gchar *);
int
nvti_set_name (nvti_t *, const gchar *);
int
nvti_put_name (nvti_t *, gchar *);
int
nvti_set_summary (nvti_t *, const gchar *);
int
nvti_put_summary (nvti_t *, gchar *);
int
nvti_set_insight (nvti_t *, const gchar *);
int
nvti_put_insight (nvti_t *, gchar *);
int
nvti_set_affected (nvti_t *, const gchar *);
int
nvti_put_affected (nvti_t *, gchar *);
int
nvti_set_impact (nvti_t *, const gchar *);
int
nvti_put_impact (nvti_t *, gchar *);
int
nvti_set_creation_time (nvti_t *, const time_t);
int
nvti_set_modification_time (nvti_t *, const time_t);
int
nvti_set_solution (nvti_t *, const gchar *);
int
nvti_put_solution (nvti_t *, gchar *);
int
nvti_set_solution_type (nvti_t *, const gchar *);
int
nvti_set_solution_method (nvti_t *, const gchar *);
int
nvti_add_tag (nvti_t *, const gchar *, const gchar *);
int
nvti_set_tag (nvti_t *, const gchar *);
int
nvti_set_cvss_base (nvti_t *, const gchar *);
int
nvti_set_dependencies (nvti_t *, const gchar *);
int
nvti_set_required_keys (nvti_t *, const gchar *);
int
nvti_set_mandatory_keys (nvti_t *, const gchar *);
int
nvti_set_excluded_keys (nvti_t *, const gchar *);
int
nvti_set_required_ports (nvti_t *, const gchar *);
int
nvti_set_required_udp_ports (nvti_t *, const gchar *);
int
nvti_set_detection (nvti_t *, const gchar *);
int
nvti_put_detection (nvti_t *, gchar *);
int
nvti_set_qod_type (nvti_t *, const gchar *);
int
nvti_set_qod (nvti_t *, const gchar *);
int
nvti_set_timeout (nvti_t *, const gint);
int
nvti_set_category (nvti_t *, const gint);
int
nvti_set_family (nvti_t *, const gchar *);
int
nvti_put_family (nvti_t *, gchar *);
int
nvti_add_refs (nvti_t *, const gchar *, const gchar *, const gchar *);
int
nvti_add_required_keys (nvti_t *, const gchar *);
int
nvti_add_mandatory_keys (nvti_t *, const gchar *);
int
nvti_add_excluded_keys (nvti_t *, const gchar *);
int
nvti_add_required_ports (nvti_t *, const gchar *);
int
nvti_add_required_udp_ports (nvti_t *, const gchar *);
int
nvti_add_pref (nvti_t *, nvtpref_t *);
/* Collections of NVT Infos. */
typedef GHashTable nvtis_t;
nvtis_t *
nvtis_new (void);
void
nvtis_free (nvtis_t *);
void
nvtis_add (nvtis_t *, nvti_t *);
nvti_t *
nvtis_lookup (nvtis_t *, const char *);
#endif /* not _NVTI_H */
nvti_set_qod
int nvti_set_qod(nvti_t *, const gchar *)
Set the QoD of a NVT.
Definition nvti.c:1880
nvti_new
nvti_t * nvti_new(void)
Create a new (empty) nvti structure.
Definition nvti.c:559
nvtpref_free
void nvtpref_free(nvtpref_t *)
Free memory of a nvtpref structure.
Definition nvti.c:484
nvtis_add
void nvtis_add(nvtis_t *, nvti_t *)
Add an NVT Info to a collection of NVT Infos.
Definition nvti.c:2233
vtseverity_new
vtseverity_t * vtseverity_new(const gchar *, const gchar *, int, double, const gchar *)
Create a new vtseverity structure filled with the given values.
Definition nvti.c:180
nvti_set_modification_time
int nvti_set_modification_time(nvti_t *, const time_t)
Set the modification time of a NVT.
Definition nvti.c:1453
nvti_set_dependencies
int nvti_set_dependencies(nvti_t *, const gchar *)
Set the dependencies of a NVT.
Definition nvti.c:1672
nvti_insight
gchar * nvti_insight(const nvti_t *)
Get the text about insight.
Definition nvti.c:653
nvti_pref_len
guint nvti_pref_len(const nvti_t *)
Get the number of preferences of the NVT.
Definition nvti.c:1171
nvti_put_name
int nvti_put_name(nvti_t *, gchar *)
Set the name of a NVT, using the given memory.
Definition nvti.c:1254
nvti_oid
gchar * nvti_oid(const nvti_t *)
Get the OID string.
Definition nvti.c:611
nvti_put_family
int nvti_put_family(nvti_t *, gchar *)
Set the family of a NVT, using the given memory.
Definition nvti.c:1923
nvti_vtref_len
guint nvti_vtref_len(const nvti_t *)
Get the number of references of the NVT.
Definition nvti.c:722
nvtpref_name
gchar * nvtpref_name(const nvtpref_t *)
Get the Name of a NVT Preference.
Definition nvti.c:518
nvtis_free
void nvtis_free(nvtis_t *)
Free a collection of NVT Infos.
Definition nvti.c:2220
nvtpref_new
nvtpref_t * nvtpref_new(int, const gchar *, const gchar *, const gchar *)
Create a new nvtpref structure filled with the given values.
Definition nvti.c:463
nvti_set_solution_method
int nvti_set_solution_method(nvti_t *, const gchar *)
Set the solution method of a NVT.
Definition nvti.c:1534
nvtis_new
nvtis_t * nvtis_new(void)
Make a collection of NVT Infos.
Definition nvti.c:2208
nvti_timeout
gint nvti_timeout(const nvti_t *)
nvti_tag
gchar * nvti_tag(const nvti_t *)
Get the tags.
Definition nvti.c:966
nvti_refs
gchar * nvti_refs(const nvti_t *, const gchar *, const char *, guint)
nvti_severity_score
double nvti_severity_score(const nvti_t *)
Get the maximum severity score.
Definition nvti.c:868
nvti_mandatory_keys
gchar * nvti_mandatory_keys(const nvti_t *)
Get the mandatory keys list.
Definition nvti.c:1060
nvti_qod
gchar * nvti_qod(const nvti_t *)
Get the QoD.
Definition nvti.c:1144
vtref_id
const gchar * vtref_id(const vtref_t *)
Get the id of a reference.
Definition nvti.c:131
nvti_modification_time
time_t nvti_modification_time(const nvti_t *)
Get the modification time.
Definition nvti.c:709
vtseverity_score
double vtseverity_score(const vtseverity_t *)
Get the score of a severity.
Definition nvti.c:279
nvti_put_insight
int nvti_put_insight(nvti_t *, gchar *)
Set the insight text of a NVT, using the given memory.
Definition nvti.c:1334
nvti_add_pref
int nvti_add_pref(nvti_t *, nvtpref_t *)
Add a preference to the NVT Info.
Definition nvti.c:2180
nvti_solution_method
gchar * nvti_solution_method(const nvti_t *)
Get the solution method.
Definition nvti.c:952
nvti_affected
gchar * nvti_affected(const nvti_t *)
Get the text about affected systems.
Definition nvti.c:667
nvti_creation_time
time_t nvti_creation_time(const nvti_t *)
Get the creation time.
Definition nvti.c:695
nvti_family
gchar * nvti_family(const nvti_t *)
Get the family name.
Definition nvti.c:1158
nvti_set_family
int nvti_set_family(nvti_t *, const gchar *)
Set the family of a NVT.
Definition nvti.c:1903
nvti_pref
const nvtpref_t * nvti_pref(const nvti_t *, guint)
Get the n'th preferences of the NVT.
Definition nvti.c:1186
nvti_name
gchar * nvti_name(const nvti_t *)
Get the name.
Definition nvti.c:625
nvti_set_insight
int nvti_set_insight(nvti_t *, const gchar *)
Set the insight text of a NVT.
Definition nvti.c:1314
nvti_set_cvss_base
int nvti_set_cvss_base(nvti_t *, const gchar *)
Set the CVSS base of an NVT.
Definition nvti.c:1648
nvti_set_creation_time
int nvti_set_creation_time(nvti_t *, const time_t)
Set the creation time of a NVT.
Definition nvti.c:1434
nvti_set_required_udp_ports
int nvti_set_required_udp_ports(nvti_t *, const gchar *)
Set the required udp ports of a NVT.
Definition nvti.c:1792
vtref_text
const gchar * vtref_text(const vtref_t *)
Get the text of a reference.
Definition nvti.c:145
nvtis_lookup
nvti_t * nvtis_lookup(nvtis_t *, const char *)
Add an NVT Info to a collection of NVT Infos.
Definition nvti.c:2250
nvti_excluded_keys
gchar * nvti_excluded_keys(const nvti_t *)
Get the excluded keys list.
Definition nvti.c:1074
nvti_add_vtseverity
int nvti_add_vtseverity(nvti_t *, vtseverity_t *)
Add a severity to the VT Info.
Definition nvti.c:426
nvti_vtseverity
vtseverity_t * nvti_vtseverity(const nvti_t *, guint)
Get the n'th reference of the NVT.
Definition nvti.c:855
nvtpref_default
gchar * nvtpref_default(const nvtpref_t *)
Get the Default of a NVT Preference.
Definition nvti.c:546
nvti_put_affected
int nvti_put_affected(nvti_t *, gchar *)
Set the affected text of a NVT, using the given memory.
Definition nvti.c:1374
nvti_set_detection
int nvti_set_detection(nvti_t *, const gchar *)
Set the detection text of a NVT.
Definition nvti.c:1815
nvti_set_tag
int nvti_set_tag(nvti_t *, const gchar *)
Set the tags of a NVT.
Definition nvti.c:1625
nvti_detection
gchar * nvti_detection(const nvti_t *)
Get the text about detection.
Definition nvti.c:1116
nvti_add_mandatory_keys
int nvti_add_mandatory_keys(nvti_t *, const gchar *)
Add a mandatory key of a NVT.
Definition nvti.c:2052
nvti_add_excluded_keys
int nvti_add_excluded_keys(nvti_t *, const gchar *)
Add a excluded key of a NVT.
Definition nvti.c:2084
nvti_set_qod_type
int nvti_set_qod_type(nvti_t *, const gchar *)
Set the QoD type of a NVT.
Definition nvti.c:1856
nvti_qod_type
gchar * nvti_qod_type(const nvti_t *)
Get the QoD type.
Definition nvti.c:1130
nvti_add_tag
int nvti_add_tag(nvti_t *, const gchar *, const gchar *)
Add a tag to the NVT tags. The tag names "severity_date", "last_modification" and "creation_date" are...
Definition nvti.c:1561
nvti_add_required_udp_ports
int nvti_add_required_udp_ports(nvti_t *, const gchar *)
Add a required udp port of a NVT.
Definition nvti.c:2148
nvti_cvss_base
gchar * nvti_cvss_base(const nvti_t *)
Get the CVSS base.
Definition nvti.c:1018
nvti_impact
gchar * nvti_impact(const nvti_t *)
Get the text about impact.
Definition nvti.c:681
nvti_put_solution
int nvti_put_solution(nvti_t *, gchar *)
Set the solution of a NVT, using the given memory.
Definition nvti.c:1492
nvti_set_required_keys
int nvti_set_required_keys(nvti_t *, const gchar *)
Set the required keys of a NVT.
Definition nvti.c:1696
nvtis_t
GHashTable nvtis_t
A collection of information records corresponding to NVTs.
Definition nvti.h:252
nvti_put_detection
int nvti_put_detection(nvti_t *, gchar *)
Set the detection text of a NVT, using the given memory.
Definition nvti.c:1835
nvti_add_refs
int nvti_add_refs(nvti_t *, const gchar *, const gchar *, const gchar *)
Add many new vtref from a comma-separated list.
Definition nvti.c:1968
nvti_add_required_keys
int nvti_add_required_keys(nvti_t *, const gchar *)
Add a required key of a NVT.
Definition nvti.c:2020
nvti_set_impact
int nvti_set_impact(nvti_t *, const gchar *)
Set the impact text of a NVT.
Definition nvti.c:1394
nvti_set_summary
int nvti_set_summary(nvti_t *, const gchar *)
Set the summary of a NVT.
Definition nvti.c:1274
nvti_required_keys
gchar * nvti_required_keys(const nvti_t *)
Get the required keys list.
Definition nvti.c:1046
nvti_put_impact
int nvti_put_impact(nvti_t *, gchar *)
Set the impact text of a NVT, using the given memory.
Definition nvti.c:1414
nvti_set_timeout
int nvti_set_timeout(nvti_t *, const gint)
nvtpref_id
int nvtpref_id(const nvtpref_t *)
Get the ID of a NVT Preference.
Definition nvti.c:504
nvti_put_summary
int nvti_put_summary(nvti_t *, gchar *)
Set the summary of a NVT, using the given memory.
Definition nvti.c:1294
nvti_solution
gchar * nvti_solution(const nvti_t *)
Get the solution.
Definition nvti.c:924
vtseverity_type
const gchar * vtseverity_type(const vtseverity_t *)
Get the type of a severity.
Definition nvti.c:223
vtseverity_value
const gchar * vtseverity_value(const vtseverity_t *)
Get the value of a severity.
Definition nvti.c:251
vtref_new
vtref_t * vtref_new(const gchar *, const gchar *, const gchar *)
Create a new vtref structure filled with the given values.
Definition nvti.c:77
nvti_set_required_ports
int nvti_set_required_ports(nvti_t *, const gchar *)
Set the required ports of a NVT.
Definition nvti.c:1768
nvti_set_solution_type
int nvti_set_solution_type(nvti_t *, const gchar *)
Set the solution type of a NVT.
Definition nvti.c:1513
nvtpref_type
gchar * nvtpref_type(const nvtpref_t *)
Get the Type of a NVT Preference.
Definition nvti.c:532
nvti_add_required_ports
int nvti_add_required_ports(nvti_t *, const gchar *)
Add a required port of a NVT.
Definition nvti.c:2116
vtref_type
const gchar * vtref_type(const vtref_t *)
Get the type of a reference.
Definition nvti.c:117
nvti_set_category
int nvti_set_category(nvti_t *, const gint)
Set the category type of a NVT Info.
Definition nvti.c:1943
nvti_set_mandatory_keys
int nvti_set_mandatory_keys(nvti_t *, const gchar *)
Set the mandatory keys of a NVT.
Definition nvti.c:1720
nvti_set_affected
int nvti_set_affected(nvti_t *, const gchar *)
Set the affected text of a NVT.
Definition nvti.c:1354
nvti_solution_type
gchar * nvti_solution_type(const nvti_t *)
Get the solution type.
Definition nvti.c:938
vtseverity_free
void vtseverity_free(vtseverity_t *)
Free memory of a vtseverity structure.
Definition nvti.c:203
nvti_get_tag
gchar * nvti_get_tag(const nvti_t *, const gchar *)
Get a tag value by a tag name.
Definition nvti.c:982
vtseverity_date
int vtseverity_date(const vtseverity_t *)
Get the date of a severity.
Definition nvti.c:265
nvti_vtref
vtref_t * nvti_vtref(const nvti_t *, guint)
Get the n'th reference of the NVT.
Definition nvti.c:737
nvti_set_name
int nvti_set_name(nvti_t *, const gchar *)
Set the name of a NVT.
Definition nvti.c:1234
vtseverity_origin
const gchar * vtseverity_origin(const vtseverity_t *)
Get the origin of a severity.
Definition nvti.c:237
nvti_add_vtref
int nvti_add_vtref(nvti_t *, vtref_t *)
Add a reference to the VT Info.
Definition nvti.c:408
nvti_set_solution
int nvti_set_solution(nvti_t *, const gchar *)
Set the solution of a NVT.
Definition nvti.c:1472
nvti_vtseverities_len
guint nvti_vtseverities_len(const nvti_t *)
Get the number of severities of the NVT.
Definition nvti.c:840
nvti_free
void nvti_free(nvti_t *)
Free memory of a nvti structure.
Definition nvti.c:570
nvti_dependencies
gchar * nvti_dependencies(const nvti_t *)
Get the dependencies list.
Definition nvti.c:1032
vtref_free
void vtref_free(vtref_t *)
Free memory of a vtref structure.
Definition nvti.c:97
nvti_summary
gchar * nvti_summary(const nvti_t *)
Get the summary.
Definition nvti.c:639
nvti_category
gint nvti_category(const nvti_t *)
Get the category for this NVT.
Definition nvti.c:1199
nvti_required_ports
gchar * nvti_required_ports(const nvti_t *)
Get the required ports list.
Definition nvti.c:1088
nvti_required_udp_ports
gchar * nvti_required_udp_ports(const nvti_t *)
Get the required udp ports list.
Definition nvti.c:1102
nvti_set_oid
int nvti_set_oid(nvti_t *, const gchar *)
Set the OID of a NVT Info.
Definition nvti.c:1214
nvti_severity_vector_from_tag
gchar * nvti_severity_vector_from_tag(const nvti_t *)
Get the severity score.
Definition nvti.c:900
nvti_set_excluded_keys
int nvti_set_excluded_keys(nvti_t *, const gchar *)
Set the excluded keys of a NVT.
Definition nvti.c:1744
nvti
The structure of a information record that corresponds to a NVT.
Definition nvti.c:358
nvtpref
The structure for a preference of a NVT.
Definition nvti.c:441
vtref
The structure for a cross reference of a VT.
Definition nvti.c:58
vtseverity
The structure for a severity of a VT.
Definition nvti.c:158