]> granicus.if.org Git - strace/commitdiff
net: move parsers of bind, listen, and shutdown to separate files
authorDmitry V. Levin <ldv@altlinux.org>
Sun, 9 Jul 2017 13:54:01 +0000 (13:54 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sun, 9 Jul 2017 13:54:01 +0000 (13:54 +0000)
* bind.c: New file.
* listen.c: Likewise.
* shutdown.c: Likewise.
* Makefile.am (strace_SOURCES): Add them.
* net.c (SYS_FUNC(bind)): Move to bind.c.
(SYS_FUNC(listen)): Move to listen.c.
(SYS_FUNC(shutdown)): Move to shutdown.c.

Makefile.am
bind.c [new file with mode: 0644]
listen.c [new file with mode: 0644]
net.c
shutdown.c [new file with mode: 0644]

index f0c42fff93f24234a6c0747a512e6fb093ce1a2a..e7fb6869dc6d81076cb78b7e9e5969af9104ae46 100644 (file)
@@ -86,6 +86,7 @@ strace_SOURCES =      \
        affinity.c      \
        aio.c           \
        alpha.c         \
+       bind.c          \
        bjm.c           \
        block.c         \
        bpf.c           \
@@ -161,6 +162,7 @@ strace_SOURCES =    \
        linux/asm_stat.h \
        linux/x32/asm_stat.h \
        linux/x86_64/asm_stat.h \
+       listen.c        \
        lookup_dcookie.c \
        loop.c          \
        lseek.c         \
@@ -235,6 +237,7 @@ strace_SOURCES =    \
        sendfile.c      \
        sg_io_v3.c      \
        sg_io_v4.c      \
+       shutdown.c      \
        sigaltstack.c   \
        sigevent.h      \
        signal.c        \
diff --git a/bind.c b/bind.c
new file mode 100644 (file)
index 0000000..315a8aa
--- /dev/null
+++ b/bind.c
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-2000 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "defs.h"
+
+SYS_FUNC(bind)
+{
+       printfd(tcp, tcp->u_arg[0]);
+       tprints(", ");
+       const int addrlen = tcp->u_arg[2];
+       decode_sockaddr(tcp, tcp->u_arg[1], addrlen);
+       tprintf(", %d", addrlen);
+
+       return RVAL_DECODED;
+}
diff --git a/listen.c b/listen.c
new file mode 100644 (file)
index 0000000..b0847c5
--- /dev/null
+++ b/listen.c
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-2000 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "defs.h"
+
+SYS_FUNC(listen)
+{
+       printfd(tcp, tcp->u_arg[0]);
+       tprints(", ");
+       tprintf("%" PRI_klu, tcp->u_arg[1]);
+
+       return RVAL_DECODED;
+}
diff --git a/net.c b/net.c
index 01f53b682f3b047d6264f0367e0901c65cc18d89..ef11cb88fee696979c50c39b3ea992fa83ff41c5 100644 (file)
--- a/net.c
+++ b/net.c
@@ -168,26 +168,6 @@ SYS_FUNC(socket)
        return RVAL_DECODED | RVAL_FD;
 }
 
-SYS_FUNC(bind)
-{
-       printfd(tcp, tcp->u_arg[0]);
-       tprints(", ");
-       const int addrlen = tcp->u_arg[2];
-       decode_sockaddr(tcp, tcp->u_arg[1], addrlen);
-       tprintf(", %d", addrlen);
-
-       return RVAL_DECODED;
-}
-
-SYS_FUNC(listen)
-{
-       printfd(tcp, tcp->u_arg[0]);
-       tprints(", ");
-       tprintf("%" PRI_klu, tcp->u_arg[1]);
-
-       return RVAL_DECODED;
-}
-
 static bool
 fetch_socklen(struct tcb *const tcp, int *const plen,
              const kernel_ulong_t sockaddr, const kernel_ulong_t socklen)
@@ -349,17 +329,6 @@ SYS_FUNC(recvfrom)
        return 0;
 }
 
-#include "xlat/shutdown_modes.h"
-
-SYS_FUNC(shutdown)
-{
-       printfd(tcp, tcp->u_arg[0]);
-       tprints(", ");
-       printxval(shutdown_modes, tcp->u_arg[1], "SHUT_???");
-
-       return RVAL_DECODED;
-}
-
 SYS_FUNC(getsockname)
 {
        return decode_sockname(tcp);
diff --git a/shutdown.c b/shutdown.c
new file mode 100644 (file)
index 0000000..79a677c
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-2000 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "defs.h"
+
+#include <sys/socket.h>
+#include "xlat/shutdown_modes.h"
+
+SYS_FUNC(shutdown)
+{
+       printfd(tcp, tcp->u_arg[0]);
+       tprints(", ");
+       printxval(shutdown_modes, tcp->u_arg[1], "SHUT_???");
+
+       return RVAL_DECODED;
+}