My rtmodule consists of the following: 

One rtf_handler which listens on /dev/rtf1 for commands from Linux and
creates objects depending on the command-number. The objects are then put
in a global array. 
Another rtf_handler which listens on /dev/rtf2 for commands from Linux and
sends these through /dev/rtf3 to the thread (like in the 
examples/frank-module to start it). 
Finally the thread which takes the objects from the global array and calls
the member-functions. 
This seems to work. 
Until now, one memberfunction gives output via printk, but now I wanted
to pipe the values back to Linux through /dev/rtf4. 
So I included <rtl_fifo.h> in the objects' cpp-file, replaced the printk
with an rtf_put an created the fifo in my init_module. Compiling works,
but when I insert the module, I get: 

rtmod.o: unresolved symbol rtf_put__FUiPvi  

If I instead put the rtf_put command in the thread_code (which is C), it
works.  

Why can't I rtf_put from a memberfunction? 
I basically understand the unresolved symbol error message: For every
function I use, there has to be a definition somewhere (like in rtl.o,
rtl_fifo.o). I also know that I can view the symbols with ksyms -m (even
if I don't know what I can do with that :-) )and then I see that rtl_fifo
exports (I think thats how it is called) rtf_put. What does this __FUiPvi
after rtf_put tell me? Did I get the basics right?  

Dirk Pohl 
University of Kaiserslautern 

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to