diff options
author | 0xwille | 2011-07-12 20:51:00 +0200 |
---|---|---|
committer | 0xwille | 2011-07-12 20:51:00 +0200 |
commit | 389cc1ba8d9e673f1313fd966820c6d9d463525f (patch) | |
tree | 77bac88a1faa54c28e8d38bcee7485c742680105 /lists/lists.c | |
parent | c8f116e17b471704abbb3b1508733aa1bddda7da (diff) | |
download | lkm-389cc1ba8d9e673f1313fd966820c6d9d463525f.tar.gz |
AƱadido pid
Diffstat (limited to 'lists/lists.c')
-rw-r--r-- | lists/lists.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lists/lists.c b/lists/lists.c new file mode 100644 index 0000000..2eee70c --- /dev/null +++ b/lists/lists.c @@ -0,0 +1,41 @@ +#include <linux/kernel.h> +#include <linux/module.h> + +#define LENGTH 5 + +struct node { + struct list_head l; + int dato; +}; + +int init_module(void) +{ + int i; + struct node head, aux[LENGTH], *aux2; + struct list_head* iter; + + INIT_LIST_HEAD(&head.l); + head.dato = 666; + + for (i = 0; i < LENGTH; i++) { + aux[i].dato = i; + + list_add_tail(&aux[i].l, &head.l); + } + + list_for_each(iter, &head.l) { + aux2 = list_entry(iter, struct node, l); + printk(KERN_INFO "%d", aux2->dato); + } + + printk(KERN_INFO "Por cierto, en 0x0 hay: %d", ((struct node *)0)->dato); + + return 0; +} + +void cleanup_module(void) +{ +} + +MODULE_AUTHOR("Guillermo Ramos"); +MODULE_LICENSE("GPL"); |