LCOV - code coverage report
Current view: top level - include/linux - sysrq.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 2 100.0 %
Date: 2017-01-25 Functions: 0 0 -

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

Generated by: LCOV version 1.10