Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
sysrq.h
Package: linux-2.4.20.tar.gz [view]
Upload User: jlfgdled
Upload Date: 2013-04-10
Package Size: 33168k
Code Size: 3k
Category:
Linux-Unix program
Development Platform:
Unix_Linux
- /* -*- linux-c -*-
- *
- * $Id: sysrq.h,v 1.3 1997/07/17 11:54:33 mj Exp $
- *
- * Linux Magic System Request Key Hacks
- *
- * (c) 1997 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
- *
- * (c) 2000 Crutcher Dunnavant <crutcher+kernel@datastacks.com>
- * overhauled to use key registration
- * based upon discusions in irc://irc.openprojects.net/#kernelnewbies
- */
- #ifndef __LINUX_SYSRQ_H__
- #define __LINUX_SYSRQ_H__
- #include <linux/config.h>
- struct pt_regs;
- struct kbd_struct;
- struct tty_struct;
- struct sysrq_key_op {
- void (*handler)(int, struct pt_regs *,
- struct kbd_struct *, struct tty_struct *);
- char *help_msg;
- char *action_msg;
- };
- #ifdef CONFIG_MAGIC_SYSRQ
- /* Generic SysRq interface -- you may call it from any device driver, supplying
- * ASCII code of the key, pointer to registers and kbd/tty structs (if they
- * are available -- else NULL's).
- */
- void handle_sysrq(int, struct pt_regs *,
- struct kbd_struct *, struct tty_struct *);
- /*
- * Nonlocking version of handle sysrq, used by sysrq handlers that need to
- * call sysrq handlers
- */
- void __handle_sysrq_nolock(int, struct pt_regs *,
- struct kbd_struct *, struct tty_struct *);
- /*
- * Sysrq registration manipulation functions
- */
- void __sysrq_lock_table (void);
- void __sysrq_unlock_table (void);
- struct sysrq_key_op *__sysrq_get_key_op (int key);
- void __sysrq_put_key_op (int key, struct sysrq_key_op *op_p);
- extern __inline__ int
- __sysrq_swap_key_ops_nolock(int key, struct sysrq_key_op *insert_op_p,
- struct sysrq_key_op *remove_op_p)
- {
- int retval;
- if (__sysrq_get_key_op(key) == remove_op_p) {
- __sysrq_put_key_op(key, insert_op_p);
- retval = 0;
- } else {
- retval = -1;
- }
- return retval;
- }
- extern __inline__ int
- __sysrq_swap_key_ops(int key, struct sysrq_key_op *insert_op_p,
- struct sysrq_key_op *remove_op_p) {
- int retval;
- __sysrq_lock_table();
- retval = __sysrq_swap_key_ops_nolock(key, insert_op_p, remove_op_p);
- __sysrq_unlock_table();
- return retval;
- }
- static inline int register_sysrq_key(int key, struct sysrq_key_op *op_p)
- {
- return __sysrq_swap_key_ops(key, op_p, NULL);
- }
- static inline int unregister_sysrq_key(int key, struct sysrq_key_op *op_p)
- {
- return __sysrq_swap_key_ops(key, NULL, op_p);
- }
- #else
- static inline int __reterr(void)
- {
- return -EINVAL;
- }
- #define register_sysrq_key(ig,nore) __reterr()
- #define unregister_sysrq_key(ig,nore) __reterr()
- #endif
- /* Deferred actions */
- extern volatile int emergency_sync_scheduled;
- #define EMERG_SYNC 1
- #define EMERG_REMOUNT 2
- void do_emergency_sync(void);
- #ifdef CONFIG_MAGIC_SYSRQ
- #define CHECK_EMERGENCY_SYNC
- if (emergency_sync_scheduled)
- do_emergency_sync();
- #else
- #define CHECK_EMERGENCY_SYNC
- #endif
- #endif /* __LINUX_SYSRQ_H__ */