#include #include #include #include #include /* used for kmalloc */ #include #include char *debugmsg = "Tesla coil is a hi freq transformer"; struct dentry *debug_dir = NULL; struct dentry *debug_file = NULL; /* __init is a hint that the func is only used at initialization time, then module * loader drops the function after module is loaded making its memory available for other uses */ static int __init hello_init(void) { int err = 0; char *msg = (char *) kmalloc_array(128, sizeof(char), GFP_KERNEL /* kernel ram */); printk("module named hello inserted\n"); strcpy(msg, "photon is the energy carrier particle for EM waves within light spectrum"); printk("%s\n", msg); kfree(msg); /* modifies passed in ptrs */ err = debug_init(&debug_dir, &debug_file); if (err) printk("debugfs might not have been mounted\n"); return 0; } static void __exit hello_exit(void) { debug_destroy(debug_dir, debug_file); printk("module named hello removed\n"); } module_init(hello_init); module_exit(hello_exit); MODULE_LICENSE("GPL");