Использование связи ioctl между режимом ядра и режимом пользователя
Я хочу общаться со своим модулем ядра с помощью ioctl. Я написал две программы на языке Си, одну для модуля ядра, а другую для пользовательского режима. Я получаю эту ошибку при компиляции модуля ядра:
Ошибка: неизвестное поле 'ioctl', указанное в инициализаторе
В этой строке:
struct file_operations Fops = {
.read = device_read,
.write = device_write,
.ioctl = device_ioctl, ------> at this point error is occuring.
.open = device_open,
.release = device_release,
};
Любая идея, почему это происходит.
Спасибо
2 ответов:
В более новых ядрах предпочтительным способом является использование полей
.unlocked_ioctlили.compat_ioctl. Равнина.ioctlбыла удалена изstruct file_operations. Эта дискуссия может прояснить, что произошло и как с этим бороться.
Comments