Date: Fri, 24 Dec 2010 18:43:57 +0100 From: Gary Jennejohn <gljennjohn@googlemail.com> To: freebsd-hackers@freebsd.org Cc: Mohammad Hedayati <hedayati.mo@gmail.com> Subject: Re: Inappropriate ioctl for device Message-ID: <20101224184357.1e8f03bb@ernst.jennejohn.org> In-Reply-To: <AANLkTik-wohyAzU54kxqC2jPXUvi3LV4kuRO4_mt5k6N@mail.gmail.com> References: <AANLkTimuz3KWG80yXR8gmg%2BYxVKW0pQyF2wtfwXqKU3K@mail.gmail.com> <20101224170144.1d734e3c@ernst.jennejohn.org> <AANLkTik-wohyAzU54kxqC2jPXUvi3LV4kuRO4_mt5k6N@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 24 Dec 2010 19:37:37 +0330 Mohammad Hedayati <hedayati.mo@gmail.com> wrote: > On Fri, Dec 24, 2010 at 7:31 PM, Gary Jennejohn > <gljennjohn@googlemail.com>wrote: > > > On Fri, 24 Dec 2010 18:17:18 +0330 > > Mohammad Hedayati <hedayati.mo@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); > No, that isn't what I meant. Read the kernel code - cmd = 0 is not legal. -- Gary Jennejohn
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101224184357.1e8f03bb>