summaryrefslogtreecommitdiff
path: root/fs/fs.c
blob: fd43c52cfa9e4d7520633496214db123a2310e32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// abstraction layer for filesystems
#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(root_ext2_ramimage,name);
    if(inode_nr<1)return -1;
    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;
}