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

int kldrDyldModStartExe ( PKLDRDYLDMOD  pMod  ) 

This starts the executable module.

Returns:
non-zero OS or kLdr status code on failure. (won't return on success.)
Parameters:
pMod The executable module.

Definition at line 1209 of file kLdrDyldMod.c.

References KLDRDYLDMOD::fExecutable, KLDRDYLDMOD_ASSERT, kldrDyldModGetMainStack(), kldrDyldOSStartExe(), KLDRMOD_BASEADDRESS_MAP, kLdrModQueryMainEntrypoint(), KSIZE, NULL, and KLDRDYLDMOD::pMod.

Referenced by kldrDyldDoLoadExe().

{
    int         rc;
    KLDRADDR    MainEPAddress;
    void       *pvStack;
    KSIZE      cbStack;
    KLDRDYLDMOD_ASSERT(pMod->fExecutable);

    rc = kLdrModQueryMainEntrypoint(pMod->pMod, NULL, KLDRMOD_BASEADDRESS_MAP, &MainEPAddress);
    if (rc)
        return rc;
    rc = kldrDyldModGetMainStack(pMod, &pvStack, &cbStack);
    if (rc)
        return rc;
    return kldrDyldOSStartExe((KUPTR)MainEPAddress, pvStack, cbStack);
}


Generated by  Doxygen 1.6.0   Back to index