Logo Search packages:      
Sourcecode: virtualbox-ose version File versions  Download package

Defines | Functions | Variables

kLdrDyld.c File Reference

#include <k/kLdr.h>
#include "kLdrInternal.h"
Include dependency graph for kLdrDyld.c:

Go to the source code of this file.

Defines

#define KLDRDYLD_ASSERT(expr)   kHlpAssert(expr)
#define KLDRDYLD_STRICT   1

Functions

static int kldrDyldCopyError (int rc, char *pszErr, KSIZE cchErr)
void kldrDyldDoLoadExe (PKLDRDYLDMOD pExe)
int kldrDyldFailure (int rc, const char *pszFilename,...)
int kLdrDyldFindByAddress (KUPTR Address, PHKLDRMOD phMod, KU32 *piSegment, KUPTR *poffSegment)
int kLdrDyldFindByName (const char *pszDll, const char *pszPrefix, const char *pszSuffix, KLDRDYLDSEARCH enmSearch, unsigned fFlags, PHKLDRMOD phMod)
int kLdrDyldGetFilename (HKLDRMOD hMod, char *pszFilename, KSIZE cchFilename)
int kLdrDyldGetName (HKLDRMOD hMod, char *pszName, KSIZE cchName)
int kldrDyldGetPrerequisite (const char *pszDll, const char *pszPrefix, const char *pszSuffix, KLDRDYLDSEARCH enmSearch, unsigned fFlags, PKLDRDYLDMOD pDep, PPKLDRDYLDMOD ppMod)
int kldrDyldInit (void)
int kLdrDyldLoad (const char *pszDll, const char *pszPrefix, const char *pszSuffix, KLDRDYLDSEARCH enmSearch, unsigned fFlags, PHKLDRMOD phMod, char *pszErr, KSIZE cchErr)
void kLdrDyldLoadExe (PCKLDREXEARGS pArgs, void *pvOS)
int kLdrDyldQuerySymbol (HKLDRMOD hMod, KU32 uSymbolOrdinal, const char *pszSymbolName, const char *pszSymbolVersion, KUPTR *pValue, KU32 *pfKind)
void kldrDyldTerm (void)
int kLdrDyldUnload (HKLDRMOD hMod)
API worker routines.
void kldrDyldDoLoadExeStackSwitch (PKLDRDYLDMOD pExe, void *pvStack, KSIZE cbStack)
static int kldrDyldDoLoad (const char *pszDll, const char *pszPrefix, const char *pszSuffix, KLDRDYLDSEARCH enmSearch, unsigned fFlags, PPKLDRDYLDMOD ppMod, char *pszErr, KSIZE cchErr)
static int kldrDyldDoLoad2 (PKLDRDYLDMOD pLoadedMod, const char *pszPrefix, const char *pszSuffix, KLDRDYLDSEARCH enmSearch, unsigned fFlags)
static int kldrDyldDoLoadPrerequisites (PKLDRDYLDMOD pMod, const char *pszPrefix, const char *pszSuffix, KLDRDYLDSEARCH enmSearch, unsigned fFlags)
static int kldrDyldDoUnload (PKLDRDYLDMOD pMod)
static int kldrDyldDoFindByName (const char *pszDll, const char *pszPrefix, const char *pszSuffix, KLDRDYLDSEARCH enmSearch, unsigned fFlags, PPKLDRDYLDMOD ppMod)
static int kldrDyldDoFindByAddress (KUPTR Address, PPKLDRDYLDMOD ppMod, KU32 *piSegment, KUPTR *poffSegment)
static int kldrDyldDoGetName (PKLDRDYLDMOD pMod, char *pszName, KSIZE cchName)
static int kldrDyldDoGetFilename (PKLDRDYLDMOD pMod, char *pszFilename, KSIZE cchFilename)
static int kldrDyldDoQuerySymbol (PKLDRDYLDMOD pMod, KU32 uSymbolOrdinal, const char *pszSymbolName, KUPTR *pValue, KU32 *pfKind)
Misc load/unload workers
static void kldrDyldDoModuleTerminationAndGarabageCollection (void)
The load stack.
static KU32 kldrDyldStackNewFrame (PKLDRDYLDMOD pMod)
static int kldrDyldStackAddModule (PKLDRDYLDMOD pMod)
static int kldrDyldStackFrameCompleted (void)
static void kldrDyldStackCleanupOne (PKLDRDYLDMOD pMod, int rc)
static void kldrDyldStackDropFrame (KU32 iLoad1st, KU32 iLoadEnd, int rc)

Variables

static KU32 g_cActiveLoadCalls
static KU32 g_cActiveUnloadCalls
static KU32 g_cStackMods
static KU32 g_cStackModsAllocated
static KU32 g_cTotalLoadCalls
static KU32 g_cTotalUnloadCalls
static KU32 g_fActiveGC
int g_fBootstrapping
static PPKLDRDYLDMOD g_papStackMods
PKLDRDYLDMOD g_pkLdrDyldBindHead
PKLDRDYLDMOD g_pkLdrDyldBindTail
PKLDRDYLDMOD g_pkLdrDyldInitHead
PKLDRDYLDMOD g_pkLdrDyldInitTail
PKLDRDYLDMOD g_pkLdrDyldTermHead
PKLDRDYLDMOD g_pkLdrDyldTermTail
char g_szkLdrDyldError [1024]
PKLDRDYLDMOD kLdrDyldExe = NULL
KU32 kLdrDyldFlags = 0
PKLDRDYLDMOD kLdrDyldHead = NULL
KLDRDYLDSEARCH kLdrDyldSearch = KLDRDYLD_SEARCH_HOST
PKLDRDYLDMOD kLdrDyldTail = NULL
The main stack.
unsigned g_fkLdrDyldDoneMainStack = 0
unsigned g_fkLdrDyldMainStackAllocated = 0
void * g_pvkLdrDyldMainStack = NULL
KSIZE g_cbkLdrDyldMainStack = 0

Detailed Description

kLdr - The Dynamic Loader.

Definition in file kLdrDyld.c.


Generated by  Doxygen 1.6.0   Back to index