vserver 2.0 rc7
[linux-2.6.git] / include / linux / sysrq.h
index b8415f0..ea819b8 100644 (file)
 struct pt_regs;
 struct tty_struct;
 
+/* Possible values of bitmask for enabling sysrq functions */
+/* 0x0001 is reserved for enable everything */
+#define SYSRQ_ENABLE_LOG       0x0002
+#define SYSRQ_ENABLE_KEYBOARD  0x0004
+#define SYSRQ_ENABLE_DUMP      0x0008
+#define SYSRQ_ENABLE_SYNC      0x0010
+#define SYSRQ_ENABLE_REMOUNT   0x0020
+#define SYSRQ_ENABLE_SIGNAL    0x0040
+#define SYSRQ_ENABLE_BOOT      0x0080
+#define SYSRQ_ENABLE_RTNICE    0x0100
+
 struct sysrq_key_op {
        void (*handler)(int, struct pt_regs *, struct tty_struct *);
        char *help_msg;
        char *action_msg;
+       int enable_mask;
 };
 
 #ifdef CONFIG_MAGIC_SYSRQ
@@ -30,7 +42,7 @@ struct sysrq_key_op {
  */
 
 void handle_sysrq(int, struct pt_regs *, struct tty_struct *);
-void __handle_sysrq(int, struct pt_regs *, struct tty_struct *);
+void __handle_sysrq(int, struct pt_regs *, struct tty_struct *, int check_mask);
 int register_sysrq_key(int, struct sysrq_key_op *);
 int unregister_sysrq_key(int, struct sysrq_key_op *);
 struct sysrq_key_op *__sysrq_get_key_op(int key);