summaryrefslogtreecommitdiff
path: root/indra/lscript/lscript_execute/lscript_readlso.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/lscript/lscript_execute/lscript_readlso.h')
-rw-r--r--indra/lscript/lscript_execute/lscript_readlso.h267
1 files changed, 131 insertions, 136 deletions
diff --git a/indra/lscript/lscript_execute/lscript_readlso.h b/indra/lscript/lscript_execute/lscript_readlso.h
index 92c9dfab45..a545a9daf8 100644
--- a/indra/lscript/lscript_execute/lscript_readlso.h
+++ b/indra/lscript/lscript_execute/lscript_readlso.h
@@ -2,30 +2,25 @@
* @file lscript_readlso.h
* @brief classes to read lso file
*
- * $LicenseInfo:firstyear=2002&license=viewergpl$
- *
- * Copyright (c) 2002-2007, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlife.com/developers/opensource/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at http://secondlife.com/developers/opensource/flossexception
+ * This library 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
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -36,135 +31,135 @@
#include "linked_lists.h"
// list of op code print functions
-void print_noop(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pop(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pops(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_popl(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_popv(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_popq(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_poparg(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_popip(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_popbp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_popsp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_popslr(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-
-void print_dup(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_dups(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_dupl(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_dupv(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_dupq(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-
-void print_store(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_stores(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_storel(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_storev(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_storeq(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_storeg(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_storegs(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_storegl(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_storegv(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_storegq(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_loadp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_loadsp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_loadlp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_loadvp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_loadqp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_loadgp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_loadgsp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_loadglp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_loadgvp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_loadgqp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-
-void print_push(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushl(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushs(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushv(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushq(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushg(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushgl(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushgs(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushgv(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushgq(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_puship(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushbp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushsp(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushargb(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushargi(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushargf(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushargs(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushargv(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushargq(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushe(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pushev(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pusheq(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_pusharge(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-
-void print_add(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_sub(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_mul(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_div(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_mod(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-
-void print_eq(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_neq(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_leq(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_geq(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_less(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_greater(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-
-void print_bitand(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_bitor(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_bitxor(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_booland(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_boolor(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-
-void print_shl(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_shr(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-
-void print_neg(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_bitnot(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_boolnot(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-
-void print_jump(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_jumpif(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_jumpnif(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-
-void print_state(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_call(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_return(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_cast(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_stacktos(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_stacktol(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-
-void print_print(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-
-void print_calllib(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
-void print_calllib_two_byte(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_noop(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pop(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pops(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_popl(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_popv(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_popq(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_poparg(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_popip(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_popbp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_popsp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_popslr(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+
+void print_dup(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_dups(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_dupl(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_dupv(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_dupq(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+
+void print_store(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_stores(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_storel(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_storev(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_storeq(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_storeg(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_storegs(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_storegl(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_storegv(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_storegq(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_loadp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_loadsp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_loadlp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_loadvp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_loadqp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_loadgp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_loadgsp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_loadglp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_loadgvp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_loadgqp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+
+void print_push(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushl(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushs(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushv(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushq(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushg(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushgl(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushgs(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushgv(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushgq(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_puship(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushbp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushsp(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushargb(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushargi(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushargf(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushargs(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushargv(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushargq(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushe(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pushev(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pusheq(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_pusharge(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+
+void print_add(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_sub(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_mul(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_div(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_mod(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+
+void print_eq(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_neq(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_leq(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_geq(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_less(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_greater(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+
+void print_bitand(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_bitor(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_bitxor(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_booland(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_boolor(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+
+void print_shl(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_shr(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+
+void print_neg(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_bitnot(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_boolnot(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+
+void print_jump(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_jumpif(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_jumpnif(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+
+void print_state(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_call(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_return(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_cast(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_stacktos(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_stacktol(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+
+void print_print(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+
+void print_calllib(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+void print_calllib_two_byte(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
class LLScriptLSOParse
{
public:
- LLScriptLSOParse(FILE *fp);
+ LLScriptLSOParse(LLFILE *fp);
LLScriptLSOParse(U8 *buffer);
~LLScriptLSOParse();
void initOpCodePrinting();
- void printData(FILE *fp);
- void printNameDesc(FILE *fp);
- void printRegisters(FILE *fp);
- void printGlobals(FILE *fp);
- void printGlobalFunctions(FILE *fp);
- void printStates(FILE *fp);
- void printHeap(FILE *fp);
- void printOpCodes(FILE *fp, S32 &offset, S32 tabs);
- void printOpCodeRange(FILE *fp, S32 start, S32 end, S32 tabs);
+ void printData(LLFILE *fp);
+ void printNameDesc(LLFILE *fp);
+ void printRegisters(LLFILE *fp);
+ void printGlobals(LLFILE *fp);
+ void printGlobalFunctions(LLFILE *fp);
+ void printStates(LLFILE *fp);
+ void printHeap(LLFILE *fp);
+ void printOpCodes(LLFILE *fp, S32 &offset, S32 tabs);
+ void printOpCodeRange(LLFILE *fp, S32 start, S32 end, S32 tabs);
U8 *mRawData;
- void (*mPrintOpCodes[0x100])(FILE *fp, U8 *buffer, S32 &offset, S32 tabs);
+ void (*mPrintOpCodes[0x100])(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs);
};
-void lso_print_tabs(FILE *fp, S32 tabs);
+void lso_print_tabs(LLFILE *fp, S32 tabs);
#endif