summaryrefslogtreecommitdiff
path: root/fs/fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/fs.c')
-rw-r--r--fs/fs.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/fs/fs.c b/fs/fs.c
index 1373afb..fd43c52 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -2,17 +2,28 @@
#include "fs.h"
#include "ext2.h"
+
+
+static uint32_t root_ext2_ramimage=0;
+
//
// 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 inode_nr=ext2_filename_to_inode(EXT2_RAM_ADDRESS,name);
+
+ int inode_nr=ext2_filename_to_inode(root_ext2_ramimage,name);
if(inode_nr<1)return -1;
- return ext2_read_dir(EXT2_RAM_ADDRESS, inode_nr,dirs,max); // TODO: hardcoded, fix this
+ return ext2_read_dir(root_ext2_ramimage, inode_nr,dirs,max); // TODO: hardcoded, fix this
}
+void fs_mount(uint32_t ext2_ramimage)
+{
+ root_ext2_ramimage=ext2_ramimage;
+}
-
-
+uint32_t fs_get_root_ext2_ramimage()
+{
+ return root_ext2_ramimage;
+}