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

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

?? fbmngplay.c

?? 美化linux的kernel啟動畫面的程序
?? C
字號:
/* *	fbmngplay - fb console MNG player. *	(c) 2001-2002 by Stefan Reinauer, <stepan@suse.de> *   *	This program is based on mngplay, written and (C) by *	Ralph Giles <giles@ashlu.bc.ca> * *	This program my be redistributed under the terms of the *	GNU General Public Licence, version 2, or at your preference, *	any later version. */#include <unistd.h>#include <fcntl.h>#include <getopt.h>#include <sys/mman.h>#include <sys/ioctl.h>#include <linux/fb.h>#include <signal.h>#include "fbmngplay.h"#include "messages.h"#include "console.h"#include "mng.h"volatile int run = 1;int verbose = 0;int buffered = 0;int waitsignal = 0;int delta = 16;int sconly = 0;/* * Signal handlers */void sigint_handler(int sig){	if (waitsignal)		return;	run = 2;}void sigterm_handler(int sig){	if (waitsignal)		return;	restore_area();	run = 0;}void sigusr1_handler(int sig){	signal(SIGUSR1, SIG_IGN);	run = 0;}/* * Main loop */int main(int argc, char *argv[]){	int fbdev, c, option_index;	unsigned int alpha;	struct fb_var_screeninfo var;	struct fb_fix_screeninfo fix;	/* Check which console we're running on */	init_consoles();	/* allocate our stream data structure */	mng = (mngstuff *) calloc(1, sizeof(*mng));	if (mng == NULL) {		fprintf(stderr, "could not allocate stream structure.\n");		exit(0);	}	alpha = 100;	mng->alpha = 100;	mng->fbx = 15;	mng->fby = 15;	mng->background = NULL;	while (1) {		static struct option long_options[] = {			{"help", 0, 0, 'h'},			{"verbose", 0, 0, 'v'},			{"alpha", 1, 0, 'a'},			{"buffered", 0, 0, 'b'},			{"signal", 0, 0, 's'},			{"delta", 0, 0, 'd'},			{"version", 0, 0, 'V'},			{"start-console", 0, 0, 'S'},			{"console", 1, 0, 'c'},			{0, 0, 0, 0}		};		c = getopt_long(argc, argv, "a:x:y:bh?vsd:VSc:",				long_options, &option_index);		if (c == -1)			break;		switch (c) {		case 'a':			alpha = atoi(optarg);			if (alpha > 100)				alpha = 100;			mng->alpha = alpha;			break;		case 'x':			mng->fbx = atoi(optarg);			break;		case 'y':			mng->fby = atoi(optarg);			break;		case 'd':			delta = atoi(optarg);			break;		case '?':		case 'h':			usage(argv[0]);			exit(0);		case 'v':			verbose = 1;			break;		case 's':			waitsignal = 1;			break;		case 'b':			buffered = 1;			break;		case 'V':			version();			exit(0);		case 'c':			start_console = atoi(optarg) - 1;		case 'S':			sconly = 1;			break;		default:			break;		}	}#if 0	if (!output && optind >= argc) {#else	if (optind >= argc) {#endif		printf("Which files do you want to play?\n");		exit(0);	}	/* Initialize framebuffer */	fbdev = open("/dev/fb0", O_RDWR);	if (fbdev < 0) {		fprintf(stderr, "error while opening framebuffer.\n");		exit(fbdev);	}	ioctl(fbdev, FBIOGET_VSCREENINFO, &var);	mng->fbwidth = var.xres;	mng->fbheight = var.yres;	mng->fbbpp = var.bits_per_pixel;	mng->fbredo = var.red.offset;	mng->fbgreeno = var.green.offset;	mng->fbblueo = var.blue.offset;	mng->fbredl = var.red.length;	mng->fbgreenl = var.green.length;	mng->fbbluel = var.blue.length;	/* Display might have a line length unequal	 * the visible line.	 */	ioctl(fbdev, FBIOGET_FSCREENINFO, &fix);	mng->fbrow = fix.line_length;	mng->display =	    mmap(NULL, mng->fbrow * mng->fbheight,		 PROT_WRITE | PROT_READ, MAP_SHARED, fbdev, 0);#if 0	if (output)		prepare_output();#endif	/* arrange to call the shutdown routine before we exit */	atexit(&cleanup);	while (optind < argc) {		/* leftover arguements are filenames. */		mng->filename = argv[optind++];		/* set up the mng decoder for our stream */		mng->mng =		    mng_initialize(mng, mngalloc, mngfree, MNG_NULL);		if (mng->mng == MNG_NULL) {			fprintf(stderr, "could not initialize libmng.\n");			exit(1);		}		/* set the callbacks */		mng_setcb_errorproc(mng->mng, mngerror);		mng_setcb_openstream(mng->mng, mngopenstream);		mng_setcb_closestream(mng->mng, mngclosestream);		mng_setcb_readdata(mng->mng, mngreadstream);		mng_setcb_gettickcount(mng->mng, mnggetticks);		mng_setcb_settimer(mng->mng, mngsettimer);		mng_setcb_processheader(mng->mng, mngprocessheader);		mng_setcb_getcanvasline(mng->mng, mnggetcanvasline);		mng_setcb_refresh(mng->mng, mngrefresh);		signal(SIGINT, sigint_handler);		signal(SIGTERM, sigterm_handler);		mng_readdisplay(mng->mng);		/* loop though the frames */		while (mng->delay && run) {			usleep(mng->delay * 1000);			mng->delay = 0;			mng_display_resume(mng->mng);			if (run == 2) {				if (mng->alpha == 0)					run = 0;				mng->alpha -= delta;				if (mng->alpha < 0)					mng->alpha = 0;			}		}		if (waitsignal && optind < argc) {			signal(SIGUSR1, sigusr1_handler);			run = 1;			while (run) {				sleep(2);			}		}		memset(mng->copybuffer, 0, 4 * mng->width * mng->height);		run = 1;		mng->alpha = alpha;		if (optind == argc) {	/* last file */			restore_area();		}	}	/* cleanup and quit */	return mngquit(mng->mng);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性大战xxxxx久久久| 国产一区二区久久| 一区在线播放视频| 国产日韩精品久久久| 久久精品视频免费观看| 久久久影视传媒| 久久久蜜桃精品| 久久精品亚洲精品国产欧美| 久久精品视频一区二区三区| 久久久久久97三级| 国产女人水真多18毛片18精品视频| 久久久久久综合| 国产精品高清亚洲| 综合自拍亚洲综合图不卡区| 亚洲精品日韩综合观看成人91| 一区二区三区色| 亚洲成人av免费| 久久精品国产一区二区三| 韩国午夜理伦三级不卡影院| 国产成人av影院| 91丨porny丨在线| 欧美日韩国产高清一区| 日韩一区二区精品| 欧美国产一区视频在线观看| 国产精品福利在线播放| 亚洲成人精品一区二区| 久久国产精品99精品国产| 国产成人精品一区二区三区四区 | 亚洲精品精品亚洲| 亚洲成人av免费| 国产成人99久久亚洲综合精品| 91在线视频在线| 91精品国产品国语在线不卡| 久久久精品黄色| 亚洲福利视频一区| 成人妖精视频yjsp地址| 欧美男女性生活在线直播观看| 久久综合久久综合久久综合| 亚洲男人的天堂在线观看| 久久成人免费电影| 欧美特级限制片免费在线观看| 亚洲精品在线网站| 午夜亚洲福利老司机| 成人一级片在线观看| 这里只有精品99re| 亚洲人成在线播放网站岛国| 国内精品久久久久影院色| 在线视频观看一区| 国产精品美女久久久久久2018| 日本va欧美va欧美va精品| 91啪在线观看| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲视频在线一区观看| 国产suv精品一区二区883| 日韩一区二区三| 亚洲成人av中文| 在线国产电影不卡| 自拍偷拍国产精品| 粉嫩av亚洲一区二区图片| 欧美va亚洲va香蕉在线| 午夜国产精品一区| 欧美午夜电影一区| 一区二区三国产精华液| 99久久精品情趣| 中文一区在线播放| 粉嫩一区二区三区在线看| 日韩一区二区三区四区五区六区| 亚洲二区视频在线| 欧洲日韩一区二区三区| 一区二区三区欧美| 色呦呦国产精品| 亚洲自拍偷拍综合| 欧美日韩国产一级二级| 亚洲尤物在线视频观看| 欧美三级日韩在线| 午夜欧美一区二区三区在线播放| 欧美日韩一区二区三区在线看| 亚洲综合在线电影| 欧美视频在线不卡| 日本欧洲一区二区| 久久免费偷拍视频| 粉嫩在线一区二区三区视频| 国产精品久久久久久久裸模| 94色蜜桃网一区二区三区| 亚洲免费在线看| 欧美色图在线观看| 免费美女久久99| 久久在线观看免费| 不卡的av网站| 尤物在线观看一区| 欧美一区日韩一区| 国产一区二区三区黄视频| 国产精品久久久久久久久免费丝袜 | 国产成人综合在线| 欧美高清在线一区二区| aaa欧美日韩| 亚洲午夜影视影院在线观看| 日韩免费视频线观看| 成人妖精视频yjsp地址| 亚洲自拍偷拍九九九| 精品少妇一区二区三区视频免付费| 久久精品国产一区二区三区免费看| 欧美国产精品中文字幕| 欧美中文字幕一区| 精品一区二区三区欧美| 国产女同性恋一区二区| 欧美日韩亚洲丝袜制服| 国产麻豆成人传媒免费观看| 亚洲日本护士毛茸茸| 欧美电视剧在线看免费| gogo大胆日本视频一区| 日韩高清在线一区| 国产精品私人影院| 日韩视频一区二区三区在线播放 | 欧美精品一区二区三区蜜桃| 色女孩综合影院| 狠狠色伊人亚洲综合成人| 国产精品久久久久精k8| 91精品国产黑色紧身裤美女| 91亚洲精品久久久蜜桃网站| 日韩精品成人一区二区在线| 国产精品家庭影院| 久久综合中文字幕| 91精品国产乱码久久蜜臀| 99精品欧美一区| 国产美女视频一区| 日韩成人av影视| 亚洲国产一区二区视频| 国产精品私人影院| 国产欧美日韩视频在线观看| 日韩女优电影在线观看| 欧美日韩免费观看一区三区| 93久久精品日日躁夜夜躁欧美| 国产激情一区二区三区四区 | 日本一区二区三区四区| 91精品在线免费| 欧美视频一二三区| 色av一区二区| 97久久久精品综合88久久| 成人免费毛片aaaaa**| 紧缚奴在线一区二区三区| 丝瓜av网站精品一区二区| 亚洲欧美一区二区三区久本道91| 亚洲国产精品av| 国产片一区二区三区| 久久久久久免费网| 久久久久88色偷偷免费| 精品国一区二区三区| 日韩欧美激情一区| 日韩欧美一级特黄在线播放| 欧美一级午夜免费电影| 91精品国产综合久久精品app| 欧美三级视频在线播放| 欧美精品自拍偷拍| 欧美一区二区三区啪啪| 欧美一区二区播放| 精品日韩一区二区三区免费视频| 欧美一级日韩不卡播放免费| 日韩一区二区中文字幕| 精品成人一区二区三区四区| 久久一区二区视频| 欧美激情一区二区三区| 国产精品理论片在线观看| 日韩一区在线免费观看| 亚洲一区在线视频观看| 免费在线观看视频一区| 精品亚洲国内自在自线福利| 国产99久久久国产精品潘金| 91网站视频在线观看| 欧美日韩精品一区二区三区四区| 欧美乱妇23p| 精品国产免费一区二区三区四区| 国产亚洲精品超碰| 亚洲三级在线免费观看| 日韩成人免费电影| 国产精品一级在线| 色综合中文字幕国产| 欧美丝袜第三区| 欧美电影免费提供在线观看| 国产欧美精品一区二区三区四区 | 丰满放荡岳乱妇91ww| 91国产免费看| 欧美电视剧在线观看完整版| 中文字幕一区二区三区不卡| 亚洲成年人影院| 国产999精品久久久久久绿帽| 日本乱码高清不卡字幕| 日韩欧美资源站| 亚洲美腿欧美偷拍| 免费的成人av| 一本色道综合亚洲| 欧美精品一区男女天堂| 亚洲人成网站精品片在线观看| 日本在线不卡视频一二三区| 成人免费毛片app| 日韩一区国产二区欧美三区| 综合久久一区二区三区| 久久99精品一区二区三区| 色88888久久久久久影院野外| 久久综合久久综合久久综合|