2009-09-17 13:06:04 +00:00
|
|
|
#ifndef SYMBOLTABLECOMMAND_H
|
|
|
|
#define SYMBOLTABLECOMMAND_H
|
|
|
|
|
|
|
|
#include "loadcommand.h"
|
|
|
|
|
|
|
|
class SymbolTableEntry;
|
2009-09-29 15:01:48 +00:00
|
|
|
class EXPORT SymbolTableCommand : public LoadCommand
|
2009-09-17 13:06:04 +00:00
|
|
|
{
|
|
|
|
private:
|
2016-11-19 16:23:39 +01:00
|
|
|
typedef std::list<const SymbolTableEntry*> SymbolTableEntries;
|
2009-09-17 13:06:04 +00:00
|
|
|
typedef SymbolTableEntries::iterator SymbolTableEntriesIterator;
|
|
|
|
public:
|
|
|
|
typedef SymbolTableEntries::const_iterator SymbolTableEntriesConstIterator;
|
|
|
|
|
|
|
|
SymbolTableCommand(MachOHeader* header);
|
|
|
|
virtual ~SymbolTableCommand();
|
|
|
|
virtual unsigned int getSize() const;
|
|
|
|
|
|
|
|
SymbolTableEntriesConstIterator getSymbolTableEntryBegin() const;
|
|
|
|
SymbolTableEntriesConstIterator getSymbolTableEntryEnd() const;
|
|
|
|
//const std::vector<const SymbolTableEntry*>* getSymbolTableEntries() const;
|
|
|
|
private:
|
|
|
|
symtab_command command;
|
|
|
|
mutable struct nlist* symbols32;
|
|
|
|
mutable struct nlist_64* symbols64;
|
|
|
|
mutable char* stringTable;
|
|
|
|
mutable SymbolTableEntries symbolTableEntries;
|
|
|
|
|
|
|
|
void readSymbolTable() const;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // SYMBOLTABLECOMMAND_H
|