diff options
| author | Mole Shang <135e2@135e2.dev> | 2024-02-17 11:55:33 +0800 | 
|---|---|---|
| committer | Mole Shang <135e2@135e2.dev> | 2024-02-17 12:22:07 +0800 | 
| commit | e8e0a7b4c97064eb5e9415726d7e38aaceccd3fd (patch) | |
| tree | fb42ba5be7a8ae608b968266f62fd71fa889a89d /user/statistics.c | |
| parent | a6af72924b115c1177d18d9b1eaba56623e4248b (diff) | |
| parent | d85aec2689c4250d0384904bdc11aa618c726bec (diff) | |
| download | xv6-labs-e8e0a7b4c97064eb5e9415726d7e38aaceccd3fd.tar.gz xv6-labs-e8e0a7b4c97064eb5e9415726d7e38aaceccd3fd.tar.bz2 xv6-labs-e8e0a7b4c97064eb5e9415726d7e38aaceccd3fd.zip | |
Merge branch 'thread' into fs
Conflicts:
	.gitignore
	Makefile
	conf/lab.mk
    kernel/param.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; +} | 
