diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2014-12-06 03:53:16 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2014-12-11 21:38:43 +0000 |
commit | 63f28dd197b4ee53b6c542fe423b12943855a045 (patch) | |
tree | ce0b07d6ab3281bb8f2f1135e7f09b1fc55f9c77 /fadvise.c | |
parent | 710b3ae4a29941777c7cba2891a30a8309617f20 (diff) | |
download | strace-63f28dd197b4ee53b6c542fe423b12943855a045.tar.gz |
file.c: move fadvise64 and fadvise64_64 parsers to a separate file
* fadvise.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* file.c: Move sys_fadvise64, sys_fadvise64_64, and related code
to fadvise.c.
Diffstat (limited to 'fadvise.c')
-rw-r--r-- | fadvise.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/fadvise.c b/fadvise.c new file mode 100644 index 000000000..850a4250d --- /dev/null +++ b/fadvise.c @@ -0,0 +1,35 @@ +#include "defs.h" + +#include <fcntl.h> + +#include "xlat/advise.h" + +int +sys_fadvise64(struct tcb *tcp) +{ + if (entering(tcp)) { + int argn; + printfd(tcp, tcp->u_arg[0]); + argn = printllval(tcp, ", %lld", 1); + tprintf(", %ld, ", tcp->u_arg[argn++]); + printxval(advise, tcp->u_arg[argn], "POSIX_FADV_???"); + } + return 0; +} + +int +sys_fadvise64_64(struct tcb *tcp) +{ + if (entering(tcp)) { + int argn; + printfd(tcp, tcp->u_arg[0]); + argn = printllval(tcp, ", %lld, ", 1); + argn = printllval(tcp, "%lld, ", argn); +#if defined __ARM_EABI__ || defined AARCH64 || defined POWERPC || defined XTENSA + printxval(advise, tcp->u_arg[1], "POSIX_FADV_???"); +#else + printxval(advise, tcp->u_arg[argn], "POSIX_FADV_???"); +#endif + } + return 0; +} |