Blame src/io.h

Packit d36e9b
/* Redefine inb and outb_p for 95 and OBSD because they don't have sys/io.h */
Packit d36e9b
Packit d36e9b
#ifndef _IO_H
Packit d36e9b
  
Packit d36e9b
#define _IO_H
Packit d36e9b
Packit d36e9b
#ifndef _MSC_VER
Packit d36e9b
Packit d36e9b
static __inline unsigned char
Packit d36e9b
inb (unsigned short int port)
Packit d36e9b
{
Packit d36e9b
  unsigned char _v;
Packit d36e9b
  __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (port));
Packit d36e9b
  return _v;
Packit d36e9b
}
Packit d36e9b
Packit d36e9b
static __inline void
Packit d36e9b
outb_p (unsigned char value, unsigned short int port)
Packit d36e9b
{
Packit d36e9b
  __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (value),
Packit d36e9b
			"Nd" (port));
Packit d36e9b
}
Packit d36e9b
Packit d36e9b
#else
Packit d36e9b
Packit d36e9b
#include <conio.h>
Packit d36e9b
Packit d36e9b
static __inline unsigned char
Packit d36e9b
inb (unsigned short int port)
Packit d36e9b
{
Packit d36e9b
  return inp (port);
Packit d36e9b
}
Packit d36e9b
Packit d36e9b
static __inline void
Packit d36e9b
outb_p (unsigned char value, unsigned short int port)
Packit d36e9b
{
Packit d36e9b
  outp (port, value);
Packit d36e9b
}
Packit d36e9b
Packit d36e9b
#endif /* _MSC_VER */
Packit d36e9b
Packit d36e9b
#endif /* _IO_H */