diff options
Diffstat (limited to 'userspace/ls.c')
| -rw-r--r-- | userspace/ls.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/userspace/ls.c b/userspace/ls.c new file mode 100644 index 0000000..50c733b --- /dev/null +++ b/userspace/ls.c @@ -0,0 +1,28 @@ +#include "../fs/fs.h" + +void usage() +{ + puts("ls [inode_nr]"); +} + +int main(int argc, char **argv) +{ + fs_dirent *dirs=malloc(sizeof(fs_dirent)*25); + + if(argc!=2) + { + usage(); + return 0; + } + + int ls=readdir(atoi(argv[1]),dirs,25); + + + int i; + for(i=0;i<ls;i++) + { + printf("%i %s%c\n",dirs[i].inode, dirs[i].name, ((dirs[i].type==FS_FILE_TYPE_DIR)?'/':' ')); + } + + return 0; +} |
