Hi linuxppc-embedded?

             In the device driver, we always want to send some data to the 
application . So I was  thinking , the IPC would  do me a favor . I used the 
sys_msgget and sys_msgsnd in the module ,but I got this when I type the "insmod 
 module" command :
                insmod: unresolved symbol sys_msgget 
                insmod: unresolved symbol sys_msgsnd 

                In my opinion ,the system call is the system call to the user 
application and the function to the kernel mode (eg: module ),so how to use the 
system call in kernel mode is the way that how to recognise the function of 
system call in the module .
 
                At the beginning, I had to open and read a file in the module , 
so I used  this way to add the system call :

                #define _KERNEL_SYSCALLS_
                #include <linux/unistd.h>

                When I typed the "insmod module ",the symbol open and read 
could be found ,but the function was not availability.So I checked the 
/proc/ksyms for the function which the kernel could call , and used the 
filp_open () and kernel_read () for instead .
                
                Now , I did a test , compile the module with the linux kernel, 
the sys_msgget and sys_msgsnd could work fine . I thought the reason is that 
the sys_msgget is an extern function when compiling with the kernel.So perhaps 
, when I do insmod the module, I did not exporte the sys_msgget and sys_msgsnd 
as the kernel symbols.

                How to exporte the system call as the kernel symbols?? 

       Any help on this would be greatly appreciated. Thanks for your patience. 

                                

??zjznliang
????zjznliang_popo at 163.com
??????2005-11-16

Reply via email to