mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 23:45:31 +08:00
ab7373bf23
Extract the sysrq handling from the ctrlchar_handle() into a separate function that can be directly used by other users. Introduce a new sysrq_work structure to embed the work_struct and to specify the magic sysrq function to be invoked. Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
32 lines
605 B
C
32 lines
605 B
C
/*
|
|
* Unified handling of special chars.
|
|
*
|
|
* Copyright IBM Corp. 2001
|
|
* Author(s): Fritz Elfert <felfert@millenux.com> <elfert@de.ibm.com>
|
|
*
|
|
*/
|
|
|
|
#include <linux/tty.h>
|
|
#include <linux/sysrq.h>
|
|
#include <linux/workqueue.h>
|
|
|
|
extern unsigned int
|
|
ctrlchar_handle(const unsigned char *buf, int len, struct tty_struct *tty);
|
|
|
|
|
|
#define CTRLCHAR_NONE (1 << 8)
|
|
#define CTRLCHAR_CTRL (2 << 8)
|
|
#define CTRLCHAR_SYSRQ (3 << 8)
|
|
|
|
#define CTRLCHAR_MASK (~0xffu)
|
|
|
|
|
|
#ifdef CONFIG_MAGIC_SYSRQ
|
|
struct sysrq_work {
|
|
int key;
|
|
struct work_struct work;
|
|
};
|
|
|
|
void schedule_sysrq_work(struct sysrq_work *sw);
|
|
#endif
|