 <p>Whatever is not implemented in the Linux kernel, you have to implement yourself or borrow from another open source kernel module. However, you'll find that <code>strcat</code> is implemented in the kernel.</p> <p>See the <a href="http://www.kernel.org/doc/htmldocs/kernel-api/">kernel API</a> documentation. Specifically the <a href="http://www.kernel.org/doc/htmldocs/kernel-api/libc.html">Basic C Library Functions</a> section for your general question, and the <a href="http://www.kernel.org/doc/htmldocs/kernel-api/ch02s02.html">String Manipulation</a> section for your specific question about <code>strcat</code>.</p> <p>You'll want to include <code>linux/string.h</code>.</p> <p>I don't know why the kernel API documentation doesn't actually show the header file that you have to include to get the function. But if you're looking for something, you can restrict your search to <code>/include/linux</code> because that is where header files go if they have functions that are shared amongst different parts of the kernel.</p> <p>Header files outside <code>/include/linux</code> contain definitions only for source files residing in the same directory as the header. The exception is <code>/arch/.../include</code>, which will contain architecture-specific headers instead of platform independent ones.</p>