33#ifndef DETERMINISTICESPASYNCWEBSERVER_VFS_H
34#define DETERMINISTICESPASYNCWEBSERVER_VFS_H
43enum class DetwsVfsMode : uint8_t
58 int (*open)(
const char *path,
int mode);
59 int (*read)(
int handle,
void *buf,
size_t n);
60 int (*write)(
int handle,
const void *buf,
size_t n);
61 void (*close)(
int handle);
62 long (*size)(
const char *path);
63 bool (*exists)(
const char *path);
64 bool (*remove)(
const char *path);
65 bool (*rename)(
const char *from,
const char *to);
69void detws_vfs_mount(
const DetwsVfsBackend *backend);
72const DetwsVfsBackend *detws_vfs_ram(
void);
75void detws_vfs_ram_format(
void);
82int detws_vfs_open(
const char *path, DetwsVfsMode mode);
84int detws_vfs_read(
int handle,
void *buf,
size_t n);
86int detws_vfs_write(
int handle,
const void *buf,
size_t n);
88void detws_vfs_close(
int handle);
90long detws_vfs_size(
const char *path);
92bool detws_vfs_exists(
const char *path);
94bool detws_vfs_remove(
const char *path);
96bool detws_vfs_rename(
const char *from,
const char *to);
102long detws_vfs_read_file(
const char *path,
void *buf,
size_t cap);
105bool detws_vfs_write_file(
const char *path,
const void *buf,
size_t n);
118const DetwsVfsBackend *detws_vfs_fs(fs::FS *filesystem);
User-facing configuration for DeterministicESPAsyncWebServer.