My Project
bfd_arch.hh
Go to the documentation of this file.
1 /* ###
2  * IP: GHIDRA
3  * EXCLUDE: YES
4  * NOTE: Interface to GNU BFD library which is GPL 3
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
20 
21 #include "sleigh_arch.hh"
22 #include "loadimage_bfd.hh"
23 
26  static BfdArchitectureCapability bfdArchitectureCapability;
30 public:
31  virtual ~BfdArchitectureCapability(void);
32  virtual Architecture *buildArchitecture(const string &filename,const string &target,ostream *estream);
33  virtual bool isFileMatch(const string &filename) const;
34  virtual bool isXmlMatch(Document *doc) const;
35 };
36 
39  long adjustvma;
40  virtual void buildLoader(DocumentStorage &store);
41  virtual void resolveArchitecture(void);
42  virtual void postSpecFile(void);
43 public:
44  virtual void saveXml(ostream &s) const;
45  virtual void restoreXml(DocumentStorage &store);
46  BfdArchitecture(const string &fname,const string &targ,ostream *estream);
47  virtual ~BfdArchitecture(void) {}
48 };
A container for parsed XML documents.
Definition: xml.hh:249
virtual bool isFileMatch(const string &filename) const
Determine if this extension can handle this file.
Definition: bfd_arch.cc:41
Abstract extension point for building Architecture objects.
Definition: architecture.hh:70
virtual Architecture * buildArchitecture(const string &filename, const string &target, ostream *estream)
Build an Architecture given a raw file or data.
Definition: bfd_arch.cc:35
Architecture that reads executable files using GNU BFD libraries.
Definition: bfd_arch.hh:38
An Architecture that uses the decompiler's native SLEIGH translation engine.
Definition: sleigh_arch.hh:89
Manager for all the major decompiler subsystems.
Definition: architecture.hh:117
Extension point for building a GNU BFD capable Architecture.
Definition: bfd_arch.hh:25
A complete in-memory XML document.
Definition: xml.hh:206
Architecture objects that use a Translate object derived from Sleigh.
virtual bool isXmlMatch(Document *doc) const
Determine is this extension can handle this XML document.
Definition: bfd_arch.cc:58