#include #include #include #include // priklad pro pripojeni wdt1LPT na port LPT1 #define BASEPORT 0x378 // pokud ma byt port LPT2 - dat adresu 0x278 static int end; static short int lpstat; static void endme(int dummy) { end=1; } int main(int argc, char **argv) { if (ioperm(BASEPORT, 3, 1)) { // pozadame system o moznost zapisu na LPT1 (0x378) perror("ioperm open"); exit(1); } signal(SIGINT, endme); inb(BASEPORT, lpstat); // nactu stav portu lpstat = (lpstat ^ 1) | 254; // nejnizsi bit invertuju, ostatni nastavim do log.1 outb(lpstat, BASEPORT); // zapis nove hodnoty na port outb(0, BASEPORT + 2); // STROBE=0 - nepovinny prikaz, wdt1LPT nevyuziva, pouze typ wdt2LPTS outb(2, BASEPORT + 2); // nastaveni STROBE=1 na portu - ukonceni zapisu freeperm(); // ukonceni pristupu k LPT a predani systemu exit(0); } int freeperm() { if (ioperm(BASEPORT, 3, 0)) { perror("ioperm close"); } }