Example #1
0
int main(int argc, char *argv[]) {
	PspIoDrvFuncs test_funcs = {
		test_IoInit,
		test_IoExit,
		test_IoOpen,
		test_IoClose,
		test_IoRead,
		test_IoWrite,
		test_IoLseek,
		test_IoIoctl,
		test_IoRemove,
		test_IoMkdir,
		test_IoRmdir,
		test_IoDopen,
		test_IoDclose,
		test_IoDread,
		test_IoGetstat,
		test_IoChstat,
		test_IoRename,
		test_IoChdir,
		test_IoMount,
		test_IoUmount,
		test_IoDevctl,
		test_IoUnk21,
	};
	PspIoDrv test_driver = { "test", 0x10, 0x800, "TEST", &test_funcs };

	//sceIodeldrv("umd");
	sceIoAddDrv(&test_driver);
	sceIoOpen("test:/path/to/file", PSP_O_WRONLY | PSP_O_CREAT, 0777);
	//printf("%d\n", );
	sceIoDelDrv("test");
	
	return 0;
}
Example #2
0
void initUmdImageDriver()
{
	CfwConfig config;
	memset( &config, 0, sizeof( CfwConfig ) );
	getCfwConfig( &config );
	mode = config.umdmode;
	executable = config.executebootbin;
	log( "umdmode %d exec %d\n", mode, executable );
	switch ( mode )
	{
		case MODE_MARCH33:
		{
			sceIoDelDrv( "isofs" );
			killModule( "sceIsofs_driver" );
			if ( !findProc( "pspMarch33_Driver", NULL, 0xcee8593c ) )
			{
				sceIoDelDrv( "umd" );
			}
			killModule( "pspMarch33_Driver" );
			killSema( "Semaphore", "MediaManSema" );
			break;
		}
		case MODE_NP9660:
		{
			sceIoDelDrv( "isofs" );
			killModule( "sceIsofs_driver" );
			sceIoDelDrv( "umd" );
			killThread( "Thread", "SceNpUmdMount" );
			killEventHandler( "SceUmdMedia" );
			killModule( "sceNp9660_driver" );
			killEventFlag( "EventFlag", "SceUmdManState" );
			killEventFlag( "EventFlag", "SceMediaManUser" );
			break;
		}
	}
}
Example #3
0
static int tty_init(void)
{
	int ret;
	(void) sceIoDelDrv("tty"); /* Ignore error */
	ret = sceIoAddDrv(&tty_driver);
	if(ret < 0)
	{
		return ret;
	}

	g_in_sema = sceKernelCreateSema("TtyInMutex", 0, 1, 1, NULL);
	if(g_in_sema < 0)
	{
		return g_in_sema;
	}

	g_out_sema = sceKernelCreateSema("TtyOutMutex", 0, 1, 1, NULL);
	if(g_out_sema < 0)
	{
		return g_out_sema;
	}

	ret = sceIoReopen("tty0:", PSP_O_RDONLY, 0777, sceKernelStdin());
	if(ret < 0)
	{
		return ret;
	}

	ret = sceKernelStdoutReopen("tty1:", PSP_O_WRONLY, 0777);
	if(ret < 0)
	{
		return ret;
	}

	ret = sceKernelStderrReopen("tty2:", PSP_O_WRONLY, 0777);
	if(ret < 0)
	{
		return ret;
	}

	g_initialised = 1;

	return 0;
}