summaryrefslogtreecommitdiff
path: root/fs/ext2.c
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-09-09 11:49:30 +0200
committerMiguel <m.i@gmx.at>2018-09-09 11:49:30 +0200
commite85a68e1536a0f6505300e1cb79f06b9743b00f7 (patch)
treec503a7681720925c5f4923e26c01f7b2e697023d /fs/ext2.c
parentfc1d491479abd74a1e038ad9ff7d4d330d79e4a8 (diff)
fixing implicit func declarations!
Diffstat (limited to 'fs/ext2.c')
-rw-r--r--fs/ext2.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/fs/ext2.c b/fs/ext2.c
index f1e368d..7562cf0 100644
--- a/fs/ext2.c
+++ b/fs/ext2.c
@@ -1,6 +1,9 @@
#include "kernel/kernel.h"
// ext2 minidriver
// based on osdev wiki article: http://wiki.osdev.org/Ext2
+//
+//
+#include "lib/string/string.h"
@@ -116,12 +119,13 @@ int ext2_check(uint8_t *ram)
ext2_superblock super;
ext2_superblock_ext super_ext;
uint8_t *ptr=ram+1024;
- ram_read(ptr,&super,sizeof(super),1);
+ ram_read((char*)ptr,&super,sizeof(super),1);
if(super.ext2_sig!=0xef53){
klog("addr: 0x%08X",ram);
kpanic("no ext2 signature found, where ram-image expected");
}
+ return 1;
}
ext2_inode ext2_get_inode(uint8_t *ram,int inode_num)
@@ -133,7 +137,7 @@ ext2_inode ext2_get_inode(uint8_t *ram,int inode_num)
ext2_inode inode;
uint8_t *ptr=ram+1024;
- ram_read(ptr,&super,sizeof(super),1);
+ ram_read((char*)ptr,&super,sizeof(super),1);
if(super.ext2_sig!=0xef53)
{
klog("addr: 0x%08X",ram);
@@ -150,13 +154,13 @@ ext2_inode ext2_get_inode(uint8_t *ram,int inode_num)
ptr=ram+block_size*descriptor_start_block;
ptr+=sizeof(desc)*block_group; // skip to our descriptor;
- ram_read(ptr,&desc,sizeof(desc),1); // read descriptor
+ ram_read((char*)ptr,&desc,sizeof(desc),1); // read descriptor
// read our inode;
ptr=ram+block_size*desc.addr_inode_table;
ptr+=128*((inode_num-1)%super.inodes_per_group);
- ram_read(ptr,&inode,sizeof(inode),1); //get inode 2 (rood-directory)
+ ram_read((char*)ptr,&inode,sizeof(inode),1); //get inode 2 (rood-directory)
return inode;
@@ -189,8 +193,8 @@ void* ext2_get_indirectstart_double(void *start, uint32_t block_size, uint32_t i
int ext2_inode_content(char *ram,int inode_nr,uint8_t *ramdest,int max)
{
- ext2_check(ram);
- ext2_inode inode=ext2_get_inode(ram,inode_nr);
+ ext2_check((uint8_t *)ram);
+ ext2_inode inode=ext2_get_inode((uint8_t*)ram,inode_nr);
int pos=0;
int block=0;
@@ -248,7 +252,7 @@ int ext2_inode_content(char *ram,int inode_nr,uint8_t *ramdest,int max)
}
klog("Fool Check Sum: 0x%08X for %d bytes",sum,count);
-
+ return 1;
}
int ext2_filename_to_inode_traverse(uint8_t *ram, char *path,int inode_start)
@@ -322,11 +326,11 @@ int ext2_read_dir(uint8_t *ram, int inode_nr,fs_dirent *dirs,int max)
// read dir data
ext2_dir dir;
- ram_read(ptr,&dir,sizeof(dir),1);
+ ram_read((char*)ptr,&dir,sizeof(dir),1);
// read name
ptr+=sizeof(dir);
- ram_read(ptr,&buf,sizeof(char),dir.name_length_low);
+ ram_read((char*)ptr,&buf,sizeof(char),dir.name_length_low);
ptr+=dir.name_length_low;
buf[dir.name_length_low]=0;