Доброе время суток.
Такой вот вопрос возник у меня. Если в 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);