added more to kernel module

This commit is contained in:
twoneis 2025-03-25 16:41:09 +01:00
parent 9aa949736e
commit b5737cb31e
2 changed files with 47 additions and 7 deletions

View file

@ -4,23 +4,64 @@
#include <linux/proc_fs.h> #include <linux/proc_fs.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#define DEVICE_NAME "lkm"
static int lkm_init(void);
static int lkm_exit(void);
int lkm_open(struct inode *, struct file *);
int lkm_release(struct inode *, struct file *);
long lkm_ioctl(struct file *, unsigned int, long unsigend int);
module_init(lkm_init);
module_exit(lkm_exit);
static struct file_operations lkm_fops = {
.owner = "",
.open = lkm_open,
.release = lkm_release,
.unlocked_ioctl = lkm_ioctl,
};
MODULE_AUTHOR("Mira Chacku Purakal"); MODULE_AUTHOR("Mira Chacku Purakal");
MODULE_DESCRIPTION("Generic Module"); MODULE_DESCRIPTION("Generic Module");
MODULE_VERSION("0.1"); MODULE_VERSION("0.1");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
static int static int
mod_init(void) lkm_init(void)
{ {
printk(KERN_INFO "module init"); int ret;
printk(KERN_INFO "lkm: init: start");
ret = register_chrdev(0, DEVICE_NAME, &lkm_fops);
if (ret < 0) {
printk(KERN_ERR "lkm: init: register chrdev failed");
return ret;
}
return 0; return 0;
} }
static void static void
mod_exit(void) lkm_exit(void)
{ {
printk(KERN_INFO "module exit"); printk(KERN_INFO "lkm: exit: start");
} }
module_init(mod_init); int
module_exit(mod_exit); lkm_open(struct inode *inode, struct file *fp)
{
printk(KERN_INFO "lkm: open: start")
}
int
lkm_release(struct inode *inode, struct file *fp)
{
printk(KERN_INFO "lkm: release: start")
}
long
lkm_ioctl(struct file *fp, unsigned int num, long unsigned int param)
{
printk(KERN_INFO "lkm: release: start")
}

View file

@ -24,7 +24,6 @@
gnumake gnumake
clang-tools clang-tools
gcc gcc
linuxHeaders
texlab texlab
texliveFull texliveFull
flex flex