dynamic system call - Linux

By Robert
at 2009-05-10T23:19
at 2009-05-10T23:19
Table of Contents
最近在研究dynamic system call..
如果要實作dynamic system call的話是否要經過以下步驟?
a.在kernel中加入一system call及此system call的pointer.
Ex.
<headers>
long(*my_ptr)(void);
EXPORT_SYMBOL(my_ptr);
asmlinkage long sys_mycall(void)
{........}
b.再寫一個module.使用my_ptr將欲執行的function引入
Ex.
<headers>
extern long(*my_ptr)(void);
long kerker(void)
{.........}
static int kerker_init(void)
{
my_ptr=kerker;
return 0;
}
static void kerker_exit(void)
{my_ptr=NULL;}
module_init(kerker_init);
module_exit(kerker_exit);
c.make完module後用insmod載入
d.接著在test program中使用systemcall kerker.
e.以後要修改kerker就更改module再insmod即可.
請問這作法是對的嗎?
感謝
--
如果要實作dynamic system call的話是否要經過以下步驟?
a.在kernel中加入一system call及此system call的pointer.
Ex.
<headers>
long(*my_ptr)(void);
EXPORT_SYMBOL(my_ptr);
asmlinkage long sys_mycall(void)
{........}
b.再寫一個module.使用my_ptr將欲執行的function引入
Ex.
<headers>
extern long(*my_ptr)(void);
long kerker(void)
{.........}
static int kerker_init(void)
{
my_ptr=kerker;
return 0;
}
static void kerker_exit(void)
{my_ptr=NULL;}
module_init(kerker_init);
module_exit(kerker_exit);
c.make完module後用insmod載入
d.接著在test program中使用systemcall kerker.
e.以後要修改kerker就更改module再insmod即可.
請問這作法是對的嗎?
感謝
--
Tags:
Linux
All Comments

By Lauren
at 2009-05-13T05:26
at 2009-05-13T05:26
Related Posts
[心得] Samsung ML-1640 選購感想(Linux篇)

By Zora
at 2009-05-10T21:46
at 2009-05-10T21:46
FC10製作RAID1問題

By Ida
at 2009-05-10T16:26
at 2009-05-10T16:26
vmwave player問題

By Frederica
at 2009-05-10T15:05
at 2009-05-10T15:05
Ubuntu 9.04安裝光碟無反應

By Hardy
at 2009-05-10T12:57
at 2009-05-10T12:57
在vista系統下灌ubuntu

By Linda
at 2009-05-10T10:55
at 2009-05-10T10:55