Greenbone Security Assistant
Data Structures | Macros | Typedefs | Functions
gsad_params.h File Reference

Http Parameter handling in GSA. More...

#include <glib.h>
#include <microhttpd.h>

Go to the source code of this file.

Data Structures

struct  param
 Request parameter. More...
 

Macros

#define params_t   GHashTable
 
#define params_iterator_t   GHashTableIter
 
#define params_iterator_init   g_hash_table_iter_init
 

Typedefs

typedef struct param param_t
 Request parameter. More...
 

Functions

params_tparams_new ()
 Make a params. More...
 
void params_free (params_t *)
 Make a params. More...
 
int params_given (params_t *, const char *)
 Get whether a param was given at all. More...
 
const char * params_value (params_t *, const char *)
 Get value of param. More...
 
int params_value_size (params_t *, const char *)
 Get the size of the value of param. More...
 
gboolean params_value_bool (params_t *, const char *)
 Get boolean value of param. More...
 
const char * params_original_value (params_t *, const char *)
 Get original value of param, before validation. More...
 
const char * params_filename (params_t *, const char *)
 Get filename of param. More...
 
params_tparams_values (params_t *, const char *)
 Get values of param. More...
 
param_tparams_get (params_t *, const char *)
 Get param. More...
 
int params_valid (params_t *, const char *)
 Get whether a param is valid. More...
 
param_tparams_add (params_t *, const char *, const char *)
 Add a param. More...
 
void params_remove (params_t *, const char *)
 
param_tparams_append_bin (params_t *, const char *, const char *, int, int)
 Append binary data to a param. More...
 
gboolean params_iterator_next (params_iterator_t *, char **, param_t **)
 Increment a params iterator. More...
 
int params_mhd_add (void *params, enum MHD_ValueKind kind, const char *name, const char *value)
 
void params_mhd_validate (void *params)
 

Detailed Description

Http Parameter handling in GSA.

Macro Definition Documentation

◆ params_iterator_init

#define params_iterator_init   g_hash_table_iter_init

◆ params_iterator_t

#define params_iterator_t   GHashTableIter

◆ params_t

#define params_t   GHashTable

Typedef Documentation

◆ param_t

typedef struct param param_t

Request parameter.

Function Documentation

◆ params_add()

param_t* params_add ( params_t params,
const char *  name,
const char *  value 
)

Add a param.

Parameters
[in]paramsParams.
[in]nameName.
[in]valueValue. Must be a string.

◆ params_append_bin()

param_t* params_append_bin ( params_t params,
const char *  name,
const char *  chunk_data,
int  chunk_size,
int  chunk_offset 
)

Append binary data to a param.

Appended data always has an extra NULL terminator.

Parameters
[in]paramsParams.
[in]nameName.
[in]chunk_dataData to append.
[in]chunk_sizeNumber of bytes to copy.
[in]chunk_offsetOffset in bytes into data from which to start.
Returns
Param appended to, or NULL on memory error.

◆ params_filename()

const char* params_filename ( params_t params,
const char *  name 
)

Get filename of param.

Parameters
[in]paramsParams.
[in]nameName.
Returns
Filename if param present and has a filename, else NULL.

◆ params_free()

void params_free ( params_t params)

Make a params.

Parameters
[in]paramsParams.

◆ params_get()

param_t* params_get ( params_t params,
const char *  name 
)

Get param.

Parameters
[in]paramsParams.
[in]nameName.
Returns
Param if present, else NULL.

◆ params_given()

int params_given ( params_t params,
const char *  name 
)

Get whether a param was given at all.

Parameters
[in]paramsParams.
[in]nameName.
Returns
1 if given, else 0.

◆ params_iterator_next()

gboolean params_iterator_next ( params_iterator_t iterator,
char **  name,
param_t **  param 
)

Increment a params iterator.

Parameters
[in]iteratorIterator.
[out]nameName of param.
[out]paramParam.
Returns
TRUE if there was a next element, else FALSE.

◆ params_mhd_add()

int params_mhd_add ( void *  params,
enum MHD_ValueKind  kind,
const char *  name,
const char *  value 
)

◆ params_mhd_validate()

void params_mhd_validate ( void *  params)

◆ params_new()

params_t* params_new ( )

Make a params.

Returns
Freshly allocated params. Free with params_free.

◆ params_original_value()

const char* params_original_value ( params_t params,
const char *  name 
)

Get original value of param, before validation.

Only set if validation failed.

Parameters
[in]paramsParams.
[in]nameName.
Returns
Value if param present, else NULL.

◆ params_remove()

void params_remove ( params_t params,
const char *  name 
)

◆ params_valid()

int params_valid ( params_t params,
const char *  name 
)

Get whether a param is valid.

Parameters
[in]paramsParams.
[in]nameName.
Returns
1 if param present and valid, else 0.

◆ params_value()

const char* params_value ( params_t params,
const char *  name 
)

Get value of param.

Parameters
[in]paramsParams.
[in]nameName.
Returns
Value if param present, else NULL.

◆ params_value_bool()

gboolean params_value_bool ( params_t params,
const char *  name 
)

Get boolean value of param.

Parameters
[in]paramsParams.
[in]nameName.
Returns
1 if param present and != 0, else 0.

◆ params_value_size()

int params_value_size ( params_t params,
const char *  name 
)

Get the size of the value of param.

Parameters
[in]paramsParams.
[in]nameName.
Returns
Size if param present, else -1.

◆ params_values()

params_t* params_values ( params_t params,
const char *  name 
)

Get values of param.

Parameters
[in]paramsParams.
[in]nameName.
Returns
Values if param present, else NULL.