As I stated before, I'm interested in working on a port of plex86 to
FreeBSD. Well, this morning, I began working on getting the kernel module
to run under FreeBSD.
After a few false starts, I got a little bit of it done, then hit a brick
wall. In the file kernel/host-linux.c (from the plex sources) there is a
function called plex86_ioctl, which handles the ioctl's for the /dev/plex86
device.
I know how to create the equivalent function for FreeBSD, and currently have
it set up to respond to some "dummy" ioctl's. My problem is that I can't
find any documentation about where the first two arguments to the linux
plex86_ioctl function are coming from. The first is a struct inode *, and
the second is a struct file *.
These arguments do not exist in the FreeBSD device ioctl functions that I
have to write, so I need to find an alternate way of getting at the
information they reference. My question is, what information do these refer
to? I think they point to an open file descriptor, but which one?
Does anyone know the answer to my question, or a document that would answer
it? I've searched the web all day and haven't been able to find anything,
but I'm probably just not looking in the right places.
Thanks in advance,
Isaac Waldron
waldroni at lr dot net