On Fri, Jul 19, 2013 at 3:38 PM, Ritesh Ranjan <r.ranjan789@xxxxxxxxx> wrote:
I keep getting "implicit declaration of <some function>" error quite
often. So I'm assuming I am not adding the correct header files when I
am writing the module.
eg. I wanted to create a kernel thread using
ktheard_create/kthread_run, but couldn't find which header to include.
While I was looking for solutions I stumbled upon ctags. It mostly
gets the job done, but not always. I couldn't find the proper header
to use for open(inode,file); even though ctags pointed me to
<linux/fs.h>, I still get the implicit declaration error.
Is there any way of finding exactly which headers to include when one
is trying to use a function? A detailed explanation would be really
great.
Generally, Ctags is pretty good at finding things. In case you're not getting the right def of a fxn, check the tag list in case there are multiple functions defined with the same name. I forgot the vi command (I think it was "ts" or "tl"), but it'll list down the various defs it found for the fxn. You can then navigate to the specific file of your interest.
HTH,
-mandeep
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies