summaryrefslogtreecommitdiff
path: root/fadvise.c
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2014-12-06 03:53:16 +0000
committerDmitry V. Levin <ldv@altlinux.org>2014-12-11 21:38:43 +0000
commit63f28dd197b4ee53b6c542fe423b12943855a045 (patch)
treece0b07d6ab3281bb8f2f1135e7f09b1fc55f9c77 /fadvise.c
parent710b3ae4a29941777c7cba2891a30a8309617f20 (diff)
downloadstrace-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.c35
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;
+}