Ri:linux-l: printk

Sascha Knapp SJ_Knapp at gmx.de
Di Jul 17 14:45:54 CEST 2001


> Klar, printk ist eine reine Kernelfunktion, d.h. sie ist nur
> dazu gedacht, dass der Kernel Meldungen auf die Konsole
> schreibt. Sie ist daher auch nicht in der libc enthalten, so dass
> du ein undefined reference bekommst. 
> Um auf stdout zu schreiben, kannst du printf verwenden. Mit
> fprintf kannst du an einen beliebigen File-handle schreiben.
> Wenn es sich nicht um stdin, stdout, stderr handelt, musst du
> das File erst mit fopen oeffnen, welches dann einen neuen
> File-handle zurueckliefert. Das ganze funzt auch mit devices,
> z.B. /dev/console oder /dev/tty ( die 2. virtuelle Console, die du mit
> alt-control-F2 erreichst.) Um diese zu oeffnen, musst du allerding 
> root sein, in der Gruppe tty sein, oder dir muss das Device 
> gehoeren, sprich du hast dich dort bereits eingeloggt.
> Anstatt fprintf, fopen, fclose, ... kannst du auch die system-calls
> open, close, read und write benutzen, aber das ist nicht so komfortabel,
> und nicht unbedingt auf andere BSe portabel. 
> Um Meldungen an den syslog daemon zu schicken, gibt´s die
> Funktion syslog(), die aehnlich funzt wie fprintf. 
> 
> 
> -- 
> Don´t worry be happy ...
> Ciao tex

Ich hangel mich grade an dem alten Treiber entlang und versuche so durch zu
steigen, aber ich bekomme die Datei nicht kompilliert, gibt es keine
Möglichkeit, dass ich diesen Befehl benutzen kann?

SjK 




Mehr Informationen über die Mailingliste linux-l