Hallo zusammen,
ich habe die Mails nicht von Anfang an mitbekommen, aber vielleicht ist es ja
das was du suchst:
> > Mittels "ioperm" schalte ich den Zugriff frei, was jedoch nur als
> > ROOT moeglich ist.
> > Was muss ich machen, dass ich den "ioperm" auch als normaler User nutzen
> > kann?
--- Externes Programm lptout/lptout.c -> Wert auf LPT-Port ausgeben ---
// Kompilieren: gcc -O2 -o lptin lptin.c
// Programm braucht set uid Bit
// Aufruf in C/C++ mit: system(lptout 888,int AusgabeWert);
#include <asm/io.h>
#include <stdio.h>
int main(int argc, char* argv[]) {
int base=atoi(argv[1]); // Basisadresse des LPT-Ports (888%=LPT1=378hex)
int value=atoi(argv[2]); // Ausgabewert, Bitmuster
if(base!=888)exit(1); // Sicherheitsabfrage(n)
ioperm(base,3,1); // Zugriff auf die drei (zweiter Parameter) LPT_Adressen
// BasisAdresse_(erster Parameter) = Datenregister
// BasisAdresse+1 = Statusregister
// BasisAdresse+2 = CtrlRegister
// des LPT-Ports erlauben=1 (dritter Parameter)
outb(value,base); //Bitmuster ausgeben
outb(1,base+2); //Fallende Flanke in CtrlRegister erzeugen; dadurch
wird Byte geschrieben
outb(0,base+2);
ioperm(base,3,0); //Zugriff auf die Portadressen wieder
verbieten
};
Ich h�tte auch noch ein Beispiel f�r LPT-Einlesen.
Gru� Ulrich
--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)