#ifndef _LIB_H #define _LIB_H /* These are handy */ #include typedef unsigned char byte; typedef unsigned short word; typedef unsigned long dword; void print(const char *s); char *int2str(int n); static inline void outb(word port,byte value){ asm volatile ( "outb %0,%w1\n" : : "a"(value), "Nd"(port) ); } static inline byte inb(word port){ byte value; asm volatile ( "inb %w1,%0\n" : "=a"(value) : "Nd"(port) ); return(value); } #define cli() do { asm volatile ("cli"); } while(0) #define sti() do { asm volatile ("sti"); } while(0) #define doint(x) do { asm volatile ("int %0" :: "i"(x)); } while(0) #define hlt() do { asm volatile ("nop"); } while(0) #endif