Re: Kerneltreiber

From: Greg Lehey <grog(at)lemis.com>
Date: Fri, 11 Aug 2000 11:19:35 +0930

On Thursday, 10 August 2000 at 10:04:06 +0100, Titus von Boxberg wrote:
> Moin!
>
> ich versuche mich gerade an einem gerätetreiber für
> einen HDLC-Baustein für eine ISDN-Karte
> da das mein erster bsd-treiber ist, tauchen natürlich ein paar fragen auf,
> die ich nicht so recht beantworten kann.
>
> 1) generell: was kann ich außer dem handbuchkapitel 9 lesen?

Die Quellen von ähnlichen Treibern, in diesem Fall wohl diejenigen,
die sich in /usr/src/sys/i4b/driver befinden.

> 2) wie heißt der ioctl, um den treiber in NONBLOCK zu schalten?
> ist der überhaupt treiberübergreifend definiert?

Meinst Du das O_NONBLOCK, das man beim open(2) angeben kann? Es wird
als Flagbit mit open(2) oder fcntl(2) angegeben, nicht mit einem
ioctl(2).

> 3) was macht xxxpoll()?

Meinst Du diesen Eintrag in struct cdevsw?

  d_poll_t *d_poll;

Das ist eine interruptunabhängige Methode herauszubekommen, ob eine
Operation zu Ende gegangen ist. Sie ist nicht zwingend notwendig.
Ein Beispiel befindet sich in i4b_tel.c.

> 4) wo sind die "int flags" bei xxxopen() definiert?

Was heißt hier "definiert"? Der Treiber muss sie festhalten. Die
Bitdefinition befindet sich in sys/fcntl.h.

> und was ist "int devtype"?

Eine Integervariable :-) Hängt natürlich vom Kontext ab.

> Titus von Boxberg Schütt Elektronik GmbH
> Senior Developer Luruper Drift 24
> Phone: +49 40 8314282 D-22549 Hamburg

Du sollst Dich mit Hellmuth Michaelis in Verbindung setzen. Der ist
der ISDN-Guru und wohnt auch in Hamburg.

Greg

--
When replying to this message, please copy the original recipients.
For more information, see http://www.lemis.com/questions.html
Finger grog(at)lemis.com for PGP public key
See complete headers for address and phone numbers
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 11 Aug 2000 - 03:50:02 CEST

search this site