Initial commit
This commit is contained in:
4
.clangd
Normal file
4
.clangd
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
CompileFlags:
|
||||||
|
Add:
|
||||||
|
- -I/usr/src/kernel-headers-6.18.48_1/include
|
||||||
|
- -I/usr/src/kernel-headers-6.18.48_1/arch/x86/include
|
||||||
35
copy.c
Normal file
35
copy.c
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
if (argc <= 1) {
|
||||||
|
printf("Usage: copy <dst> <src>\n");
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
} else if (argc > 3) {
|
||||||
|
fprintf(stderr, "Too many arguments\n");
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
FILE *src = fopen(argv[1], "rb");
|
||||||
|
FILE *dst = fopen(argv[2], "wb");
|
||||||
|
|
||||||
|
if (src == NULL) {
|
||||||
|
fprintf(stderr, "Unable to open source file\n");
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dst == NULL) {
|
||||||
|
fprintf(stderr, "Unable to open destination file\n");
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
char c;
|
||||||
|
while ((c = fgetc(src)) != EOF) {
|
||||||
|
fputc(c, dst);
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose(src);
|
||||||
|
fclose(dst);
|
||||||
|
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
18
simple.c
Normal file
18
simple.c
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#include <linux/init.h>
|
||||||
|
#include <linux/kernel.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
|
||||||
|
static int simple_init(void) {
|
||||||
|
printk(KERN_INFO "Loading Kernel Module\n");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void simple_exit(void) { printk(KERN_INFO "Removing Kernel Module\n"); }
|
||||||
|
|
||||||
|
module_init(simple_init);
|
||||||
|
module_exit(simple_exit);
|
||||||
|
|
||||||
|
MODULE_LICENSE("GPL");
|
||||||
|
MODULE_DESCRIPTION("Simple Module");
|
||||||
|
MODULE_AUTHOR("LaEntropia");
|
||||||
Reference in New Issue
Block a user