- 论坛徽章:
- 0
|
我想写一个小的驱动,
其中的ioctl实现设备的挂载功能,
大致的效果就是
mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c
但是我写出来的程序并不好用,请问我错在哪里,究竟怎样才能够实现我的目的?谢谢!!
以下是我的代码:- /*These only used for test.*/
- #define __MNT_DEV__ "/dev/sda1"
- #define __MNT_DIR__ "/mnt/c"
- #define __MNT_TYP__ "vfat"
- #define __MNT_OPT__ "iocharset=utf8,umask=0"
复制代码- static int widgetdrv_ioctl(struct inode *inodep, struct file *filp, unsigned int cmd, unsigned long arg)
- {
- struct widgetdrv_dev *dev;
- dev = filp->private_data;
- printk(KERN_ALERT "ioctl!\n");
- switch(cmd)
- {
- case __WIDGET_DRV_MOUNT__:
- sys_mount(__MNT_DEV__, __MNT_DIR__, __MNT_TYP__, __MNT_FLG__, __MNT_OPT__);
- break;
- case __WIDGET_DRV_UMOUNT__:
- //sys_umount(__MNT_DIR__, __MNT_FLG__);
- break;
- default:
- return -EINVAL;
- }
- return 0;
- }
复制代码 |
|