scull通过struct scull_dev的结构来表示每个设备,该结构的定义如下:
struct scull_dev {
struct scull_qset *data; //指向第一个量子集的指针
int quantum; //当前的量子大小
int qset; //当前的数组大小
unsigned long size; //保存在其中的数据总量
unsigned int access_key; //由sculluid和scullpriv使用
struct semaphore sem; //互斥信号量
struct cdev cdev; //字符设备结构体
};
struct scull_qset {
void **data;
struct scull_qset *next;
};