X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=hello%2Fhello-1.c;h=a0d241d51cf8f45bb78cea498bc4aadf7d516503;hb=5ef1719c674e2eeedbfaef7dacb982b3b7c3c74c;hp=63c883d72609c2b9059d0953a929c9e4be4b6bf7;hpb=3dbc9ddcb4a7031d73f1186f98cb54f8692377b1;p=my-code%2Fkernel.git diff --git a/hello/hello-1.c b/hello/hello-1.c index 63c883d..a0d241d 100644 --- a/hello/hello-1.c +++ b/hello/hello-1.c @@ -1,6 +1,58 @@ -/* hello world using init macros */ +/* hello world */ #include #include +#include +#include "../general.h" +#if CONFIG_MODVERSIONS==1 + #define MODVERSIONS +#endif + +#include + +#ifndef CONFIG_DEVFS_FS + #error no devfs +#endif + +#include +#include + +extern void *sys_call_table[]; + +static devfs_handle_t devfs_handle; + +static struct file_operations fops = +{ + .read=device_read, + .write=device_write, + .open=device_open, + .release=device_release, + .ioctl=device_ioctl +} + +int my_uid=0; +char *parm_string="blah"; + +MODULE_PARM(my_uid,"i"); +MODULE_PARM(parm_string,"s"); + +int my_init(void) +{ + devfs_handle=devfs_register(NULL,"hackbard/1",DEVFS_FL_DEFAULT,0,0, + printk(KERN_ALERT "module loaded with uid %d, string %s\n",my_uid,parm_string); + return 0; +} + +void my_cleanup(void) +{ + printk(KERN_ALERT "module unloaded\n"); +} + +module_init(my_init); +module_exit(my_cleanup); + +MODULE_AUTHOR(ME_THE_AUTHOR); +MODULE_DESCRIPTION("bullshit ;)"); +MODULE_LICENSE("GPL");