Inappropriate ioctl for device

Mohammad Hedayati hedayati.mo at gmail.com
Fri Dec 24 16:17:39 UTC 2010


On Fri, Dec 24, 2010 at 7:37 PM, Mohammad Hedayati <hedayati.mo at gmail.com>wrote:

>
>
> On Fri, Dec 24, 2010 at 7:31 PM, Gary Jennejohn <gljennjohn at googlemail.com
> > wrote:
>
>> On Fri, 24 Dec 2010 18:17:18 +0330
>> Mohammad Hedayati <hedayati.mo at gmail.com> wrote:
>>
>> > I'm writing a simple char device. So far everything went so good
>> > (read/write), but here I'm going to add support for ioctl.
>> >
>> > int
>> > ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flags, struct
>> thread *td)
>> > {
>> >      int error = 0;
>> >      uprintf("Here...\n");
>> >      return(error);
>> > }
>> > and I'm calling it here:
>> >
>> > len = ioctl(cd, 0);
>> > perror("ioctl");
>> >
>> > but when runnig it says:
>> >
>> > ioctl: Inappropriate ioctl for device
>>
>> Carefully read ioctl(2) and consider that you're passing in 0 as the cmd.
>> If you still don't understand your error, post again.
>>
>> Hint: look at /sys/kern/sys_generic.c:^ioctl
>>
>> --
>> Gary Jennejohn
>>
>
> It was a misspelling, I'm doing as bellow, if you mean the u_long.
>
> unsinged long cmd = 0;
> len = ioctl(cd, cmd);
>
>
Thanks, Problem is solved!


More information about the freebsd-hackers mailing list