Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
dll_tracker.h File Reference
#include "threads/CriticalSection.h"
#include "PlatformDefs.h"
#include <list>
#include <map>

Classes

struct  AllocLenCaller
 
struct  _TrackedFile
 
struct  _DllTrackInfo
 
class  TrackedDllList
 

Typedefs

typedef struct _TrackedFile TrackedFile
 
typedef std::map< uintptr_t, AllocLenCallerDataList
 
typedef std::map< uintptr_t, AllocLenCaller >::iterator DataListIter
 
typedef std::list< TrackedFile * > FileList
 
typedef std::list< TrackedFile * >::iterator FileListIter
 
typedef std::list< HMODULEDllList
 
typedef std::list< HMODULE >::iterator DllListIter
 
typedef std::list< uintptr_t > DummyList
 
typedef std::list< uintptr_t >::iterator DummyListIter
 
typedef std::list< SOCKETSocketList
 
typedef std::list< SOCKET >::iterator SocketListIter
 
typedef std::list< HANDLEHeapObjectList
 
typedef std::list< HANDLE >::iterator HeapObjectListIter
 
typedef std::map< uintptr_t, AllocLenCallerVAllocList
 
typedef std::map< uintptr_t, AllocLenCaller >::iterator VAllocListIter
 
typedef struct _DllTrackInfo DllTrackInfo
 
typedef std::list< DllTrackInfo * >::iterator TrackedDllsIter
 

Enumerations

enum  TrackedFileType { FILE_XBMC_OPEN , FILE_XBMC_FOPEN , FILE_OPEN , FILE_FOPEN }
 

Functions

void tracker_dll_add (DllLoader *pDll)
 
void tracker_dll_free (DllLoader *pDll)
 
void tracker_dll_set_addr (DllLoader *pDll, uintptr_t min, uintptr_t max)
 
const char * tracker_getdllname (uintptr_t caller)
 
voidtracker_dll_get_function (DllLoader *pDll, char *sFunctionName)
 
DllTrackInfotracker_get_dlltrackinfo_byobject (DllLoader *pDll)
 
DllTrackInfotracker_get_dlltrackinfo (uintptr_t caller)
 
void tracker_dll_data_track (DllLoader *pDll, uintptr_t addr)
 
void_ReturnAddress (void)
 

Variables

CCriticalSection g_trackerLock
 
TrackedDllList g_trackedDlls
 

Typedef Documentation

◆ DataList

typedef std::map<uintptr_t, AllocLenCaller> DataList

◆ DataListIter

typedef std::map<uintptr_t,AllocLenCaller>::iterator DataListIter

◆ DllList

typedef std::list<HMODULE> DllList

◆ DllListIter

typedef std::list<HMODULE>::iterator DllListIter

◆ DllTrackInfo

typedef struct _DllTrackInfo DllTrackInfo

◆ DummyList

typedef std::list<uintptr_t> DummyList

◆ DummyListIter

typedef std::list<uintptr_t>::iterator DummyListIter

◆ FileList

typedef std::list<TrackedFile*> FileList

◆ FileListIter

typedef std::list<TrackedFile*>::iterator FileListIter

◆ HeapObjectList

typedef std::list<HANDLE> HeapObjectList

◆ HeapObjectListIter

typedef std::list<HANDLE>::iterator HeapObjectListIter

◆ SocketList

typedef std::list<SOCKET> SocketList

◆ SocketListIter

typedef std::list<SOCKET>::iterator SocketListIter

◆ TrackedDllsIter

typedef std::list<DllTrackInfo*>::iterator TrackedDllsIter

◆ TrackedFile

typedef struct _TrackedFile TrackedFile

◆ VAllocList

typedef std::map<uintptr_t, AllocLenCaller> VAllocList

◆ VAllocListIter

typedef std::map<uintptr_t,AllocLenCaller>::iterator VAllocListIter

Enumeration Type Documentation

◆ TrackedFileType

Enumerator
FILE_XBMC_OPEN 
FILE_XBMC_FOPEN 
FILE_OPEN 
FILE_FOPEN 

Function Documentation

◆ _ReturnAddress()

void * _ReturnAddress ( void  )

◆ tracker_dll_add()

void tracker_dll_add ( DllLoader pDll)

◆ tracker_dll_data_track()

void tracker_dll_data_track ( DllLoader pDll,
uintptr_t  addr 
)

◆ tracker_dll_free()

void tracker_dll_free ( DllLoader pDll)

◆ tracker_dll_get_function()

void * tracker_dll_get_function ( DllLoader pDll,
char *  sFunctionName 
)

◆ tracker_dll_set_addr()

void tracker_dll_set_addr ( DllLoader pDll,
uintptr_t  min,
uintptr_t  max 
)

◆ tracker_get_dlltrackinfo()

DllTrackInfo * tracker_get_dlltrackinfo ( uintptr_t  caller)

◆ tracker_get_dlltrackinfo_byobject()

DllTrackInfo * tracker_get_dlltrackinfo_byobject ( DllLoader pDll)

◆ tracker_getdllname()

const char * tracker_getdllname ( uintptr_t  caller)

Variable Documentation

◆ g_trackedDlls

TrackedDllList g_trackedDlls
extern

◆ g_trackerLock

CCriticalSection g_trackerLock
extern