00001 /* 00002 Copyright (C) 2010 Mark Gordon 00003 00004 This program is free software; you can redistribute it and/or modify it under 00005 the terms of the GNU General Public License as published by the Free Software 00006 Foundation; either version 2 of the License, or (at your option) any later 00007 version. 00008 00009 This program is distributed in the hope that it will be useful, but WITHOUT ANY 00010 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 00011 PARTICULAR PURPOSE. See the GNU General Public License for more details. 00012 00013 You should have received a copy of the GNU General Public License along with 00014 this program; if not, write to the Free Software Foundation, Inc., 59 Temple 00015 Place, Suite 330, Boston, MA 02111-1307 USA 00016 */ 00019 #ifndef __DXCUT_CODE_H 00020 #define __DXCUT_CODE_H 00021 #include <dxcut/dalvik.h> 00022 #include <dxcut/dex.h> 00023 #include <dxcut/debug_info.h> 00024 #include <dxcut/try_block.h> 00025 #ifdef __cplusplus 00026 extern "C" { 00027 #endif 00028 00029 typedef struct { 00031 dx_ushort registers_size; 00032 00034 dx_ushort ins_size; 00035 00037 dx_ushort outs_size; 00038 00041 DexDebugInfo* debug_information; 00042 00045 DexTryBlock* tries; 00046 00048 dx_uint insns_count; 00049 00051 DexInstruction* insns; 00052 } DexCode; 00053 00058 extern 00059 void dxc_free_code(DexCode* code); 00060 00061 #ifdef __cplusplus 00062 } 00063 #endif 00064 #endif