diff --git a/src/sys/ubixfsv2/fsAbstract.h b/src/sys/ubixfsv2/fsAbstract.h index e4dbd1e..95d2274 100644 --- a/src/sys/ubixfsv2/fsAbstract.h +++ b/src/sys/ubixfsv2/fsAbstract.h @@ -1,25 +1,34 @@ #ifndef FSABSTRACT_H #define FSABSTRACT_H -class FSAbstract { +class vfs_fsAbstract { protected: FSAbstract * prev; FSAbstract * next; void * dev; public: - virtual bool close(void) = 0; - virtual bool init(void) = 0; - virtual bool format(void) = 0; - virtual bool mkdir(void) = 0; - virtual bool open(void) = 0; - virtual bool read(void) = 0; - virtual bool readDir(void) = 0; - virtual bool rename(void) = 0; - virtual bool stop(void) = 0; - virtual bool sync(void) = 0; - virtual bool unlink(void) = 0; - virtual bool verify(void) = 0; - virtual bool write(void) = 0; + /* File I/O */ + virtual int vfs_open(FILE *,int flags,...) = 0; + virtual int vfs_close(FILE *) = 0; + virtual int vfs_read(FILE *,void *,size_t,size_t) = 0; + virtual int vfs_write(FILE *,void *,size_t,size_t) = 0; + + /* Dir I/O */ + virtual int vfs_opendir(DIR *,const char *) = 0x0; + virtual int vfs_closedir(DIR *) = 0x0; + virtual int vfs_mkdir(const char *,mode_t) = 0; + virtual int vfs_readdir(DIR *,struct dirent *) = 0; + + /* FS Functions */ + virtual int vfs_init(void) = 0; + virtual int vfs_format(dev_t *) = 0; + virtual int vfs_stop(void) = 0; + virtual int vfs_sync(void) = 0; + + /* Misc Functions */ + virtual int vfs_unlink(const char *) = 0; + virtual int vfs_rename(const char *,const char *) = 0; + virtual ~FSAbstract(void) { }; }; // FSAbstract