Пример #1
0
//load reboot wrapper
int load_reboot(void * arg1, unsigned int arg2, void * arg3, unsigned int arg4)
{
	//copy reboot extender
	memcpy((void*)REBOOTEX_START, rebootex, size_rebootex);

	//reset reboot flags
	memset((void*)REBOOTEX_CONFIG, 0, 0x100);
	memset((void*)REBOOTEX_CONFIG_ISO_PATH, 0, 256);

    if (g_args > 4)
    {
        int i;
        for (i = 0; i < 256; i++)
        {
        	memset(REBOOTEX_CONFIG_MODULE_REPLACE(i), 0, 256);
        	memset(REBOOTEX_CONFIG_MODULE_ADD(i), 0, 256);
        	memset(REBOOTEX_CONFIG_MODULE_BEFOREADD(i), 0, 256);
        }
    	for (i = 0; i < g_argp->replacecount; i++)
    	    strncpy(REBOOTEX_CONFIG_MODULE_REPLACE(i), g_argp->replace[i], 256);
    	for (i = 0; i < g_argp->addcount; i++) {
    	    strncpy(REBOOTEX_CONFIG_MODULE_ADD(i), g_argp->add[i], 256);
    	    strncpy(REBOOTEX_CONFIG_MODULE_BEFOREADD(i), g_argp->beforeadd[i], 256);
    	}
    }

	build_rebootex_configure();

	//forward
	return (*LoadReboot)(arg1, arg2, arg3, arg4);
}
Пример #2
0
//load reboot wrapper
int _LoadReboot(void * arg1, unsigned int arg2, void * arg3, unsigned int arg4)
{
	//copy reboot extender
	memcpy((char *)REBOOTEX_START, rebootex, size_rebootex);

	//reset reboot flags
	memset((char *)REBOOTEX_CONFIG, 0, 0x100);
	//copy installer path
	memcpy((char *)REBOOTEX_CONFIG_ISO_PATH, installerpath, sizeof(installerpath));

	build_rebootex_configure();

	//forward
	return LoadReboot(arg1, arg2, arg3, arg4);
}