www.pudn.com > driverII_demo.rar > scull.h
#ifndef __SCULL_H__ #define __SCULL_H__ #include#define SCULL_QUANTUM 2000 #define SCULL_QSET 1000 extern int scull_quantum; extern int scull_qset; /* Prototypes for shared functions */ static loff_t scull_llseek(struct file *filp, loff_t off, int whence); static ssize_t scull_read(struct file *filp, char __user *buf, size_t count, loff_t *ppos); static ssize_t scull_write(struct file *filp, const __user char *buf, size_t count, loff_t *ppos); static int scull_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg); static int scull_open(struct inode *inode, struct file *filp); static int scull_release(struct inode *inode, struct file *filp); /* Ioctl definiction */ #define SCULL_IOC_MAGIC 'j' #define SCULL_IOC_MAXNR 15 #define SCULL_IOCRESET _IO(SCULL_IOC_MAGIC, 0) #define SCULL_IOCSQUANTUM _IOW(SCULL_IOC_MAGIC, 1, 2000) #define SCULL_IOCSQSET _IOW(SCULL_IOC_MAGIC, 2, 1000) #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) #endif