void SPIFFS_unmount(spiffs *fs) { if (!SPIFFS_CHECK_CFG(fs) || !SPIFFS_CHECK_MOUNT(fs)) return; SPIFFS_LOCK(fs); u32_t i; spiffs_fd *fds = (spiffs_fd *)fs->fd_space; for (i = 0; i < fs->fd_count; i++) { spiffs_fd *cur_fd = &fds[i]; if (cur_fd->file_nbr != 0) { #if SPIFFS_CACHE (void)spiffs_fflush_cache(fs, cur_fd->file_nbr); #endif spiffs_fd_return(fs, cur_fd->file_nbr); } } fs->mounted = 0; SPIFFS_UNLOCK(fs); }
spiffs_DIR *SPIFFS_opendir(spiffs *fs, const char *name, spiffs_DIR *d) { (void)name; if (!SPIFFS_CHECK_CFG((fs))) { (fs)->err_code = SPIFFS_ERR_NOT_CONFIGURED; return 0; } if (!SPIFFS_CHECK_MOUNT(fs)) { fs->err_code = SPIFFS_ERR_NOT_MOUNTED; return 0; } d->fs = fs; d->block = 0; d->entry = 0; return d; }
void SPIFFS_close(spiffs *fs, spiffs_file fh) { if (!SPIFFS_CHECK_CFG((fs))) { (fs)->err_code = SPIFFS_ERR_NOT_CONFIGURED; return; } if (!SPIFFS_CHECK_MOUNT(fs)) { fs->err_code = SPIFFS_ERR_NOT_MOUNTED; return; } SPIFFS_LOCK(fs); #if SPIFFS_CACHE spiffs_fflush_cache(fs, fh); #endif spiffs_fd_return(fs, fh); SPIFFS_UNLOCK(fs); }