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

kLdrModLX.c File Reference

Detailed Description

kLdr - The Module Interpreter for the Linear eXecutable (LX) Format.

Definition in file kLdrModLX.c.

#include <k/kLdr.h>
#include "kLdrInternal.h"
#include <k/kLdrFmts/lx.h>

Go to the source code of this file.




#define KLDRMODLX_ASSERT(expr)   kHlpAssert(expr)




static int kldrModLXAllocTLS (PKLDRMOD pMod)
static int kldrModLXCallInit (PKLDRMOD pMod, KUPTR uHandle)
static int kldrModLXCallTerm (PKLDRMOD pMod, KUPTR uHandle)
static int kldrModLXCallThread (PKLDRMOD pMod, KUPTR uHandle, unsigned fAttachingOrDetaching)
static int kldrModLXCreate (PCKLDRMODOPS pOps, PKRDR pRdr, KU32 fFlags, KCPUARCH enmCpuArch, KLDRFOFF offNewHdr, PPKLDRMOD ppMod)
static int kldrModLXDestroy (PKLDRMOD pMod)
static KI32 kldrModLXDoCall (KUPTR uEntrypoint, KUPTR uHandle, KU32 uOp, void *pvReserved)
static int kldrModLXDoCallDLL (PKLDRMODLX pModLX, unsigned uOp, KUPTR uHandle)
static int kldrModLXDoCreate (PKRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODLX *ppModLX)
static int kldrModLXDoForwarderQuery (PKLDRMODLX pModLX, const struct e32_entry *pEntry, PFNKLDRMODGETIMPORT pfnGetForwarder, void *pvUser, PKLDRADDR puValue, KU32 *pfKind)
static int kldrModLXDoIterData2Unpacking (KU8 *pbDst, const KU8 *pbSrc, int cbSrc)
static int kldrModLXDoIterDataUnpacking (KU8 *pbDst, const KU8 *pbSrc, int cbSrc)
static int kldrModLXDoLoadBits (PKLDRMODLX pModLX, void *pvBits)
static int kldrModLXDoLoadFixupSection (PKLDRMODLX pModLX)
static int kldrModLXDoNameLookup (PKLDRMODLX pModLX, const char *pchSymbol, KU32 cchSymbol, KU32 *piSymbol)
static const KU8 * kldrModLXDoNameTableLookupByName (const KU8 *pbNameTable, KI32 cbNameTable, const char *pchSymbol, KSIZE cchSymbol)
static const KU8 * kldrModLXDoNameTableLookupByOrdinal (const KU8 *pbNameTable, KI32 cbNameTable, KU32 iOrdinal)
static int kldrModLXDoProtect (PKLDRMODLX pModLX, void *pvBits, unsigned fUnprotectOrProtect)
static int kldrModLXDoReloc (KU8 *pbPage, int off, KLDRADDR PageAddress, const struct r32_rlc *prlc, int iSelector, KLDRADDR uValue, KU32 fKind)
static int kldrModLXEnumDbgInfo (PKLDRMOD pMod, const void *pvBits, PFNKLDRENUMDBG pfnCallback, void *pvUser)
static int kldrModLXEnumSymbols (PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, KU32 fFlags, PFNKLDRMODENUMSYMS pfnCallback, void *pvUser)
static int kldrModLXFixupMapping (PKLDRMOD pMod, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser)
static void kldrModLXFreeTLS (PKLDRMOD pMod)
static int kldrModLXGetBits (PKLDRMOD pMod, void *pvBits, KLDRADDR BaseAddress, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser)
static int kldrModLXGetImport (PKLDRMOD pMod, const void *pvBits, KU32 iImport, char *pszName, KSIZE cchName)
static int kldrModLXGetStackInfo (PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, PKLDRSTACKINFO pStackInfo)
static int kldrModLXHasDbgInfo (PKLDRMOD pMod, const void *pvBits)
static int kldrModLXMap (PKLDRMOD pMod)
static void kLdrModLXMemCopyW (KU8 *pbDst, const KU8 *pbSrc, int cb)
static KI32 kldrModLXNumberOfImports (PKLDRMOD pMod, const void *pvBits)
static int kldrModLXQueryMainEntrypoint (PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, PKLDRADDR pMainEPAddress)
static int kldrModLXQuerySymbol (PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, KU32 iSymbol, const char *pchSymbol, KSIZE cchSymbol, const char *pszVersion, PFNKLDRMODGETIMPORT pfnGetForwarder, void *pvUser, PKLDRADDR puValue, KU32 *pfKind)
static int kldrModLXReload (PKLDRMOD pMod)
static int kldrModLXRelocateBits (PKLDRMOD pMod, void *pvBits, KLDRADDR NewBaseAddress, KLDRADDR OldBaseAddress, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser)
static void kldrModLXResolveBaseAddress (PKLDRMODLX pModLX, PKLDRADDR pBaseAddress)
static KLDRADDR kldrModLXSize (PKLDRMOD pMod)
static int kldrModLXUnmap (PKLDRMOD pMod)



Generated by  Doxygen 1.6.0   Back to index