diff options
author | Ingo Molnar <mingo@kernel.org> | 2017-02-03 23:43:50 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-03-03 01:43:48 +0100 |
commit | 76960dbf9b235b957d9d730be2c6c2a70f709026 (patch) | |
tree | 30f16c63009de1ec034051bd459e8b3cfbb96dd5 /include/linux/signal_types.h | |
parent | 70806b21e4d64f01193a2b64a053b75ff53a2b10 (diff) | |
download | blackbird-op-linux-76960dbf9b235b957d9d730be2c6c2a70f709026.tar.gz blackbird-op-linux-76960dbf9b235b957d9d730be2c6c2a70f709026.zip |
signals: Move signal data types from <linux/signal.h> to <linux/signal_types.h>
Separate out just the pure data types - sched.h will be able to use
this reduced size header.
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/signal_types.h')
-rw-r--r-- | include/linux/signal_types.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/include/linux/signal_types.h b/include/linux/signal_types.h index 28799c88f490..16d862a3d8f3 100644 --- a/include/linux/signal_types.h +++ b/include/linux/signal_types.h @@ -1,7 +1,66 @@ #ifndef _LINUX_SIGNAL_TYPES_H #define _LINUX_SIGNAL_TYPES_H +/* + * Basic signal handling related data type definitions: + */ + #include <linux/list.h> #include <uapi/linux/signal.h> +/* + * Real Time signals may be queued. + */ + +struct sigqueue { + struct list_head list; + int flags; + siginfo_t info; + struct user_struct *user; +}; + +/* flags values. */ +#define SIGQUEUE_PREALLOC 1 + +struct sigpending { + struct list_head list; + sigset_t signal; +}; + +struct sigaction { +#ifndef __ARCH_HAS_IRIX_SIGACTION + __sighandler_t sa_handler; + unsigned long sa_flags; +#else + unsigned int sa_flags; + __sighandler_t sa_handler; +#endif +#ifdef __ARCH_HAS_SA_RESTORER + __sigrestore_t sa_restorer; +#endif + sigset_t sa_mask; /* mask last for extensibility */ +}; + +struct k_sigaction { + struct sigaction sa; +#ifdef __ARCH_HAS_KA_RESTORER + __sigrestore_t ka_restorer; +#endif +}; + +#ifdef CONFIG_OLD_SIGACTION +struct old_sigaction { + __sighandler_t sa_handler; + old_sigset_t sa_mask; + unsigned long sa_flags; + __sigrestore_t sa_restorer; +}; +#endif + +struct ksignal { + struct k_sigaction ka; + siginfo_t info; + int sig; +}; + #endif /* _LINUX_SIGNAL_TYPES_H */ |