UbixOS V2  2.0
fsAbstract.h
Go to the documentation of this file.
1 /*#ifndef FSABSTRACT_H
2 #define FSABSTRACT_H
3 
4 #include <stdio.h>
5 #include <dirent.h>
6 #include <sys/types.h>
7 #include <device.h>
8 #include "file.h"
9 
10 class vfs_abstract {
11  protected:
12  vfs_abstract * prev;
13  vfs_abstract * next;
14  device_t * device;
15  public:
16  // File I/O
17  virtual int vfs_open(const char *, fileDescriptor *,int,...) { return -1; };
18  virtual int vfs_close(fileDescriptor *) { return -1; };
19  virtual size_t vfs_read(fileDescriptor *, void *, off_t, size_t)
20  { return 0; };
21  virtual size_t vfs_write(fileDescriptor *, void *, off_t, size_t)
22  { return 0; };
23 
24  // Dir I/O
25  virtual int vfs_opendir(DIR *,const char *) { return -1; };
26  virtual int vfs_closedir(DIR *) { return -1; };
27  virtual int vfs_mkdir(const char *, mode_t) { return -1; };
28  virtual int vfs_rmdir(const char *) { return -1; };
29  virtual int vfs_readdir(DIR *,struct dirent *) { return -1; };
30 
31  // FS Functions
32  virtual int vfs_init(void) { return -1; };
33  virtual int vfs_format(device_t *) { return -1; };
34  virtual void * vfs_mknod(const char *, mode_t) { return NULL; };
35  virtual int vfs_purge(void) { return -1; };
36  virtual int vfs_stop(void) { return -1; };
37  virtual int vfs_sync(void) { return -1; };
38 
39  // Misc Functions
40  virtual int vfs_unlink(const char *) { return -1; };
41  virtual int vfs_rename(const char *,const char *) { return -1; };
42 
43  virtual ~vfs_abstract(void) { };
44 }; // vfs_FS
45 
46 #endif*/ // !FSABSTRACT_H