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

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

?? loader.c

?? OpenBIOS是一個開源的BIOS實現(xiàn)
?? C
字號:
/* tag: openbios plugin loader * * Copyright (C) 2003 Stefan Reinauer * * See the file "COPYING" for further information about * the copyright and warranty status of this work. *//* This is a simple plugin loader. OpenBIOS duplicates some * of this code in kernel/arch/unix/plugins.c. This code is * here for reference and simple testing. */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <dlfcn.h>#include <unistd.h>		// sleep#include "unix/plugins.h"#define PLUGINDIR  "/usr/share/OpenBIOS/plugins"#define PATHSIZE   256#define DEBUG_PLUGINStypedef struct iorange iorange_t;struct iorange {	const char *name;	unsigned int start;	unsigned int end;	io_ops_t *ops;	iorange_t *next;};iorange_t *ioranges = NULL;typedef struct plugin plugin_t;struct plugin {	const char *name;	plugin_t *next;};plugin_t *plugins = NULL;int register_iorange(const char *name, io_ops_t * ops, unsigned int rstart,		     unsigned int rend){	iorange_t *newrange;	/* intersection check */	newrange = ioranges;	while (newrange) {		int fail = 0;		/* new section swallows old section */		if (newrange->start >= rstart && newrange->end <= rend)			fail = -1;		/* new section start or end point are within range */		if (newrange->start <= rstart && newrange->end >= rstart)			fail = -1;		if (newrange->start <= rend && newrange->end >= rend)			fail = -1;		if (fail) {			printf("Error: overlapping IO regions: %s and %s\n",			     newrange->name, name);			return -1;		}		newrange = newrange->next;	}	newrange = malloc(sizeof(iorange_t));	newrange->name = name;	newrange->ops = ops;	newrange->start = rstart;	newrange->end = rend;	newrange->next = ioranges;	ioranges = newrange;	return 0;}int is_loaded(const char *plugin_name){	plugin_t *p = plugins;	while (p) {		if (!strcmp(plugin_name, p->name))			return -1;		p = p->next;	}	return 0;}int load_plugin(const char *plugin_name){	void *handle;	char *error;	char path[PATHSIZE];	int (*init_plugin) (void);	char **deps;	char **plugin_info;	plugin_t *p;	if (is_loaded(plugin_name)) {		printf("Plugin %s already loaded.\n", plugin_name);		return 0;	}	strncpy(path, PLUGINDIR, PATHSIZE);	strncat(path, "/plugin_", PATHSIZE);	strncat(path, plugin_name, PATHSIZE);	strncat(path, ".so", PATHSIZE);#if DEBUG	printf("Opening plugin %s\n", path);#endif	handle = dlopen(path, RTLD_LAZY | RTLD_GLOBAL);	if (!handle) {		error = dlerror();		printf("Error: Could not open plugin \"%s\": %s\n",		       plugin_name, error);		exit(1);	}#ifdef DEBUG_PLUGINS	plugin_info = dlsym(handle, "plugin_author");	if ((error = dlerror()) == NULL)		printf("Plugin %s author:  %s\n", plugin_name, *plugin_info);	plugin_info = dlsym(handle, "plugin_license");	if ((error = dlerror()) == NULL)		printf("Plugin %s license: %s\n", plugin_name, *plugin_info);	plugin_info = dlsym(handle, "plugin_description");	if ((error = dlerror()) == NULL)		printf("Plugin %s descr.: %s\n", plugin_name, *plugin_info);#endif	p = malloc(sizeof(plugin_t));	p->next = plugins;	p->name = plugin_name;	plugins = p;	deps = dlsym(handle, "plugin_deps");	if ((error = dlerror()) != NULL)		deps = NULL;	strncpy(path, "plugin_", PATHSIZE);	strncat(path, plugin_name, PATHSIZE);	strncat(path, "_init", PATHSIZE);	init_plugin = dlsym(handle, path);	if ((error = dlerror()) != NULL) {		printf("error: %s\n", error);		exit(1);	}	if (deps) {		int i = 0;		char *walk = deps[0];#ifdef DEBUG_PLUGINS		printf("\nPlugin %s dependencies:", plugin_name);#endif		while (walk) {			printf(" %s", walk);			if (!is_loaded(walk)) {#ifdef DEBUG_PLUGINS				printf("(loading)\n");#endif				load_plugin(walk);			}#ifdef DEBUG_PLUGINS			else {				printf("(loaded)");			}#endif			walk = deps[++i];		}	}	printf("\n");#if DEBUG	printf("Initializing module:\n");#endif	return init_plugin();	// We don't dlclose the handle here since	// we want to keep our symbols for later use.}int main(void){	iorange_t *r;	// load_plugin("kbd");	// load_plugin("pci");	load_plugin("qt");	printf("\nRegistered IO Ranges:\n");	r = ioranges;	while (r) {		printf("  %s: %x-%x\n", r->name, r->start, r->end);		r = r->next;	}	sleep(10);	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩视频第一区| 亚洲精品亚洲人成人网在线播放| 久久国产三级精品| 国产老女人精品毛片久久| 97se亚洲国产综合自在线不卡| 欧美日韩国产成人在线91| 国产午夜亚洲精品不卡| 秋霞成人午夜伦在线观看| 91伊人久久大香线蕉| 国产调教视频一区| 久久福利视频一区二区| 欧美视频第二页| 亚洲人吸女人奶水| 菠萝蜜视频在线观看一区| 久久人人超碰精品| 狠狠色丁香久久婷婷综| 欧美一区二区三区在| 亚洲宅男天堂在线观看无病毒| 成人a免费在线看| 国产精品妹子av| 成人性色生活片免费看爆迷你毛片| 欧美xxxx在线观看| 欧美色综合影院| 亚洲欧美电影院| 成人ar影院免费观看视频| 亚洲精品一区二区在线观看| 欧美aaaaaa午夜精品| 欧美日韩国产区一| 亚洲va天堂va国产va久| 欧美一a一片一级一片| 一区二区三国产精华液| 91蜜桃免费观看视频| 亚洲精品国产无套在线观| av电影在线观看一区| 国产精品免费网站在线观看| 9色porny自拍视频一区二区| 国产精品久久毛片av大全日韩| 成人久久视频在线观看| 亚洲欧美日韩国产中文在线| 91麻豆自制传媒国产之光| 亚洲制服丝袜av| 欧美日韩国产不卡| 久久成人羞羞网站| 久久久久9999亚洲精品| 欧美日韩精品免费| 亚洲三级在线免费| 色婷婷综合激情| 午夜影视日本亚洲欧洲精品| 欧美高清视频在线高清观看mv色露露十八| 性做久久久久久免费观看欧美| 91精品国产综合久久久久久久 | 日本美女一区二区三区视频| 欧美日韩精品综合在线| 久久精品国产精品亚洲精品| 久久久久国产精品麻豆| 91美女蜜桃在线| 蜜臀久久久99精品久久久久久| 久久蜜桃av一区二区天堂| 99久久国产免费看| 日韩高清不卡一区二区| 国产天堂亚洲国产碰碰| 欧美综合欧美视频| 久久99精品国产| 亚洲视频一区二区在线| 欧美一区二区国产| 日韩女优制服丝袜电影| 国产精品18久久久久| 亚洲欧美韩国综合色| 欧美精品视频www在线观看| 国内精品嫩模私拍在线| 一区二区三区在线视频免费| 精品卡一卡二卡三卡四在线| 色欧美88888久久久久久影院| 免费成人在线视频观看| 18欧美乱大交hd1984| 欧美一级xxx| 91老师片黄在线观看| 久久9热精品视频| 亚洲愉拍自拍另类高清精品| 国产午夜三级一区二区三| 欧美理论片在线| 色视频一区二区| 成人黄色一级视频| 国产一区免费电影| 日本视频在线一区| 亚洲综合久久av| 国产精品网曝门| 精品精品欲导航| 色偷偷久久人人79超碰人人澡| 成人午夜在线免费| 天天操天天色综合| 亚洲女同ⅹxx女同tv| 国产欧美精品在线观看| 欧美mv和日韩mv国产网站| 欧美视频一区二区三区在线观看| 成人一区二区三区视频在线观看| 免费在线观看一区| 五月激情丁香一区二区三区| 一区二区三区成人| 亚洲精品视频在线| 中文字幕一区二区日韩精品绯色| 精品盗摄一区二区三区| 91精品国产欧美一区二区成人| 欧美性videosxxxxx| 色一情一伦一子一伦一区| 97精品超碰一区二区三区| 丁香亚洲综合激情啪啪综合| 国产一区不卡精品| 国产一区在线看| 国产精品原创巨作av| 国产伦精一区二区三区| 国产一区三区三区| 欧美一级高清片在线观看| 日本va欧美va欧美va精品| 一区二区三区蜜桃| 亚洲色图视频网| 亚洲靠逼com| 亚洲欧美另类综合偷拍| 亚洲美女免费视频| 亚洲一区二区视频在线| 午夜精品一区二区三区电影天堂 | 欧美一级国产精品| 欧美一级高清大全免费观看| 日韩精品一区二区在线观看| 精品久久久久一区二区国产| 精品福利一二区| 久久久久九九视频| 国产精品电影一区二区| 一区二区三区四区视频精品免费| 亚洲制服欧美中文字幕中文字幕| 午夜精彩视频在线观看不卡| 奇米亚洲午夜久久精品| 免费看黄色91| 精品裸体舞一区二区三区| 精品国产乱子伦一区| 国产午夜亚洲精品羞羞网站| 中文字幕一区二区三区四区| 亚洲在线观看免费视频| 日本aⅴ精品一区二区三区 | 久久综合中文字幕| 日本一区二区三区高清不卡| 亚洲欧洲性图库| 日本在线不卡视频一二三区| 国内精品免费**视频| 成人aaaa免费全部观看| 欧美精品日韩一本| 久久久www成人免费无遮挡大片 | 偷拍一区二区三区| 国产一区二区调教| 91免费看片在线观看| 8v天堂国产在线一区二区| 久久久99久久| 亚洲小少妇裸体bbw| 国产一区二区三区免费播放| 一区二区成人在线| 日韩一区二区免费视频| 日本一区二区视频在线观看| 亚洲成人动漫在线免费观看| 国产一区不卡视频| 欧美人狂配大交3d怪物一区| 日本一区二区三区国色天香| 日本伊人色综合网| 99re亚洲国产精品| 久久亚洲私人国产精品va媚药| 亚洲精品视频在线看| 国产伦精品一区二区三区视频青涩| 99精品黄色片免费大全| 久久综合久久99| 日日夜夜精品免费视频| 99久久婷婷国产综合精品电影| 精品国产乱码久久久久久闺蜜 | 久久精品视频网| 亚洲va欧美va人人爽| 不卡电影一区二区三区| 久久久久久久综合狠狠综合| 日韩和欧美一区二区三区| 色狠狠色噜噜噜综合网| 国产农村妇女精品| 狠狠色丁香婷婷综合| 91精品国产品国语在线不卡| 亚洲国产精品精华液网站| 99久久99久久综合| 91福利社在线观看| 国产片一区二区| 久久国产日韩欧美精品| 欧美一级片免费看| 亚洲成人av一区二区三区| 一本到不卡免费一区二区| 中文字幕一区二区三区精华液 | 欧美视频自拍偷拍| 亚洲免费观看高清完整版在线观看 | 777午夜精品免费视频| 亚洲成人先锋电影| 欧美视频自拍偷拍| 亚洲一区二区三区免费视频| 欧美影院精品一区| 亚洲成人av电影| 欧美剧情片在线观看| 午夜激情一区二区三区| 欧美一区二区在线观看|