Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

analy_register.cc

Go to the documentation of this file.
00001 /*
00002  *      HT Editor
00003  *      analy_register.cc
00004  *
00005  *      Copyright (C) 1999-2002 Sebastian Biallas (sb@web-productions.de)
00006  *
00007  *      This program is free software; you can redistribute it and/or modify
00008  *      it under the terms of the GNU General Public License version 2 as
00009  *      published by the Free Software Foundation.
00010  *
00011  *      This program is distributed in the hope that it will be useful,
00012  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  *      GNU General Public License for more details.
00015  *
00016  *      You should have received a copy of the GNU General Public License
00017  *      along with this program; if not, write to the Free Software
00018  *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00019  */
00020  
00021 #include "analy_register.h"
00022 #include "common.h"
00023 #include "global.h"
00024 
00025 #include "analy_alpha.h"
00026 #include "analy_java.h"
00027 #include "analy_ia64.h"
00028 #include "analy_il.h"
00029 #include "analy_ppc.h"
00030 #include "analy_x86.h"
00031 #include "class_analy.h"
00032 #include "code_analy.h"
00033 #include "coff_analy.h"
00034 #include "data_analy.h"
00035 #include "elf_analy.h"
00036 #include "flt_analy.h"
00037 #include "ne_analy.h"
00038 #include "pe_analy.h"
00039 #include "le_analy.h"
00040 #include "macho_analy.h"
00041 #include "xbe_analy.h"
00042 #include "pef_analy.h"
00043 
00044 #include "htatom.h"
00045 
00046 BUILDER(ATOM_ANALY_ALPHA, AnalyAlphaDisassembler)
00047 BUILDER(ATOM_ANALY_X86, AnalyX86Disassembler)
00048 BUILDER(ATOM_ANALY_IA64, AnalyIA64Disassembler)
00049 BUILDER(ATOM_ANALY_IL, AnalyILDisassembler)
00050 BUILDER(ATOM_ANALY_JAVA, AnalyJavaDisassembler)
00051 BUILDER(ATOM_ANALY_PPC, AnalyPPCDisassembler)
00052 
00053 BUILDER(ATOM_CODE_ANALYSER, CodeAnalyser)
00054 BUILDER(ATOM_DATA_ANALYSER, DataAnalyser)
00055 BUILDER(ATOM_ADDR_QUEUE_ITEM, AddressQueueItem)
00056 BUILDER(ATOM_ADDR_XREF, AddrXRef)
00057 
00058 BUILDER(ATOM_PE_ANALYSER, PEAnalyser)
00059 BUILDER(ATOM_ELF_ANALYSER, ElfAnalyser)
00060 BUILDER(ATOM_COFF_ANALYSER, CoffAnalyser)
00061 BUILDER(ATOM_NE_ANALYSER, NEAnalyser)
00062 BUILDER(ATOM_CLASS_ANALYSER, ClassAnalyser)
00063 BUILDER(ATOM_LE_ANALYSER, LEAnalyser)
00064 BUILDER(ATOM_MACHO_ANALYSER, MachoAnalyser)
00065 BUILDER(ATOM_FLT_ANALYSER, FLTAnalyser)
00066 BUILDER(ATOM_XBE_ANALYSER, XBEAnalyser)
00067 BUILDER(ATOM_PEF_ANALYSER, PEFAnalyser)
00068 
00069 BUILDER(ATOM_ADDRESS_INVALID, InvalidAddress)
00070 BUILDER(ATOM_ADDRESS_FLAT_32, AddressFlat32)
00071 BUILDER(ATOM_ADDRESS_FLAT_64, AddressFlat64)
00072 BUILDER(ATOM_ADDRESS_X86_FLAT_32, AddressX86Flat32)
00073 BUILDER(ATOM_ADDRESS_X86_1616, AddressX86_1616)
00074 BUILDER(ATOM_ADDRESS_X86_1632, AddressX86_1632)
00075 
00076 bool init_analyser()
00077 {
00078         REGISTER(ATOM_ANALY_ALPHA, AnalyAlphaDisassembler)
00079         REGISTER(ATOM_ANALY_X86, AnalyX86Disassembler)
00080         REGISTER(ATOM_ANALY_IA64, AnalyIA64Disassembler)
00081         REGISTER(ATOM_ANALY_IL, AnalyILDisassembler)
00082         REGISTER(ATOM_ANALY_JAVA, AnalyJavaDisassembler)
00083         REGISTER(ATOM_ANALY_PPC, AnalyPPCDisassembler)
00084 
00085         REGISTER(ATOM_CODE_ANALYSER, CodeAnalyser)
00086         REGISTER(ATOM_DATA_ANALYSER, DataAnalyser)
00087         REGISTER(ATOM_ADDR_QUEUE_ITEM, AddressQueueItem)
00088         REGISTER(ATOM_ADDR_XREF, AddrXRef)
00089 
00090         REGISTER(ATOM_PE_ANALYSER, PEAnalyser)
00091         REGISTER(ATOM_ELF_ANALYSER, ElfAnalyser)
00092         REGISTER(ATOM_COFF_ANALYSER, CoffAnalyser)
00093         REGISTER(ATOM_NE_ANALYSER, NEAnalyser)
00094         REGISTER(ATOM_CLASS_ANALYSER, ClassAnalyser)
00095         REGISTER(ATOM_LE_ANALYSER, LEAnalyser)
00096         REGISTER(ATOM_MACHO_ANALYSER, MachoAnalyser)
00097         REGISTER(ATOM_FLT_ANALYSER, FLTAnalyser)
00098         REGISTER(ATOM_XBE_ANALYSER, XBEAnalyser)
00099         REGISTER(ATOM_PEF_ANALYSER, PEFAnalyser)
00100 
00101         REGISTER(ATOM_ADDRESS_INVALID, InvalidAddress)
00102         REGISTER(ATOM_ADDRESS_FLAT_32, AddressFlat32)
00103         REGISTER(ATOM_ADDRESS_FLAT_64, AddressFlat64)
00104         REGISTER(ATOM_ADDRESS_X86_FLAT_32, AddressX86Flat32)
00105         REGISTER(ATOM_ADDRESS_X86_1616, AddressX86_1616)
00106         REGISTER(ATOM_ADDRESS_X86_1632, AddressX86_1632)
00107         return true;
00108 }
00109 
00110 void done_analyser()
00111 {
00112         UNREGISTER(ATOM_ANALY_ALPHA, AnalyAlphaDisassembler)
00113         UNREGISTER(ATOM_ANALY_X86, AnalyX86Disassembler)
00114         UNREGISTER(ATOM_ANALY_IA64, AnalyIA64Disassembler)
00115         UNREGISTER(ATOM_ANALY_IL, AnalyILDisassembler)
00116         UNREGISTER(ATOM_ANALY_JAVA, AnalyJavaDisassembler)
00117         UNREGISTER(ATOM_ANALY_PPC, AnalyPPCDisassembler)
00118 
00119         UNREGISTER(ATOM_CODE_ANALYSER, CodeAnalyser)
00120         UNREGISTER(ATOM_DATA_ANALYSER, DataAnalyser)
00121         UNREGISTER(ATOM_ADDR_QUEUE_ITEM, AddressQueueItem)
00122         UNREGISTER(ATOM_ADDR_XREF, AddrXRef)
00123 
00124         UNREGISTER(ATOM_PE_ANALYSER, PEAnalyser)
00125         UNREGISTER(ATOM_ELF_ANALYSER, ElfAnalyser)
00126         UNREGISTER(ATOM_COFF_ANALYSER, CoffAnalyser)
00127         UNREGISTER(ATOM_NE_ANALYSER, NEAnalyser)
00128         UNREGISTER(ATOM_CLASS_ANALYSER, ClassAnalyser)
00129         UNREGISTER(ATOM_LE_ANALYSER, LEAnalyser)
00130         UNREGISTER(ATOM_MACHO_ANALYSER, MachoAnalyser)
00131         UNREGISTER(ATOM_FLT_ANALYSER, FLTAnalyser)
00132         UNREGISTER(ATOM_XBE_ANALYSER, XBEAnalyser)
00133         UNREGISTER(ATOM_PEF_ANALYSER, PEFAnalyser)
00134 
00135         UNREGISTER(ATOM_ADDRESS_INVALID, InvalidAddress)
00136         UNREGISTER(ATOM_ADDRESS_FLAT_32, AddressFlat32)
00137         UNREGISTER(ATOM_ADDRESS_FLAT_64, AddressFlat64)
00138         UNREGISTER(ATOM_ADDRESS_X86_FLAT_32, AddressX86Flat32)
00139         UNREGISTER(ATOM_ADDRESS_X86_1616, AddressX86_1616)
00140         UNREGISTER(ATOM_ADDRESS_X86_1632, AddressX86_1632)
00141 }

Generated on Fri May 7 21:15:28 2004 by doxygen 1.3.5