retdec
CoffSymbolTable.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_PELIB_COFFSYMBOLTABLE_H
8 #define RETDEC_PELIB_COFFSYMBOLTABLE_H
9 
10 #include "retdec/pelib/PeLibInc.h"
11 
12 namespace PeLib
13 {
18  {
19  private:
20  std::size_t stringTableSize;
21  std::uint32_t numberOfStoredSymbols;
24  std::vector<PELIB_IMAGE_COFF_SYMBOL> symbolTable;
26 
27  void read(InputBuffer& inputbuffer, unsigned int uiSize);
28  public:
31 
32  LoaderError loaderError() const;
33  void setLoaderError(LoaderError ldrError);
34 
35  int read(ByteBuffer & fileData, std::size_t uiOffset, std::size_t uiSize);
36  std::size_t getSizeOfStringTable() const;
37  std::size_t getNumberOfStoredSymbols() const;
38  std::uint32_t getSymbolIndex(std::size_t ulSymbol) const;
39  const std::string & getSymbolName(std::size_t ulSymbol) const;
40  std::uint32_t getSymbolValue(std::size_t ulSymbol) const;
41  std::uint16_t getSymbolSectionNumber(std::size_t ulSymbol) const;
42  std::uint8_t getSymbolTypeComplex(std::size_t ulSymbol) const;
43  std::uint8_t getSymbolTypeSimple(std::size_t ulSymbol) const;
44  std::uint8_t getSymbolStorageClass(std::size_t ulSymbol) const;
45  std::uint8_t getSymbolNumberOfAuxSymbols(std::size_t ulSymbol) const;
46  };
47 }
48 
49 #endif
Definition: CoffSymbolTable.h:18
CoffSymbolTable()
Definition: CoffSymbolTable.cpp:12
ByteBuffer stringTable
Definition: CoffSymbolTable.h:22
void read(InputBuffer &inputbuffer, unsigned int uiSize)
Definition: CoffSymbolTable.cpp:22
std::vector< PELIB_IMAGE_COFF_SYMBOL > symbolTable
Definition: CoffSymbolTable.h:24
std::uint32_t getSymbolValue(std::size_t ulSymbol) const
Definition: CoffSymbolTable.cpp:164
std::uint32_t numberOfStoredSymbols
Definition: CoffSymbolTable.h:21
std::uint8_t getSymbolStorageClass(std::size_t ulSymbol) const
Definition: CoffSymbolTable.cpp:184
std::uint8_t getSymbolTypeComplex(std::size_t ulSymbol) const
Definition: CoffSymbolTable.cpp:174
std::size_t getSizeOfStringTable() const
Definition: CoffSymbolTable.cpp:144
std::uint8_t getSymbolNumberOfAuxSymbols(std::size_t ulSymbol) const
Definition: CoffSymbolTable.cpp:189
void setLoaderError(LoaderError ldrError)
Definition: CoffSymbolTable.cpp:136
ByteBuffer symbolTableDump
Definition: CoffSymbolTable.h:23
std::size_t stringTableSize
Definition: CoffSymbolTable.h:20
std::uint8_t getSymbolTypeSimple(std::size_t ulSymbol) const
Definition: CoffSymbolTable.cpp:179
LoaderError m_ldrError
Definition: CoffSymbolTable.h:25
const std::string & getSymbolName(std::size_t ulSymbol) const
Definition: CoffSymbolTable.cpp:159
LoaderError loaderError() const
Definition: CoffSymbolTable.cpp:131
std::size_t getNumberOfStoredSymbols() const
Definition: CoffSymbolTable.cpp:149
std::uint32_t getSymbolIndex(std::size_t ulSymbol) const
Definition: CoffSymbolTable.cpp:154
std::uint16_t getSymbolSectionNumber(std::size_t ulSymbol) const
Definition: CoffSymbolTable.cpp:169
~CoffSymbolTable()
Definition: CoffSymbolTable.cpp:17
Definition: InputBuffer.h:23
Definition: BoundImportDirectory.h:21
LoaderError
Definition: PeLibAux.h:47
std::vector< std::uint8_t > ByteBuffer
Definition: PeLibAux.h:126