使内核头可用于用户空间

我已经写了一个自定义的设备驱动程序作为一个树内核模块。 此设备驱动程序定义用户空间应用程序所需的一组ioctls。 ioctls在自定义头文件中定义。

什么是这个头文件应该安装的标准位置? 这应该是/usr/include吗? 或者也许是安装标准内核包含文件的相同位置?

我已经读过这个问题,但没有指定自定义头文件应该安装在哪里。

我认为你应该像对待其他人一样对待你的公共用户空间API头,并把它们放在/usr/include 。 既可以是单个文件(如果它是一个小的API),也可以是一个子目录。 只要确保只在该标题中提供必要的部分,而不是实现细节。 如果要为开发人员生成一个Linux包,通常将其命名为foo-dev(APT / Ubuntu)或foo-devel(YUM / RHEL)。