diff options
| author | Mole Shang <135e2@135e2.dev> | 2024-02-19 14:10:32 +0800 |
|---|---|---|
| committer | Mole Shang <135e2@135e2.dev> | 2024-02-19 14:36:21 +0800 |
| commit | d86118fc80267649b4791c8c0c72ebd60edf1ef2 (patch) | |
| tree | b792b617b4df80a5803a9c1164d0e3fdfe9cfe31 /user/statistics.c | |
| parent | b20ef9d0210fd7d9403acde1857eed1b9880c0b2 (diff) | |
| parent | 0cf897cbe05fd8485162619db4244f4159d0eb52 (diff) | |
| download | xv6-labs-d86118fc80267649b4791c8c0c72ebd60edf1ef2.tar.gz xv6-labs-d86118fc80267649b4791c8c0c72ebd60edf1ef2.tar.bz2 xv6-labs-d86118fc80267649b4791c8c0c72ebd60edf1ef2.zip | |
Merge branch 'fs' into mmap
Conflicts:
.gitignore
Makefile
conf/lab.mk
kernel/defs.h
user/user.h
Diffstat (limited to 'user/statistics.c')
| -rw-r--r-- | user/statistics.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/user/statistics.c b/user/statistics.c new file mode 100644 index 0000000..e22681a --- /dev/null +++ b/user/statistics.c @@ -0,0 +1,24 @@ +#include "kernel/types.h" +#include "kernel/stat.h" +#include "kernel/fcntl.h" +#include "user/user.h" + +int +statistics(void *buf, int sz) +{ + int fd, i, n; + + fd = open("statistics", O_RDONLY); + if(fd < 0) { + fprintf(2, "stats: open failed\n"); + exit(1); + } + for (i = 0; i < sz; ) { + if ((n = read(fd, buf+i, sz-i)) < 0) { + break; + } + i += n; + } + close(fd); + return i; +} |
