#include <stddef.h>
#include <stdint.h>
#include <stdarg.h>
#include <stdbool.h>

#define cli asm("cli"::)

#define sti asm("sti"::)

#define outbp(port,value) \
        asm volatile ("outb %%al, %%dx; jmp 1f; 1:" :: "d" (port), "a" (value));

extern uint8_t inb(uint16_t port);
extern void outb(uint16_t port, uint8_t data);