Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Feb 1997 18:48:15 +0100
From:      j@uriah.heep.sax.de (J Wunsch)
To:        mcgovern@spoon.beta.com (Brian J. McGovern)
Cc:        hackers@freebsd.org, msmith@atrad.adelaide.edu.au
Subject:   Re: Device driver help...
Message-ID:  <Mutt.19970201184815.j@uriah.heep.sax.de>
In-Reply-To: <199702011634.LAA10659@spoon.beta.com>; from Brian J. McGovern on Feb 1, 1997 11:34:02 -0500
References:  <199702011634.LAA10659@spoon.beta.com>

next in thread | previous in thread | raw e-mail | index | archive | help
As Brian J. McGovern wrote:

> void fooread(dev_t dev)
>   {
>     while (u.u_count)

Uh.  No such thing like u-dot in BSD... :)

> I started checking out some of the drivers, such as sio.c, and a few others
> for "how they did it". I ended up (to date) with something that looks like
> this:

tty-style drivers are certainly the worst you could look at.  They use
clists which greatly obfuscates the matter for you.

Better look at a simple driver like the scanner drivers that are
around.

> Unfortunately, the uio structure doesn't seem to be the same as SCOs (hence,
> things like uio->u_base don't exist).

First, BSD supports scatter/gather IO, so there's not a single buffer
in it, but an IO vector.

Second, you ought to have uiomove(9) (man page yet to be written, of
course -- but now you're a really good candidate to write it finally!
:) do the dirty work for you.

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)



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