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

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

?? scull.h

?? 典型的linux驅(qū)動(dòng)程序
?? H
字號(hào):
/* * scull.h -- definitions for the char module * * Copyright (C) 2001 Alessandro Rubini and Jonathan Corbet * Copyright (C) 2001 O'Reilly & Associates * * The source code in this file can be freely used, adapted, * and redistributed in source or binary form, so long as an * acknowledgment appears in derived source files.  The citation * should list that the code comes from the book "Linux Device * Drivers" by Alessandro Rubini and Jonathan Corbet, published * by O'Reilly & Associates.   No warranty is attached; * we cannot take responsibility for errors or fitness for use. * * $Id: scull.h,v 1.15 2004/11/04 17:51:18 rubini Exp $ */#ifndef _SCULL_H_#define _SCULL_H_#include <linux/ioctl.h> /* needed for the _IOW etc stuff used later *//* * 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#endif/* * Representation of scull quantum sets. */struct scull_qset {	void **data;	struct scull_qset *next;};struct scull_dev {	struct scull_qset *data;  /* Pointer to first quantum set */	int quantum;              /* the current quantum size */	int qset;                 /* the current array size */	unsigned long size;       /* amount of data stored here */	unsigned int access_key;  /* used by sculluid and scullpriv */	struct semaphore sem;     /* mutual exclusion semaphore     */	struct cdev cdev;	  /* Char device structure		*/};/* * Split minors in two parts */#define TYPE(minor)	(((minor) >> 4) & 0xf)	/* high nibble */#define NUM(minor)	((minor) & 0xf)		/* low  nibble *//* * 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_buffer;	/* pipe.c *//* * Prototypes for shared functions */int     scull_p_init(dev_t dev);void    scull_p_cleanup(void);int     scull_access_init(dev_t dev);void    scull_access_cleanup(void);int     scull_trim(struct scull_dev *dev);ssize_t scull_read(struct file *filp, char __user *buf, size_t count,                   loff_t *f_pos);ssize_t scull_write(struct file *filp, const char __user *buf, size_t count,                    loff_t *f_pos);loff_t  scull_llseek(struct file *filp, loff_t off, int whence);int     scull_ioctl(struct inode *inode, struct file *filp,                    unsigned int cmd, unsigned long arg);/* * Ioctl definitions *//* Use 'k' as magic number */#define SCULL_IOC_MAGIC  'k'/* Please use a different 8-bit number in your code */#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": switch G and S atomically * H means "sHift": switch T and Q atomically */#define SCULL_IOCSQUANTUM _IOW(SCULL_IOC_MAGIC,  1, int)#define SCULL_IOCSQSET    _IOW(SCULL_IOC_MAGIC,  2, int)#define SCULL_IOCTQUANTUM _IO(SCULL_IOC_MAGIC,   3)#define SCULL_IOCTQSET    _IO(SCULL_IOC_MAGIC,   4)#define SCULL_IOCGQUANTUM _IOR(SCULL_IOC_MAGIC,  5, int)#define SCULL_IOCGQSET    _IOR(SCULL_IOC_MAGIC,  6, int)#define SCULL_IOCQQUANTUM _IO(SCULL_IOC_MAGIC,   7)#define SCULL_IOCQQSET    _IO(SCULL_IOC_MAGIC,   8)#define SCULL_IOCXQUANTUM _IOWR(SCULL_IOC_MAGIC, 9, int)#define SCULL_IOCXQSET    _IOWR(SCULL_IOC_MAGIC,10, int)#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_IOC_MAXNR 14#endif /* _SCULL_H_ */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区日韩视频| 91久久精品一区二区三区| 欧美一区二区在线免费观看| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美日韩国产美| 亚洲成人www| 日韩一区二区免费高清| 日本色综合中文字幕| 精品久久一区二区| 国产成人精品亚洲日本在线桃色| 国产精品乱码妇女bbbb| 99精品久久只有精品| 亚洲国产日韩在线一区模特| 欧美精三区欧美精三区| 免费人成精品欧美精品| 久久久久97国产精华液好用吗 | 国产99久久精品| 日韩伦理av电影| 欧美日本在线一区| 国产乱码精品一区二区三| 中文字幕第一区| 欧美日韩在线免费视频| 久久精品国产免费| 国产精品欧美一级免费| 欧美日韩一区在线观看| 国产在线国偷精品产拍免费yy| 国产精品情趣视频| 欧美精品乱码久久久久久| 韩国一区二区在线观看| 亚洲婷婷综合久久一本伊一区| 欧美日韩视频在线观看一区二区三区 | 另类小说综合欧美亚洲| 亚洲欧洲日产国产综合网| 精品视频色一区| 国产jizzjizz一区二区| 亚洲一区在线视频观看| 久久这里只有精品首页| 欧美私人免费视频| 国产91色综合久久免费分享| 天堂av在线一区| 自拍偷拍亚洲欧美日韩| 欧美一区二区高清| 日本高清不卡一区| 粉嫩aⅴ一区二区三区四区 | 国产一区在线精品| 亚洲成人动漫在线免费观看| 中文字幕 久热精品 视频在线 | 在线观看亚洲精品| 国产成+人+日韩+欧美+亚洲| 午夜成人免费视频| 亚洲欧美电影一区二区| 国产喷白浆一区二区三区| 欧美美女一区二区| 色婷婷亚洲一区二区三区| 国产高清一区日本| 久久精品国产亚洲高清剧情介绍| 亚洲一区二区av电影| 亚洲欧美国产三级| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美一区二区大片| 欧美美女一区二区三区| 91国产成人在线| 91蜜桃免费观看视频| 粗大黑人巨茎大战欧美成人| 国产一区二区三区免费看| 免费成人av在线| 免费在线视频一区| 日本伊人色综合网| 性做久久久久久免费观看欧美| 亚洲一区二区影院| 亚洲激情成人在线| 亚洲色图制服丝袜| 亚洲私人黄色宅男| 最新久久zyz资源站| 亚洲欧洲www| 中文字幕人成不卡一区| 中文字幕中文字幕中文字幕亚洲无线| 亚洲精品一线二线三线无人区| 日韩一区二区三区电影| 日韩一区二区精品葵司在线| 91精品久久久久久久91蜜桃| 欧美日韩一区二区三区视频| 欧美日韩一区二区三区在线| 欧美久久高跟鞋激| 欧美本精品男人aⅴ天堂| 精品国一区二区三区| 久久久高清一区二区三区| 久久久久9999亚洲精品| 国产精品久久久久aaaa| 日韩一区欧美一区| 一区二区三国产精华液| 日韩一区精品字幕| 蜜桃av噜噜一区| 国产99久久久国产精品免费看| 不卡一二三区首页| 欧美视频完全免费看| 欧美精品电影在线播放| 欧美va亚洲va国产综合| 日本一区二区三区国色天香 | 亚洲永久免费av| 丝袜亚洲另类丝袜在线| 国产一区二区影院| 99麻豆久久久国产精品免费| 欧美无砖砖区免费| 日韩欧美亚洲另类制服综合在线| 国产欧美日韩在线视频| 亚洲精选一二三| 日本aⅴ免费视频一区二区三区| 国产一区二区不卡在线| 色哟哟欧美精品| 欧美成人性战久久| 最新日韩在线视频| 美女网站一区二区| 不卡电影免费在线播放一区| 欧美日韩成人综合| 国产日韩精品视频一区| 午夜精品久久久久久| 国产美女精品一区二区三区| 91国偷自产一区二区开放时间 | 午夜精品123| 国产成人精品亚洲日本在线桃色| 欧美自拍偷拍一区| 久久久久久久综合色一本| 一区二区三区四区在线播放| 国产一区亚洲一区| 欧美日韩免费观看一区三区| 国产日韩欧美a| 日本不卡一区二区三区| 色综合久久综合中文综合网| 日韩一区二区视频在线观看| 亚洲精品国产无天堂网2021 | 成人激情动漫在线观看| 欧美一区二区三区四区五区| 自拍偷拍欧美精品| 国产精品性做久久久久久| 欧美日韩中文另类| 综合久久综合久久| 国产精品一区久久久久| 日韩一区二区高清| 亚洲国产精品综合小说图片区| 成人激情校园春色| 2021久久国产精品不只是精品| 污片在线观看一区二区| 色婷婷久久久久swag精品| 日本一区二区三区在线不卡| 久久国产三级精品| 欧美日韩的一区二区| 亚洲精品成人少妇| 91视频com| 中文字幕不卡三区| 国产成人av在线影院| 精品国产网站在线观看| 免费看欧美美女黄的网站| 欧美日韩一本到| 亚洲综合免费观看高清完整版在线| 国产成人在线观看| 国产欧美日韩另类视频免费观看| 毛片不卡一区二区| 欧美肥胖老妇做爰| 午夜电影一区二区三区| 欧美日韩免费电影| 亚洲影院理伦片| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 一区在线观看免费| 粗大黑人巨茎大战欧美成人| 国产无一区二区| 成人亚洲精品久久久久软件| 久久久久国产精品麻豆| 国产成人精品亚洲日本在线桃色| 国产亚洲欧美色| 风流少妇一区二区| 亚洲欧美在线观看| 在线日韩一区二区| 亚洲成人一二三| 3d动漫精品啪啪1区2区免费| 午夜久久久久久久久久一区二区| 欧美肥妇毛茸茸| 麻豆视频一区二区| 久久久久久久综合| www.亚洲色图| 亚洲欧美视频在线观看视频| 欧美性猛片aaaaaaa做受| 亚洲国产美国国产综合一区二区| 欧美日韩aaaaa| 狠狠色丁香久久婷婷综| 久久久亚洲综合| 99vv1com这只有精品| 亚洲午夜av在线| 日韩欧美国产一区二区在线播放| 激情久久五月天| 中文字幕日韩精品一区| 欧美视频一区二区在线观看| 美国av一区二区| 国产精品嫩草久久久久| 欧美色图片你懂的| 国内精品国产成人国产三级粉色| 国产精品丝袜黑色高跟| 欧美午夜理伦三级在线观看| 黄色小说综合网站| 亚洲欧美日韩综合aⅴ视频|