Re: Kernel header inclusion practice

2017-07-05 Thread Greg KH
On Wed, Jul 05, 2017 at 08:13:08PM +0800, Shiyao Ma wrote:
> Thanks!
> 
> > On 5 Jul 2017, at 20:07, Greg KH  wrote:
> > 
> >> 
> >> If there is any documentation about the API of the headers (e.g., what
> >> they include), that will be great.
> > 
> > What exactly do you mean by this?
> 
> 
> I mean if any kernel documentation specifies what the headers provide,
> IOW, what they include, and what functions/variables they declare.
> 
> So I guess probably not, the source code of kernel headers are their
> own documentation/specification.

Yes, the source itself is always the best documentation, it's always
kept up to date :)


___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Kernel header inclusion practice

2017-07-05 Thread Shiyao Ma
Thanks!

> On 5 Jul 2017, at 20:07, Greg KH  wrote:
> 
>> 
>> If there is any documentation about the API of the headers (e.g., what
>> they include), that will be great.
> 
> What exactly do you mean by this?


I mean if any kernel documentation specifies what the headers provide, IOW, 
what they include, and what functions/variables they declare.

So I guess probably not, the source code of kernel headers are their own 
documentation/specification.

Best,
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Kernel header inclusion practice

2017-07-05 Thread Greg KH
On Wed, Jul 05, 2017 at 02:50:59PM +0800, Shiyao MA wrote:
> Hi,
> 
> How do you include the kernel headers?
> 
> For example,
> Currently I have the headers:
> #include 
> #include 
> #include 
> 
> 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" ?

To be safe, yes, please do, sometimes other arches will not pull in the
.h files automatically that you expect them to.  So be specific.

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

Nope, if you need it, list it.

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

What exactly do you mean by this?

thanks,

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies