Stap 2: De parallelle poort maken programma gecontroleerd.
$ su
# gcc -o lptout lptout.c
# exit
$
-------------------------------------------------------------------------------
lptout.c (u moet maken van dit bestand op de server)
Het bestand is nu gekoppeld dat ik heb gebruikt.
[code]
/*
* Eenvoudige parallelle poort uitgang controleprogramma voor Linux
* Schriftelijke en auteursrecht door Tomi Engdahl 1998
* (e-mail: tomi.engdahl
*
* Het programma uitgang de gegevenswaarde naar PC parallelle poort data pins
* (standaard lpt1 uitvoeradres 0x378). De gegevenswaarden worden gegeven als de
* opdrachtregelparameter naar het programma. Het nummer kan worden
* in decimale (0..255) of in hexadecimale notatie (0x00... 0xFF).
*
*/
/ * Zie het bijgevoegde bestand voor de omvat.
*/
/ * & #lt; vervangen door een < symbool en & #gt; vervangen door een > symbool * /
#include & #lt;stdio.h & #gt;
#include & #lt; stdlib.h & #gt;
#include & #lt60;unistd.h & #gt;
#include & #lt;sys/io.h & #gt;
#define baseren 0x378 / * printer poort basisadres * /
Main (int argc, char ** argv)
{
int waarde;
Als (argc! = 2)
fprintf (stderr, "fout: onjuist aantal argumenten. Dit programma dient een argument dat nummer tussen 0 en 255.\n is"), exit(1);
Als (sscanf (argv [1], "%i", & waarde)! = 1)
fprintf (stderr, "fout: Parameter is niet een nummer. \n"), exit(1);
Als ((value<0) || (Value>255))
fprintf (stderr, "fout: ongeldige numerieke waarde. Het nummer van de parameter moet tussen 0 en 255\n "), exit(1);
Als (ioperm(base,1,1))
fprintf (stderr, "fout: de poort op %x\n kon niet krijgen", base), exit(1);
outb ((unsigned char) waarde, base);
}
[/ code]
Update: ik opgenomen het gebruikte ik apart aangezien www.instructables.com deel van het veegde bronbestand.