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

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

?? kernel_compat.h

?? fsmlabs的real time linux的內核
?? H
字號:
/*    kern_compat.h    Kernel compatibility header file    Copyright (C) 1997-8 David A. Schleef <ds@stm.lbl.gov>    Copyright (C) 1999 Tomasz Motylewski <motyl@ip.pl>    This program is free software; you can redistribute it and/or modify    it under the terms of the GNU General Public License as published by    the Free Software Foundation; either version 2 of the License, or    (at your option) any later version.    This program is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    GNU General Public License for more details.    You should have received a copy of the GNU General Public License    along with this program; if not, write to the Free Software    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.*//*   Portions taken from Don Becker's network device drivers, and   modified.*//*   The purpose of this file is to make it easy to write modules   that will compile correctly for multiple kernel versions.   This file can only provide backward compatibility, i.e.,   write your driver for 2.3.x, include this header file, and   theoretically, it will compile and run on 2.0.37.  However,   some interface changes require superset definitions to   allow compilation for all supported kernel versions, so   you have to use the interface provided in this file to   compile for all kernels.   If your driver is written for the 2.2.x interface, define   COMPAT_V22 before including this file.*//* added PRINT */#ifdef DEBUG#define PRINT(args...)  printk(KERN_DEBUG ## args)#else#define PRINT(args...) do {} while(0)#endif#ifndef _KERN_COMPAT_H#define _KERN_COMPAT_H#include <linux/version.h>#include <linux/config.h>#include <linux/kdev_t.h>#include <linux/config.h>#include <linux/slab.h>#include <linux/errno.h>#ifndef KERNEL_VERSION#define KERNEL_VERSION(a,b,c)	(((a) << 16) + ((b) << 8) + (c))#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2,0,0)#error kernel versions prior to 2.0 not supported#else#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0)#define LINUX_V20#else#define LINUX_V22#endif#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2,2,0)	/* XXX */#define RDEV_OF_FILE(x)        ((x)->f_inode->i_rdev)#else#define RDEV_OF_FILE(x)        ((x)->f_dentry->d_inode->i_rdev)#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2,2,0)	/* XXX */#define signal_pending(x)	(((x)->signal) & (~(x)->blocked))#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2,2,0)	/* XXX *//* somewhere about 2.1.4 */#include <asm/segment.h>static inline int copy_to_user(void * to,const void *from,unsigned long n_bytes){	int i;	if((i=verify_area(VERIFY_WRITE,to,n_bytes)) != 0)		return i;	memcpy_tofs(to,from,n_bytes);	return 0;}static inline int copy_from_user(void * to,const void *from,unsigned long n_bytes){	int i;	if((i=verify_area(VERIFY_READ,from,n_bytes))!=0)		return i;	memcpy_fromfs(to,from,n_bytes);	return 0;}static inline int clear_user(void * mem,unsigned long len){	char *cmem=mem;		if(verify_area(VERIFY_WRITE,mem,len))		return len;	/* this is slow, but I'm lazy */	while(len--){put_user(0,cmem);cmem++;}	return 0;}#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0)static inline void __process_timeout(unsigned long __data){	struct task_struct * p = (struct task_struct *) __data;	p->timeout=0;	wake_up_process(p);}static inline long interruptible_sleep_on_timeout(struct wait_queue ** p,	long timeout){	struct timer_list timer;	unsigned long expires=jiffies+timeout;	init_timer(&timer);	timer.expires=expires;	timer.data=(unsigned long)current;	timer.function=__process_timeout;	add_timer(&timer);	interruptible_sleep_on(p);	del_timer(&timer);	return jiffies-expires;}#else#define HAVE_INTERRUPTIBLE_SLEEP_ON_TIMEOUT#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0)#ifndef __alpha__#define ioremap(a,b) \        (((a)<0x100000) ? (void *)((u_long)(a)) : vremap(a,b))#define iounmap(v) \	        do { if ((u_long)(v) > 0x100000) vfree(v); } while (0)#endif#endif#if LINUX_VERSION_CODE < 0x020115#define MODULE_AUTHOR(a)#define MODULE_DESCRIPTION(a)#define MODULE_PARM(a,b)#endif#if LINUX_VERSION_CODE < 0x20138#define test_and_set_bit(val, addr) set_bit(val, addr)#define le32_to_cpu(val) (val)#define cpu_to_le32(val) (val)#endif#if LINUX_VERSION_CODE <= 0x20139#define net_device_stats enet_statistics#define NETSTATS_VER2#endif#if LINUX_VERSION_CODE < 0x20155#include <linux/bios32.h>#define PCI_SUPPORT_VER1#else#define PCI_SUPPORT_VER2#endif#if LINUX_VERSION_CODE < 0x20159#define DEV_FREE_SKB(skb) dev_kfree_skb (skb, FREE_WRITE);#else  /* Grrr, unneeded incompatible change. */#define DEV_FREE_SKB(skb) dev_kfree_skb(skb);#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,10)                /* ? */#define file_atomic_inc(x)     ((*(x))++)#else#define file_atomic_inc(x)     atomic_inc(x)#endif#ifndef COMPAT_V22#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,5)#if LINUX_VERSION_CODE < KERNEL_VERSION(2,2,18)typedef struct wait_queue *wait_queue_head_t;#define DECLARE_WAITQUEUE(x,y) struct wait_queue x={y,NULL}#define init_waitqueue_head(x)#endif#endif#endif/* RTLinux changes */#ifdef __RTL__#if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0)#define RTL_V1/* RTL 1.1 */#include <asm/rt_irq.h>#define rtl_request_global_irq(irq,handler) request_RTirq(irq,handler)#define rtl_free_global_irq(irq) free_RTirq(irq)#define rtl_request_local_irq(a,b,c) rtl_request_local_irq_not_available#define rtl_free_local_irq(a) rtl_free_local_irq_not_availablestatic inline int rtl_printf(const char *format,...){	/* at least it will compile... =) */	return 0;}#define rt_printk(format,args...)	rtl_printf(format,## args)#else#define RTL_V2/* RTL 2.2 */#include <rtl_core.h>#endif#else /* !__RTL__ */#define rt_printk(format, args...)	printk(format,## args)#endif#if LINUX_VERSION_CODE < KERNEL_VERSION(2,2,0)	/* XXX */#ifdef __RTL__/* XXX gack! don't look too closely */#define claim_dma_lock()	0#define release_dma_lock(x)	#else/* XXX gack! a cli/sti pair */#define claim_dma_lock()	(cli(),0)#define release_dma_lock()	sti()#endif#endif#endif /* _KERN_COMPAT_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久蜜桃av一区二区天堂| 久久国产成人午夜av影院| 国产精品77777| 在线观看免费亚洲| 欧美α欧美αv大片| 亚洲777理论| 欧美性猛片aaaaaaa做受| 1000精品久久久久久久久| 成人永久aaa| 国产日韩成人精品| 成熟亚洲日本毛茸茸凸凹| 久久精品夜色噜噜亚洲aⅴ| 国内精品伊人久久久久av影院| 日韩手机在线导航| 精品一区二区在线看| 日韩欧美国产一区在线观看| 麻豆视频一区二区| 欧美精品一区二区三区在线播放| 久久超碰97中文字幕| 欧美丰满嫩嫩电影| 欧美96一区二区免费视频| 欧美一级久久久| 日本欧美一区二区在线观看| 欧美日韩小视频| 日韩在线一区二区| 日韩精品一区二区在线| 精品一区二区三区的国产在线播放 | 欧美精品久久99| 日韩av在线发布| 久久综合av免费| 粉嫩av一区二区三区| 亚洲欧美日韩国产手机在线| 欧美私人免费视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美精品一区二区高清在线观看| 国产在线精品一区二区| 欧美成人女星排名| 久久99热这里只有精品| 欧美大片免费久久精品三p| 韩国中文字幕2020精品| 久久久亚洲国产美女国产盗摄| 成人激情黄色小说| 亚洲国产视频直播| 精品久久99ma| 91视频免费播放| 美女爽到高潮91| 日韩欧美综合在线| 国产精品亚洲视频| 国产精品乱码人人做人人爱| 在线精品视频免费观看| 开心九九激情九九欧美日韩精美视频电影 | 国产99久久久国产精品潘金| 一区二区三区影院| 精品成人免费观看| 一本色道久久综合亚洲精品按摩| 日韩va亚洲va欧美va久久| 久久久久久电影| 色婷婷av一区二区三区之一色屋| 免费国产亚洲视频| 一区二区三区高清在线| 欧美日韩国产精品成人| 亚欧色一区w666天堂| 日韩三级精品电影久久久| 福利一区二区在线观看| 性欧美疯狂xxxxbbbb| 中文字幕精品一区二区三区精品 | 91精彩视频在线观看| 国产原创一区二区三区| 亚洲一区二区三区精品在线| 国产日本一区二区| 欧美一级艳片视频免费观看| 91网站黄www| 青青草原综合久久大伊人精品优势| 精品国产1区二区| 欧美日韩一区二区不卡| 成人av电影免费在线播放| 亚洲超碰精品一区二区| 欧美激情在线看| 精品国产91乱码一区二区三区| 欧美精品vⅰdeose4hd| 色婷婷精品久久二区二区蜜臀av| 成人妖精视频yjsp地址| 极品少妇一区二区| 亚洲国产一区二区在线播放| 国产日韩欧美麻豆| 欧美一区二区三区视频免费播放| 色94色欧美sute亚洲线路二| 成人av综合在线| 国产精品99久| 国产一区二区三区美女| 午夜私人影院久久久久| 成人免费一区二区三区视频| 国产精品久久免费看| 日本一区二区三区高清不卡| 欧美日韩国产乱码电影| 欧美视频一区二区三区四区 | 国产精品白丝jk白祙喷水网站| 麻豆视频一区二区| 老司机午夜精品| 久久国产精品99久久人人澡| 六月丁香婷婷色狠狠久久| 最新不卡av在线| 久久精品免视看| 久久综合色婷婷| 精品国产伦一区二区三区观看体验 | 日本不卡一区二区| 午夜精品福利一区二区蜜股av | 一区二区三区国产豹纹内裤在线| 亚洲精品五月天| 一区二区欧美精品| 亚洲成人一区二区| 日产国产高清一区二区三区| 亚洲免费观看高清完整版在线 | 狠狠色丁香婷婷综合| 国产福利一区二区| 久久国产欧美日韩精品| 国产乱码精品一品二品| 狠狠色丁香久久婷婷综合_中| 免费精品99久久国产综合精品| 国内精品国产三级国产a久久| 国产激情一区二区三区四区| av综合在线播放| 欧美色精品在线视频| 精品久久久久久亚洲综合网| 中文字幕av一区二区三区免费看| 亚洲精品在线观看网站| 国产精品网站一区| 一二三区精品福利视频| 亚洲午夜精品在线| 视频一区在线视频| 麻豆国产一区二区| aaa亚洲精品一二三区| 欧美剧在线免费观看网站| 337p粉嫩大胆色噜噜噜噜亚洲| 国产精品免费视频网站| 午夜电影网一区| 国产一区二区在线观看视频| 97se亚洲国产综合自在线| 在线电影一区二区三区| 精品国产sm最大网站免费看| 久久久亚洲高清| 日本怡春院一区二区| 成人综合婷婷国产精品久久| 欧美日韩国产乱码电影| 国产精品视频免费| 日本最新不卡在线| 91婷婷韩国欧美一区二区| 欧美一区二区三区在| 亚洲人成在线播放网站岛国| 乱一区二区av| 欧美三级中文字幕在线观看| 国产欧美一区二区精品婷婷 | 亚洲国产精品精华液ab| 亚洲va国产天堂va久久en| 国产寡妇亲子伦一区二区| 欧美吞精做爰啪啪高潮| 国产精品情趣视频| 麻豆精品一区二区| 欧美丝袜丝nylons| 综合分类小说区另类春色亚洲小说欧美| 日韩成人一级片| 色婷婷av一区二区| 国产精品入口麻豆九色| 亚洲一级电影视频| 国产成人精品影院| 精品欧美一区二区久久| 亚洲第一av色| 91久久精品一区二区| 国产精品卡一卡二| 国产成人av电影在线播放| 欧美成人三级电影在线| 免费人成黄页网站在线一区二区| 色噜噜狠狠色综合欧洲selulu | 国产亚洲精品aa午夜观看| 天天影视网天天综合色在线播放| 色综合久久综合| 中文字幕一区二区三区乱码在线| 高清不卡一区二区| 日韩天堂在线观看| 久久国产视频网| 欧美videofree性高清杂交| 亚洲激情校园春色| 国产精品主播直播| 中文字幕精品一区二区三区精品| 国产在线视视频有精品| 精品成人a区在线观看| 精品一区二区在线视频| 精品久久久久av影院 | 免费观看91视频大全| 欧美一区二视频| 免费成人av资源网| 日韩欧美自拍偷拍| 韩国一区二区三区| 日韩精品中文字幕一区二区三区 | 日韩电影在线免费看| 日韩欧美一区在线观看| 麻豆精品在线播放| 久久久久久久久岛国免费| 国产成人精品影视| 国产亚洲一区二区三区在线观看|