OpenVAS Scanner
7.0.0~git
|
#include "nasl_var.h"
#include "exec.h"
#include "nasl_debug.h"
#include "nasl_func.h"
#include "nasl_global_ctxt.h"
#include "nasl_lex_ctxt.h"
#include "nasl_tree.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
Go to the source code of this file.
Variables | |
FILE * | nasl_trace_fp |
named_nasl_var* add_named_var_to_ctxt | ( | lex_ctxt * | lexic, |
const char * | name, | ||
tree_cell * | val | ||
) |
Definition at line 825 of file nasl_var.c.
References create_named_var(), struct_lex_ctxt::ctx_vars, st_nasl_array::hash_elt, hash_str(), name, nasl_perror(), st_n_nasl_var::next_var, val, and st_n_nasl_var::var_name.
Referenced by decl_local_variables(), exec_nasl_script(), init_nasl_library(), and nasl_func_call().
anon_nasl_var* add_numbered_var_to_ctxt | ( | lex_ctxt * | lexic, |
int | num, | ||
tree_cell * | val | ||
) |
Definition at line 796 of file nasl_var.c.
References create_anon_var(), struct_lex_ctxt::ctx_vars, free_anon_var(), st_nasl_array::max_idx, nasl_perror(), st_nasl_array::num_elt, val, VAR2_UNDEF, and st_a_nasl_var::var_type.
Referenced by nasl_func_call().
int add_var_to_array | ( | nasl_array * | a, |
char * | name, | ||
const anon_nasl_var * | v | ||
) |
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 * | a, |
int | i, | ||
const anon_nasl_var * | v | ||
) |
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().
|
static |
Definition at line 566 of file nasl_var.c.
References clear_anon_var(), CONST_DATA, CONST_INT, CONST_STR, copy_array(), DYN_ARRAY, FAKE_CELL, get_var_name(), TC::i_val, nasl_perror(), nasl_trace(), nasl_trace_enabled(), nasl_trace_fp, REF_ARRAY, TC::ref_val, REF_VAR, 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_arr, st_a_nasl_var::v_int, st_a_nasl_var::v_str, VAR2_ARRAY, VAR2_DATA, VAR2_INT, VAR2_STRING, st_a_nasl_var::var_type, and TC::x.
Referenced by create_anon_var(), create_named_var(), and nasl_affect().
char* array2str | ( | const nasl_array * | a | ) |
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_anon_var | ( | anon_nasl_var * | v | ) |
Definition at line 418 of file nasl_var.c.
References free_array(), st_nasl_string::s_siz, st_nasl_string::s_val, 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 affect_to_anon_var(), copy_anon_var(), and nasl_incr_variable().
|
static |
Definition at line 442 of file nasl_var.c.
References clear_anon_var(), copy_array(), nasl_perror(), st_nasl_string::s_siz, st_nasl_string::s_val, 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 add_var_to_array(), dup_anon_var(), and dup_named_var().
|
static |
Definition at line 508 of file nasl_var.c.
References dup_anon_var(), dup_named_var(), free_array(), st_nasl_array::hash_elt, st_nasl_array::max_idx, nasl_perror(), st_n_nasl_var::next_var, st_nasl_array::num_elt, and VAR_NAME_HASH.
Referenced by affect_to_anon_var(), copy_anon_var(), copy_ref_array(), get_variable_by_name(), and nasl_array_iterator().
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().
|
static |
Definition at line 755 of file nasl_var.c.
References affect_to_anon_var(), deref_cell(), FAKE_CELL, val, VAR2_UNDEF, and st_a_nasl_var::var_type.
Referenced by add_numbered_var_to_ctxt().
|
static |
Definition at line 734 of file nasl_var.c.
References affect_to_anon_var(), deref_cell(), FAKE_CELL, name, st_n_nasl_var::u, val, VAR2_UNDEF, st_n_nasl_var::var_name, and st_a_nasl_var::var_type.
Referenced by add_named_var_to_ctxt().
Definition at line 786 of file nasl_var.c.
References decl_local_variables(), and struct_lex_ctxt::up_ctxt.
Referenced by nasl_exec().
Definition at line 773 of file nasl_var.c.
References add_named_var_to_ctxt(), FAKE_CELL, TC::link, nasl_perror(), TC::str_val, and TC::x.
Referenced by decl_global_variables(), and nasl_exec().
|
static |
Definition at line 481 of file nasl_var.c.
References copy_anon_var().
Referenced by add_var_to_list(), and copy_array().
|
static |
Definition at line 494 of file nasl_var.c.
References copy_anon_var(), st_n_nasl_var::u, and st_n_nasl_var::var_name.
Referenced by copy_array().
|
static |
Definition at line 399 of file nasl_var.c.
References free_array(), 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_str, VAR2_ARRAY, VAR2_DATA, VAR2_STRING, and st_a_nasl_var::var_type.
Referenced by add_numbered_var_to_ctxt(), add_var_to_list(), and free_array().
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().
|
static |
Definition at line 378 of file nasl_var.c.
References free_array(), st_n_nasl_var::next_var, st_nasl_string::s_val, st_a_nasl_var::string_form, st_n_nasl_var::u, st_a_nasl_var::v, st_a_nasl_var::v_arr, st_a_nasl_var::v_str, VAR2_ARRAY, VAR2_DATA, VAR2_STRING, st_n_nasl_var::var_name, and st_a_nasl_var::var_type.
Referenced by free_array().
Definition at line 223 of file nasl_var.c.
References alloc_expr_cell(), CONST_DATA, CONST_INT, CONST_STR, struct_lex_ctxt::ctx_vars, struct_lex_ctxt::fct_ctxt, get_line_nb(), get_var_by_name(), get_var_ref_by_name(), st_nasl_array::hash_elt, TC::i_val, TC::line_nb, name, nasl_get_var_by_num(), nasl_perror(), st_nasl_string::s_siz, st_nasl_string::s_val, TC::size, TC::str_val, TC::type, st_n_nasl_var::u, struct_lex_ctxt::up_ctxt, st_a_nasl_var::v, st_a_nasl_var::v_arr, st_a_nasl_var::v_str, VAR2_ARRAY, VAR2_DATA, VAR2_INT, VAR2_STRING, VAR2_UNDEF, var2cell(), st_a_nasl_var::var_type, and TC::x.
Referenced by nasl_exec().
long int get_int_var_by_name | ( | lex_ctxt * | lexic, |
const char * | name, | ||
int | defval | ||
) |
Definition at line 1113 of file nasl_var.c.
References get_var_ref_by_name(), name, st_n_nasl_var::u, and var2int().
Referenced by _http_req(), encrypt_stream_data(), forge_icmp_packet(), forge_icmp_v6_packet(), forge_igmp_packet(), forge_igmp_v6_packet(), forge_ip_packet(), forge_ipv6_packet(), forge_tcp_packet(), forge_tcp_v6_packet(), forge_udp_packet(), forge_udp_v6_packet(), get_port_transport(), insert_ip_options(), insert_ipv6_options(), nasl_bn_random(), nasl_close_stream_cipher(), nasl_crap(), nasl_dec2str(), nasl_egrep(), nasl_ereg(), nasl_ereg_replace(), nasl_eregmatch(), nasl_file_read(), nasl_file_seek(), nasl_file_write(), nasl_ftp_get_pasv_address(), nasl_ftp_log_in(), nasl_get_sign(), nasl_get_sock_info(), nasl_isotime_add(), nasl_localtime(), nasl_match(), nasl_mktime(), nasl_ntlm_response(), nasl_ntlmv2_hash(), nasl_ntlmv2_response(), nasl_open_privileged_socket(), nasl_open_sock_tcp_bufsz(), nasl_pcap_next(), nasl_pread(), nasl_prf(), nasl_rc4_encrypt(), nasl_recv(), nasl_recv_line(), nasl_rsa_private_decrypt(), nasl_rsa_public_encrypt(), nasl_same_host(), nasl_scanner_add_port(), nasl_send(), nasl_send_capture(), nasl_send_packet(), nasl_send_v6packet(), nasl_smb_close(), nasl_smb_file_group_sid(), nasl_smb_file_owner_sid(), nasl_smb_file_SDDL(), nasl_smb_file_trustee_rights(), nasl_socket_cert_verify(), nasl_socket_get_cert(), nasl_socket_get_ssl_ciphersuite(), nasl_socket_get_ssl_session_id(), nasl_socket_get_ssl_version(), nasl_socket_negotiate_ssl(), nasl_split(), nasl_ssh_connect(), nasl_ssh_request_exec(), nasl_str_replace(), nasl_tcp_ping(), nasl_tcp_v6_ping(), nasl_wmi_close(), nasl_wmi_query(), nasl_wmi_query_rsop(), nasl_wmi_reg_create_key(), nasl_wmi_reg_delete_key(), nasl_wmi_reg_enum_key(), nasl_wmi_reg_enum_value(), nasl_wmi_reg_get_bin_val(), nasl_wmi_reg_get_dword_val(), nasl_wmi_reg_get_ex_string_val(), nasl_wmi_reg_get_mul_string_val(), nasl_wmi_reg_get_qword_val(), nasl_wmi_reg_get_sz(), nasl_wmi_reg_set_dword_val(), nasl_wmi_reg_set_ex_string_val(), nasl_wmi_reg_set_qword_val(), nasl_wmi_reg_set_string_val(), replace_kb_item(), script_add_preference(), security_something(), set_ip_elements(), set_ipv6_elements(), set_kb_item(), set_tcp_elements(), set_tcp_v6_elements(), set_udp_elements(), and set_udp_v6_elements().
long int get_int_var_by_num | ( | lex_ctxt * | lexic, |
int | num, | ||
int | defval | ||
) |
Definition at line 1106 of file nasl_var.c.
References get_var_ref_by_num(), and var2int().
Referenced by get_kb_item(), get_port_state(), get_port_transport(), get_udp_port_state(), nasl_close_socket(), nasl_crap(), nasl_do_exit(), nasl_file_close(), nasl_get_sock_info(), nasl_get_source_port(), nasl_hex(), nasl_insstr(), nasl_int(), nasl_localtime(), nasl_open_sock_tcp_bufsz(), nasl_open_sock_udp(), nasl_rawstring(), nasl_scanner_get_port(), nasl_sleep(), nasl_socket_get_error(), nasl_ssh_disconnect(), nasl_ssh_get_auth_methods(), nasl_ssh_get_host_key(), nasl_ssh_get_issue_banner(), nasl_ssh_get_server_banner(), nasl_ssh_get_sock(), nasl_ssh_login_interactive(), nasl_ssh_login_interactive_pass(), nasl_ssh_request_exec(), nasl_ssh_session_id_from_sock(), nasl_ssh_set_login(), nasl_ssh_shell_close(), nasl_ssh_shell_open(), nasl_ssh_shell_read(), nasl_ssh_shell_write(), nasl_ssh_userauth(), nasl_stridx(), nasl_substr(), nasl_telnet_init(), nasl_usleep(), script_category(), script_timeout(), and security_something().
char* get_str_var_by_name | ( | lex_ctxt * | lexic, |
const char * | name | ||
) |
Definition at line 1127 of file nasl_var.c.
References get_var_ref_by_name(), name, st_n_nasl_var::u, and var2str().
Referenced by _http_req(), add_hostname(), encrypt_data(), encrypt_stream_data(), forge_icmp_packet(), forge_icmp_v6_packet(), forge_igmp_packet(), forge_igmp_v6_packet(), forge_ip_packet(), forge_ipv6_packet(), forge_tcp_packet(), forge_tcp_v6_packet(), forge_udp_packet(), forge_udp_v6_packet(), get_hostname_source(), get_icmp_element(), get_icmp_v6_element(), get_ip_element(), get_ipv6_element(), get_tcp_element(), get_tcp_v6_element(), get_udp_element(), get_udp_v6_element(), insert_ip_options(), insert_ipv6_options(), mpi_from_named_parameter(), nasl_bf_cbc(), nasl_crap(), nasl_egrep(), nasl_ereg(), nasl_ereg_replace(), nasl_eregmatch(), nasl_file_open(), nasl_file_write(), nasl_ftp_log_in(), nasl_fwrite(), nasl_get_sign(), nasl_get_smb2_sign(), nasl_gunzip(), nasl_gzip(), nasl_hmac(), nasl_hmac_sha256(), nasl_insert_hexzeros(), nasl_keyexchg(), nasl_load_privkey_param(), nasl_match(), nasl_ntlm2_response(), nasl_ntlm_response(), nasl_ntlmv1_hash(), nasl_ntlmv2_hash(), nasl_ntlmv2_response(), nasl_ntv2_owf_gen(), nasl_open_sock_tcp_bufsz(), nasl_open_stream_cipher(), nasl_pcap_next(), nasl_pread(), nasl_prf(), nasl_rsa_private_decrypt(), nasl_rsa_public_encrypt(), nasl_rsa_sign(), nasl_scanner_add_port(), nasl_send(), nasl_send_capture(), nasl_send_packet(), nasl_send_v6packet(), nasl_smb_connect(), nasl_smb_file_group_sid(), nasl_smb_file_owner_sid(), nasl_smb_file_SDDL(), nasl_smb_file_trustee_rights(), nasl_split(), nasl_ssh_connect(), nasl_ssh_login_interactive_pass(), nasl_ssh_request_exec(), nasl_ssh_set_login(), nasl_ssh_shell_write(), nasl_ssh_userauth(), nasl_str_replace(), nasl_wmi_query(), nasl_wmi_query_rsop(), nasl_wmi_reg_create_key(), nasl_wmi_reg_delete_key(), nasl_wmi_reg_enum_key(), nasl_wmi_reg_enum_value(), nasl_wmi_reg_get_bin_val(), nasl_wmi_reg_get_dword_val(), nasl_wmi_reg_get_ex_string_val(), nasl_wmi_reg_get_mul_string_val(), nasl_wmi_reg_get_qword_val(), nasl_wmi_reg_get_sz(), nasl_wmi_reg_set_dword_val(), nasl_wmi_reg_set_ex_string_val(), nasl_wmi_reg_set_qword_val(), nasl_wmi_reg_set_string_val(), replace_kb_item(), resolve_hostname(), script_add_preference(), script_mandatory_keys(), script_tag(), script_xref(), security_something(), set_ip_elements(), set_ipv6_elements(), set_kb_item(), set_tcp_elements(), set_tcp_v6_elements(), set_udp_elements(), and set_udp_v6_elements().
char* get_str_var_by_num | ( | lex_ctxt * | lexic, |
int | num | ||
) |
Definition at line 1120 of file nasl_var.c.
References get_var_ref_by_num(), and var2str().
Referenced by dump_ip_packet(), dump_ipv6_packet(), dump_tcp_packet(), dump_tcp_v6_packet(), dump_udp_packet(), dump_udp_v6_packet(), get_kb_item(), get_kb_list(), nasl_chomp(), nasl_cipher_des(), nasl_defined_func(), nasl_file_stat(), nasl_find_in_path(), nasl_fread(), nasl_get_preference(), nasl_get_sock_info(), nasl_hash(), nasl_hexstr(), nasl_insstr(), nasl_isotime_add(), nasl_isotime_is_valid(), nasl_isotime_print(), nasl_isotime_scan(), nasl_join_multicast_group(), nasl_leave_multicast_group(), nasl_lm_owf_gen(), nasl_nt_owf_gen(), nasl_ord(), nasl_rawstring(), nasl_same_host(), nasl_send_packet(), nasl_send_v6packet(), nasl_split(), nasl_strcat(), nasl_stridx(), nasl_string(), nasl_strstr(), nasl_substr(), nasl_tolower(), nasl_toupper(), nasl_unlink(), script_bugtraq_id(), script_cve_id(), script_dependencies(), script_exclude_keys(), script_family(), script_get_preference(), script_get_preference_file_content(), script_get_preference_file_location(), script_mandatory_keys(), script_name(), script_oid(), script_require_keys(), script_require_ports(), and script_require_udp_ports().
|
static |
Definition at line 90 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().
|
static |
Definition at line 211 of file nasl_var.c.
Referenced by affect_to_anon_var(), and nasl_read_var_ref().
|
static |
This function climbs up in the context list.
Definition at line 115 of file nasl_var.c.
References struct_lex_ctxt::ctx_vars, st_nasl_array::hash_elt, hash_str(), name, st_n_nasl_var::next_var, st_n_nasl_var::u, struct_lex_ctxt::up_ctxt, VAR2_UNDEF, st_n_nasl_var::var_name, VAR_NAME_HASH, and st_a_nasl_var::var_type.
Referenced by get_array_elem(), get_int_var_by_name(), get_str_var_by_name(), get_var_size_by_name(), get_var_type_by_name(), and get_variable_by_name().
|
static |
Definition at line 153 of file nasl_var.c.
References struct_lex_ctxt::ctx_vars, st_nasl_array::max_idx, nasl_perror(), st_nasl_array::num_elt, VAR2_UNDEF, and st_a_nasl_var::var_type.
Referenced by get_int_var_by_num(), get_str_var_by_num(), get_var_size_by_num(), and get_var_type_by_num().
|
static |
Definition at line 1133 of file nasl_var.c.
References st_nasl_string::s_siz, st_a_nasl_var::v, st_a_nasl_var::v_str, VAR2_DATA, VAR2_STRING, and st_a_nasl_var::var_type.
Referenced by get_var_size_by_name(), and get_var_size_by_num().
int get_var_size_by_name | ( | lex_ctxt * | lexic, |
const char * | name | ||
) |
Definition at line 1147 of file nasl_var.c.
References get_var_ref_by_name(), get_var_size(), name, and st_n_nasl_var::u.
Referenced by encrypt_data(), encrypt_stream_data(), forge_icmp_packet(), forge_icmp_v6_packet(), forge_igmp_packet(), forge_igmp_v6_packet(), forge_ip_packet(), forge_ipv6_packet(), forge_tcp_packet(), forge_tcp_v6_packet(), forge_udp_packet(), forge_udp_v6_packet(), get_icmp_element(), get_icmp_v6_element(), get_tcp_element(), get_tcp_v6_element(), get_udp_element(), get_udp_v6_element(), insert_ip_options(), insert_ipv6_options(), mpi_from_named_parameter(), nasl_bf_cbc(), nasl_crap(), nasl_egrep(), nasl_file_write(), nasl_fwrite(), nasl_get_smb2_sign(), nasl_gunzip(), nasl_gzip(), nasl_hmac(), nasl_hmac_sha256(), nasl_insert_hexzeros(), nasl_load_privkey_param(), nasl_ntlm2_response(), nasl_ntlm_response(), nasl_ntlmv1_hash(), nasl_ntlmv2_hash(), nasl_ntv2_owf_gen(), nasl_open_stream_cipher(), nasl_prf(), nasl_rsa_sign(), nasl_send(), nasl_split(), nasl_str_replace(), replace_kb_item(), security_something(), set_ip_elements(), set_ipv6_elements(), set_kb_item(), set_tcp_elements(), set_tcp_v6_elements(), set_udp_elements(), and set_udp_v6_elements().
int get_var_size_by_num | ( | lex_ctxt * | lexic, |
int | num | ||
) |
Definition at line 1154 of file nasl_var.c.
References get_var_ref_by_num(), and get_var_size().
Referenced by dump_tcp_packet(), dump_tcp_v6_packet(), dump_udp_packet(), dump_udp_v6_packet(), nasl_cipher_des(), nasl_hash(), nasl_hexstr(), nasl_insstr(), nasl_isotime_add(), nasl_isotime_is_valid(), nasl_isotime_print(), nasl_isotime_scan(), nasl_lm_owf_gen(), nasl_rawstring(), nasl_send_packet(), nasl_send_v6packet(), nasl_split(), nasl_strcat(), nasl_stridx(), nasl_string(), nasl_strlen(), nasl_strstr(), nasl_substr(), nasl_tolower(), and nasl_toupper().
int get_var_type_by_name | ( | lex_ctxt * | lexic, |
const char * | name | ||
) |
Definition at line 1171 of file nasl_var.c.
References get_var_ref_by_name(), name, st_n_nasl_var::u, VAR2_UNDEF, and st_a_nasl_var::var_type.
Referenced by nasl_open_sock_tcp_bufsz(), nasl_rsa_private_decrypt(), nasl_rsa_public_encrypt(), replace_kb_item(), and set_kb_item().
int get_var_type_by_num | ( | lex_ctxt * | lexic, |
int | num | ||
) |
Returns NASL variable/cell type, VAR2_UNDEF if value is NULL.
Definition at line 1164 of file nasl_var.c.
References get_var_ref_by_num(), VAR2_UNDEF, and st_a_nasl_var::var_type.
Referenced by nasl_get_sock_info(), nasl_isnull(), nasl_isotime_is_valid(), nasl_isotime_scan(), nasl_rawstring(), nasl_string(), and nasl_substr().
Definition at line 191 of file nasl_var.c.
References alloc_typed_cell(), copy_array(), struct_lex_ctxt::ctx_vars, DYN_ARRAY, get_var_ref_by_name(), name, TC::ref_val, st_n_nasl_var::u, var2cell(), and TC::x.
Referenced by nasl_exec(), and nasl_pread().
|
static |
Definition at line 52 of file nasl_var.c.
References hash_str2(), and VAR_NAME_HASH.
Referenced by add_named_var_to_ctxt(), add_var_to_array(), get_var_by_name(), and get_var_ref_by_name().
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 * | ctxt, |
tree_cell * | c | ||
) |
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 * | ctxt, |
nasl_array * | a, | ||
int | num, | ||
int | create | ||
) |
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().
Definition at line 933 of file nasl_var.c.
References alloc_typed_cell(), clear_anon_var(), CONST_INT, get_line_nb(), TC::i_val, nasl_perror(), TC::ref_val, REF_VAR, st_nasl_string::s_val, TC::type, st_a_nasl_var::v, st_a_nasl_var::v_int, st_a_nasl_var::v_str, val, VAR2_DATA, VAR2_INT, VAR2_STRING, VAR2_UNDEF, st_a_nasl_var::var_type, and TC::x.
Referenced by nasl_exec().
tree_cell* nasl_iterate_array | ( | nasl_iterator * | it | ) |
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().
Definition at line 847 of file nasl_var.c.
References alloc_typed_cell(), CONST_DATA, CONST_INT, CONST_STR, deref_cell(), FAKE_CELL, get_line_nb(), get_var_name(), TC::i_val, TC::line_nb, nasl_perror(), nasl_trace(), nasl_trace_enabled(), NODE_EMPTY, REF_ARRAY, TC::ref_val, REF_VAR, 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_arr, st_a_nasl_var::v_int, st_a_nasl_var::v_str, VAR2_ARRAY, VAR2_DATA, VAR2_INT, VAR2_STRING, VAR2_UNDEF, st_a_nasl_var::var_type, and TC::x.
Referenced by nasl_exec().
tree_cell* var2cell | ( | anon_nasl_var * | v | ) |
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().
|
static |
Definition at line 982 of file nasl_var.c.
References st_nasl_string::s_val, st_a_nasl_var::v, 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 get_int_var_by_name(), and get_int_var_by_num().
const char* var2str | ( | anon_nasl_var * | v | ) |
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().
FILE* nasl_trace_fp |
Definition at line 368 of file exec.c.
Referenced by affect_to_anon_var(), and nasl_exec().