Ghidra Decompiler Analysis Engine
libdecomp.hh
1 /* ###
2  * IP: GHIDRA
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // This is the "entry" part for the entire decompiler/sleigh library
17 // You should be able to include this header to get all functionality
18 // and we put a startup and shutdown routine here
19 
20 #ifndef __LIBDECOMP__
21 #define __LIBDECOMP__
22 
23 #include "architecture.hh"
24 #include "sleigh_arch.hh"
25 #include "ifacedecomp.hh"
26 
27 // Initialize all decompiler capabilities and register any sleigh specifications
28 // If you have an entire ghidra distribution, you can specify its root with the -sleighhome- input,
29 // otherwise you can provide a list of directories that contain '.lspec' files.
30 extern void startDecompilerLibrary(const char *sleighhome);
31 extern void startDecompilerLibrary(const vector<string> &extrapaths);
32 extern void startDecompilerLibrary(const char *sleighhome,const vector<string> &extrapaths);
33 
34 extern void shutdownDecompilerLibrary(void);
35 
36 #endif
sleigh_arch.hh
Architecture objects that use a Translate object derived from Sleigh.
ifacedecomp.hh
Console interface commands for the decompiler engine.
architecture.hh
Architecture and associated classes that help manage a single processor architecture and load image.