I wrote about the same thing to FUSE maintainer, below is the reply. Since I don't have enough time, I dropped the idea. But it's still a cool project to do :) Regards, Dmitry. ----------------------- From: Miklos Szeredi <miklos@xxxxxxxxxx>
Oss2jack project - http://fort.xdas.com/~kor/oss2jack/ - uses FUSD - Framework for User-Space Drivers, which is unmaintained and doesn't seem to go in the kernel anytime soon. So, FUSE is in the kernel already and implements more generic functionality than FUSD. I think it is natural to extend FUSE a bit to implement user-space devices. The only things it lacks are: 1) ioctl support - seems not hard to add
It's not easy. The basic problem is that ioctl arguments are not well defined size and structure, and decoding/encoding them does not belong in FUSE. It would theoretically be possible to do the decoding/encoding in the userspace filesystem, but I don't yet see how that can be done nicely.
2) mmap support, i.e. ability to share a buffer with user app - can't estimate the difficulty.
I can't either. It involves VM trickery, which is not an easy subject.
I'm willing to help adding this functionality or add it myself and will appreciate a guidance.
I'd rather not get involved in the coding part, at least until I see where this is heading. But I'm happy to answer any questions.