Subject: Re: why is my ioctl not being called?
To: Dave McConnell <davem@eastcoast.co.za>
From: Bill Studenmund <wrstuden@nas.nasa.gov>
List: tech-kern
Date: 06/08/1999 10:29:29
On Tue, 8 Jun 1999, Dave McConnell wrote:
> Hi
> > userland code. Clearly, I have missed something.... can anyone give
> > me a hint? BTW yes, I _do_ have the ioctl call in the cdevsw entry, I
> > have verified it is there in cdevsw using ddb.
> Well that would have been my first question :-)
>
> What "command" are you calling your ioctl with. Are you sure the
> specific command is not being "handled" at a "higher level" (I
> assume this can happen?) and not going through to your ioctl? Try
> defining your own ioctl commands (see sys/filio.h for example of
> defining your own...).
The "upper level" ones are:
FIONBIO, FIOASYNC, FIOSETOWN, and FIOGETOWN. For a FIFO, block, or char
device, everything else should go to a VOP_IOCTL on the vnode (see
vn_ioctl() in vfs_vnops.c). Socket stuff of course goes elsewhere. :-)
Take care,
Bill