Dr. SzösziVégre én is találtam egy példakódot.
Abból gyorsan írtam egy sajátot, és ha majd lesz időm összedobok valami grafikus felületet (nem mintha nem szeretném a konzolt, de a kényelem nagyúr).
Itt a kód, lehet egyszer valakinek még jól jön:
(A kódból el kel távolitani 6 felesleges szóközt az #include -nál a heder fájlok és a "kacsacsőrök" között
//MySetPort.c
//alapértelmezés szerint az párhuzamos port a 0x378 tehát 888 decimálisan.
//A párhuzamos port másik két alportja a 889 890 es címen érhető el (0x379 és 0x37a)
//pl a párhuzamos port minden bitjének "1"-be állítása sudo ./MySetPort 888 255
#include < stdio.h >
#include < stdlib.h >
#include < sys/io.h >
int main( int argc, char **argv )
{
int PortSzama =-1;
int PortAdat =-1;
if(argc!=3)
{
printf("2 bemenő paramétere van szükségem te pedig %i-t adtál meg\n",argc-1);
printf("Az 1. bemenő paraméter a port decimálisan a 2. pedig a kiküldendő adat");
return(-1);
}
PortSzama=atoi(argv[1]);
PortAdat=atoi(argv[2]);
if(PortSzama==-1)
{
printf("Hibás a megadott port (%i), a helyes értéknek 0 és 65535 közé kell esnie");
return(-1);
}
if( ioperm( PortSzama, 3, 1 ) == -1)
{
printf("Hiba a port megnyitásában, \n");
printf("ellenőrizd hogy rendszergazdai jogaid vannak-e és hogy helyes-e a port (%i)\n",PortSzama);
return(-1);
}
printf("A port értéke a módosítás elött :%i\n",inb(PortSzama));
outb( PortAdat, PortSzama);
printf("A port értéke a módosítás után :%i\n",inb(PortSzama));
return (0);
}