Greenbone Vulnerability Manager 22.5.2
manage_configs.h
1/* Copyright (C) 2019-2022 Greenbone AG
2 *
3 * SPDX-License-Identifier: AGPL-3.0-or-later
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Affero General Public License as
7 * published by the Free Software Foundation, either version 3 of the
8 * License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Affero General Public License for more details.
14 *
15 * You should have received a copy of the GNU Affero General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef _GVMD_MANAGE_CONFIGS_H
20#define _GVMD_MANAGE_CONFIGS_H
21
22#include "iterator.h"
23#include "manage_get.h"
24#include "manage_preferences.h"
25
26typedef resource_t config_t;
27
29get_nvt_preference_by_id (const char *,
30 const char *,
31 const char *,
32 const char *,
33 const char *);
34
38typedef struct
39{
40 char *name;
41 char *type;
42 int include;
45
46int
47create_config (const char*, const char*, int, const char*, int, const array_t*,
48 const array_t*, const char*, config_t*, char**);
49
50int
51copy_config (const char*, const char*, const char *, const char *, config_t*);
52
53int
54delete_config (const char*, int);
55
56gboolean
57find_config_with_permission (const char*, config_t*, const char *);
58
59char *
60config_uuid (config_t);
61
62char *
63config_nvt_timeout (config_t, const char *);
64
65int
66config_predefined_uuid (const gchar *);
67
68void
69init_user_config_iterator (iterator_t*, config_t, int, int, const char*);
70
71int
72init_config_iterator (iterator_t*, const get_data_t*);
73
74const char*
75config_iterator_nvt_selector (iterator_t*);
76
77int
78config_iterator_nvt_count (iterator_t*);
79
80int
81config_iterator_family_count (iterator_t*);
82
83int
84config_iterator_nvts_growing (iterator_t*);
85
86int
87config_iterator_families_growing (iterator_t*);
88
89const char*
90config_iterator_usage_type (iterator_t*);
91
92int
93config_iterator_predefined (iterator_t*);
94
95char*
96config_nvt_selector (config_t);
97
98int
99config_in_use (config_t);
100
101int
102config_writable (config_t);
103
104int
105config_count (const get_data_t *);
106
107int
108trash_config_in_use (config_t);
109
110int
111trash_config_writable (config_t);
112
113int
114trash_config_readable_uuid (const gchar *);
115
116int
117config_families_growing (config_t);
118
119int
120config_nvts_growing (config_t);
121
122int
123manage_modify_config_start (const char *, config_t *);
124
125void
126manage_modify_config_cancel ();
127
128void
129manage_modify_config_commit ();
130
131int
132manage_set_config_preference (config_t, const char*, const char*, const char*);
133
134void
135init_config_preference_iterator (iterator_t *, config_t);
136
137const char*
138config_preference_iterator_name (iterator_t *);
139
140const char*
141config_preference_iterator_value (iterator_t *);
142
143const char*
144config_preference_iterator_type (iterator_t *);
145
146const char*
147config_preference_iterator_default (iterator_t *);
148
149int
150manage_set_config (config_t, const char*, const char *);
151
152int
153manage_set_config_nvts (config_t, const char*, GPtrArray*);
154
155int
156manage_set_config_families (config_t, GPtrArray*, GPtrArray*, GPtrArray*, int,
157 gchar **);
158
159void
160init_config_timeout_iterator (iterator_t*, config_t);
161
162const char*
163config_timeout_iterator_oid (iterator_t *);
164
165const char*
166config_timeout_iterator_nvt_name (iterator_t *);
167
168const char*
169config_timeout_iterator_value (iterator_t *);
170
171gboolean
173
174void
176
177int
179
180gboolean
182
183#endif /* not _GVMD_MANAGE_CONFIGS_H */
Headers for Iterators.
long long int resource_t
A resource, like a task or target.
Definition: iterator.h:39
int config_predefined_uuid(const gchar *config_id)
Return whether a config is predefined.
Definition: manage_configs.c:55
gboolean should_sync_configs()
Checks if the configs should be synced with the feed.
Definition: manage_configs.c:572
void manage_sync_configs()
Sync configs with the feed.
Definition: manage_configs.c:549
gboolean configs_feed_dir_exists()
Tests if the configs feed directory exists.
Definition: manage_configs.c:540
int manage_rebuild_configs()
Rebuild configs from the feed.
Definition: manage_configs.c:561
Command data for a get command.
Definition: manage_get.h:35
A generic SQL iterator structure.
Definition: iterator.h:50
An NVT selector.
Definition: manage_configs.h:39
char * name
Name of NVT selector.
Definition: manage_configs.h:40
char * type
Name of NVT selector.
Definition: manage_configs.h:41
int include
Whether family/NVT is included or excluded.
Definition: manage_configs.h:42
char * family_or_nvt
Family or NVT that this selector selects.
Definition: manage_configs.h:43
An NVT preference.
Definition: manage_preferences.h:33