From 0b6a72f27386b3434511c9916cb13ef2a9d86f23 Mon Sep 17 00:00:00 2001 From: Daniel Borkmann Date: Tue, 21 Feb 2012 18:25:51 +0100 Subject: [PATCH] xsys: removed signals.h and put stuff into xsys --- src/ashunt.c | 1 - src/curvetun.c | 2 +- src/flowtop.c | 2 +- src/ifpps.c | 1 - src/netsniff-ng.c | 1 - src/signals.h | 45 --------------------------------------------- src/trafgen.c | 1 - src/xsys.c | 22 ++++++++++++++++++++++ src/xsys.h | 3 ++- 9 files changed, 26 insertions(+), 52 deletions(-) delete mode 100644 src/signals.h diff --git a/src/ashunt.c b/src/ashunt.c index ff3cfc15..ea15ef0e 100644 --- a/src/ashunt.c +++ b/src/ashunt.c @@ -233,7 +233,6 @@ Please report bugs to #include "xmalloc.h" #include "xio.h" #include "aslookup.h" -#include "signals.h" #include "xsys.h" #include "mtrand.h" #include "parser.h" diff --git a/src/curvetun.c b/src/curvetun.c index 15e49a3a..a941b9b5 100644 --- a/src/curvetun.c +++ b/src/curvetun.c @@ -46,6 +46,7 @@ #include #include #include +#include #include "xsys.h" #include "stun.h" @@ -53,7 +54,6 @@ #include "tty.h" #include "xmalloc.h" #include "strlcpy.h" -#include "signals.h" #include "curvetun.h" #include "curve.h" #include "usermgmt.h" diff --git a/src/flowtop.c b/src/flowtop.c index d3afb278..85bc2bfa 100644 --- a/src/flowtop.c +++ b/src/flowtop.c @@ -39,9 +39,9 @@ #include "die.h" #include "xmalloc.h" +#include "xio.h" #include "compiler.h" #include "misc.h" -#include "signals.h" #include "locking.h" #include "timespec.h" #include "dissector_eth.h" diff --git a/src/ifpps.c b/src/ifpps.c index cba077a0..ee80de3a 100644 --- a/src/ifpps.c +++ b/src/ifpps.c @@ -127,7 +127,6 @@ Please report bugs to #include "timespec.h" #include "tty.h" #include "xsys.h" -#include "signals.h" /* * TODO: Cleanups, this got quite a hack over time. diff --git a/src/netsniff-ng.c b/src/netsniff-ng.c index 225c03bf..d924ac69 100644 --- a/src/netsniff-ng.c +++ b/src/netsniff-ng.c @@ -44,7 +44,6 @@ #include "pcap.h" #include "poll.h" #include "bpf.h" -#include "signals.h" #include "xio.h" #include "die.h" #include "tty.h" diff --git a/src/signals.h b/src/signals.h deleted file mode 100644 index 461a71b7..00000000 --- a/src/signals.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * netsniff-ng - the packet sniffing beast - * By Daniel Borkmann - * Copyright 2009, 2010 Daniel Borkmann. - * Subject to the GPL, version 2. - */ - -#ifndef SIGNALS_H -#define SIGNALS_H - -#include -#include - -static inline void register_signal(int signal, void (*handler)(int)) -{ - sigset_t block_mask; - struct sigaction saction; - - assert(handler); - - sigfillset(&block_mask); - saction.sa_handler = handler; - saction.sa_mask = block_mask; - saction.sa_flags = SA_RESTART; - - sigaction(signal, &saction, NULL); -} - -static inline void register_signal_f(int signal, void (*handler)(int), - int flags) -{ - sigset_t block_mask; - struct sigaction saction; - - assert(handler); - - sigfillset(&block_mask); - saction.sa_handler = handler; - saction.sa_mask = block_mask; - saction.sa_flags = flags; - - sigaction(signal, &saction, NULL); -} - -#endif /* SIGNALS_H */ diff --git a/src/trafgen.c b/src/trafgen.c index e8e8a6f4..21da6cd1 100644 --- a/src/trafgen.c +++ b/src/trafgen.c @@ -177,7 +177,6 @@ Please report bugs to #include "tty.h" #include "timespec.h" #include "mtrand.h" -#include "signals.h" #include "ring_tx.h" struct counter { diff --git a/src/xsys.c b/src/xsys.c index 59f319a5..3c8b7a06 100644 --- a/src/xsys.c +++ b/src/xsys.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -431,3 +432,24 @@ void sock_print_net_stats(int sock) } } +void register_signal(int signal, void (*handler)(int)) +{ + sigset_t block_mask; + struct sigaction saction; + sigfillset(&block_mask); + saction.sa_handler = handler; + saction.sa_mask = block_mask; + saction.sa_flags = SA_RESTART; + sigaction(signal, &saction, NULL); +} + +void register_signal_f(int signal, void (*handler)(int), int flags) +{ + sigset_t block_mask; + struct sigaction saction; + sigfillset(&block_mask); + saction.sa_handler = handler; + saction.sa_mask = block_mask; + saction.sa_flags = flags; + sigaction(signal, &saction, NULL); +} diff --git a/src/xsys.h b/src/xsys.h index 234c68ca..3f14de3e 100644 --- a/src/xsys.h +++ b/src/xsys.h @@ -43,7 +43,8 @@ extern void device_set_flags(const char *ifname, const short flags); extern int set_nonblocking(int fd); extern int set_nonblocking_sloppy(int fd); extern int set_reuseaddr(int fd); - +extern void register_signal(int signal, void (*handler)(int)); +extern void register_signal_f(int signal, void (*handler)(int), int flags); static inline short enter_promiscuous_mode(char *ifname) { -- 2.11.4.GIT