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; }
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; }
// 0B58 int sceTtyProxyInit() { dbg_printf("Calling %s\n", __FUNCTION__); sceIoAddDrv(&g_TtyDevTbl); return 0; }