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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? raw.c

?? Util-linux 軟件包包含許多工具。其中比較重要的是加載、卸載、格式化、分區(qū)和管理硬盤驅(qū)動(dòng)器
?? C
字號(hào):
/* * raw.c: User mode tool to bind and query raw character devices. * * Stephen Tweedie, 1999, 2000 * * This file may be redistributed under the terms of the GNU General * Public License, version 2. *  * Copyright Red Hat Software, 1999, 2000 * */#include <stdlib.h>#include <stdio.h>#include <unistd.h>#include <errno.h>#include <string.h>#include <sys/fcntl.h>#include <sys/stat.h>#include <sys/ioctl.h>#include <sys/sysmacros.h>#include <linux/raw.h>#include <linux/major.h>#ifdef OLD_RAW_DEVS#define RAWCTLDEV "/dev/raw"#define RAWDEVDIR "/dev/"#else#define RAWCTLDEV "/dev/rawctl"#define RAWDEVDIR "/dev/raw/"#endif#define DEVFS_RAWCTLDEV "/dev/raw/rawctl"char *	progname;int	do_query = 0;int	do_query_all = 0;int	master_fd;int	raw_minor;void open_raw_ctl(void);int  query(int minor, int quiet);int  bind (int minor, int block_major, int block_minor);static void usage(int err) {	fprintf(stderr,		"Usage:\n"		"  %s " RAWDEVDIR "rawN <major> <minor>\n"		"  %s " RAWDEVDIR "rawN /dev/<blockdev>\n"		"  %s -q " RAWDEVDIR "rawN\n"		"  %s -qa\n",		progname, progname, progname, progname);	exit(err);}int main(int argc, char *argv[]){	int  c;	char * raw_name;	char * block_name;	int  err;	int  block_major, block_minor;		int  i;	struct stat statbuf;		progname = argv[0];		while ((c = getopt(argc, argv, "ahq")) != -1) {		switch (c) {		case 'a':			do_query_all = 1;			break;		case 'h':			usage(0);		case 'q':			do_query = 1;			break;		default:			usage(1);		}	}		/*	 * Check for, and open, the master raw device, /dev/raw	 */		open_raw_ctl();		if (do_query_all) {		if (optind < argc)			usage(1);		for (i=1; i<255; i++)			query(i, 1);		exit(0);	}		/*	 * It's a bind or a single query.  Either way we need a raw device.	 */	if (optind >= argc)		usage(1);	raw_name = argv[optind++];	err = stat(raw_name, &statbuf);	if (err) {		fprintf (stderr, "Cannot locate raw device '%s' (%s)\n",			 raw_name, strerror(errno));		exit(2);	}		if (!S_ISCHR(statbuf.st_mode)) {		fprintf (stderr, "raw device '%s' is not a character dev\n",			 raw_name);		exit(2);	}	if (major(statbuf.st_rdev) != RAW_MAJOR) {		fprintf (stderr, "Device '%s' is not a raw dev\n",			 raw_name);		exit(2);	}	raw_minor = minor(statbuf.st_rdev);	if (do_query)		return query(raw_minor, 0);		/* 	 * It's not a query, so we still have some parsing to do.  Have	 * we been given a block device filename or a major/minor pair? 	 */	switch (argc - optind) {	case 1:		block_name = argv[optind];		err = stat(block_name, &statbuf);		if (err) {			fprintf (stderr,				 "Cannot locate block device '%s' (%s)\n",				 block_name, strerror(errno));			exit(2);		}				if (!S_ISBLK(statbuf.st_mode)) {			fprintf (stderr, "Device '%s' is not a block dev\n",				 block_name);			exit(2);		}				block_major = major(statbuf.st_rdev);		block_minor = minor(statbuf.st_rdev);		break;					case 2:		block_major = strtol(argv[optind], 0, 0);		block_minor = strtol(argv[optind+1], 0, 0);		break;			default:		block_major = block_minor = 0; /* just to keep gcc happy */		usage(1);	}		return bind(raw_minor, block_major, block_minor);	return 0;	}void open_raw_ctl(void){	int errsv;	master_fd = open(RAWCTLDEV, O_RDWR, 0);	if (master_fd < 0) {		errsv = errno;		master_fd = open(DEVFS_RAWCTLDEV, O_RDWR, 0);		if (master_fd < 0) {			fprintf (stderr, 				 "Cannot open master raw device '"				 RAWCTLDEV				 "' (%s)\n", strerror(errsv));			exit(2);		}	}}int query(int minor, int quiet){	struct raw_config_request rq;	int err;		rq.raw_minor = minor;	err = ioctl(master_fd, RAW_GETBIND, &rq);	if (err < 0) {		if (quiet && errno == ENODEV)			return 3;		fprintf (stderr, 			 "Error querying raw device (%s)\n",			 strerror(errno));		exit(3);	}	if (quiet && !rq.block_major && !rq.block_minor)		return 0;	printf (RAWDEVDIR "raw%d:	bound to major %d, minor %d\n",		minor, (int) rq.block_major, (int) rq.block_minor);	return 0;}int bind(int minor, int block_major, int block_minor){	struct raw_config_request rq;	int err;		rq.raw_minor   = minor;	rq.block_major = block_major;	rq.block_minor = block_minor;	err = ioctl(master_fd, RAW_SETBIND, &rq);	if (err < 0) {		fprintf (stderr, 			 "Error setting raw device (%s)\n",			 strerror(errno));		exit(3);	}	printf (RAWDEVDIR "raw%d:	bound to major %d, minor %d\n",		raw_minor, (int) rq.block_major, (int) rq.block_minor);	return 0;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲成aⅴ人片在线观看| 97se狠狠狠综合亚洲狠狠| 成人黄色在线网站| 91福利在线播放| 欧美一级高清片| 欧美精彩视频一区二区三区| 一区二区三区四区在线播放 | 91在线视频免费观看| 91国在线观看| 欧美精品一区二区三区在线播放| 国产精品乱码人人做人人爱| 亚洲第一二三四区| 成人性视频免费网站| 欧美精品一二三| 国产精品久久久久久福利一牛影视 | 美腿丝袜亚洲三区| www.激情成人| 日韩亚洲欧美中文三级| 国产精品麻豆视频| 日本免费新一区视频| 成人国产亚洲欧美成人综合网| 欧美日本免费一区二区三区| 中文字幕精品在线不卡| 亚洲电影欧美电影有声小说| 丰满亚洲少妇av| 欧美一区二区性放荡片| 亚洲欧洲国产日韩| 久久精品72免费观看| 色婷婷国产精品| 久久久久久免费毛片精品| 亚洲午夜电影在线| 99久久精品费精品国产一区二区| 日韩视频在线一区二区| 一区二区三区中文字幕精品精品 | 久久久久久久久一| 肉色丝袜一区二区| 91精彩视频在线观看| 中文在线资源观看网站视频免费不卡 | www.欧美.com| 久久网站最新地址| 日韩福利电影在线观看| 色呦呦网站一区| 国产精品色哟哟| 国产一区二区女| 欧美mv和日韩mv的网站| 亚洲大片免费看| 色婷婷综合在线| 国产精品久久久久影院| 国产一区二区三区日韩| 日韩欧美亚洲国产另类| 石原莉奈一区二区三区在线观看 | 性久久久久久久| 色综合久久88色综合天天| 中文字幕av免费专区久久| 国产精品一区二区三区四区 | 国产福利一区二区| 欧美tickling挠脚心丨vk| 日韩精品三区四区| 欧美精品成人一区二区三区四区| 亚洲一区二区影院| 日本高清不卡在线观看| 国产精品国产三级国产普通话三级| 国产美女在线观看一区| 精品国产乱码久久久久久久久| 久久精品国产网站| 日韩色在线观看| 美女在线一区二区| 精品久久久久一区二区国产| 免费不卡在线观看| 精品日产卡一卡二卡麻豆| 久久福利视频一区二区| 日韩久久久精品| 狠狠色综合日日| 国产午夜一区二区三区| 国产成人精品亚洲日本在线桃色 | 972aa.com艺术欧美| 日韩一区中文字幕| 91麻豆国产香蕉久久精品| 亚洲精品一二三| 欧美人伦禁忌dvd放荡欲情| 日韩在线一二三区| 欧美一级黄色片| 国内成人自拍视频| 国产精品视频免费| 91污在线观看| 亚洲成人福利片| 欧美电视剧在线看免费| 国产自产v一区二区三区c| 欧美国产日韩精品免费观看| 99久久综合国产精品| 亚洲一二三区在线观看| 91精品国产综合久久婷婷香蕉| 热久久久久久久| 国产亚洲精品aa| 色婷婷综合五月| 麻豆精品久久久| 久久精品水蜜桃av综合天堂| av一区二区三区| 亚洲一区二区三区不卡国产欧美| 日韩一区二区免费高清| 国产乱国产乱300精品| 一区二区中文字幕在线| 欧美日韩一二三区| 精品制服美女丁香| 亚洲欧洲一区二区在线播放| 欧美日韩激情一区二区三区| 精品亚洲欧美一区| 秋霞电影网一区二区| 国产美女主播视频一区| 亚洲精选视频免费看| 91麻豆精品国产91久久久久久久久| 国内外精品视频| 一区二区三区色| 日韩免费观看2025年上映的电影| 成人黄色小视频| 日韩精品一二三四| 亚洲国产精品黑人久久久| 91在线视频免费观看| 免费成人在线观看| 中文字幕一区二区三区在线观看| 精品污污网站免费看| 国产一区二区久久| 亚洲一区二区三区三| 国产亚洲短视频| 欧美丰满美乳xxx高潮www| 丁香激情综合国产| 五月婷婷久久丁香| 亚洲国产精品激情在线观看| 欧美高清激情brazzers| 成人性色生活片| 久久国产欧美日韩精品| 亚洲精品乱码久久久久久黑人| 久久综合久久综合久久| 91激情五月电影| 国产黄色91视频| 奇米一区二区三区| 一区二区三区四区五区视频在线观看| 欧美va亚洲va在线观看蝴蝶网| 91国偷自产一区二区开放时间| 国产乱妇无码大片在线观看| 日本在线观看不卡视频| 一区二区在线观看视频| 国产日产亚洲精品系列| 日韩亚洲欧美高清| 欧洲一区二区av| 成人免费视频视频在线观看免费| 奇米777欧美一区二区| 夜夜嗨av一区二区三区中文字幕| 亚洲综合丁香婷婷六月香| 精品福利在线导航| 6080yy午夜一二三区久久| 99久久精品99国产精品| 国产精品996| 九色|91porny| 日本欧美一区二区| 一区二区三区欧美日韩| 欧美高清在线精品一区| 欧美成人一区二区三区| 51精品秘密在线观看| 一本大道久久a久久精二百| 成人黄色在线网站| 国产原创一区二区| 久久成人精品无人区| 日韩电影在线免费| 午夜婷婷国产麻豆精品| 亚洲精品成人天堂一二三| 日本一区二区三区四区在线视频| 精品国产露脸精彩对白| 欧美一区二区大片| 欧美卡1卡2卡| 欧美人与z0zoxxxx视频| 欧美日韩一区二区三区在线看| 91无套直看片红桃| 91麻豆成人久久精品二区三区| 成人一区二区三区视频| 国产在线视频一区二区三区| 久久精品国产亚洲一区二区三区| 免费av成人在线| 久久国产福利国产秒拍| 九一九一国产精品| 国产在线不卡视频| 国产成人啪午夜精品网站男同| 国产乱码精品一区二区三 | 精品久久久久久久久久久久久久久久久 | 国产女主播一区| 国产精品网站导航| 一色桃子久久精品亚洲| 亚洲欧美日韩国产综合在线| 亚洲精品日韩综合观看成人91| 综合欧美一区二区三区| 亚洲免费观看高清完整版在线| 亚洲欧美日韩人成在线播放| 亚洲综合一区二区精品导航| 五月天视频一区| 免费xxxx性欧美18vr| 国产在线观看一区二区| 成人免费va视频| 色婷婷狠狠综合| 欧美福利一区二区| 日韩精品一区二区三区视频在线观看 |