Kernel header inclusion practice

Shiyao MA i at introo.me
Wed Jul 5 02:50:59 EDT 2017


Hi,

How do you include the kernel headers?

For example,
Currently I have the headers:
#include <linux/module.h>
#include <linux/kthread.h>
#include <linux/delay.h>

And now I wanna use the  `struct workqueue_struct'. It turns out I
don't have to include the "linux/workqueue.h".

So it must have already been included by the three headers above.

My question is:

What's the practice of including headers?
Should I specifically include "linux/workqueue.h" ?


Another question is particular to the above three headers: does any of
them guarantee to include the "linux/queue.h"?

If there is any documentation about the API of the headers (e.g., what
they include), that will be great.


Best



More information about the Kernelnewbies mailing list