⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nasl_var.h

📁 大国补丁后的nessus2.2.8的源代码
💻 H
字号:
/* Nessus Attack Scripting Language  * * Copyright (C) 2002 - 2003 Michel Arboi and Renaud Deraison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, * as published by the Free Software Foundation * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * In addition, as a special exception, Renaud Deraison and Michel Arboi * give permission to link the code of this program with any * version of the OpenSSL library which is distributed under a * license identical to that listed in the included COPYING.OpenSSL * file, and distribute linked combinations including the two. * You must obey the GNU General Public License in all respects * for all of the code used other than OpenSSL.  If you modify * this file, you may extend this exception to your version of the * file, but you are not obligated to do so.  If you do not wish to * do so, delete this exception statement from your version. * */#ifndef NASL_VAR_H_INCLUDED#define NASL_VAR_H_INCLUDEDenum {  VAR2_UNDEF = 0,  VAR2_INT,  VAR2_STRING,  VAR2_DATA,  VAR2_ARRAY};#define VAR_NAME_HASH	17typedef struct st_nasl_string {  unsigned char	*s_val;  int		s_siz;} nasl_string_t;struct st_a_nasl_var;typedef struct st_nasl_array {  int			max_idx; /* max index - 1! */  struct st_a_nasl_var	**num_elt; /* max_idx elements */  struct st_n_nasl_var	**hash_elt; /* VAR_NAME_HASH elements */} nasl_array;#if NASL_DEBUG > 0#define ALL_VARIABLES_NAMED#endiftypedef struct st_a_nasl_var {  int		var_type;#ifdef ALL_VARIABLES_NAMED  char		*av_name;#endif  union {    nasl_string_t	v_str; /* character string / data*/    int			v_int;	/* integer */    nasl_array		v_arr;	/* array */  } v;} anon_nasl_var;typedef struct st_n_nasl_var {  struct st_a_nasl_var	u;#ifndef ALL_VARIABLES_NAMED  char			*var_name;#else#define var_name	u.av_name#endif  struct st_n_nasl_var	*next_var; /* next variable with same name hash */} named_nasl_var;typedef struct {  nasl_array		*a;	/* array */  int			i1;	/* index of numbered elements */  int			iH;	/* index of hash */  named_nasl_var	*v;	/* current variable in hash */} nasl_iterator;tree_cell*	nasl_affect(tree_cell*, tree_cell*);void		clear_unnamed_var(anon_nasl_var*);const char*	var2str(const anon_nasl_var*);anon_nasl_var*	nasl_get_var_by_num(nasl_array*, int, int);nasl_iterator	nasl_array_iterator(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*);const char* 	array2str(const nasl_array*);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -