今天在看宋宝华版的《linux设备驱动开发详解》书中的块设备中vmem_disk驱动实例,里面有这个函数:
static void setup_device(struct vmem_disk_dev *dev,int which)
{
/*
* 分配globalmem内存
*/
memset(dev,0,sizeof(vmem_disk_dev ));
dev->size = nsectors*hardsect_size;
dec->data = vmalloc(dev->size);
if(dev->data == NULL){
printk(KERN_NOTICE"vmalloc failure.\n");
return ;
}
………………………………
}
我搞不明白vmem_disk_dev 这个结构体是哪里来的,我在内核中搜遍了,找不到这个结构体,也在块设备中用到的三个结构体中找 ,也找不到这个结构体,这三个结构体中包含的结构体也没找到某个结构体包含size,data成员的,书上也没怎么说,按照书上留下的联系方式,邮箱(book@linuxdriver.cn)被163认为是输入格式不正确,QQ(1275822672)查到是北京的一个女的,本书专用网址(www.linuxdriver.cn),竟然是卖衣服的,书上自带的代码都在光盘中的虚拟机中,我不可能为了得到代码去装一遍虚拟机,我没辙了 特此请教,非常感谢!!! |