【问题标题】:Make kernel headers available to user space使内核头文件可用于用户空间
【发布时间】:2013-12-26 14:13:05
【问题描述】:
我已经编写了一个自定义设备驱动程序作为树外内核模块。
此设备驱动程序定义了一组用户空间应用程序所需的 ioctl。 ioctl 在自定义头文件中定义。
应该安装此头文件的标准位置是什么?这应该是/usr/include 吗?或者可能是安装标准内核包含文件的同一位置?
我已阅读this question,但它没有指定自定义头文件的安装位置。
【问题讨论】:
标签:
linux
linux-kernel
linux-device-driver
【解决方案1】:
我认为您应该像对待任何其他人一样对待您的公共用户空间 API 标头,并将它们放在 /usr/include 下。如果它是一个小型 API,则可以作为单个文件,也可以在子目录中。只需确保仅在该标头中提供必要的部分,而不是实现细节。如果您要为开发人员制作一个 Linux 软件包,您通常会将其命名为 foo-dev (APT/Ubuntu) 或 foo-devel (YUM/RHEL)。