diff options
author | kaashoek <kaashoek> | 2006-08-12 04:33:50 +0000 |
---|---|---|
committer | kaashoek <kaashoek> | 2006-08-12 04:33:50 +0000 |
commit | 1f544842ceb5af73b1f2b13222d72dd4ad7cd08a (patch) | |
tree | 49ad1096c0ad43c591c493166ff752a3e7cfd7cd /fd.c | |
parent | 0633b9715e106ac97fafcf3a68c06da1f0cf873a (diff) | |
download | xv6-labs-1f544842ceb5af73b1f2b13222d72dd4ad7cd08a.tar.gz xv6-labs-1f544842ceb5af73b1f2b13222d72dd4ad7cd08a.tar.bz2 xv6-labs-1f544842ceb5af73b1f2b13222d72dd4ad7cd08a.zip |
fstat
primitive ls
Diffstat (limited to 'fd.c')
-rw-r--r-- | fd.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -1,4 +1,5 @@ #include "types.h" +#include "stat.h" #include "param.h" #include "x86.h" #include "mmu.h" @@ -121,6 +122,18 @@ fd_close(struct fd *fd) release(&fd_table_lock); } +int +fd_stat(struct fd *fd, struct stat *st) +{ + if(fd->type == FD_FILE){ + ilock(fd->ip); + stati(fd->ip, st); + iunlock(fd->ip); + return 0; + } else + return -1; +} + void fd_incref(struct fd *fd) { |