From 119d54c5456dcf1093ed133901fc0e98b189aea6 Mon Sep 17 00:00:00 2001 From: Stefan Lankes Date: Sun, 18 Jan 2015 07:42:58 +0100 Subject: [PATCH] add helper function to list the file system --- fs/fs.c | 37 +++++++++++++++++++++++++++++++++++++ include/eduos/fs.h | 3 ++- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/fs/fs.c b/fs/fs.c index ae15f02..842c798 100644 --- a/fs/fs.c +++ b/fs/fs.c @@ -207,3 +207,40 @@ vfs_node_t* findnode_fs(const char* name) return ret; } + +void list_fs(vfs_node_t* node, uint32_t depth) +{ + int j, i = 0; + dirent_t* dirent = NULL; + fildes_t* file = kmalloc(sizeof(fildes_t)); + file->offset = 0; + file->flags = 0; + + + while ((dirent = readdir_fs(node, i)) != 0) { + for(j=0; jname); + + if (strcmp(dirent->name, ".") && strcmp(dirent->name, "..")) { + vfs_node_t *new_node = finddir_fs(node, dirent->name); + if (new_node) { + if (new_node->type == FS_FILE) { + char buff[16] = {[0 ... 15] = 0x00}; + + file->node = new_node; + file->offset = 0; + file->flags = 0; + + read_fs(file, (uint8_t*)buff, 8); + for(j=0; j