OpenVAS Scanner 23.23.1
nasl_var.h File Reference
#include "nasl_tree.h"

Go to the source code of this file.

Data Structures

struct  st_nasl_string
struct  st_nasl_array
struct  st_a_nasl_var
struct  st_n_nasl_var
struct  nasl_iterator

Macros

#define VAR_NAME_HASH   17

Typedefs

typedef struct st_nasl_string nasl_string_t
typedef struct st_nasl_array nasl_array
typedef struct st_a_nasl_var anon_nasl_var
typedef struct st_n_nasl_var named_nasl_var

Enumerations

enum  {
  VAR2_UNDEF = 0 , VAR2_INT , VAR2_STRING , VAR2_DATA ,
  VAR2_ARRAY
}

Functions

tree_cellnasl_affect (tree_cell *, tree_cell *)
void clear_unnamed_var (anon_nasl_var *)
const char * var2str (anon_nasl_var *)
anon_nasl_varnasl_get_var_by_num (void *, nasl_array *, int, int)
nasl_iterator nasl_array_iterator (void *, tree_cell *)
tree_cellnasl_iterate_array (nasl_iterator *)
int add_var_to_list (nasl_array *, int, const anon_nasl_var *)
int add_var_to_array (nasl_array *, char *, const anon_nasl_var *)
int array_max_index (nasl_array *)
void free_array (nasl_array *)
tree_cellcopy_ref_array (const tree_cell *)
int hash_str2 (const char *, int)
tree_cellvar2cell (anon_nasl_var *)
tree_cellmake_array_from_elems (tree_cell *)
char * array2str (const nasl_array *)

Macro Definition Documentation

◆ VAR_NAME_HASH

#define VAR_NAME_HASH   17

Typedef Documentation

◆ anon_nasl_var

typedef struct st_a_nasl_var anon_nasl_var

◆ named_nasl_var

typedef struct st_n_nasl_var named_nasl_var

◆ nasl_array

typedef struct st_nasl_array nasl_array

◆ nasl_string_t

typedef struct st_nasl_string nasl_string_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
VAR2_UNDEF 
VAR2_INT 
VAR2_STRING 
VAR2_DATA 
VAR2_ARRAY 

Function Documentation

◆ add_var_to_array()

int add_var_to_array ( nasl_array * a,
char * name,
const anon_nasl_var * v )

◆ add_var_to_list()

int add_var_to_list ( nasl_array * a,
int i,
const anon_nasl_var * v )

◆ array2str()

char * array2str ( const nasl_array * a)

◆ array_max_index()

int array_max_index ( nasl_array * a)

The name is not great: this function does not returns the index of the last element, but the index of the next free slot

◆ clear_unnamed_var()

void clear_unnamed_var ( anon_nasl_var * )

◆ copy_ref_array()

tree_cell * copy_ref_array ( const tree_cell * c1)

◆ free_array()

void free_array ( nasl_array * a)

Note: the function does not free the nasl_array structure. Do it if necessary

◆ hash_str2()

int hash_str2 ( const char * s,
int n )
Todo
Consider using GLibs string hash function.

◆ make_array_from_elems()

tree_cell * make_array_from_elems ( tree_cell * el)

make_array_from_list is used by the parser only The list of elements is freed after use

◆ nasl_affect()

tree_cell * nasl_affect ( tree_cell * lval,
tree_cell * rval )

◆ nasl_array_iterator()

nasl_iterator nasl_array_iterator ( void * ctxt,
tree_cell * c )

◆ nasl_get_var_by_num()

anon_nasl_var * nasl_get_var_by_num ( void * ctxt,
nasl_array * a,
int num,
int create )

◆ nasl_iterate_array()

tree_cell * nasl_iterate_array ( nasl_iterator * it)

◆ var2cell()

tree_cell * var2cell ( anon_nasl_var * v)

◆ var2str()

const char * var2str ( anon_nasl_var * v)