OpenVAS Libraries
7.0.7
Main Page
Related Pages
Data Structures
Files
File List
Globals
base
nvti.h
Go to the documentation of this file.
1
/* openvas-libraries/base
2
* $Id$
3
* Description: API (structs and protos) for NVT Info datasets
4
*
5
* Authors:
6
* Jan-Oliver Wagner <jan-oliver.wagner@greenbone.net>
7
* Matthew Mundell <matthew.mundell@greenbone.net>
8
*
9
* Copyright:
10
* Copyright (C) 2009, 2011 Greenbone Networks GmbH
11
*
12
* This program is free software; you can redistribute it and/or modify
13
* it under the terms of the GNU General Public License version 2,
14
* or, at your option, any later version as published by the Free
15
* Software Foundation
16
*
17
* This program is distributed in the hope that it will be useful,
18
* but WITHOUT ANY WARRANTY; without even the implied warranty of
19
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
* GNU General Public License for more details.
21
*
22
* You should have received a copy of the GNU General Public License
23
* along with this program; if not, write to the Free Software
24
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
25
*/
26
34
#ifndef _NVTI_H
35
#define _NVTI_H
36
37
#include <glib.h>
38
45
typedef
struct
nvtpref
46
{
47
gchar *
type
;
48
gchar *
name
;
49
gchar *
dflt
;
50
}
nvtpref_t
;
51
52
nvtpref_t
*
nvtpref_new
(gchar *, gchar *, gchar *);
53
void
nvtpref_free
(
nvtpref_t
*);
54
gchar *
nvtpref_name
(
const
nvtpref_t
*);
55
gchar *
nvtpref_type
(
const
nvtpref_t
*);
56
gchar *
nvtpref_default
(
const
nvtpref_t
*);
57
64
typedef
struct
nvti
65
{
66
gchar *
oid
;
67
gchar *
version
;
68
gchar *
name
;
69
gchar *
summary
;
70
gchar *
copyright
;
72
gchar *
cve
;
73
gchar *
bid
;
75
gchar *
xref
;
77
gchar *
tag
;
78
gchar *
cvss_base
;
80
gchar *
dependencies
;
81
gchar *
required_keys
;
82
gchar *
mandatory_keys
;
83
gchar *
excluded_keys
;
84
gchar *
required_ports
;
85
gchar *
required_udp_ports
;
87
gchar *
src
;
90
GSList *
prefs
;
92
// The following are not settled yet.
93
gint
timeout
;
94
gint
category
;
95
gchar *
family
;
96
}
nvti_t
;
97
98
nvti_t
*
nvti_new
(
void
);
99
void
nvti_free
(
nvti_t
*);
100
void
nvti_shrink
(
nvti_t
*);
101
102
gchar *
nvti_oid
(
const
nvti_t
*);
103
gchar *
nvti_version
(
const
nvti_t
*);
104
gchar *
nvti_name
(
const
nvti_t
*);
105
gchar *
nvti_summary
(
const
nvti_t
*);
106
gchar *
nvti_copyright
(
const
nvti_t
*);
107
gchar *
nvti_cve
(
const
nvti_t
*);
108
gchar *
nvti_bid
(
const
nvti_t
*);
109
gchar *
nvti_xref
(
const
nvti_t
*);
110
gchar *
nvti_tag
(
const
nvti_t
*);
111
gchar *
nvti_cvss_base
(
const
nvti_t
*);
112
gchar *
nvti_dependencies
(
const
nvti_t
*);
113
gchar *
nvti_required_keys
(
const
nvti_t
*);
114
gchar *
nvti_mandatory_keys
(
const
nvti_t
*);
115
gchar *
nvti_excluded_keys
(
const
nvti_t
*);
116
gchar *
nvti_required_ports
(
const
nvti_t
*);
117
gchar *
nvti_required_udp_ports
(
const
nvti_t
*);
118
gchar *
nvti_src
(
const
nvti_t
*);
119
gint
nvti_timeout
(
const
nvti_t
*);
120
gint
nvti_category
(
const
nvti_t
*);
121
gchar *
nvti_family
(
const
nvti_t
*);
122
guint
nvti_pref_len
(
const
nvti_t
*);
123
nvtpref_t
*
nvti_pref
(
const
nvti_t
*, guint);
124
125
int
nvti_set_oid
(
nvti_t
*,
const
gchar *);
126
int
nvti_set_version
(
nvti_t
*,
const
gchar *);
127
int
nvti_set_name
(
nvti_t
*,
const
gchar *);
128
int
nvti_set_summary
(
nvti_t
*,
const
gchar *);
129
int
nvti_set_copyright
(
nvti_t
*,
const
gchar *);
130
int
nvti_set_cve
(
nvti_t
*,
const
gchar *);
131
int
nvti_set_bid
(
nvti_t
*,
const
gchar *);
132
int
nvti_set_xref
(
nvti_t
*,
const
gchar *);
133
int
nvti_set_tag
(
nvti_t
*,
const
gchar *);
134
int
nvti_set_cvss_base
(
nvti_t
*,
const
gchar *);
135
int
nvti_set_dependencies
(
nvti_t
*,
const
gchar *);
136
int
nvti_set_required_keys
(
nvti_t
*,
const
gchar *);
137
int
nvti_set_mandatory_keys
(
nvti_t
*,
const
gchar *);
138
int
nvti_set_excluded_keys
(
nvti_t
*,
const
gchar *);
139
int
nvti_set_required_ports
(
nvti_t
*,
const
gchar *);
140
int
nvti_set_required_udp_ports
(
nvti_t
*,
const
gchar *);
141
int
nvti_set_src
(
nvti_t
*,
const
gchar *);
142
int
nvti_set_timeout
(
nvti_t
*,
const
gint);
143
int
nvti_set_category
(
nvti_t
*,
const
gint);
144
int
nvti_set_family
(
nvti_t
*,
const
gchar *);
145
146
int
nvti_add_cve
(
nvti_t
*,
const
gchar *);
147
int
nvti_add_bid
(
nvti_t
*,
const
gchar *);
148
int
nvti_add_required_keys
(
nvti_t
*,
const
gchar *);
149
int
nvti_add_mandatory_keys
(
nvti_t
*,
const
gchar *);
150
int
nvti_add_excluded_keys
(
nvti_t
*,
const
gchar *);
151
int
nvti_add_required_ports
(
nvti_t
*,
const
gchar *);
152
int
nvti_add_required_udp_ports
(
nvti_t
*,
const
gchar *);
153
int
nvti_add_pref
(
nvti_t
*,
nvtpref_t
*);
154
155
nvti_t
*
nvti_from_keyfile
(
const
gchar *);
156
int
nvti_to_keyfile
(
const
nvti_t
*,
const
gchar *);
157
158
nvti_t
*
nvti_clone
(
const
nvti_t
*);
159
160
/* Collections of NVT Infos. */
161
165
typedef
GHashTable
nvtis_t
;
166
167
nvtis_t
*
nvtis_new
();
168
169
void
nvtis_free
(
nvtis_t
*);
170
171
void
nvtis_add
(
nvtis_t
*,
nvti_t
*);
172
173
nvti_t
*
nvtis_lookup
(
nvtis_t
*,
const
char
*);
174
175
#define nvtis_find g_hash_table_find
176
177
#endif
/* not _NVTI_H */
Generated by
1.8.3.1