본문 바로가기
Development/Linux

module_param 매크로 용도

by qWooWp 2022. 10. 20.
반응형

linux 에서 드라이버를 개발할 때 

 

드라이버가 로딩 시점에 특정 변수를 전달 인자로 사용할 수 있도록 하는 기능이 필요하여 

개발 되었다.  물론 다른 용도로 외부에서 사용할 수 있을 것이다. 

 

1. 드라이버 예제

#include <linux/init.h>
#include <linux/module.h>
#include <linux/moduleparam.h>

MODULE_LICENSE("Dual BSD/GPL");

static char *who = "world";
static int times = 1;
module_param(times,int,S_IRUSR);
module_param(who,charp,S_IRUSR);

static int hello_init()
{
        int i;
        for(i = 0;i < times;i++)
                printk(KERN_ALERT"(%d)hello,%s! /n",i,who);
        return 0;

}

static void hello_exit()
{
        printk(KERN_ALERT"Goodbye ,%s! /n",who);
}

module_init(hello_init);
module_exit(hello_exit);

 

2. 사용 예제

# sudo insmod moduleparam.ko who=pig times=4
# dmesg
반응형

댓글