void wd_init(void) { /* DjV 027 280103 ---vvv--- */ /* menu[MOPEN].ob_state = DISABLED; menu[MDELETE].ob_state = DISABLED; /* HR 151102 */ menu[MSHOWINF].ob_state = DISABLED; menu[MAPPLIK].ob_state = DISABLED; menu[MREMICON].ob_state = DISABLED; menu[MCHNGICN].ob_state = DISABLED; menu[MCLOSE].ob_state = DISABLED; menu[MCLOSEW].ob_state = DISABLED; menu[MNEWDIR].ob_state = DISABLED; menu[MSELALL].ob_state = DISABLED; menu[MSETMASK].ob_state = DISABLED; menu[MCYCLE].ob_state = DISABLED; #if MFFORMAT /* HR 050303 */ menu[MFCOPY].ob_state= DISABLED; /* DjV 006 291202 */ menu[MFFORMAT].ob_state= DISABLED; /* DjV 006 291202 */ #endif */ /* DjV 027 280103 ---^^^--- */ selection.w = NULL; selection.selected = -1; selection.n = 0; dir_init(); txt_init(); edit_init(); }
void file_manager__init () { new_file_manager = ayyi_filemanager_new(); type_init(); pixmaps_init(); dir_init(); g_idle_add(_load_plugins, NULL); initialised = TRUE; }
int32 FS_opendir( IN fs_handle_t hfs, IN byte * path, OUT tdir_handle_t * phdir) { int32 ret; fs_t * pfs = (fs_t *)hfs; tdir_t * pdir; if (!hfs || !path || !phdir) return ERR_FS_INVALID_PARAM; ret = FS_OK; if (dir_init(pfs, path, &pdir) == DIR_OK) { *phdir = (tdir_handle_t)pdir; } else { ret = ERR_FS_INVALID_PATH; } return ret; }
int32 TFFS_fopen( IN tffs_handle_t hfs, IN byte * file_path, IN byte * open_mode, OUT tfile_handle_t * phfile) { int32 ret; tffs_t * ptffs = (tffs_t *)hfs; byte * fname, * path; byte * dup_file_path; tfile_t * pfile; tdir_t * pdir; tdir_entry_t * pdir_entry; if (!hfs || !file_path || !open_mode || !phfile) return ERR_TFFS_INVALID_PARAM; ret = TFFS_OK; pfile = (tfile_t *)Malloc(sizeof(tfile_t)); dup_file_path = dup_string(file_path); pdir_entry = dirent_malloc(); fname = (byte *)Malloc(DNAME_MAX); pfile->secbuf = (ubyte *)Malloc(ptffs->pbs->byts_per_sec); Memset(pfile->secbuf, 0, ptffs->pbs->byts_per_sec); path = dup_file_path; if (!divide_path(dup_file_path, fname)) { ret = ERR_TFFS_INVALID_PATH; goto _release; } if (!_parse_open_mode(open_mode, &pfile->open_mode)) { ret = ERR_TFFS_INVALID_OPENMODE; goto _release; } if ((dir_init(ptffs, path, &pdir)) != DIR_OK) { ret = ERR_TFFS_INVALID_PATH; goto _release; } if (dirent_find(pdir, fname, pdir_entry) != DIRENTRY_OK) { DBG("%s(): can't find file [%s] at [%s]\n", __FUNCTION__, fname, path); if (pfile->open_mode == OPENMODE_READONLY) { ret = ERR_TFFS_FILE_NOT_EXIST; goto _release; } if (!dirent_init(fname, 0, TRUE, pdir_entry)) { ret = ERR_TFFS_INVALID_PATH; goto _release; } if ((ret = dir_append_direntry(pdir, pdir_entry)) != DIR_OK) { if (ret == ERR_DIR_NO_FREE_SPACE) { ret = ERR_TFFS_NO_FREE_SPACE; } else { ret = ERR_TFFS_DEVICE_FAIL; } goto _release; } } ret = _initialize_file(ptffs, pdir, pdir_entry, pfile); if (ret == FILE_OK) { *phfile = (tfile_handle_t)pfile; } _release: Free(fname); Free(dup_file_path); return ret; }
int32 TFFS_rmfile( IN tffs_handle_t hfs, IN byte * file_path) { int32 ret; byte * fname, * path; byte * dup_file_path; tdir_t * pdir; tffs_t * ptffs; tdir_entry_t * pdir_entry; ret = TFFS_OK; if (!hfs || !file_path) return ERR_TFFS_INVALID_PARAM; ptffs = (tffs_t *)hfs; dup_file_path = dup_string(file_path); fname = (byte *)Malloc(DNAME_MAX); pdir_entry = dirent_malloc(); path = dup_file_path; if (!divide_path(dup_file_path, fname)) { ret = ERR_TFFS_INVALID_PATH; goto _release; } if ((dir_init(ptffs, path, &pdir)) != DIR_OK) { ret = ERR_TFFS_INVALID_PATH; goto _release; } if ((ret = dirent_find(pdir, fname, pdir_entry)) == DIRENTRY_OK) { if (dirent_get_dir_attr(pdir_entry) & ATTR_DIRECTORY) { ret = ERR_TFFS_IS_NOT_A_FILE; goto _release; } if (dir_del_direntry(pdir, fname) != DIR_OK) { ret = ERR_TFFS_REMOVE_FILE_FAIL; goto _release; } if (fat_free_clus(pdir->ptffs->pfat, dirent_get_clus(pdir_entry)) != FAT_OK) { ret = ERR_TFFS_REMOVE_FILE_FAIL; goto _release; } ret = TFFS_OK; } else { ret = ERR_TFFS_NO_SUCH_FILE; goto _release; } _release: Free(fname); Free(dup_file_path); dirent_release(pdir_entry); dir_destroy(pdir); return ret; }