--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/wmlengine/src/script/include/scr_fcns.h Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 1999 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+ /*
+ $Workfile: scr_fcns.h $
+
+ Purpose:
+ This file is used by the scr_fcns.c. It defines both the function structure
+ and the function pool structure as well as the function prototype used by
+ the function pool.
+
+ */
+
+#ifndef SCR_FUNCTIONS_H
+#define SCR_FUNCTIONS_H
+
+#include "scr_defs.h"
+
+typedef struct {
+ NW_Byte nbr_of_args; /* no of args */
+ NW_Byte nbr_of_local_vars; /* no of total local vars, including args !!! */
+ NW_Uint16 code_size;
+ NW_Byte *code;
+} function_t;
+
+
+typedef struct {
+ function_t **funcs;
+ NW_Int32 capacity;
+ NW_Int32 size;
+} funcpool_t;
+
+typedef struct {
+ NW_Byte index;
+ NW_Ucs2 *name;
+} fname_t;
+
+typedef struct {
+ fname_t *names;
+ NW_Int32 capacity;
+ NW_Int32 size;
+} fname_table_t;
+
+void add_fname(NW_Byte index, NW_Ucs2 *name);
+void add_func_fp(function_t *f);
+NW_Bool create_func_pool(NW_Int32 c) ;
+NW_Bool create_fname_table(NW_Int32 c);
+
+NW_Byte no_of_args(function_t *f);
+NW_Byte no_of_local_vars(function_t *f);
+NW_Uint16 get_code_size(function_t *f);
+
+
+NW_Bool fu_get_opcode(NW_Byte func_index, NW_Uint16 offset, NW_Byte *b);
+function_t *get_func(NW_Int32 funcIndex);
+
+NW_Bool fname_find_function_index(fname_table_t *fn_table, NW_Ucs2 *fname, NW_Byte *index);
+
+void free_funcpool(funcpool_t *fp);
+void free_fname_table(fname_table_t *fn_table);
+
+NW_Bool valid_func_index(NW_Int32 index);
+
+#endif /*SCR_FUNCTIONS_H*/