> [moved to -hackers; this is an in-depth technical question]
>
> On Friday, 9 June 2000 at 0:28:04 -0700, NandaKumar P.K. wrote:
> > Hi,
> >
> > I am in the process of debugging my character driver
> > interface to the RAID controller card. Lots of my
> > IOCTLs i sent from the user code works with the driver
> > but some IOCTLs are not reaching the driver. I found
> > that one of the IOCTL that failed is having a size of
> > data as 8096 bytes. Does FreeBSD has got any size
> > restriction in IOCTL data size ? I know that there is
> > no problem with Linux and Windows NT.
>
> Indeed, you're limited to 4096 bytes. From sys/ioccom.h:
>
> #define IOCPARM_MASK 0x1fff /* parameter length, at most 13 bits */
> #define IOCPARM_MAX PAGE_SIZE /* max size of ioctl, mult. of
>PAGE_SIZE */
>
> >From sys/param.h:
>
> #define PAGE_SHIFT 12 /* LOG2(PAGE_SIZE) */
> #define PAGE_SIZE (1<<PAGE_SHIFT) /* bytes/page */
>
> Even that is probably too big. What are you trying to transfer that's
> so big?
NB. if you want to move more than 4k, you should pass a pointer to the
buffer in userspace and use copyin/copyout.
--
\\ Give a man a fish, and you feed him for a day. \\ Mike Smith
\\ Tell him he should learn how to fish himself, \\ [EMAIL PROTECTED]
\\ and he'll hate you for a lifetime. \\ [EMAIL PROTECTED]
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message