#include <stdio.h> #include <asm/io.h> #define LPT 0x378 #define LPT_STAT (LPT+1) main() { unsigned char status; /* Get OS permission to access printer port */ if (ioperm(LPT,4,1)) { perror("ioperm"); exit(1); } /* Read status from printer port, and print to screen */ status = inb(LPT_STAT); printf("status = 0x%02x\n",status); }To compile:
gcc -o status status.c -O2To run (must be superuser):
./status