Si lo que queremos es usar el pureo paralelo para adquirir datos por el momento lo mas fácil es hacer lo siguiente:
#include <stdio.h>
#include <sys/io.h>
int dato;
int main(void)
{
ioperm(0x379,1,1); // Damos permiso al "status port"
dato = inb(0x379); // Tomamos la lectura y la guardamos en dato.
printf("El valor es: %d", dato);
ioperm(0x379,1,0);// Quitamos el permiso
}