Доброе время суток.
Такой вот вопрос возник у меня. Если в user-space ioctl определяется как
int ioctl(int d, int requset, ...);
то в kernel-space, в структуре file_operations это выглядит след. образом:
int (*ioctl)(struct inode*,struct file*,unsigned int,unsigned long);
Теперь собссно вопрос.
1. Правильно ли первым параметром в "ядерном" ioctl указывать fd->f_dentry->d_inode
2. Хочу я последним параметром передать ссылку на структуру или хотя бы на int, но именно ссылку(указатель).... И чего? Как ето провернуть? Я конечно предполагаю, что вопрос ламерский, но хотелось бы точно знать, как в моем случае поступить. Если на примерах:
В user-space :
int format = AFMT_U8;
ioctl(dd, SNDCTL_DSP_SETFMT, &format);
В kernel-space:
int format = AFMT_U8;
dd->f_op->ioctl(dd->f_dentry->d_inode, dd, SNDCTL_DSP_SETFMT, &format);
Ответ на:
-
от sS
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Получить значение атрибута exFAT (2023)
- Форум linux driver: wake_up_interruptible from tasklet (2011)
- Форум Трабл с модулем (2005)
- Форум куда пойдём мы с recvfrom? (2016)
- Форум Драйвер чтения и записи (2013)
- Форум Device-mapper target модуль ядра (2017)
- Форум пользовательские данные,sk_buff (2013)
- Форум Netlink (в консольном приложении работает, в GUI - нет) (2013)
- Форум block device driver: не работает чтение (2024)
- Форум поток ядра созданный kthread_create() не может создать или открыть файл используя filp_open() (2020)