Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
CoffLoader Class Reference

#include <coffldr.h>

Inheritance diagram for CoffLoader:
DllLoader

Public Member Functions

 CoffLoader ()
 
virtual ~CoffLoader ()
 
int ParseCoff (FILE *fp)
 
int ParseHeaders (void *hModule)
 

Public Attributes

voidhModule
 
COFF_FileHeader_tCoffFileHeader
 
OptionHeader_tOptionHeader
 
WindowsHeader_tWindowsHeader
 
Image_Data_Directory_tDirectory
 
SectionHeader_tSectionHeader
 

Protected Member Functions

void PrintStringTable (void)
 
void PrintSymbolTable (void)
 
int LoadCoffHModule (FILE *fp)
 
int LoadSymTable (FILE *fp)
 
int LoadStringTable (FILE *fp)
 
int LoadSections (FILE *fp)
 
int RVA2Section (unsigned long RVA)
 
voidRVA2Data (unsigned long RVA)
 
unsigned long Data2RVA (void *address)
 
char * GetStringTblIndex (int index)
 
char * GetStringTblOff (int Offset)
 
char * GetSymbolName (SymbolTable_t *sym)
 
char * GetSymbolName (int index)
 
void PerformFixups (void)
 

Static Protected Member Functions

static void PrintFileHeader (COFF_FileHeader_t *FileHeader)
 
static void PrintWindowsHeader (WindowsHeader_t *WinHdr)
 
static void PrintOptionHeader (OptionHeader_t *OptHdr)
 
static void PrintSection (SectionHeader_t *ScnHdr, char *data)
 

Protected Attributes

SymbolTable_tSymTable
 
char * StringTable
 
char ** SectionData
 
unsigned long EntryAddress
 
int NumberOfSymbols
 
int SizeOfStringTable
 
int NumOfDirectories
 
int NumOfSections
 
int FileHeaderOffset
 

Constructor & Destructor Documentation

◆ CoffLoader()

CoffLoader::CoffLoader ( )

◆ ~CoffLoader()

CoffLoader::~CoffLoader ( )
virtual

Member Function Documentation

◆ Data2RVA()

unsigned long CoffLoader::Data2RVA ( void address)
protected

◆ GetStringTblIndex()

char * CoffLoader::GetStringTblIndex ( int  index)
protected

◆ GetStringTblOff()

char * CoffLoader::GetStringTblOff ( int  Offset)
protected

◆ GetSymbolName() [1/2]

char * CoffLoader::GetSymbolName ( int  index)
protected

◆ GetSymbolName() [2/2]

char * CoffLoader::GetSymbolName ( SymbolTable_t sym)
protected

◆ LoadCoffHModule()

int CoffLoader::LoadCoffHModule ( FILE *  fp)
protected

◆ LoadSections()

int CoffLoader::LoadSections ( FILE *  fp)
protected

◆ LoadStringTable()

int CoffLoader::LoadStringTable ( FILE *  fp)
protected

◆ LoadSymTable()

int CoffLoader::LoadSymTable ( FILE *  fp)
protected

◆ ParseCoff()

int CoffLoader::ParseCoff ( FILE *  fp)

◆ ParseHeaders()

int CoffLoader::ParseHeaders ( void hModule)

◆ PerformFixups()

void CoffLoader::PerformFixups ( void  )
protected

◆ PrintFileHeader()

void CoffLoader::PrintFileHeader ( COFF_FileHeader_t FileHeader)
staticprotected

◆ PrintOptionHeader()

void CoffLoader::PrintOptionHeader ( OptionHeader_t OptHdr)
staticprotected

◆ PrintSection()

void CoffLoader::PrintSection ( SectionHeader_t ScnHdr,
char *  data 
)
staticprotected

◆ PrintStringTable()

void CoffLoader::PrintStringTable ( void  )
protected

◆ PrintSymbolTable()

void CoffLoader::PrintSymbolTable ( void  )
protected

◆ PrintWindowsHeader()

void CoffLoader::PrintWindowsHeader ( WindowsHeader_t WinHdr)
staticprotected

◆ RVA2Data()

void * CoffLoader::RVA2Data ( unsigned long  RVA)
protected

◆ RVA2Section()

int CoffLoader::RVA2Section ( unsigned long  RVA)
protected

Member Data Documentation

◆ CoffFileHeader

COFF_FileHeader_t* CoffLoader::CoffFileHeader

◆ Directory

Image_Data_Directory_t* CoffLoader::Directory

◆ EntryAddress

unsigned long CoffLoader::EntryAddress
protected

◆ FileHeaderOffset

int CoffLoader::FileHeaderOffset
protected

◆ hModule

void* CoffLoader::hModule

◆ NumberOfSymbols

int CoffLoader::NumberOfSymbols
protected

◆ NumOfDirectories

int CoffLoader::NumOfDirectories
protected

◆ NumOfSections

int CoffLoader::NumOfSections
protected

◆ OptionHeader

OptionHeader_t* CoffLoader::OptionHeader

◆ SectionData

char** CoffLoader::SectionData
protected

◆ SectionHeader

SectionHeader_t* CoffLoader::SectionHeader

◆ SizeOfStringTable

int CoffLoader::SizeOfStringTable
protected

◆ StringTable

char* CoffLoader::StringTable
protected

◆ SymTable

SymbolTable_t* CoffLoader::SymTable
protected

◆ WindowsHeader

WindowsHeader_t* CoffLoader::WindowsHeader

The documentation for this class was generated from the following files: