#ifndef __i386__ # error "This program can't compile or run on non-intel computers" #else #include #include #include #include // Line Printer parallel port base address #define lp_base 0x378 int main(int argc, char **argv) { unsigned int value; setuid(0); /* if we're setuid, do it really */ if(argc != 2) { fprintf(stderr,"writeleds error. Usage : writeleds data\n"); exit(-1); } sscanf(argv[1],"%x",&value); value &= 0xff; if (ioperm(lp_base, 1, 1)) { perror("ioperm()"); exit(-1); } // Writes value to pin #2 to #9 outb(value, lp_base); printf("Leds written = 0x%02x\n", value); return(0); } #endif /* __i386__ */