OpenVAS Libraries  6.0+beta5
omp.h
Go to the documentation of this file.
1 /* openvase-libraries/omp
2  * $Id$
3  * Description: Header for OMP client interface.
4  *
5  * Authors:
6  * Matthew Mundell <matt@mundell.ukfsn.org>
7  *
8  * Copyright:
9  * Copyright (C) 2009 Greenbone Networks GmbH
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License version 2,
13  * or, at your option, any later version as published by the Free
14  * Software Foundation
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
24  */
25 
26 #ifndef _OPENVAS_LIBRARIES_OMP_H
27 #define _OPENVAS_LIBRARIES_OMP_H
28 
29 #include "xml.h"
30 
31 #ifdef __cplusplus
32 extern "C"
33 {
34 #if 0
35 }
36 #endif
37 #endif
38 
44 typedef struct
45 {
46  const char* sort_field;
47  const char* sort_order;
48  const char* format_id;
49  const char* levels;
50  const char* report_id;
52  /* Boolean flags: */
53  int overrides;
58 
62 static const omp_get_report_opts_t omp_get_report_opts_defaults =
63  {
64  "ROWID", "ascending", "a994b278-1f62-11e1-96ac-406186ea4fc5", "hmlgd"
65  };
66 
70 typedef struct
71 {
72  const char* actions;
73  /* Boolean flags: */
74  int details;
75  int rcfile;
77 
81 static const omp_get_tasks_opts_t omp_get_tasks_opts_defaults =
82  { };
83 
87 typedef struct
88 {
89  const char* actions;
90  const char* task_id;
91  /* Boolean flags: */
92  int details;
93  int rcfile;
95 
99 static const omp_get_task_opts_t omp_get_task_opts_defaults =
100  { };
101 
107 typedef struct
108 {
109  const char* config_id;
110  const char* target_id;
111  const char* name;
112  const char* comment;
113  const char* max_hosts;
114  const char* max_checks;
116 
120 static const omp_create_task_opts_t omp_create_task_opts_defaults =
121  { };
122 
126 typedef struct
127 {
128  const char* ssh_credential_id;
129  const char* smb_credential_id;
130  const char* port_range;
131  const char* name;
132  const char* comment;
133  const char* hosts;
135 
139 static const omp_create_target_opts_t omp_create_target_opts_defaults =
140  { };
141 
145 typedef struct
146 {
147  const char* name;
148  const char* duration;
149  int brief;
151 
155 static const omp_get_system_reports_opts_t omp_get_system_reports_opts_defaults =
156  { };
157 
158 int check_response (gnutls_session_t *);
159 
160 int omp_read_create_response (gnutls_session_t*, gchar **);
161 
162 const char *omp_task_status (entity_t status_response);
163 
164 int omp_ping (gnutls_session_t *, int);
165 
166 int omp_get_nvt_all (gnutls_session_t * session, entity_t * response);
167 
168 int omp_get_nvt_feed_checksum (gnutls_session_t * session, entity_t * response);
169 
170 int omp_get_dependencies_503 (gnutls_session_t * session, entity_t * response);
171 
172 int omp_authenticate (gnutls_session_t * session, const char *username,
173  const char *password);
174 
175 int omp_authenticate_info (gnutls_session_t * session, const char *username,
176  const char *, char **, char **);
177 
178 int omp_authenticate_env (gnutls_session_t * session);
179 
180 int omp_create_task_rc (gnutls_session_t *, const char *, unsigned int,
181  const char *, const char *, char **);
182 
183 int omp_create_task (gnutls_session_t *, const char *, const char *,
184  const char *, const char *, gchar **);
185 
186 int omp_create_task_ext (gnutls_session_t *, omp_create_task_opts_t, gchar **);
187 
188 int omp_create_task_rc_file (gnutls_session_t *, const char *, const char *,
189  const char *, char **);
190 
191 int omp_start_task_report (gnutls_session_t *, const char *, char **);
192 
193 int omp_start_task (gnutls_session_t *, const char *);
194 
195 int omp_resume_or_start_task_report (gnutls_session_t *, const char *, char **);
196 
197 int omp_resume_or_start_task (gnutls_session_t *, const char *);
198 
199 int omp_abort_task (gnutls_session_t *, const char *);
200 
201 int omp_stop_task (gnutls_session_t *, const char *);
202 
203 int omp_pause_task (gnutls_session_t*, const char*);
204 
205 int omp_resume_paused_task (gnutls_session_t*, const char*);
206 
207 int omp_resume_stopped_task (gnutls_session_t*, const char*);
208 
209 int omp_resume_stopped_task_report (gnutls_session_t*, const char*, char**);
210 
211 int omp_wait_for_task_end (gnutls_session_t *, const char *);
212 
213 int omp_wait_for_task_start (gnutls_session_t *, const char *);
214 
215 int omp_wait_for_task_stop (gnutls_session_t *, const char *);
216 
217 int omp_wait_for_task_delete (gnutls_session_t *, const char *);
218 
219 int omp_get_status (gnutls_session_t *, const char *, int, entity_t *);
220 
221 int omp_get_tasks (gnutls_session_t *, const char *, int, int, entity_t *);
222 
223 int omp_get_tasks_ext (gnutls_session_t *, omp_get_tasks_opts_t, entity_t *);
224 
225 int omp_get_task_ext (gnutls_session_t *, omp_get_task_opts_t, entity_t *);
226 
227 int omp_get_targets (gnutls_session_t *, const char *, int, int, entity_t *);
228 
229 int omp_get_report (gnutls_session_t *, const char *, const char *,
230  int, entity_t *);
231 int omp_get_report_ext (gnutls_session_t *, omp_get_report_opts_t, entity_t *);
232 
233 int omp_get_report_format (gnutls_session_t *, const char *, const char *,
234  void **, gsize *);
235 
236 int omp_delete_report (gnutls_session_t *, const char *);
237 
238 int omp_get_results (gnutls_session_t *, const char *, int, int, int, int, int,
239  entity_t *);
240 
241 int omp_delete_task (gnutls_session_t *, const char *);
242 
243 int omp_modify_task (gnutls_session_t *, const char *, const char *,
244  const char *, const char *);
245 
246 int omp_modify_task_file (gnutls_session_t *, const char *, const char *,
247  const void *, gsize);
248 
249 int omp_get_preferences (gnutls_session_t *, entity_t *);
250 
251 int omp_get_preferences_503 (gnutls_session_t *, entity_t *);
252 
253 int omp_get_certificates (gnutls_session_t *, entity_t *);
254 
255 int omp_until_up (int (*)(gnutls_session_t *, entity_t *), gnutls_session_t *,
256  entity_t *);
257 
258 int omp_create_target (gnutls_session_t *, const char *, const char *,
259  const char *, const char *, const char *, gchar **);
260 
261 int omp_create_target_ext (gnutls_session_t *, omp_create_target_opts_t,
262  gchar**);
263 
264 int omp_delete_target (gnutls_session_t *, const char *);
265 
266 int omp_create_config (gnutls_session_t *, const char *, const char *,
267  const char *, unsigned int);
268 
269 int omp_create_config_from_rc_file (gnutls_session_t *, const char *,
270  const char *, const char *);
271 
272 int omp_delete_config (gnutls_session_t *, const char *);
273 
274 int omp_create_lsc_credential (gnutls_session_t *, const char *, const char *,
275  const char *, const char *, gchar **);
276 
277 int omp_create_lsc_credential_key (gnutls_session_t *, const char *,
278  const char *, const char *, const char *,
279  const char *, const char *, gchar **);
280 
281 int omp_delete_lsc_credential (gnutls_session_t *, const char *);
282 
283 int omp_create_agent (gnutls_session_t *, const char *, const char *);
284 
285 int omp_delete_agent (gnutls_session_t *, const char *);
286 
287 int omp_get_nvt_details_503 (gnutls_session_t *, const char *, entity_t *);
288 
289 int omp_get_system_reports (gnutls_session_t *, const char *, int, entity_t *);
290 
291 int omp_get_system_reports_ext (gnutls_session_t *,
293  entity_t *);
294 
295 #if 0
296 {
297 #endif
298 #ifdef __cplusplus
299 }
300 #endif
301 
302 #endif /* not _OPENVAS_LIBRARIES_OMP_H */