在内核中定义/声明struct的位置也可以在外面使用?

时间:2012-10-21 17:31:19

标签: c include linux-kernel

我正在linux内核中创建一个新的系统调用。它将引用我正在创建的新结构,因此kernel / * .c文件和用户程序都需要#include一个文件来访问结构类型。

我在哪里可以申报我的结构?我已经尝试将声明放入include/linux/syscalls.h,但是我没有看到如何从内核外部#include这个(如果我尝试编译程序来使用它,我会收到错误。)

1 个答案:

答案 0 :(得分:0)

看看http://www.tldp.org/HOWTO/html_single/Implement-Sys-Call-Linux-2.6-i386/ 这是针对2.6内核的,但3.0在这方面没有太大变化(如果有的话)。

请注意,它建议内核和非内核使用的单独标头。

Google搜索“linux add syscall”很容易找到这些信息。