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

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

?? usb-driver.c

?? Xilinx USB下載線 Linux驅動
?? C
?? 第 1 頁 / 共 2 頁
字號:
			}			break;		case INT_WAIT:			DPRINTF("INT_WAIT\n");			{				struct interrupt *it = (struct interrupt*)(wdheader->data);				DPRINTF("-> Handle: 0x%lx, Options: %lx, ncmds: %lu, enableok: %lu, count: %lu, lost: %lu, stopped: %lu\n",				it->hInterrupt, it->dwOptions,				it->dwCmds, it->fEnableOk, it->dwCounter,				it->dwLost, it->fStopped);#ifndef NO_WINDRVR				ret = (*ioctl_func) (fd, request, wdioctl);#else				ret = xpcu_int_wait(it);#endif				DPRINTF("<- INT_WAIT_RETURN: Handle: 0x%lx, Options: %lx, ncmds: %lu, enableok: %lu, count: %lu, lost: %lu, stopped: %lu\n",				it->hInterrupt, it->dwOptions, it->dwCmds,				it->fEnableOk, it->dwCounter, it->dwLost,				it->fStopped);			}			break;		case CARD_UNREGISTER:			DPRINTF("CARD_UNREGISTER\n");			{				struct card_register* cr = (struct card_register*)(wdheader->data);				DPRINTF("-> Addr: 0x%lx, bytes: %lu, bar: %lu\n",				(unsigned long)cr->Card.Item[0].I.IO.dwAddr,				cr->Card.Item[0].I.IO.dwBytes,				cr->Card.Item[0].I.IO.dwBar);				DPRINTF("-> hCard: %lu\n", cr->hCard);#ifndef NO_WINDRVR				ret = (*ioctl_func) (fd, request, wdioctl);#else				if (pport)					pport->close(cr->hCard);				pport = NULL;#endif			}			break;		case EVENT_PULL:			DPRINTF("EVENT_PULL\n");			{				struct event *e = (struct event*)(wdheader->data);#ifdef DEBUG				int i;				DPRINTF("-> handle: 0x%lx, action: %lu, status: %lu, eventid: %lu, cardtype: %lx, kplug: %lu, options: %lu, dev: %lx:%lx, unique: 0x%lx, ver: %lu, nummatch: %lu\n",				e->handle, e->dwAction, e->dwStatus,				e->dwEventId, e->dwCardType, e->hKernelPlugIn,				e->dwOptions, e->u.Usb.deviceId.dwVendorId,				e->u.Usb.deviceId.dwProductId,				e->u.Usb.dwUniqueID, e->dwEventVer,				e->dwNumMatchTables);				for (i = 0; i < e->dwNumMatchTables; i++)					DPRINTF("-> match: dev: %04x:%04x, class: %x, subclass: %x, intclass: %x, intsubclass: %x, intproto: %x\n",					e->matchTables[i].VendorId,					e->matchTables[i].ProductId,					e->matchTables[i].bDeviceClass,					e->matchTables[i].bDeviceSubClass,					e->matchTables[i].bInterfaceClass,					e->matchTables[i].bInterfaceSubClass,					e->matchTables[i].bInterfaceProtocol);#endif#ifndef NO_WINDRVR				ret = (*ioctl_func) (fd, request, wdioctl);#else				ret = xpcu_found(e);#endif#ifdef DEBUG				DPRINTF("<- handle: 0x%lx, action: %lu, status: %lu, eventid: %lu, cardtype: %lx, kplug: %lu, options: %lu, dev: %lx:%lx, unique: 0x%lx, ver: %lu, nummatch: %lu\n",				e->handle, e->dwAction, e->dwStatus,				e->dwEventId, e->dwCardType, e->hKernelPlugIn,				e->dwOptions, e->u.Usb.deviceId.dwVendorId,				e->u.Usb.deviceId.dwProductId,				e->u.Usb.dwUniqueID, e->dwEventVer,				e->dwNumMatchTables);				for (i = 0; i < e->dwNumMatchTables; i++)					DPRINTF("<- match: dev: %04x:%04x, class: %x, subclass: %x, intclass: %x, intsubclass: %x, intproto: %x\n",					e->matchTables[i].VendorId,					e->matchTables[i].ProductId,					e->matchTables[i].bDeviceClass,					e->matchTables[i].bDeviceSubClass,					e->matchTables[i].bInterfaceClass,					e->matchTables[i].bInterfaceSubClass,					e->matchTables[i].bInterfaceProtocol);#endif			}			break;		default:			fprintf(stderr,"!!!Unsupported IOCTL: %x!!!\n", request);#ifndef NO_WINDRVR			ret = (*ioctl_func) (fd, request, wdioctl);#endif			break;	}	return ret;}int ioctl(int fd, unsigned long int request, ...) {	va_list args;	void *argp;	int i;	if (!ioctl_func)                                                                    		ioctl_func = (int (*) (int, int, void *)) dlsym (RTLD_NEXT, "ioctl");             	va_start (args, request);	argp = va_arg (args, void *);	va_end (args);	for (i = 0; i < windrvrfds_count; i++) {		if (fd == windrvrfds[i])			return do_wdioctl(fd, request, argp);	}	return (*ioctl_func) (fd, request, argp);}int open (const char *pathname, int flags, ...) {	static int (*func) (const char *, int, mode_t) = NULL;	mode_t mode = 0;	va_list args;	int fd;	if (!func)		func = (int (*) (const char *, int, mode_t)) dlsym (RTLD_NEXT, "open");	if (flags & O_CREAT) {		va_start(args, flags);		mode = va_arg(args, mode_t);		va_end(args);	}	if (!strcmp (pathname, "/dev/windrvr6")) {		DPRINTF("opening windrvr6 (%d)\n", windrvrfds_count);		windrvrfds = realloc(windrvrfds, sizeof(int) * (++windrvrfds_count));		if (!windrvrfds)			return -ENOMEM;#ifdef NO_WINDRVR		windrvrfds[windrvrfds_count-1] = fd = (*func) ("/dev/null", flags, mode);#else		windrvrfds[windrvrfds_count-1] = fd = (*func) (pathname, flags, mode);#endif		return fd;	}	return (*func) (pathname, flags, mode);}int close(int fd) {	static int (*func) (int) = NULL;	int i;	if (!func)		func = (int (*) (int)) dlsym(RTLD_NEXT, "close");		for (i = 0; i < windrvrfds_count; i++) {		if (fd == windrvrfds[i] && windrvrfds[i] >= 0) {			int remaining = windrvrfds_count - (i + 1);			DPRINTF("close windrvr6 (%d)\n", i);			if (remaining)				memmove(&(windrvrfds[i]), &(windrvrfds[i+1]), remaining * sizeof(int));			windrvrfds = realloc(windrvrfds, sizeof(int) * --windrvrfds_count);			if (!windrvrfds_count)				windrvrfds = NULL;			break;		}	}	return (*func) (fd);}FILE *fopen(const char *path, const char *mode) {	FILE *ret;	static FILE* (*func) (const char*, const char*) = NULL;	char buf[256];	int i;	if (!func)		func = (FILE* (*) (const char*, const char*)) dlsym(RTLD_NEXT, "fopen");	for (i = 0; i < 4; i++) {		snprintf(buf, sizeof(buf), "/proc/sys/dev/parport/parport%d/base-addr", i);		if (!strcmp(path, buf)) {			DPRINTF("open base-addr of parport%d\n", i);			if (config_is_real_pport(i)) {				ret = (*func) (path, mode);			} else {				ret = (*func) ("/dev/null", mode);			}			if (ret) {				baseaddrfp = ret;				baseaddrnum = i;			}			return ret;		}	}	ret = (*func) (path, mode);	if (!strcmp(path, "/proc/modules")) {		DPRINTF("opening /proc/modules\n");		if (!ret && errno == ENOENT) {			/* Hmm.. there appears to be no /proc/modules file			 * fake it then */			ret = (*func)("/dev/null", mode);			DPRINTF("No /proc/modules -- faking\n");		}#ifdef NO_WINDRVR		modulesfp = ret;		modules_read = 0;#endif	}	return ret;}char *fgets(char *s, int size, FILE *stream) {        static char* (*func) (char*, int, FILE*) = NULL;	const char modules[][256] = {"windrvr6 1 0 - Live 0xdeadbeef\n", "parport_pc 1 0 - Live 0xdeadbeef\n"};	char buf[256];	char *ret = NULL;	if (!func)		func = (char* (*) (char*, int, FILE*)) dlsym(RTLD_NEXT, "fgets");		if (modulesfp == stream) {		if (modules_read < sizeof(modules) / sizeof(modules[0])) {			strcpy(s, modules[modules_read]);			ret = s;			modules_read++;		}	} else if (baseaddrfp == stream) {		snprintf(s, sizeof(buf), "%d\t%d\n",			(baseaddrnum) * 0x10,			((baseaddrnum) * 0x10) + 0x400);		ret = s;	} else {		ret = (*func)(s,size,stream);	}	return ret;}int fclose(FILE *fp) {	static int (*func) (FILE*) = NULL;	if (!func)		func = (int (*) (FILE*)) dlsym(RTLD_NEXT, "fclose");	if (fp == modulesfp) {		modulesfp = NULL;	}	if (fp == baseaddrfp) {		baseaddrfp = NULL;	}		return (*func)(fp);}int access(const char *pathname, int mode) {	static int (*func) (const char*, int);	if (!func)		func = (int (*) (const char*, int)) dlsym(RTLD_NEXT, "access");	if (pathname && !strcmp(pathname, "/dev/windrvr6")) {		return 0;	} else {		return (*func)(pathname, mode);	}}#if 0/* USB cable sharing needs to overload semop, TODO! */int semop (int __semid, struct sembuf *__sops, size_t __nsops) {	static int (*func) (int, struct sembuf*, size_t) = NULL;	int i;	if (!func)		func = (int (*) (int, struct sembuf*, size_t)) dlsym(RTLD_NEXT, "semop");		fprintf(stderr,"semop: semid: 0x%X, elements: %d\n", __semid, __nsops);	for (i = 0; i < __nsops; i++) {		fprintf(stderr, " num: %u, op: %d, flg: %d\n", __sops[i].sem_num, __sops[i].sem_op, __sops[i].sem_flg);		if (__sops[i].sem_op < 0) {			fprintf(stderr, "SEMAPHORE LOCK\n");		} else {			fprintf(stderr, "SEMAPHORE UNLOCK\n");		}	}	return (*func)(__semid, __sops, __nsops);}#endif#if __WORDSIZE == 32int uname (struct utsname *__name) {	static int (*func) (struct utsname*);	int ret;	if (!func)		func = (int (*) (struct utsname*)) dlsym(RTLD_NEXT, "uname");		ret = (*func)(__name);	if (ret == 0 && (!strcmp(__name->machine, "x86_64"))) {		strcpy(__name->machine, "i686");	}		return ret;}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久激情视频| 一区二区三区小说| 欧美日韩国产欧美日美国产精品| 奇米四色…亚洲| 粉嫩av一区二区三区粉嫩| 色又黄又爽网站www久久| 欧美日韩不卡视频| 久久久久久久久久久电影| 亚洲男帅同性gay1069| 精品一区二区三区在线播放| 懂色av中文字幕一区二区三区| 欧美日韩夫妻久久| 亚洲欧洲另类国产综合| 奇米四色…亚洲| 欧美日韩一区二区三区高清| 久久久久久一级片| 天天色综合天天| 视频一区二区欧美| 国产成人av一区二区三区在线| 九一久久久久久| 亚洲影视在线播放| 色婷婷久久99综合精品jk白丝| 亚洲综合在线第一页| 欧美日韩一区二区三区不卡| 青青草97国产精品免费观看无弹窗版| 日韩欧美国产一区在线观看| 国产激情视频一区二区在线观看| 欧美激情在线一区二区| 欧美在线高清视频| 麻豆成人免费电影| 中文字幕一区二区三区不卡| 欧美无人高清视频在线观看| 蜜臀av一级做a爰片久久| 中文字幕一区二区不卡| 欧美中文一区二区三区| 久久99精品一区二区三区三区| 国产精品三级在线观看| 欧美精品一级二级| 成人精品国产一区二区4080| 五月婷婷激情综合| 中文字幕中文乱码欧美一区二区| 欧美一区二区私人影院日本| 99久久99久久久精品齐齐| 蜜臀av性久久久久蜜臀aⅴ| 亚洲免费观看高清完整版在线| 欧美一级黄色片| 色婷婷香蕉在线一区二区| 韩国中文字幕2020精品| 午夜成人免费电影| 亚洲三级在线看| 国产精品全国免费观看高清| 日韩亚洲国产中文字幕欧美| 色播五月激情综合网| www.日韩在线| 国产99久久久久久免费看农村| 日韩不卡手机在线v区| 亚洲第一综合色| 午夜视频在线观看一区| 亚洲一区二区视频在线观看| 亚洲日本欧美天堂| 综合久久久久综合| 国产精品国产三级国产三级人妇| 久久久久久久久蜜桃| 精品久久久久一区二区国产| 日韩精品专区在线影院重磅| 精品久久国产字幕高潮| 久久综合精品国产一区二区三区| 精品久久久久久久久久久久久久久| 欧美一区二区成人| 精品乱人伦小说| 国产日韩av一区二区| 中文字幕五月欧美| 亚洲精品久久嫩草网站秘色| 亚洲午夜久久久久| 日本人妖一区二区| 国产一区二区精品在线观看| 懂色av中文字幕一区二区三区 | 日韩1区2区3区| 经典三级视频一区| 成人在线视频首页| 日本高清无吗v一区| 欧美一区二区三区人| 精品福利一区二区三区免费视频| 国产精品免费网站在线观看| 一区二区三区在线免费观看| 日本亚洲欧美天堂免费| 国产v综合v亚洲欧| 欧美日韩国产不卡| 国产午夜精品一区二区| 亚洲国产日日夜夜| 国产成人精品综合在线观看| 欧洲日韩一区二区三区| 精品国产免费人成在线观看| 自拍偷拍亚洲综合| 久久精品国产亚洲5555| av电影天堂一区二区在线| 日韩视频中午一区| 亚洲精品国产成人久久av盗摄| 免费日韩伦理电影| 91成人在线精品| 国产色爱av资源综合区| 男人的天堂久久精品| 欧美少妇性性性| 91麻豆精品国产91久久久久| 91精品国产综合久久蜜臀| 欧美成人精精品一区二区频| 日韩中文字幕亚洲一区二区va在线| 欧美天堂亚洲电影院在线播放| 午夜激情一区二区三区| 欧美一级在线免费| 久久99精品久久久久| 欧美tickle裸体挠脚心vk| 美腿丝袜亚洲一区| 91精品国产综合久久香蕉的特点| 亚洲最大成人网4388xx| 欧美在线观看一二区| 亚洲一卡二卡三卡四卡无卡久久| 色哟哟在线观看一区二区三区| 久久久精品日韩欧美| 美女mm1313爽爽久久久蜜臀| 欧美日韩精品综合在线| 亚洲一区在线观看免费| 在线亚洲一区二区| 亚洲欧洲无码一区二区三区| 不卡视频一二三| 亚洲精选免费视频| 91黄视频在线| 亚洲妇女屁股眼交7| 欧美一级欧美一级在线播放| 日本不卡一二三区黄网| 2020国产精品自拍| 成人网在线免费视频| 一区二区在线观看免费| 欧美精品精品一区| 国产高清一区日本| 伊人色综合久久天天人手人婷| 欧美三级视频在线| 免费观看一级欧美片| 亚洲欧洲精品天堂一级| 欧美日韩精品一二三区| 国产成人午夜99999| 亚洲综合另类小说| 欧美日韩视频在线第一区| 国内精品伊人久久久久av影院 | 91社区在线播放| 一区二区三区丝袜| 欧美xxxx老人做受| 99久久久精品免费观看国产蜜| 五月天中文字幕一区二区| 精品日韩一区二区| 色综合网色综合| 久久精品国产精品亚洲精品| 中文字幕一区二区三区四区不卡| 91精品国产欧美日韩| 99视频在线精品| 国内精品免费在线观看| 亚洲大尺度视频在线观看| 欧美国产日韩一二三区| 欧美一区二区三区啪啪| 欧美性生活大片视频| 懂色av中文一区二区三区| 久久国产婷婷国产香蕉| 亚洲福利一区二区三区| 亚洲欧美乱综合| 国产精品污www在线观看| 日韩欧美久久一区| 制服丝袜亚洲色图| 91精品国产一区二区三区| 在线观看免费亚洲| 色综合av在线| 色婷婷一区二区| 91免费版pro下载短视频| 不卡区在线中文字幕| 成人中文字幕电影| 成人免费视频app| 波多野结衣中文字幕一区二区三区 | 日本午夜精品视频在线观看| 91精品国产一区二区| 成人av影视在线观看| 成人精品高清在线| 色综合激情久久| 欧美一区二区女人| 久久综合久久综合亚洲| 国产精品免费网站在线观看| 亚洲午夜免费视频| 国产伦理精品不卡| 色吊一区二区三区| 日韩女优电影在线观看| 日韩一区在线免费观看| 久久久久久久精| 亚洲国产精品激情在线观看| 国产精品嫩草影院com| 日韩美女视频一区| 亚洲成a人片在线观看中文| 丝袜亚洲另类欧美综合| 麻豆成人av在线| 国产+成+人+亚洲欧洲自线| 99热在这里有精品免费| 欧美丝袜丝nylons| 久久久精品黄色|