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

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

?? scull.h

?? Linux設(shè)備驅(qū)動程序第二版
?? H
字號:
/* * scull.h -- definitions for the char module * *********/#include <linux/ioctl.h>/* version dependencies have been confined to a separate file */#include "sysdep-2.1.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);lseek_t scull_lseek (struct inode *inode, struct file *filp,                 lseek_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一区二区三区免费野_久草精品视频
狠狠色狠狠色综合日日91app| 欧美综合一区二区三区| 国产精品一区专区| 成人av电影观看| 欧洲生活片亚洲生活在线观看| 色偷偷成人一区二区三区91| 91精品一区二区三区久久久久久 | 国产精品麻豆久久久| 亚洲欧洲精品一区二区三区不卡 | 国产成人日日夜夜| 在线视频观看一区| 欧美成人午夜电影| 亚洲欧美经典视频| 精品一区二区久久久| 精品一区二区久久| 欧美午夜宅男影院| 国产欧美日韩精品a在线观看| 亚洲品质自拍视频网站| 久久精品噜噜噜成人88aⅴ| 国产盗摄女厕一区二区三区| 91精品福利视频| 久久亚洲二区三区| 午夜激情久久久| 成熟亚洲日本毛茸茸凸凹| 在线观看成人小视频| 日韩欧美电影一二三| 国产精品私人自拍| 久久99热这里只有精品| 色爱区综合激月婷婷| 久久一区二区三区四区| 国产午夜一区二区三区| 石原莉奈在线亚洲三区| 91色视频在线| 国产亚洲va综合人人澡精品| 免费精品99久久国产综合精品| jvid福利写真一区二区三区| 欧美mv日韩mv国产网站app| 亚洲一区二区三区视频在线播放| 成人综合在线观看| 国产亚洲福利社区一区| 蜜臀av性久久久久蜜臀av麻豆| 色噜噜狠狠色综合欧洲selulu| 欧美一区二区三区色| 亚洲小少妇裸体bbw| 99视频超级精品| 国产丝袜在线精品| 国产美女av一区二区三区| 91.xcao| 亚洲一区二区三区小说| 在线免费观看视频一区| 亚洲精品va在线观看| 91小宝寻花一区二区三区| 欧美精品tushy高清| 亚洲大片一区二区三区| 欧美日韩国产乱码电影| 天堂久久一区二区三区| 在线综合视频播放| 丝瓜av网站精品一区二区| 在线电影一区二区三区| 日本怡春院一区二区| 欧美在线一二三| 午夜国产精品一区| 日韩欧美精品在线视频| 久久精品国产成人一区二区三区| 欧美不卡视频一区| 五月激情六月综合| 日韩欧美国产系列| 国产精品69久久久久水密桃| 国产精品青草综合久久久久99| 91亚洲国产成人精品一区二三| 亚洲一区二区五区| 欧美午夜在线观看| 免费国产亚洲视频| 国产精品欧美综合在线| www.亚洲人| 婷婷中文字幕综合| 久久久久久久国产精品影院| www.亚洲在线| 天天爽夜夜爽夜夜爽精品视频| 日韩一区二区在线观看| 国产一区999| 亚洲女子a中天字幕| 欧美一区二区成人6969| 国产精品综合av一区二区国产馆| 中文字幕色av一区二区三区| 欧美在线观看视频一区二区 | 91精品国产麻豆| 国产精品主播直播| 亚洲免费视频成人| 精品欧美一区二区三区精品久久| 床上的激情91.| 日韩精品1区2区3区| 久久久久青草大香线综合精品| 色婷婷激情一区二区三区| 免费视频一区二区| 亚洲特级片在线| 欧美不卡激情三级在线观看| 91福利国产成人精品照片| 激情五月婷婷综合| 亚洲福利视频一区二区| 久久久久亚洲蜜桃| 欧美一区二区三区四区久久| 91日韩一区二区三区| 精品夜夜嗨av一区二区三区| 亚洲一区中文日韩| 欧美激情一区二区三区在线| 91麻豆精品国产91久久久资源速度 | 亚洲精品成人在线| 国产精品热久久久久夜色精品三区 | 一区二区三区四区高清精品免费观看| 国产欧美精品一区二区三区四区| www激情久久| 2020国产成人综合网| 精品久久久久久久久久久久久久久久久 | 欧美主播一区二区三区美女| 成人精品小蝌蚪| 春色校园综合激情亚洲| 成人国产精品免费观看视频| 高清免费成人av| 成人看片黄a免费看在线| 国产99久久久国产精品| 国产成人精品网址| 成人丝袜视频网| 91香蕉视频在线| 欧美体内she精高潮| 欧美日本一区二区在线观看| 欧美精品日韩一区| 日韩一区二区高清| www亚洲一区| 中文字幕av一区二区三区高 | av中文字幕在线不卡| 色综合久久天天| 欧美日韩色综合| 日韩精品在线一区| 亚洲国产精品精华液ab| 亚洲女子a中天字幕| 婷婷夜色潮精品综合在线| 久久99国产精品久久| 狠狠色丁香婷综合久久| 成人97人人超碰人人99| 欧美综合在线视频| 日韩一级完整毛片| 国产欧美一区视频| 亚洲一区二区美女| 国产综合色在线| 91免费观看国产| 日韩一区二区精品葵司在线 | 91首页免费视频| 欧美精品aⅴ在线视频| 精品粉嫩aⅴ一区二区三区四区| 国产日本欧美一区二区| 一区二区三区日韩欧美精品 | av中文字幕在线不卡| 精品视频一区二区三区免费| 日韩欧美一二区| 亚洲女同一区二区| 国产一区二区福利| 欧美日本视频在线| 国产精品三级电影| 久久精品国产色蜜蜜麻豆| 色婷婷久久久综合中文字幕| 精品久久久久99| 亚洲五码中文字幕| 国产成人av在线影院| 欧美精选在线播放| 亚洲欧洲成人自拍| 国内精品第一页| 欧美高清视频在线高清观看mv色露露十八 | 亚洲免费在线播放| 国产精品资源在线观看| 欧美日产在线观看| 亚洲精品欧美在线| 成人免费观看av| 欧美刺激脚交jootjob| 樱桃视频在线观看一区| 国产成人精品亚洲777人妖 | 欧美精品日韩精品| 亚洲色图在线看| 丁香六月综合激情| 欧美精品一区二区三区视频| 亚洲一区二区三区国产| 95精品视频在线| 亚洲国产精品v| 高清在线不卡av| 国产欧美日韩综合精品一区二区| 丝袜诱惑亚洲看片| 欧美性生交片4| 亚洲欧美另类小说| 99久久综合狠狠综合久久| 欧美国产1区2区| 岛国av在线一区| 国产农村妇女精品| 国产精品1024| 国产午夜精品在线观看| 国内精品国产成人| 久久久电影一区二区三区| 国产精品99久久久| 国产精品蜜臀在线观看| 国产91综合一区在线观看| 中文字幕欧美区|