Я хочу реализовать простой модуль, в котором используется метод ioctl()
. В модуле ядра я использую макросы ядра, такие как _IO()
, _IOWR()
и т. Д., Чтобы определить мои собственные подкоманды ioctl
. В действительности мне не нужны фактические значения этих определений, поскольку я всегда буду использовать эти макросы вместо фактических значений.Как разделить файлы заголовков между модулями ядра и приложениями пользовательского пространства.
Когда программисты в пользовательском пространстве хотят вызвать мою функцию ioctl()
, они должны знать либо фактические значения, либо макроопределения таких подкоманд.
Я думаю, что в пользовательском пространстве это не будет , _IOWR()
макроопределения, поэтому, как я могу экспортировать эти определения в пользовательское пространство для прикладных программистов.
Проверьте содержимое папки 'include/uapi' в исходном дереве ядра Linux. – 0andriy