亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sysrq.c

?? powerpc內核mpc8241linux系統下char驅動程序
?? C
字號:
/* -*- linux-c -*- * *	$Id: sysrq.c,v 1.15 1998/08/23 14:56:41 mj Exp $ * *	Linux Magic System Request Key Hacks * *	(c) 1997 Martin Mares <mj@atrey.karlin.mff.cuni.cz> *	based on ideas by Pavel Machek <pavel@atrey.karlin.mff.cuni.cz> */#include <linux/config.h>#include <linux/sched.h>#include <linux/interrupt.h>#include <linux/mm.h>#include <linux/fs.h>#include <linux/mount.h>#include <linux/kdev_t.h>#include <linux/major.h>#include <linux/reboot.h>#include <linux/sysrq.h>#include <linux/kbd_kern.h>#include <linux/quotaops.h>#include <linux/smp_lock.h>#include <asm/ptrace.h>#ifdef CONFIG_APM#include <linux/apm_bios.h>#endifextern void wakeup_bdflush(int);extern void reset_vc(unsigned int);extern int console_loglevel;extern struct vfsmount *vfsmntlist;/* Send a signal to all user processes */static void send_sig_all(int sig, int even_init){	struct task_struct *p;	for_each_task(p) {		if (p->pid && p->mm != &init_mm) {	    /* Not swapper nor kernel thread */			if (p->pid == 1 && even_init)	    /* Ugly hack to kill init */				p->pid = 0x8000;			force_sig(sig, p);		}	}}/* * This function is called by the keyboard handler when SysRq is pressed * and any other keycode arrives. */void handle_sysrq(int key, struct pt_regs *pt_regs,		  struct kbd_struct *kbd, struct tty_struct *tty){	int orig_log_level = console_loglevel;	if (!key)		return;	console_loglevel = 7;	printk(KERN_INFO "SysRq: ");	switch (key) {	case 'r':					    /* R -- Reset raw mode */		if (kbd) {			kbd->kbdmode = VC_XLATE;			printk("Keyboard mode set to XLATE\n");		}		break;#ifdef CONFIG_VT	case 'k':					    /* K -- SAK */		printk("SAK\n");		if (tty)			do_SAK(tty);		reset_vc(fg_console);		break;#endif	case 'b':					    /* B -- boot immediately */		printk("Resetting\n");		machine_restart(NULL);		break;#ifdef CONFIG_APM	case 'o':					    /* O -- power off */		printk("Power off\n");		apm_power_off();		break;#endif	case 's':					    /* S -- emergency sync */		printk("Emergency Sync\n");		emergency_sync_scheduled = EMERG_SYNC;		wakeup_bdflush(0);		break;	case 'u':					    /* U -- emergency remount R/O */		printk("Emergency Remount R/O\n");		emergency_sync_scheduled = EMERG_REMOUNT;		wakeup_bdflush(0);		break;	case 'p':					    /* P -- show PC */		printk("Show Regs\n");		if (pt_regs)			show_regs(pt_regs);		break;	case 't':					    /* T -- show task info */		printk("Show State\n");		show_state();		break;	case 'm':					    /* M -- show memory info */		printk("Show Memory\n");		show_mem();		break;	case '0' ... '9':				    /* 0-9 -- set console logging level */		orig_log_level = key - '0';		printk("Log level set to %d\n", orig_log_level);		break;	case 'e':					    /* E -- terminate all user processes */		printk("Terminate All Tasks\n");		send_sig_all(SIGTERM, 0);		orig_log_level = 8;			    /* We probably have killed syslogd */		break;	case 'i':					    /* I -- kill all user processes */		printk("Kill All Tasks\n");		send_sig_all(SIGKILL, 0);		orig_log_level = 8;		break;	case 'l':					    /* L -- kill all processes including init */		printk("Kill ALL Tasks (even init)\n");		send_sig_all(SIGKILL, 1);		orig_log_level = 8;		break;	default:					    /* Unknown: help */		if (kbd)			printk("unRaw ");#ifdef CONFIG_VT		if (tty)			printk("saK ");#endif		printk("Boot "#ifdef CONFIG_APM		       "Off "#endif		       "Sync Unmount showPc showTasks showMem loglevel0-8 tErm kIll killalL\n");		/* Don't use 'A' as it's handled specially on the Sparc */	}	console_loglevel = orig_log_level;}/* Aux routines for the syncer */static void all_files_read_only(void)	    /* Kill write permissions of all files */{	struct file *file;	for (file = inuse_filps; file; file = file->f_next)		if (file->f_dentry && file->f_count && S_ISREG(file->f_dentry->d_inode->i_mode))			file->f_mode &= ~2;}static int is_local_disk(kdev_t dev)	    /* Guess if the device is a local hard drive */{	unsigned int major = MAJOR(dev);	switch (major) {	case IDE0_MAJOR:	case IDE1_MAJOR:	case IDE2_MAJOR:	case IDE3_MAJOR:	case SCSI_DISK0_MAJOR:	case SCSI_DISK1_MAJOR:	case SCSI_DISK2_MAJOR:	case SCSI_DISK3_MAJOR:	case SCSI_DISK4_MAJOR:	case SCSI_DISK5_MAJOR:	case SCSI_DISK6_MAJOR:	case SCSI_DISK7_MAJOR:		return 1;	default:		return 0;	}}static void go_sync(kdev_t dev, int remount_flag){	printk(KERN_INFO "%sing device %s ... ",	       remount_flag ? "Remount" : "Sync",	       kdevname(dev));	if (remount_flag) {				    /* Remount R/O */		struct super_block *sb = get_super(dev);		struct vfsmount *vfsmnt;		int ret, flags;		if (!sb) {			printk("Superblock not found\n");			return;		}		if (sb->s_flags & MS_RDONLY) {			printk("R/O\n");			return;		}		DQUOT_OFF(dev);		fsync_dev(dev);		flags = MS_RDONLY;		if (sb->s_op && sb->s_op->remount_fs) {			ret = sb->s_op->remount_fs(sb, &flags, NULL);			if (ret)				printk("error %d\n", ret);			else {				sb->s_flags = (sb->s_flags & ~MS_RMT_MASK) | (flags & MS_RMT_MASK);				if ((vfsmnt = lookup_vfsmnt(sb->s_dev)))					vfsmnt->mnt_flags = sb->s_flags;				printk("OK\n");			}		} else			printk("nothing to do\n");	} else {		fsync_dev(dev);				    /* Sync only */		printk("OK\n");	}}/* * Emergency Sync or Unmount. We cannot do it directly, so we set a special * flag and wake up the bdflush kernel thread which immediately calls this function. * We process all mounted hard drives first to recover from crashed experimental * block devices and malfunctional network filesystems. */int emergency_sync_scheduled;void do_emergency_sync(void){	struct vfsmount *mnt;	int remount_flag;	lock_kernel();	remount_flag = (emergency_sync_scheduled == EMERG_REMOUNT);	emergency_sync_scheduled = 0;	if (remount_flag)		all_files_read_only();	for (mnt = vfsmntlist; mnt; mnt = mnt->mnt_next)		if (is_local_disk(mnt->mnt_dev))			go_sync(mnt->mnt_dev, remount_flag);	for (mnt = vfsmntlist; mnt; mnt = mnt->mnt_next)		if (!is_local_disk(mnt->mnt_dev) && MAJOR(mnt->mnt_dev))			go_sync(mnt->mnt_dev, remount_flag);	unlock_kernel();	printk(KERN_INFO "Done.\n");}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美卡一卡二| 欧美国产一区视频在线观看| 欧美大片一区二区| 国产精品久久久久天堂| 肉丝袜脚交视频一区二区| 国产精品综合在线视频| 91黄色在线观看| 久久精品人人爽人人爽| 日韩不卡手机在线v区| 色综合久久天天综合网| 精品成人免费观看| 亚洲观看高清完整版在线观看| 国产精品99久久久| 制服丝袜亚洲精品中文字幕| 亚洲精品乱码久久久久| 国产成人在线影院| 日韩欧美一级精品久久| 日韩电影在线观看电影| 在线免费观看视频一区| 国产精品人妖ts系列视频| 久久成人18免费观看| 在线不卡中文字幕| 亚洲精品乱码久久久久久日本蜜臀| 国产凹凸在线观看一区二区| 精品国产一区久久| 日本视频在线一区| 欧美日韩国产美| 一区二区三区在线免费视频| 99这里都是精品| 中文在线资源观看网站视频免费不卡| 精品一区二区国语对白| 日韩欧美一区中文| 免费在线视频一区| 日韩欧美国产综合| 美女看a上一区| 日韩欧美国产一区在线观看| 美女一区二区三区| 精品少妇一区二区三区视频免付费 | 丝袜美腿亚洲一区二区图片| 91久久精品午夜一区二区| 亚洲视频香蕉人妖| 91丨九色丨国产丨porny| 亚洲欧美在线aaa| 91小视频在线观看| 亚洲一区二区高清| 欧美日韩欧美一区二区| 日韩电影在线观看电影| 欧美电视剧免费全集观看| 韩国三级电影一区二区| 久久久99精品免费观看不卡| 国产成人久久精品77777最新版本| 久久九九久久九九| 成人精品一区二区三区中文字幕| 亚洲色图制服丝袜| 在线观看精品一区| 琪琪一区二区三区| xfplay精品久久| 99综合影院在线| 亚洲二区在线视频| 亚洲精品一区二区三区精华液 | 亚洲综合免费观看高清在线观看| 色一情一伦一子一伦一区| 亚洲夂夂婷婷色拍ww47| 日韩一二三四区| 国产精品456露脸| 一区二区三区在线影院| 8x8x8国产精品| 国产成人午夜电影网| 一区二区国产盗摄色噜噜| 日韩天堂在线观看| www.色综合.com| 日韩二区在线观看| 国产精品视频免费看| 欧美日韩在线播放一区| 国产一区二区精品在线观看| 亚洲精品国产精华液| 日韩欧美在线1卡| jiyouzz国产精品久久| 无码av中文一区二区三区桃花岛| 欧美精品一区二区三区一线天视频 | av电影天堂一区二区在线| 天堂一区二区在线免费观看| 国产欧美日韩亚州综合| 欧美日韩一区二区三区四区| 久久成人免费电影| 亚洲一区在线观看免费| 日本一区二区视频在线| 欧美精选一区二区| 91亚洲精品久久久蜜桃网站 | 丝袜美腿一区二区三区| 国产精品色哟哟网站| 日韩欧美精品在线| 欧美在线观看你懂的| 成人一区二区三区视频| 蜜臀av一区二区| 亚洲一区二区三区爽爽爽爽爽| 国产女人水真多18毛片18精品视频| 欧美日本在线看| 色94色欧美sute亚洲线路二| 国产mv日韩mv欧美| 激情av综合网| 毛片av中文字幕一区二区| 亚洲一级片在线观看| 亚洲视频 欧洲视频| 中文子幕无线码一区tr| 久久美女高清视频| 日韩丝袜情趣美女图片| 日韩一区二区三区av| 欧美剧情电影在线观看完整版免费励志电影 | 麻豆国产精品777777在线| 亚洲一线二线三线视频| 亚洲激情第一区| 欧美激情一区二区三区| 久久精品综合网| 久久亚洲精华国产精华液| 欧美一区二区三区视频| 欧美一区二区女人| 91精品综合久久久久久| 制服丝袜av成人在线看| 欧美高清视频不卡网| 91麻豆精品国产91久久久使用方法| 在线观看视频一区| 欧美视频一区二区三区| 欧美日韩在线亚洲一区蜜芽| 欧美午夜精品久久久久久超碰| 91九色最新地址| 欧美在线免费播放| 91.xcao| 欧美一级搡bbbb搡bbbb| 日韩精品在线一区二区| 精品久久久久久久人人人人传媒| 欧美tickling网站挠脚心| 久久精品男人天堂av| 国产精品国产三级国产| 亚洲精品精品亚洲| 亚洲国产美女搞黄色| 欧美96一区二区免费视频| 久久99精品久久久| 国产91露脸合集magnet| 99久久99久久综合| 欧美在线观看视频在线| 日韩三级伦理片妻子的秘密按摩| 精品88久久久久88久久久| 国产精品网友自拍| 一区二区在线观看av| 日韩va亚洲va欧美va久久| 国产夫妻精品视频| 色综合久久综合| 欧美一区二区黄色| 中文字幕第一页久久| 一区二区三区四区乱视频| 日本在线不卡一区| 国产成人精品午夜视频免费| 一本一道综合狠狠老| 91精品国产综合久久香蕉麻豆| www激情久久| 一区二区在线观看视频 | 日韩一区二区三| 国产精品色在线观看| 视频一区二区三区入口| 91极品美女在线| 日韩一区二区在线观看视频播放| 国产人妖乱国产精品人妖| 亚洲午夜激情网页| 国产盗摄视频一区二区三区| 欧美专区亚洲专区| 欧美精品一区二| 亚洲成人你懂的| 国产成人aaaa| 欧美一区二区三区啪啪| 最新欧美精品一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 91视频.com| 久久精品人人做| 蜜臀av一区二区| 欧美日韩中文字幕一区二区| 中文久久乱码一区二区| 精品亚洲成a人| 717成人午夜免费福利电影| 综合久久一区二区三区| 国产资源精品在线观看| 在线播放一区二区三区| 一区二区三区在线视频观看| 国产精品77777| 日韩三级视频中文字幕| 亚洲777理论| 色94色欧美sute亚洲线路一ni| 国产精品三级电影| 国产精品原创巨作av| 欧美成人精品二区三区99精品| 调教+趴+乳夹+国产+精品| 在线观看av不卡| 最新国产成人在线观看| 成人精品免费网站| 国产日本亚洲高清| 国产99久久久精品| 欧美国产精品专区| 国产精品自拍一区| 久久久久久电影| 国产一区二区久久|