I want to patch SerReceiveISP to be able to act quickly when chars arrive at
the serial port. But I want to do it in a shared library so that I can do my
work even (especially) when other programs are running. You might ask why I
don't use SerSetWakeupHandler, but it seem to disable certain serial
functions and thus my program will not be compatible with many programs. So,
what's my problem? There are two of them actually. First, when I patch the
SerReceiveISP function, I must save away the old address. But where do I
save it so that it can be accessed at interrupt time when my ReceiveISPPatch
executes and wants to call the original function?
Secondly, I want to do some serious coding when my patch get called. But
that is not allowed at interrupt level. Fine, just use EvtEnqueueKey! That's
what I first thought, but then I must rely on the program currently running
to be in its event loop for me to be able to patch the EvtGetEvent (shared
library, remember! No event loop of my own.) and pick up my custom event. I
must get to my routine very fast so I need another way to get out of
interrupt level and into my code.
I hope I've managed to explain what I'm trying to do.
There are no words to describe how much I would appreciate any help.
Regards
Petrus Wrang�
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/