Declare syscall parsers using SYS_FUNC macro
Introduce SYS_FUNC macro to declare and define all syscall parsers.
* Makefile.am (BUILT_SOURCES, CLEANFILES): Add sys_func.h.
(sys_func.h): New rule.
* defs.h (SYS_FUNC_NAME, SYS_FUNC): New macros.
* linux/syscall.h: Include "sys_func.h".
[NEED_UID16_PARSERS]: Use SYS_FUNC to declare uid16 syscall parsers.
Remove other declarations.
* linux/alpha/syscallent.h (160, 161): Add sys_ prefix to osf_statfs
and osf_fstatfs syscall parsers.
* *.c: Use SYS_FUNC to define syscall parsers.
diff --git a/desc.c b/desc.c
index 485c802..1b9dd1a 100644
--- a/desc.c
+++ b/desc.c
@@ -145,8 +145,7 @@
tprints("}");
}
-int
-sys_fcntl(struct tcb *tcp)
+SYS_FUNC(fcntl)
{
if (entering(tcp)) {
printfd(tcp, tcp->u_arg[0]);
@@ -244,8 +243,7 @@
#ifdef LOCK_SH
-int
-sys_flock(struct tcb *tcp)
+SYS_FUNC(flock)
{
if (entering(tcp)) {
printfd(tcp, tcp->u_arg[0]);
@@ -256,8 +254,7 @@
}
#endif /* LOCK_SH */
-int
-sys_close(struct tcb *tcp)
+SYS_FUNC(close)
{
if (entering(tcp)) {
printfd(tcp, tcp->u_arg[0]);
@@ -265,8 +262,7 @@
return 0;
}
-int
-sys_dup(struct tcb *tcp)
+SYS_FUNC(dup)
{
if (entering(tcp)) {
printfd(tcp, tcp->u_arg[0]);
@@ -289,21 +285,18 @@
return RVAL_FD;
}
-int
-sys_dup2(struct tcb *tcp)
+SYS_FUNC(dup2)
{
return do_dup2(tcp, -1);
}
-int
-sys_dup3(struct tcb *tcp)
+SYS_FUNC(dup3)
{
return do_dup2(tcp, 2);
}
#if defined(ALPHA)
-int
-sys_getdtablesize(struct tcb *tcp)
+SYS_FUNC(getdtablesize)
{
return 0;
}
@@ -440,8 +433,7 @@
return 0;
}
-int
-sys_oldselect(struct tcb *tcp)
+SYS_FUNC(oldselect)
{
long args[5];
@@ -453,8 +445,7 @@
}
#ifdef ALPHA
-int
-sys_osf_select(struct tcb *tcp)
+SYS_FUNC(osf_select)
{
long *args = tcp->u_arg;
return decode_select(tcp, args, BITNESS_32);
@@ -466,14 +457,12 @@
#include "xlat/epollflags.h"
/* Not aliased to printargs_ld: we want it to have a distinct address */
-int
-sys_epoll_create(struct tcb *tcp)
+SYS_FUNC(epoll_create)
{
return printargs_ld(tcp);
}
-int
-sys_epoll_create1(struct tcb *tcp)
+SYS_FUNC(epoll_create1)
{
if (entering(tcp))
printflags(epollflags, tcp->u_arg[0], "EPOLL_???");
@@ -493,8 +482,7 @@
}
#endif
-int
-sys_epoll_ctl(struct tcb *tcp)
+SYS_FUNC(epoll_ctl)
{
if (entering(tcp)) {
printfd(tcp, tcp->u_arg[0]);
@@ -563,15 +551,13 @@
}
}
-int
-sys_epoll_wait(struct tcb *tcp)
+SYS_FUNC(epoll_wait)
{
epoll_wait_common(tcp);
return 0;
}
-int
-sys_epoll_pwait(struct tcb *tcp)
+SYS_FUNC(epoll_pwait)
{
epoll_wait_common(tcp);
if (exiting(tcp)) {
@@ -583,14 +569,12 @@
return 0;
}
-int
-sys_select(struct tcb *tcp)
+SYS_FUNC(select)
{
return decode_select(tcp, tcp->u_arg, BITNESS_CURRENT);
}
-int
-sys_pselect6(struct tcb *tcp)
+SYS_FUNC(pselect6)
{
int rc = decode_select(tcp, tcp->u_arg, BITNESS_CURRENT);
if (entering(tcp)) {
@@ -636,20 +620,17 @@
return 0;
}
-int
-sys_eventfd(struct tcb *tcp)
+SYS_FUNC(eventfd)
{
return do_eventfd(tcp, -1);
}
-int
-sys_eventfd2(struct tcb *tcp)
+SYS_FUNC(eventfd2)
{
return do_eventfd(tcp, 1);
}
-int
-sys_perf_event_open(struct tcb *tcp)
+SYS_FUNC(perf_event_open)
{
if (entering(tcp)) {
tprintf("%#lx, %d, %d, %d, ",