summaryrefslogtreecommitdiff
path: root/fs/fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/fs.c')
-rw-r--r--fs/fs.c40
1 files changed, 17 insertions, 23 deletions
diff --git a/fs/fs.c b/fs/fs.c
index a213861..85e04ca 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -1,32 +1,26 @@
// abstraction layer for filesystems
#include <lib/int/stdint.h>
-
-enum FS_FILE_TYPE{
-
- FS_FILE_TYPE_DIR = 1,
- FS_FILE_TYPE_FILE = 2
-};
-
-typedef struct fs_file_struct
-{
- int type;
- char name[256];
-
-}fs_file;
-
-int fs_list(char *path, fs_file *list);
-{
-
-}
-
-int fs_read(char *path, uint8_t *buf)
+#include "fs.h"
+//
+// returns number of entries in the directory specified by name.
+// fills 0-max into *dirs
+int fs_readdir(const char *name,fs_dirent *dirs,int max)
{
+ int testdata=5;
-}
+ int inodes[]={13,14,15,16,17};
+ char names[][256]={"dupa","test","drei","vier","funf"};
+ char type[]={2,2,1,2,1};
-int fs_mount(char *dev, char *dir)
-{
+ for(int i=0;i<5;i++)
+ {
+ dirs[i].inode=inodes[i];
+ for(int j=0;j<256;j++)
+ dirs[i].name[j]=names[i][j];
+ dirs[i].type=type[i];
+ }
+ return 5;
}