summaryrefslogtreecommitdiff
path: root/fs/fs.c
blob: 357a4418621d7041dbb1671850f8394be5a27bd4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "kernel/kernel.h"
// abstraction layer for filesystems

#include "fs.h"
#include "ext2.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 inode_nr=ext2_filename_to_inode(VMEM_EXT2_RAMIMAGE,name);
    if(inode_nr<1)return -1;
    return ext2_read_dir(VMEM_EXT2_RAMIMAGE, inode_nr,dirs,max);  // TODO: hardcoded, fix this
}

void fs_content(char *path, uint32_t dest, uint32_t max_bytes)
{
	int inode= ext2_filename_to_inode(VMEM_EXT2_RAMIMAGE, path);
	ext2_inode_content(VMEM_EXT2_RAMIMAGE,inode,dest,max_bytes);
}