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

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

?? sysdep-2.1.h

?? LINUX設(shè)備驅(qū)動(dòng)2源代碼
?? H
字號(hào):
/* * sysdep-2.1.h -- a trial to centralize changes between 2.0 and 2.1.43 * * export rules changed in 2.1.18 * poll.h is there * cpu_to_le15 etc. appeared in 2.1.10 * they "p" and "s" forms appeared in 2.1.43 */#ifndef _SYSDEP_21_H_#define _SYSDEP_21_H_#ifndef LINUX_VERSION_CODE#  include <linux/version.h>#endif#ifndef VERSION_CODE#  define VERSION_CODE(vers,rel,seq) ( ((vers)<<16) | ((rel)<<8) | (seq) )#endif/* only allow 2.0.x and 2.1.y */#if LINUX_VERSION_CODE < VERSION_CODE(2,0,0)#  error "This kernel is too old: not supported by this file"#endif#if LINUX_VERSION_CODE < VERSION_CODE(2,1,0)#  define LINUX_20#else#  define LINUX_21#endif#include <linux/types.h> /* used later in this header *//* Modularization issues */#if LINUX_VERSION_CODE < VERSION_CODE(2,1,18)#  define __USE_OLD_SYMTAB__#  define EXPORT_NO_SYMBOLS register_symtab(NULL);#  define REGISTER_SYMTAB(tab) register_symtab(tab)#else#  define REGISTER_SYMTAB(tab) /* nothing */#endif#ifdef __USE_OLD_SYMTAB__#  define __MODULE_STRING(s)         /* nothing */#  define MODULE_PARM(v,t)           /* nothing */#  define MODULE_PARM_DESC(v,t)      /* nothing */#  define MODULE_AUTHOR(n)           /* nothing */#  define MODULE_DESCRIPTION(d)      /* nothing */#  define MODULE_SUPPORTED_DEVICE(n) /* nothing */#endif/* * "select" changed in 2.1.23. The implementation is twin, but this * header is new */#if LINUX_VERSION_CODE > VERSION_CODE(2,1,22)#  include <linux/poll.h>#else#  define __USE_OLD_SELECT__#endif/* Other change in the fops are solved using pseudo-types */#ifdef LINUX_21#  define lseek_t      long long#  define lseek_off_t  long long#else#  define lseek_t      int#  define lseek_off_t  off_t#endif/* changed the prototype of read/write */#if defined(LINUX_21) || defined(__alpha__)# define count_t unsigned long# define read_write_t long#else# define count_t int# define read_write_t int#endif#if LINUX_VERSION_CODE < VERSION_CODE(2,1,31)# define release_t void#  define release_return(x) return#else#  define release_t int#  define release_return(x) return (x)#endif/* * access to user space: use the 2.1 functions, * and implement them as macros for 2.0 */#ifdef LINUX_20#  include <asm/segment.h>#  define access_ok(t,a,sz)           (verify_area((t),(a),(sz)) ? 0 : 1)#  define verify_area_20              verify_area#  define copy_to_user(t,f,n)         (memcpy_tofs(t,f,n), 0)#  define __copy_to_user(t,f,n)       copy_to_user((t),(f),(n))#  define copy_to_user_ret(t,f,n,r)   copy_to_user((t),(f),(n))#  define copy_from_user(t,f,n)       (memcpy_fromfs((t),(f),(n)), 0)#  define __copy_from_user(t,f,n)     copy_from_user((t),(f),(n))#  define copy_from_user_ret(t,f,n,r) copy_from_user((t),(f),(n))#  define PUT_USER(val,add)           (put_user((val),(add)), 0)#  define __PUT_USER(val,add)         PUT_USER((val),(add))#  define PUT_USER_RET(val,add,ret)   PUT_USER((val),(add))#  define GET_USER(dest,add)          ((dest)=get_user((add)), 0)#  define __GET_USER(dest,add)        GET_USER((dest),(add))#  define GET_USER_RET(dest,add,ret)  GET_USER((dest),(add))#else#  include <asm/uaccess.h>#  include <asm/io.h>#  define verify_area_20(t,a,sz) (0) /* == success */#  define PUT_USER put_user#  define __PUT_USER __put_user#  define PUT_USER_RET put_user_ret#  define GET_USER get_user#  define __GET_USER __get_user#  define GET_USER_RET get_user_ret#endif/* ioremap */#ifdef LINUX_20# define ioremap vremap# define iounmap vfree#endif/* The use_count of exec_domain and binfmt changed in 2.1.23 */#ifdef LINUX_20#  define INCRCOUNT(p)  ((p)->module ? __MOD_INC_USE_COUNT((p)->module) : 0)#  define CURRCOUNT(p)  ((p)->module && (p)->module->usecount)#  define DECRCOUNT(p)  ((p)->module ? __MOD_DEC_USE_COUNT((p)->module) : 0)#else#  define INCRCOUNT(p)  ((p)->use_count++)#  define CURRCOUNT(p)  ((p)->use_count)#  define DECRCOUNT(p)  ((p)->use_count--)#endif/* register_dynamic no more existent -- just have 0 as inum */#if LINUX_VERSION_CODE >= VERSION_CODE(2,1,29)#  define proc_register_dynamic proc_register#endif#if LINUX_VERSION_CODE < VERSION_CODE(2,1,37)#  define test_and_set_bit(nr,addr)  test_bit((nr),(addr))#  define test_and_clear_bit(nr,addr) clear_bit((nr),(addr))#  define test_and_change_bit(nr,addr) change_bit((nr),(addr))#endif/* 2.1.30 removed these functions. Let's define them, just in case */#if LINUX_VERSION_CODE > VERSION_CODE(2,1,29)#  define queue_task_irq      queue_task#  define queue_task_irq_off  queue_task#endif/* 2.1.10 and 2.1.43 introduced new functions. They are worth using */#if LINUX_VERSION_CODE < VERSION_CODE(2,1,10)#  include <asm/byteorder.h>#  ifdef __LITTLE_ENDIAN#    define cpu_to_le16(x) (x)#    define cpu_to_le32(x) (x)#    define cpu_to_be16(x) htons((x))#    define cpu_to_be32(x) htonl((x))#  else#    define cpu_to_be16(x) (x)#    define cpu_to_be32(x) (x)     extern inline __u16 cpu_to_le16(__u16 x) { return (x<<8) | (x>>8);}     extern inline __u32 cpu_to_le32(__u32 x) { return((x>>24) |             ((x>>8)&0xff00) | ((x<<8)&0xff0000) | (x<<24));}#  endif#  define le16_to_cpu(x)  cpu_to_le16(x)#  define le32_to_cpu(x)  cpu_to_le32(x)#  define be16_to_cpu(x)  cpu_to_be16(x)#  define be32_to_cpu(x)  cpu_to_be32(x)#endif#if LINUX_VERSION_CODE < VERSION_CODE(2,1,43)#  define cpu_to_le16p(addr) (cpu_to_le16(*(addr)))#  define cpu_to_le32p(addr) (cpu_to_le32(*(addr)))#  define cpu_to_be16p(addr) (cpu_to_be16(*(addr)))#  define cpu_to_be32p(addr) (cpu_to_be32(*(addr)))   extern inline void cpu_to_le16s(__u16 *a) {*a = cpu_to_le16(*a);}   extern inline void cpu_to_le32s(__u16 *a) {*a = cpu_to_le32(*a);}   extern inline void cpu_to_be16s(__u16 *a) {*a = cpu_to_be16(*a);}   extern inline void cpu_to_be32s(__u16 *a) {*a = cpu_to_be32(*a);}#  define le16_to_cpup(x) cpu_to_le16p(x)#  define le32_to_cpup(x) cpu_to_le32p(x)#  define be16_to_cpup(x) cpu_to_be16p(x)#  define be32_to_cpup(x) cpu_to_be32p(x)#  define le16_to_cpus(x) cpu_to_le16s(x)#  define le32_to_cpus(x) cpu_to_le32s(x)#  define be16_to_cpus(x) cpu_to_be16s(x)#  define be32_to_cpus(x) cpu_to_be32s(x)#endif#if LINUX_VERSION_CODE < VERSION_CODE(2,1,15)#  define __USE_OLD_REBUILD_HEADER__#endif#if LINUX_VERSION_CODE < VERSION_CODE(2,1,30)#  define in_interrupt() (intr_count!=0)#endif#endif /* _SYSDEP_21_H_ */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合久色| 在线观看欧美黄色| 青娱乐精品在线视频| 亚洲激情成人在线| 亚洲欧洲日韩在线| 国产精品无人区| 日本一区二区久久| 久久免费看少妇高潮| 69av一区二区三区| 欧美年轻男男videosbes| 91丨porny丨国产入口| 成人免费毛片a| 成人av影院在线| www.欧美亚洲| 99久久精品免费看国产 | 日韩电影在线免费观看| 亚洲柠檬福利资源导航| 免费在线一区观看| 中文字幕在线不卡视频| 2023国产精品| 日韩一级在线观看| 777色狠狠一区二区三区| 色综合av在线| 欧美日韩国产综合久久| 欧美性受xxxx黑人xyx性爽| 在线观看成人小视频| 欧美日韩综合一区| 26uuu精品一区二区| 国产欧美日韩不卡| 亚洲色图制服诱惑| 日韩av在线发布| 国产河南妇女毛片精品久久久| 成人黄动漫网站免费app| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产精品午夜电影| 欧美日韩国产免费一区二区 | 福利电影一区二区| 99久久99久久精品国产片果冻| 国产成人精品一区二区三区网站观看 | 色综合天天视频在线观看| 亚洲自拍偷拍综合| 国产精品拍天天在线| 中文字幕+乱码+中文字幕一区| 3d动漫精品啪啪1区2区免费 | 中文字幕一区视频| 男男视频亚洲欧美| 欧美婷婷六月丁香综合色| 国产精品欧美一区喷水| 91精品一区二区三区在线观看| 日韩三级.com| 欧美国产禁国产网站cc| 亚洲综合色婷婷| 久久99精品久久久久久国产越南| 成人精品免费看| 欧美久久久影院| 国产精品久久国产精麻豆99网站| 午夜av一区二区三区| 国产传媒一区在线| 欧美一级片在线| 欧美一级久久久| 久久精品国产精品亚洲精品| 国产成人鲁色资源国产91色综| 色综合中文字幕国产| 粉嫩一区二区三区在线看| 色狠狠综合天天综合综合| 欧美伊人久久大香线蕉综合69| 欧美日韩一区二区欧美激情 | 欧美日本韩国一区| 在线亚洲免费视频| 国产日韩欧美精品在线| 国产性做久久久久久| 国产精品福利av| 在线观看欧美精品| 国产一区高清在线| 亚洲日本在线a| 久久精品亚洲精品国产欧美kt∨| 久久精品人人做人人爽人人| 另类人妖一区二区av| 欧美成人三级在线| 色婷婷国产精品综合在线观看| 亚洲第四色夜色| 91女厕偷拍女厕偷拍高清| 日韩一区二区三区视频在线| 中文字幕永久在线不卡| 午夜视频一区二区三区| 色菇凉天天综合网| 欧美日韩国产一级| 天天综合网 天天综合色| 欧美伊人精品成人久久综合97| 一区二区三区四区精品在线视频| 666欧美在线视频| 国产一区啦啦啦在线观看| 一区二区中文视频| 欧美日韩在线三区| 国产福利91精品| 夜夜嗨av一区二区三区中文字幕 | 色又黄又爽网站www久久| 秋霞成人午夜伦在线观看| 国产精品久久福利| 日韩久久久精品| 色噜噜偷拍精品综合在线| 久久国产精品露脸对白| 最近中文字幕一区二区三区| 欧美一区二区女人| 日韩欧美第一区| 在线观看国产日韩| 亚洲啪啪综合av一区二区三区| 99久久综合精品| 欧美国产禁国产网站cc| 精品一区二区三区久久| 国产精品萝li| 色综合天天性综合| 国产原创一区二区三区| 麻豆成人综合网| 亚洲妇熟xx妇色黄| 7777精品伊人久久久大香线蕉| 日韩精品欧美精品| 日韩免费视频一区二区| 韩国v欧美v亚洲v日本v| 国产综合久久久久久久久久久久| 亚洲综合丁香婷婷六月香| 69久久99精品久久久久婷婷| 成人福利视频在线看| 久久黄色级2电影| 久久国产人妖系列| 免费高清不卡av| 六月丁香综合在线视频| 麻豆精品在线视频| 久久精品国内一区二区三区| 亚洲成人黄色影院| 免费在线欧美视频| 国精产品一区一区三区mba视频| 美女任你摸久久| 美女精品自拍一二三四| 国产一区二区三区在线观看精品| 精彩视频一区二区三区| 黄一区二区三区| 成人app在线观看| 欧美主播一区二区三区美女| 欧美视频一二三区| 久久夜色精品国产噜噜av| 亚洲国产精品高清| 亚洲精品成a人| 无码av中文一区二区三区桃花岛| 麻豆视频一区二区| www.成人网.com| 在线电影一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋 | 欧美tk丨vk视频| 精品久久久久香蕉网| 欧美国产精品一区二区三区| 亚洲综合色自拍一区| 精品系列免费在线观看| 在线欧美一区二区| 久久久久久免费毛片精品| 亚洲宅男天堂在线观看无病毒| 男女激情视频一区| 91亚洲精品乱码久久久久久蜜桃| 欧美一区二区国产| 亚洲精品综合在线| 福利91精品一区二区三区| 欧美日韩高清影院| 制服.丝袜.亚洲.中文.综合| 久久美女艺术照精彩视频福利播放 | 亚洲国产美女搞黄色| 国产高清精品在线| 337p日本欧洲亚洲大胆色噜噜| 亚洲高清免费观看| 欧美综合欧美视频| 亚洲精品国产一区二区三区四区在线| 丰满白嫩尤物一区二区| ww久久中文字幕| 久久99久久精品欧美| 6080国产精品一区二区| 琪琪一区二区三区| 欧美成人精品二区三区99精品| 午夜av电影一区| 欧美一区日韩一区| 裸体一区二区三区| 国产午夜精品美女毛片视频| 国产丶欧美丶日本不卡视频| 久久久久久9999| av午夜一区麻豆| 一区二区三区四区在线播放| 欧美综合一区二区三区| 日韩在线一二三区| 精品福利在线导航| 成人av免费网站| 三级精品在线观看| 国产欧美一区二区精品性色超碰 | 日韩欧美一级片| 国产麻豆欧美日韩一区| 亚洲柠檬福利资源导航| 6080日韩午夜伦伦午夜伦| 国产精品99久久不卡二区| 国产精品理论在线观看| 欧美电影一区二区| 丁香六月综合激情| 亚洲国产精品久久一线不卡| 日韩精品一区二区三区视频播放 |