Greenbone Security Assistant
gsad_params.h
Go to the documentation of this file.
1 /* Copyright (C) 2016-2021 Greenbone Networks GmbH
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 
24 #ifndef _GSAD_PARAMS_H
25 #define _GSAD_PARAMS_H
26 
27 #include <glib.h>
28 #include <microhttpd.h>
29 
30 #define params_t GHashTable
31 
32 /* Params. */
33 
37 struct param
38 {
39  gchar *value;
40  gchar *original_value;
41  gchar *filename;
43  int valid;
44  int valid_utf8;
45  int value_size;
46  int array_len;
47 };
48 
52 typedef struct param param_t;
53 
54 params_t *
55 params_new ();
56 
57 void
59 
60 int
61 params_given (params_t *, const char *);
62 
63 const char *
64 params_value (params_t *, const char *);
65 
66 int
67 params_value_size (params_t *, const char *);
68 
69 gboolean
70 params_value_bool (params_t *, const char *);
71 
72 const char *
73 params_original_value (params_t *, const char *);
74 
75 const char *
76 params_filename (params_t *, const char *);
77 
78 params_t *
79 params_values (params_t *, const char *);
80 
81 param_t *
82 params_get (params_t *, const char *);
83 
84 int
85 params_valid (params_t *, const char *);
86 
87 param_t *
88 params_add (params_t *, const char *, const char *);
89 
90 void
91 params_remove (params_t *, const char *);
92 
93 param_t *
94 params_append_bin (params_t *, const char *, const char *, int, int);
95 
96 #define params_iterator_t GHashTableIter
97 
98 #define params_iterator_init g_hash_table_iter_init
99 
100 gboolean
102 
103 #if MHD_VERSION < 0x00097002
104 int
105 #else
106 enum MHD_Result
107 #endif
108 params_mhd_add (void *params, enum MHD_ValueKind kind, const char *name,
109  const char *value);
110 
111 void
112 params_mhd_validate (void *params);
113 
114 #endif /* _GSAD_PARAMS_H */
int params_valid(params_t *, const char *)
Get whether a param is valid.
Definition: gsad_base.c:302
void params_free(params_t *)
Make a params.
Definition: gsad_base.c:157
const char * params_original_value(params_t *, const char *)
Get original value of param, before validation.
Definition: gsad_base.c:254
const char * params_value(params_t *, const char *)
Get value of param.
Definition: gsad_base.c:204
#define params_iterator_t
Definition: gsad_params.h:96
void params_remove(params_t *, const char *)
Definition: gsad_base.c:337
param_t * params_append_bin(params_t *, const char *, const char *, int, int)
Append binary data to a param.
Definition: gsad_base.c:356
int params_mhd_add(void *params, enum MHD_ValueKind kind, const char *name, const char *value)
int params_value_size(params_t *, const char *)
Get the size of the value of param.
Definition: gsad_base.c:236
param_t * params_get(params_t *, const char *)
Get param.
Definition: gsad_base.c:172
param_t * params_add(params_t *, const char *, const char *)
Add a param.
Definition: gsad_base.c:317
int params_given(params_t *, const char *)
Get whether a param was given at all.
Definition: gsad_base.c:188
void params_mhd_validate(void *params)
const char * params_filename(params_t *, const char *)
Get filename of param.
Definition: gsad_base.c:270
gboolean params_value_bool(params_t *, const char *)
Get boolean value of param.
Definition: gsad_base.c:220
gboolean params_iterator_next(params_iterator_t *, char **, param_t **)
Increment a params iterator.
Definition: gsad_base.c:399
params_t * params_values(params_t *, const char *)
Get values of param.
Definition: gsad_base.c:286
params_t * params_new()
Make a params.
Definition: gsad_base.c:146
#define params_t
Definition: gsad_params.h:30
Request parameter.
Definition: gsad_params.h:38
int array_len
Definition: gsad_params.h:46
params_t * values
Definition: gsad_params.h:42
int valid
Definition: gsad_params.h:43
gchar * filename
Definition: gsad_params.h:41
gchar * original_value
Definition: gsad_params.h:40
int valid_utf8
Definition: gsad_params.h:44
gchar * value
Definition: gsad_params.h:39
int value_size
Definition: gsad_params.h:45