Example #1
0
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);
}
Example #2
0
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;
}
Example #3
0
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);
}