// 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; }