OpenVAS Scanner
7.0.0~git
|
#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_cell * | nasl_affect (tree_cell *, tree_cell *) |
void | clear_unnamed_var (anon_nasl_var *) |
const char * | var2str (anon_nasl_var *) |
anon_nasl_var * | nasl_get_var_by_num (void *, nasl_array *, int, int) |
nasl_iterator | nasl_array_iterator (void *, tree_cell *) |
tree_cell * | nasl_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_cell * | copy_ref_array (const tree_cell *) |
int | hash_str2 (const char *, int) |
tree_cell * | var2cell (anon_nasl_var *) |
tree_cell * | make_array_from_elems (tree_cell *) |
char * | array2str (const nasl_array *) |
#define VAR_NAME_HASH 17 |
Definition at line 33 of file nasl_var.h.
typedef struct st_a_nasl_var anon_nasl_var |
typedef struct st_n_nasl_var named_nasl_var |
typedef struct st_nasl_array nasl_array |
typedef struct st_nasl_string nasl_string_t |
anonymous enum |
Enumerator | |
---|---|
VAR2_UNDEF | |
VAR2_INT | |
VAR2_STRING | |
VAR2_DATA | |
VAR2_ARRAY |
Definition at line 24 of file nasl_var.h.
int add_var_to_array | ( | nasl_array * | , |
char * | , | ||
const anon_nasl_var * | |||
) |
Definition at line 1286 of file nasl_var.c.
References copy_anon_var(), st_nasl_array::hash_elt, hash_str(), name, st_n_nasl_var::next_var, st_n_nasl_var::u, VAR2_UNDEF, st_n_nasl_var::var_name, VAR_NAME_HASH, and st_a_nasl_var::var_type.
Referenced by get_kb_list(), make_array_from_elems(), nasl_localtime(), and nasl_make_array().
int add_var_to_list | ( | nasl_array * | , |
int | , | ||
const anon_nasl_var * | |||
) |
Definition at line 1254 of file nasl_var.c.
References dup_anon_var(), free_anon_var(), st_nasl_array::max_idx, nasl_perror(), and st_nasl_array::num_elt.
Referenced by get_hostnames(), make_array_from_elems(), nasl_bf_cbc(), nasl_eregmatch(), nasl_get_sock_info(), nasl_keys(), nasl_make_array(), nasl_make_list(), and nasl_split().
char* array2str | ( | const nasl_array * | ) |
Definition at line 1004 of file nasl_var.c.
References st_nasl_array::hash_elt, st_nasl_array::max_idx, st_n_nasl_var::next_var, st_nasl_array::num_elt, st_nasl_string::s_siz, st_nasl_string::s_val, st_n_nasl_var::u, st_a_nasl_var::v, st_a_nasl_var::v_int, st_a_nasl_var::v_str, VAR2_DATA, VAR2_INT, VAR2_STRING, VAR2_UNDEF, st_n_nasl_var::var_name, VAR_NAME_HASH, and st_a_nasl_var::var_type.
Referenced by cell2str(), and var2str().
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
Definition at line 1311 of file nasl_var.c.
References st_nasl_array::max_idx, st_nasl_array::num_elt, VAR2_UNDEF, and st_a_nasl_var::var_type.
Referenced by nasl_max_index(), nasl_rawstring(), nasl_strcat(), and nasl_string().
void clear_unnamed_var | ( | anon_nasl_var * | ) |
Definition at line 549 of file nasl_var.c.
References alloc_typed_cell(), copy_array(), DYN_ARRAY, FAKE_CELL, REF_ARRAY, TC::ref_val, TC::type, and TC::x.
Referenced by nasl_return().
void free_array | ( | nasl_array * | a | ) |
Note: the function does not free the nasl_array structure. Do it if necessary
Definition at line 354 of file nasl_var.c.
References free_anon_var(), free_var_chain(), st_nasl_array::hash_elt, st_nasl_array::max_idx, st_nasl_array::num_elt, and VAR_NAME_HASH.
Referenced by clear_anon_var(), copy_array(), free_anon_var(), free_lex_ctxt(), free_tree(), free_var_chain(), and nasl_exec().
int hash_str2 | ( | const char * | s, |
int | n | ||
) |
Definition at line 38 of file nasl_var.c.
Referenced by hash_str().
make_array_from_list is used by the parser only The list of elements is freed after use
Definition at line 1332 of file nasl_var.c.
References add_var_to_array(), add_var_to_list(), alloc_typed_cell(), CONST_DATA, CONST_INT, CONST_STR, deref_cell(), DYN_ARRAY, FAKE_CELL, st_nasl_array::hash_elt, TC::i_val, TC::link, st_nasl_array::max_idx, nasl_perror(), nasl_type_name(), st_nasl_array::num_elt, TC::ref_val, st_nasl_string::s_siz, st_nasl_string::s_val, TC::size, TC::str_val, TC::type, st_a_nasl_var::v, st_a_nasl_var::v_int, st_a_nasl_var::v_str, VAR2_DATA, VAR2_INT, VAR2_STRING, VAR2_UNDEF, VAR_NAME_HASH, st_a_nasl_var::var_type, and TC::x.
Referenced by yyparse().
Definition at line 712 of file nasl_var.c.
References affect_to_anon_var(), nasl_perror(), nasl_type_name(), TC::ref_val, REF_VAR, TC::type, and TC::x.
Referenced by nasl_exec().
nasl_iterator nasl_array_iterator | ( | void * | , |
tree_cell * | |||
) |
Definition at line 1178 of file nasl_var.c.
References nasl_iterator::a, copy_array(), DYN_ARRAY, FAKE_CELL, nasl_iterator::i1, nasl_iterator::iH, nasl_perror(), REF_ARRAY, TC::ref_val, REF_VAR, TC::type, st_a_nasl_var::v, nasl_iterator::v, st_a_nasl_var::v_arr, VAR2_ARRAY, st_a_nasl_var::var_type, and TC::x.
Referenced by nasl_exec().
anon_nasl_var* nasl_get_var_by_num | ( | void * | , |
nasl_array * | , | ||
int | , | ||
int | |||
) |
Definition at line 58 of file nasl_var.c.
References st_nasl_array::max_idx, nasl_perror(), st_nasl_array::num_elt, VAR2_UNDEF, and st_a_nasl_var::var_type.
Referenced by get_array_elem(), nasl_keys(), nasl_make_array(), nasl_make_list(), nasl_max_index(), and nasl_typeof().
tree_cell* nasl_iterate_array | ( | nasl_iterator * | ) |
Definition at line 1214 of file nasl_var.c.
References nasl_iterator::a, st_nasl_array::hash_elt, nasl_iterator::i1, nasl_iterator::iH, st_nasl_array::max_idx, st_n_nasl_var::next_var, st_nasl_array::num_elt, st_n_nasl_var::u, nasl_iterator::v, VAR2_UNDEF, var2cell(), VAR_NAME_HASH, and st_a_nasl_var::var_type.
Referenced by nasl_exec().
tree_cell* var2cell | ( | anon_nasl_var * | ) |
Definition at line 183 of file nasl_var.c.
References alloc_typed_cell(), TC::ref_val, REF_VAR, and TC::x.
Referenced by get_array_elem(), get_variable_by_name(), nasl_iterate_array(), and var_cmp().
const char* var2str | ( | anon_nasl_var * | ) |
Definition at line 1076 of file nasl_var.c.
References array2str(), st_nasl_string::s_siz, st_nasl_string::s_val, st_a_nasl_var::string_form, st_a_nasl_var::v, st_a_nasl_var::v_arr, st_a_nasl_var::v_int, st_a_nasl_var::v_str, VAR2_ARRAY, VAR2_DATA, VAR2_INT, VAR2_STRING, VAR2_UNDEF, and st_a_nasl_var::var_type.
Referenced by dump_tree(), get_str_var_by_name(), get_str_var_by_num(), nasl_make_array(), and nasl_pread().