Example #1
0
void OSlibkernInit(void)
{
    vm_address_t *headerArray = (vm_address_t *) getmachheaders();

    KMOD_INFO_NAME.address = headerArray[0]; assert(!headerArray[1]);
    if (kOSReturnSuccess != OSRuntimeInitializeCPP(&KMOD_INFO_NAME, 0))
        panic("OSRuntime: C++ runtime failed to initialize");

    OSBoolean::initialize();
}
Example #2
0
__private_extern__ kern_return_t _start(kmod_info_t *ki, void *data)
{
    kern_return_t result = OSRuntimeInitializeCPP(ki, data);

    if ((result == KERN_SUCCESS) && _realmain) {
        result = (*_realmain)(ki, data);

       /* If _realmain failed, tear down C++.
        */
        if (result != KERN_SUCCESS) {
            (void)OSRuntimeFinalizeCPP(ki, data);
        }
    }

    return result;
}