Hello,
what's wrong with the following code. If I do a read op on user space the
handler isn't called. If I read the man page right, the installed handler is
called on all ops regardless read/write.
# uname -a
Linux rtreg 2.2.17-rtl3b9 #2 Thu Dec 7 10:25:11 CET 2000 i686 unknown
Thanks,
Olaf
--------------------------------------------
#define RTF 0
size_t number(void) { return RTF; }
int rtfHandler(size_t fifo)
{
size_t sz;
const char *msg = "Hallo World\n";
DBG("notify Rtf%d\n", fifo);
sz = strlen(msg);
rtf_put(number(), &sz, sizeof(sz));
rtf_put(number(), (void*)msg, sz);
return 0;
}
int init_module(void)
{
int ret;
size_t sz = 4000;
(void)rtf_destroy(number());
if((ret = rtf_create(number(), sz)) < 0) {
ERROR("Error opening RTF%d\n", number());
return -1;
}
if((ret = rtf_create_handler(number(), &rtfHandler)) < 0) {
ERROR("Error installing handler on RTF%d\n", number());
(void)rtf_destroy(number());
return -1;
}
return 0;
}
void cleanup_module(void)
{
(void)rtf_destroy(number());
}
-----------------