Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Sprawdz dzialanie funkcji operujacych na ciagach znakow w module jadra */
- #include <linux/module.h>
- #include <linux/string.h>
- #include <linux/slab.h>
- static int __init program_init(void)
- {
- char* buffer = "Przykladowy ciag znakow";
- char* copy_buffer;
- const char* buffer_find = "znak";
- printk(KERN_ALERT "Zadanie 2 (5 punktow)\n");
- printk(KERN_DEFAULT "%s\n", buffer);
- printk(KERN_DEFAULT "Dlugosc ciagu znakow [strlen()]: %zu\n", strlen(buffer));
- printk(KERN_DEFAULT "Rozmiar ciagu znakow [sizeof()]: %zu\n", sizeof(buffer));
- copy_buffer = (char *)kmalloc(sizeof(buffer), GFP_KERNEL);
- if (!copy_buffer) {
- printk(KERN_ERR "Blad przy alokacji drugiego ciagu znakow\n");
- return -1;
- }
- strncpy(copy_buffer, buffer, strlen(buffer));
- printk(KERN_DEFAULT "Skopiowany ciag znakow [strncpy()]: %s\n", copy_buffer);
- kfree(copy_buffer);
- printk(KERN_DEFAULT "Znajdz ciag znakow \"znak\" [strnstr()]: %s\n", strnstr(buffer, buffer_find, strlen(buffer)));
- return 0;
- }
- static void __exit program_exit(void)
- {
- printk(KERN_ALERT "Koniec\n");
- }
- module_init(program_init);
- module_exit(program_exit);
- MODULE_AUTHOR("Tobiasz Nartowski <tobiasznartowski@gmail.com");
- MODULE_DESCRIPTION("Zadanie 2 (5 punktow)");
- MODULE_LICENSE("GPL");
Add Comment
Please, Sign In to add comment