Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Mar 2001 11:41:36 -0500
From:      Dennis <dennis@etinc.com>
To:        Devin Butterfield <dbutter@wireless.net>, Alfred Perlstein <bright@wintelcom.net>, Coleman Kane <cokane@FreeBSD.ORG>
Cc:        Roger Hardiman <roger@cs.strath.ac.uk>, hackers@FreeBSD.ORG
Subject:   Re: Porting a Linux driver to FreeBSD with ioctl return values
Message-ID:  <5.0.0.25.0.20010327113859.023faa00@mail.etinc.com>
In-Reply-To: <01032701051000.83707@dbm.wireless.net>
References:  <20010326232431.Q9431@fw.wintelcom.net> <3ABF45B6.DF5A0B7F@cs.strath.ac.uk> <20010327015524.A863@cokane.yi.org> <20010326232431.Q9431@fw.wintelcom.net>

next in thread | previous in thread | raw e-mail | index | archive | help
At 04:05 AM 03/27/2001, Devin Butterfield wrote:
>On Monday 26 March 2001 11:24, Alfred Perlstein wrote:
> > * Coleman Kane <cokane@FreeBSD.ORG> [010326 22:40] wrote:
> > > Yeah, that's basically what I had to do in tdfx. You can take a look int
> > > src/sys/dev/tdfx/tdfx_pci.c under tdfx_ioctl(...) to get an idea of what
> > > needs to be done, if you need more info. Tdfx basically implements the
> > > API from device_3dfx in Linux.
> >
> > Is there anyone we can PLEAD with to explain that to the linnux people
> > that that's a broken way to implement ioctl()?


Everything in LINUX is implemented in a broken way. Whats interesting is 
that they like it that way, and even try to justify it.

skbufs are really neat. no chaining, so if you are doing encapsulations you 
get to reallocate the entire buffer and copy overs tons of "attached info". 
Very high performance.

the biggest caveat with linux ioctls() is that there are only 10 commands 
available. So you are best off only using 1 and using sub-functions within 
your application, or you may run out.

Dennis



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5.0.0.25.0.20010327113859.023faa00>