diff options
Diffstat (limited to 'fs/fs.c')
| -rw-r--r-- | fs/fs.c | 37 |
1 files changed, 4 insertions, 33 deletions
@@ -4,46 +4,17 @@ #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); + int inode_nr=ext2_filename_to_inode(VMEM_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(multiboot_information *info) -{ - // TODO: deinit modules memory: what??? why? then it will be gone right!? - if(info->flags&&1<<3) - { - multiboot_mod *mod=info->mods_addr; - for(int i=0;i<info->mods_count;i++) - { - klog("mounting mod from 0x%08X-0x%08X : %s", - mod->mod_start,mod->mod_end, mod->string); - - //pmmngr_deinit_region(mod->mod_start,((uint32_t)mod->mod_end-(uint32_t)mod->mod_start)+1); - root_ext2_ramimage=mod->mod_start; - - mod++; - } - } + 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(root_ext2_ramimage, path); - ext2_inode_content(root_ext2_ramimage,inode,dest,max_bytes); -} - -uint32_t fs_get_root_ext2_ramimage() -{ - return root_ext2_ramimage; + int inode= ext2_filename_to_inode(VMEM_EXT2_RAMIMAGE, path); + ext2_inode_content(VMEM_EXT2_RAMIMAGE,inode,dest,max_bytes); } |
