static void delete_config( void * priv, int delta ) { char* path = get_config_dir(); struct fio_file file; struct fio_dirent * dirent = FIO_FindFirstEx( path, &file ); if( IS_ERROR(dirent) ) return; do { if (file.mode & ATTR_DIRECTORY) { continue; // is a directory } char fn[0x80]; snprintf(fn, sizeof(fn), "%s%s", path, file.name); FIO_RemoveFile(fn); } while( FIO_FindNextEx( dirent, &file ) == 0); FIO_FindClose(dirent); config_deleted = 1; if (config_autosave) { /* at shutdown, config autosave may re-create the config files we just deleted */ /* => disable this feature in RAM only, until next reboot, without commiting it to card */ config_autosave = 0; } }
void config_flag_file_setting_save(char* file, int setting) { FIO_RemoveFile(file); if (setting) { FILE* f = FIO_CreateFile(file); if (f) FIO_CloseFile(f); } }
unsigned int module_config_save(char *filename, module_entry_t *module) { if (!module->config) return -1; char* msg = fio_malloc(MAX_SIZE); msg[0] = '\0'; snprintf( msg, MAX_SIZE, "# Config file for module %s (%s)\n\n", module->name, module->filename ); int count = 0; for (module_config_t * mconfig = module->config; mconfig && mconfig->name; mconfig++) { if (*(int*)mconfig->ref->value == mconfig->ref->default_value) continue; snprintf(msg + strlen(msg), MAX_SIZE - strlen(msg) - 1, "%s = %d\r\n", mconfig->ref->name, *(int*) mconfig->ref->value ); count++; } if (count == 0) { /* everything is default, just delete the config file */ FIO_RemoveFile(filename); goto finish; } FILE * file = FIO_CreateFile( filename ); if (!file) { fio_free(msg); return -1; } FIO_WriteFile(file, msg, strlen(msg)); FIO_CloseFile( file ); finish: fio_free(msg); return 0; }
//dump ram and rom void dumpmemo() { FIO_RemoveFile("B:/RAMDUMP.BIN"); int f = FIO_CreateFile("B:/RAMDUMP.BIN"); if (f!=-1) { FIO_WriteFile(f, (void*)0xFFFF0000, 4); FIO_WriteFile(f, (void*)4, 0x1900-4); FIO_WriteFile(f, (void*)0x1900, 32*1024*1024-0x1900); FIO_CloseFile(f); } f = FIO_OpenFile("B:/ROMDUMP.BIN", 0, 0644); FIO_CloseFile(f); if (f==-1) { f = FIO_CreateFile("B:/ROMDUMP.BIN"); FIO_WriteFile(f, (void*)0xFF800000, 8*1024*1024); FIO_CloseFile(f); } }
static MENU_SELECT_FUNC(config_preset_toggle) { menu_numeric_toggle(&config_new_preset_index, delta, 0, config_preset_num); if (!config_new_preset_index) { FIO_RemoveFile(config_preset_file); } else { FILE* f = FIO_CreateFile(config_preset_file); if (f) { if (config_new_preset_index == 1) my_fprintf(f, "Startup mode"); else if (config_new_preset_index == 2) my_fprintf(f, "Startup key"); else my_fprintf(f, "%s", config_preset_choices[config_new_preset_index]); FIO_CloseFile(f); } } }
int snapshot_delete(char *name) { return (FIO_RemoveFile(name) != -1); }