Subject: Pseudo device
To: 'email@example.com' <firstname.lastname@example.org>
From: Ljubisa Milenkovic <email@example.com>
Date: 12/19/2001 12:10:53
I have several user-land processes that communicate with different kernel
modules. To simplify this communication I would like to have a common
communication dispatcher in kernel.
I have defined a character pseudo-device that supports open, close, read,
write, ioctl and poll.
My problem is how to identify different user-land processes in my read in
write functions to dispatch data to corresponding kernel module and
vice-versa, how to know to which user-land process to send data when a
kernel module has issued a send request.
In user-land I have the file descriptor, but in kernel read (or write)
function I have uio struct. Where is the mapping made? I would also like to
have asynchronous call to read and write. Is that possible with my
definition of the device?