|
OpenVAS Scanner 23.40.3
|
#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 *) |
| named_nasl_var * | get_var_by_name (nasl_array *a, const char *s) |
| 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 22 of file nasl_var.h.
Referenced by add_var_to_array(), array2str(), copy_array(), dump_ctxt(), free_array(), get_var_by_name(), get_var_ref_by_name(), hash_str(), init_empty_lex_ctxt(), make_array_from_elems(), nasl_iterate_array(), nasl_keys(), and nasl_make_list().
| 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 13 of file nasl_var.h.
| int add_var_to_array | ( | nasl_array * | a, |
| char * | name, | ||
| const anon_nasl_var * | v ) |
Definition at line 1277 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(), get_tcp_option(), get_tcp_v6_option(), make_array_from_elems(), nasl_localtime(), nasl_make_array(), parse_notus(), and parse_skiron().


| int add_var_to_list | ( | nasl_array * | a, |
| int | i, | ||
| const anon_nasl_var * | v ) |
Definition at line 1245 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 array_from_snmp_error(), array_from_snmp_result(), crypt_data(), get_hostnames(), make_array_from_elems(), nasl_bf_cbc(), nasl_eregmatch(), nasl_get_sock_info(), nasl_keys(), nasl_make_array(), nasl_make_list(), nasl_split(), parse_notus(), parse_skiron(), and resolve_hostname_to_multiple_ips().


| char * array2str | ( | const nasl_array * | a | ) |
Definition at line 990 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 1302 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 534 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 339 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().


| named_nasl_var * get_var_by_name | ( | nasl_array * | a, |
| const char * | s ) |
Definition at line 75 of file nasl_var.c.
References st_nasl_array::hash_elt, hash_str(), 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_array_elem(), get_notus_result_message(), and security_notus().


| int hash_str2 | ( | const char * | s, |
| int | n ) |
Definition at line 23 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 1323 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 697 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 * | ctxt, |
| tree_cell * | c ) |
Definition at line 1169 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, nasl_iterator::v, st_a_nasl_var::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 * | ctxt, |
| nasl_array * | a, | ||
| int | num, | ||
| int | create ) |
Definition at line 43 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(), get_notus_result_message(), nasl_keys(), nasl_make_array(), nasl_make_list(), nasl_max_index(), and nasl_typeof().


| tree_cell * nasl_iterate_array | ( | nasl_iterator * | it | ) |
Definition at line 1205 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 * | v | ) |
Definition at line 168 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 * | v | ) |
Definition at line 1062 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().

