~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/sysrq.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 /* -*- linux-c -*-
  3  *
  4  *      $Id: sysrq.h,v 1.3 1997/07/17 11:54:33 mj Exp $
  5  *
  6  *      Linux Magic System Request Key Hacks
  7  *
  8  *      (c) 1997 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
  9  *
 10  *      (c) 2000 Crutcher Dunnavant <crutcher+kernel@datastacks.com>
 11  *      overhauled to use key registration
 12  *      based upon discusions in irc://irc.openprojects.net/#kernelnewbies
 13  */
 14 
 15 #ifndef _LINUX_SYSRQ_H
 16 #define _LINUX_SYSRQ_H
 17 
 18 #include <linux/errno.h>
 19 #include <linux/types.h>
 20 
 21 /* Possible values of bitmask for enabling sysrq functions */
 22 /* 0x0001 is reserved for enable everything */
 23 #define SYSRQ_ENABLE_LOG        0x0002
 24 #define SYSRQ_ENABLE_KEYBOARD   0x0004
 25 #define SYSRQ_ENABLE_DUMP       0x0008
 26 #define SYSRQ_ENABLE_SYNC       0x0010
 27 #define SYSRQ_ENABLE_REMOUNT    0x0020
 28 #define SYSRQ_ENABLE_SIGNAL     0x0040
 29 #define SYSRQ_ENABLE_BOOT       0x0080
 30 #define SYSRQ_ENABLE_RTNICE     0x0100
 31 
 32 struct sysrq_key_op {
 33         void (* const handler)(u8);
 34         const char * const help_msg;
 35         const char * const action_msg;
 36         const int enable_mask;
 37 };
 38 
 39 #ifdef CONFIG_MAGIC_SYSRQ
 40 
 41 /* Generic SysRq interface -- you may call it from any device driver, supplying
 42  * ASCII code of the key, pointer to registers and kbd/tty structs (if they
 43  * are available -- else NULL's).
 44  */
 45 
 46 void handle_sysrq(u8 key);
 47 void __handle_sysrq(u8 key, bool check_mask);
 48 int register_sysrq_key(u8 key, const struct sysrq_key_op *op);
 49 int unregister_sysrq_key(u8 key, const struct sysrq_key_op *op);
 50 extern const struct sysrq_key_op *__sysrq_reboot_op;
 51 
 52 int sysrq_toggle_support(int enable_mask);
 53 int sysrq_mask(void);
 54 
 55 #else
 56 
 57 static inline void handle_sysrq(u8 key)
 58 {
 59 }
 60 
 61 static inline void __handle_sysrq(u8 key, bool check_mask)
 62 {
 63 }
 64 
 65 static inline int register_sysrq_key(u8 key, const struct sysrq_key_op *op)
 66 {
 67         return -EINVAL;
 68 }
 69 
 70 static inline int unregister_sysrq_key(u8 key, const struct sysrq_key_op *op)
 71 {
 72         return -EINVAL;
 73 }
 74 
 75 static inline int sysrq_mask(void)
 76 {
 77         /* Magic SysRq disabled mask */
 78         return 0;
 79 }
 80 
 81 #endif
 82 
 83 #endif /* _LINUX_SYSRQ_H */
 84 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php