ioctl number change / backwards compatibility doubt
Greg KH
greg at kroah.com
Mon Jan 24 01:20:45 EST 2022
On Mon, Jan 24, 2022 at 05:49:06PM +1300, Paulo Miguel Almeida wrote:
> On Sun, Jan 23, 2022 at 12:04:48PM +0100, Greg KH wrote:
> > On Sun, Jan 23, 2022 at 08:55:30PM +1300, Paulo Miguel Almeida wrote:
> > >
> > > I googled a fair bit of time and I'm 99% confident that there isn't such
> > > userspace/lib tool so I guess this will have done the hard way :(
> >
> > If there is no tool, why was the ioctl code written at all? Something
> > had to call it.
> >
>
> when you told me to look for the userspace tool that interfaced with the
> ioctl, my interpretation was that you were referring to something akin
> to what /usr/bin/uname utility is to the syscall uname. Please correct me
> if I'm wrong.
>
> re: what calls the ioctl created by the driver.
>
> I'm led to believe that users of this driver make ioctl sycall
> invocations directly from their application's source code like this:
>
> #include "pi433_if.h" /* userspace driver header */
> #include <sys/ioctl.h> /* ioctl */
>
> int file_desc = open("/dev/pi433.0", O_RDWR);
> struct pi433_tx_cfg tx_cfg = {
> .frequency = 433000000,
> .bit_rate = 4800,
> <omitted for brevity>...
> };
>
> int ret_val = ioctl(file_desc, PI433_IOC_WR_TX_CFG, tx_cfg);
> ....
Yes, sorry for the confusion, this is what I am referring to. Where is
that userspace code as that is the code you will be needing to change if
you want to change this ioctl interface.
thanks,
greg k-h
More information about the Kernelnewbies
mailing list