Я пишу драйвер в Linux. Как я могу использовать ioctl для связи между пользовательской программой и драйвером? В моем драйвере, структура выглядит следующим образом:Как я могу использовать ioctl для связи между пользовательской программой и драйвером?
struct file_operations fops = {.read = device_read,.write = device_write,.unlocked_ioctl = device_ioctl,.open = device_open,.release=device_release };
В моем понимании, здесь device_ioctl это функция, которая обрабатывает IOCTL вызов из пользовательской программы. А вызов возможен с переменным числом параметров.
Но я не уверен в способе использования ioctl. Также полностью смущен и хочет узнать, как я могу написать device_ioctl?
Может ли кто-нибудь мне помочь?
Заранее спасибо.
Во-первых, вы должны узнать, как 'ioctl' используется из пользовательского пространства, а затем проверить, как аналогичные драйверы реализовать его, то цифра вне зависимости от вашего водителя. –
можете ли вы предложить ссылку ?. – tijin