iowkit: GetLastError-Ersatz für Linux

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
hiasl
Posts: 26
Joined: Tue Jul 25, 2006 9:58 am

iowkit: GetLastError-Ersatz für Linux

Post by hiasl »

Hallo,

wie lautet der GetLastError-Ersatz unter Linux - greift da perror?
Der Grund ist, dass unter Windows IowKitRead / IowKitWrite auf Fehler abgefragt werden können, was unter Linux natürlich auch sinnvoll ist.

Die Doku schweigt sich aus...

Ciao
Matthias

P.S. Da ich den selben Code unter Windows wie Linux nutzen möchte, will ich unsere bisherige linuxspezifische Lösung aufgeben, die mit IOCTLs und Dateien arbeitet.
wayoda
Posts: 362
Joined: Fri Dec 19, 2003 12:00 pm
Location: Wuppertal/Germany

Post by wayoda »

Hallo Matthias,

errno wird bei Fehlern vom Treiber gesetzt. Perror sollte also auch mit der library funktionieren. Zumindest bzgl. iowkit_read und iowkit_write sollte die Auswertung von errno möglich sein.
Einfach mal einen Test schreiben?.
Das Abziehen eines IOWarrior sollte bei einem nachfolgenden lesen mit ENODEV (= 19 in errno-base) angezeigt werden.

Die verschiedenen Fehlercodes
(siehe /usr/src/linux/include/asm-generic/errno-base.h )
sind in der Datei IOWarrior-Howto.txt im Kernel-Treiber-Verzeichnis den einzelnen Funktionen zugehörig aufgelistet.

Eberhard
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

errno wird in der libiowkit 1.5 garnicht gesetzt. Das lohnt sich nicht, da die Lib (erfreulicherweise) nur ein duenner Aufsatz auf dem Treiber ist. Es werden also die normalen errno-Fehlerwerte, die der Treiber setzt, geliefert. Das sind alles File IO Fehlerwerte wie es sich fuer File IO geziemt.
Der Treiber implementiert ja nur normales File-IO fuer die IOWarrior.
Post Reply