OpenVAS Libraries  4.0+rc3.SVN
nasl/nasl_func.h
00001 /* Nessus Attack Scripting Language 
00002  *
00003  * Copyright (C) 2002 - 2003 Michel Arboi and Renaud Deraison
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License version 2,
00007  * as published by the Free Software Foundation
00008  *
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
00017  */
00018 
00019 #ifndef NASL_FUNC_H_INCLUDED
00020 #define NASL_FUNC_H_INCLUDED
00021 
00022 #define FUNC_NAME_HASH 17
00023 
00024 #define FUNC_FLAG_COMPAT (1 << 0)       /* Old interface */
00025 #define FUNC_FLAG_INTERNAL (1 << 1)     /* Internal C function */
00026 
00030 typedef struct st_nasl_func
00031 {
00032   char *func_name;
00033   int flags;
00034   int nb_unnamed_args, nb_named_args;
00035   char **args_names;
00036   void *block;                  /* Can be pointer to a C function! */
00037 
00038   struct st_nasl_func *next_func;       /* next function with same name hash */
00039 } nasl_func;
00040 
00041 void free_func_chain (nasl_func *);
00042 
00043 #endif