Messages in this thread |  | | Date | Tue, 18 Feb 2003 05:43:15 -0800 (PST) | From | Srinivas Chinta <> | Subject | Re: Help !! calling function in module from a user program |
| |
Hi, One way of doing this is , by hooking up your function inside the module as a system call. Here i'm sending two files, module.c and user_space.c. first do "insmod module.o" and then run "./user_space". As i'm also a newbee, i'm not aware of the disadvantages of this approach.
thanks, Srinivasu Chinta.
--- Sudharsan Vijayaraghavan <svijayar@cisco.com> wrote: > Hi, > > Am a new bee to linux internals. > I am trying to make a simple program witch will call > a function from a > module. I made a module compiled it and INSMOD-it > into kernel, that works > fine. I would like to call from my user program a > function defined in my > kernel module. > > Please suggest any method thro' which this could be > accomplished. > The only way i did it was by running my new module > as insmod mymodule.o and > get my job done. > > Thanks, > Sudharsan. > > - > To unsubscribe from this list: send the line > "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at > http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/
__________________________________________________ Do you Yahoo!? Yahoo! Shopping - Send Flowers for Valentine's Day http://shopping.yahoo.com#define MODULE #define __KERNEL__ #include <linux/module.h> #include <linux/kernel.h>
extern void *sys_call_table[]; void * org_func;
static void my_func() { printk("Executing my_func...!"); } int init_module(void) { printk("init_module ...!"); org_func = sys_call_table[250]; sys_call_table[250] = my_func; return 0; } void cleanup_module() { sys_call_table[250] = org_func; printk("cleaning up...!"); } #include <stdio.h> #include <errno.h> #include <asm/unistd.h> #define __NR_my_func 250
_syscall0(void, my_func);
main() { my_func(); }
|  |