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

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

?? scull.h

?? LINUX設(shè)備驅(qū)動(dòng)2源代碼
?? H
字號:
/* * scull.h -- definitions for the char module * *********/#include <linux/ioctl.h>/* version dependencies have been confined to a separate file */#define VERSION_CODE(vers,rel,seq) ( ((vers)<<16) | ((rel)<<8) | (seq) )#include "sysdep.h"/* * Macros to help debugging */#undef PDEBUG             /* undef it, just in case */#ifdef SCULL_DEBUG#  ifdef __KERNEL__     /* This one if debugging is on, and kernel space */#    define PDEBUG(fmt, args...) printk( KERN_DEBUG "scull: " fmt, ## args)#  else     /* This one for user space */#    define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args)#  endif#else#  define PDEBUG(fmt, args...) /* not debugging: nothing */#endif#undef PDEBUGG#define PDEBUGG(fmt, args...) /* nothing: it's a placeholder */#ifndef SCULL_MAJOR#define SCULL_MAJOR 0   /* dynamic major by default */#endif#ifndef SCULL_NR_DEVS#define SCULL_NR_DEVS 4    /* scull0 through scull3 */#endif#ifndef SCULL_P_NR_DEVS#define SCULL_P_NR_DEVS 4  /* scullpipe0 through scullpipe3 */#endif/* * The bare device is a variable-length region of memory. * Use a linked list of indirect blocks. * * "Scull_Dev->data" points to an array of pointers, each * pointer refers to a memory area of SCULL_QUANTUM bytes. * * The array (quantum-set) is SCULL_QSET long. */#ifndef SCULL_QUANTUM#define SCULL_QUANTUM 4000#endif#ifndef SCULL_QSET#define SCULL_QSET    1000#endif/* * The pipe device is a simple circular buffer. Here its default size */#ifndef SCULL_P_BUFFER#define SCULL_P_BUFFER 4000#endiftypedef struct Scull_Dev {   void **data;   struct Scull_Dev *next;   /* next listitem */   int quantum;              /* the current quantum size */   int qset;                 /* the current array size */   unsigned long size;   unsigned int access_key;  /* used by sculluid and scullpriv */   unsigned int usage;       /* lock the device while using it */} Scull_Dev;/* * Split minors in two parts */#define TYPE(dev)   (MINOR(dev) >> 4)  /* high nibble */#define NUM(dev)    (MINOR(dev) & 0xf) /* low  nibble *//* * Different minors behave differently, so let's use multiple fops */extern struct file_operations scull_fops;        /* simplest: global */extern struct file_operations scull_priv_fops;   /* private region   */extern struct file_operations scull_pipe_fops;   /* circular buffer  */extern struct file_operations scull_sngl_fops;   /* single open      */extern struct file_operations scull_user_fops;   /* single process   */extern struct file_operations scull_wusr_fops;   /* single user      *//* * The different configurable parameters */extern int scull_major;     /* main.c */extern int scull_nr_devs;extern int scull_quantum;extern int scull_qset;extern int scull_p_nr_devs;    /* pipe.c */extern int scull_p_buffer;/* * Prototypes for shared functions */int scull_p_init(void);void scull_p_cleanup(void);int scull_access_init(void);void scull_access_cleanup(void);int scull_trim(Scull_Dev *dev);read_write_t scull_read (struct inode *inode, struct file *filp,                char *buf, count_t count);read_write_t scull_write (struct inode *inode, struct file *filp,                const char *buf, count_t count);int scull_lseek (struct inode *inode, struct file *filp,                 off_t off, int whence);int scull_ioctl (struct inode *inode, struct file *filp,                 unsigned int cmd, unsigned long arg);#ifdef SCULL_DEBUG#  if LINUX_VERSION_CODE > VERSION_CODE(1,99,3) /* 1.99.4 exported the needed symbols */#    define SCULL_USE_PROC#  endif#endif#ifndef min#  define min(a,b) ((a)<(b) ? (a) : (b))#endif/* * Ioctl definitions *//* Use 'k' as magic number */#define SCULL_IOC_MAGIC  'k'#define SCULL_IOCRESET    _IO(SCULL_IOC_MAGIC, 0)/* * S means "Set" through a ptr, * T means "Tell" directly with the argument value * G means "Get": reply by setting through a pointer * Q means "Query": response is on the return value * X means "eXchange": G and S atomically * H means "sHift": T and Q atomically */#define SCULL_IOCSQUANTUM _IOW(SCULL_IOC_MAGIC,  1, scull_quantum)#define SCULL_IOCSQSET    _IOW(SCULL_IOC_MAGIC,  2, scull_qset)#define SCULL_IOCTQUANTUM _IO(SCULL_IOC_MAGIC,   3)#define SCULL_IOCTQSET    _IO(SCULL_IOC_MAGIC,   4)#define SCULL_IOCGQUANTUM _IOR(SCULL_IOC_MAGIC,  5, scull_quantum)#define SCULL_IOCGQSET    _IOR(SCULL_IOC_MAGIC,  6, scull_qset)#define SCULL_IOCQQUANTUM _IO(SCULL_IOC_MAGIC,   7)#define SCULL_IOCQQSET    _IO(SCULL_IOC_MAGIC,   8)#define SCULL_IOCXQUANTUM _IOWR(SCULL_IOC_MAGIC, 9, scull_quantum)#define SCULL_IOCXQSET    _IOWR(SCULL_IOC_MAGIC,10, scull_qset)#define SCULL_IOCHQUANTUM _IO(SCULL_IOC_MAGIC,  11)#define SCULL_IOCHQSET    _IO(SCULL_IOC_MAGIC,  12)/* * The other entities only have "Tell" and "Query", because they're * not printed in the book, and there's no need to have all six. * (The previous stuff was only there to show different ways to do it. */#define SCULL_P_IOCTSIZE _IO(SCULL_IOC_MAGIC,   13)#define SCULL_P_IOCQSIZE _IO(SCULL_IOC_MAGIC,   14)/* ... more to come */#define SCULL_IOCHARDRESET _IO(SCULL_IOC_MAGIC, 15) /* debugging tool */#define SCULL_IOC_MAXNR 15

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区视频网站| 久久99久久精品| 欧美日韩国产中文| 欧美精品久久久久久久多人混战 | 久久国产欧美日韩精品| 国产在线国偷精品免费看| 成人性色生活片免费看爆迷你毛片| 欧美在线观看一区二区| 久久在线观看免费| 亚洲一区在线免费观看| 国产资源在线一区| 成人精品鲁一区一区二区| 欧美吻胸吃奶大尺度电影 | 三级成人在线视频| 三级一区在线视频先锋| 97se亚洲国产综合自在线观| 久久综合色综合88| 亚洲午夜激情网页| av激情综合网| 国产清纯白嫩初高生在线观看91 | 夜夜嗨av一区二区三区网页| 国产一区二区精品久久91| 宅男噜噜噜66一区二区66| 亚洲免费大片在线观看| 国产毛片精品国产一区二区三区| 欧美日韩国产成人在线免费| 亚洲欧洲综合另类| 国产二区国产一区在线观看| 日韩一级大片在线观看| 亚洲成人黄色小说| 欧美日韩亚洲综合一区| 亚洲精品你懂的| 激情综合网av| 2017欧美狠狠色| 寂寞少妇一区二区三区| 日韩一区二区精品葵司在线| 日本网站在线观看一区二区三区| 4438x亚洲最大成人网| 亚洲精品v日韩精品| 丁香婷婷综合色啪| 国产精品素人一区二区| 国产一区二区三区免费看| wwwwww.欧美系列| 国产伦精品一区二区三区免费迷 | 国产一区二区女| 久久久久久毛片| 高潮精品一区videoshd| 久久亚洲捆绑美女| 成人国产精品视频| 亚洲免费av网站| 欧美日韩一区视频| 精品一区二区三区蜜桃| 精品国产一区二区三区四区四| 国产最新精品精品你懂的| 国产午夜精品久久久久久免费视 | 国产精品高潮久久久久无| 91色乱码一区二区三区| 亚洲高清一区二区三区| 91精品国产色综合久久不卡电影 | 亚洲大型综合色站| 日韩一区二区高清| 97国产精品videossex| 午夜精品爽啪视频| 国产午夜亚洲精品不卡| 91黄色激情网站| 精品在线一区二区三区| 国产精品久久久久久一区二区三区 | 99久久久免费精品国产一区二区 | 精品日韩99亚洲| 欧美aaa在线| 日韩精品一区在线| 精品一区二区三区av| www国产精品av| 不卡视频在线看| 欧美成人乱码一区二区三区| 波多野结衣中文一区| 一区二区三区欧美在线观看| 欧美精品在线一区二区| 亚洲成av人片一区二区梦乃| 日韩一区二区免费视频| 国产精品中文欧美| 日韩毛片在线免费观看| 91黄色免费观看| 久久精品国产在热久久| 欧美日韩美少妇| 韩国女主播成人在线观看| 久久综合av免费| 91免费观看视频在线| 午夜精品一区二区三区电影天堂| 精品国产一区二区在线观看| 99精品在线观看视频| 午夜精品免费在线观看| 精品成人a区在线观看| 国产精品综合二区| 亚洲精品高清在线观看| 欧美精品国产精品| 国产成人精品在线看| 亚洲成av人片在线观看无码| 久久久久99精品一区| 欧美在线一区二区三区| 国产在线观看一区二区| 亚洲一区二区中文在线| 欧美一区二区视频在线观看 | 欧美一区二区三区视频免费播放 | 亚洲国产精品视频| 久久精品亚洲一区二区三区浴池| 欧美伦理视频网站| fc2成人免费人成在线观看播放 | 一区二区三区国产豹纹内裤在线| 精品久久久久久久久久久久久久久| www.久久精品| 国产精品99久久久久久有的能看| 亚洲国产综合色| 久久久久国产精品麻豆| 欧美久久久久中文字幕| 成人激情小说网站| 日韩精彩视频在线观看| 亚洲黄一区二区三区| 精品日产卡一卡二卡麻豆| 色婷婷久久久综合中文字幕| 成人免费看视频| 精品无人码麻豆乱码1区2区| 日日摸夜夜添夜夜添精品视频 | 狠狠色丁香久久婷婷综| 一区二区三区**美女毛片| 久久精品亚洲一区二区三区浴池| 欧美一区二区三区视频免费播放 | 国产亚洲欧洲一区高清在线观看| 91精品久久久久久久99蜜桃| 在线看国产一区二区| 99久久久精品| 日本丶国产丶欧美色综合| jvid福利写真一区二区三区| 国产成人精品免费网站| 国产福利精品一区二区| 久久99精品国产91久久来源| 日产欧产美韩系列久久99| 午夜久久久久久电影| 亚洲综合另类小说| 亚洲欧美另类在线| 亚洲va国产va欧美va观看| 亚洲国产日韩一区二区| 亚洲欧美日韩国产一区二区三区 | 激情综合色播激情啊| 亚洲综合色区另类av| 一区二区成人在线| 亚洲精品自拍动漫在线| 亚洲黄色小说网站| 水蜜桃久久夜色精品一区的特点 | 欧美日韩国产小视频在线观看| 在线观看视频一区二区欧美日韩| 在线亚洲免费视频| 欧美日韩极品在线观看一区| 欧美一区二区三区在线视频 | 久久精品人人做人人爽97| 久久综合狠狠综合久久综合88| 日韩午夜av电影| 久久久久久久久一| 国产精品理论片| 一区二区三区四区亚洲| 一区二区三区小说| 国产精品麻豆久久久| 午夜婷婷国产麻豆精品| 青青草原综合久久大伊人精品| 激情六月婷婷久久| 91在线免费播放| 欧美乱熟臀69xxxxxx| 精品国产制服丝袜高跟| 亚洲欧洲日产国码二区| 一区二区三区产品免费精品久久75| 日韩黄色免费网站| 国产成人福利片| 欧美日韩综合在线| 久久精品视频在线免费观看| 亚洲美女免费在线| 男女男精品视频| av激情成人网| 精品视频在线免费看| 欧美成人a∨高清免费观看| 中文字幕一区二区三区在线观看| 亚洲v精品v日韩v欧美v专区| 韩国av一区二区三区四区| 国产激情视频一区二区在线观看 | 老司机精品视频一区二区三区| 成人精品免费看| 欧美精选一区二区| 欧美成人a∨高清免费观看| 国产精品国产精品国产专区不蜜 | 六月丁香婷婷色狠狠久久| 成人深夜视频在线观看| 欧美高清hd18日本| 国产欧美日韩在线| 日本在线观看不卡视频| 91视视频在线观看入口直接观看www| 91精品国产一区二区| 国产精品久久综合| 国产高清视频一区| 久久综合久久综合九色| 五月天激情综合| 91麻豆视频网站|