ushort ins(int port)
ulong inl(int port)
void outb(int port, int value)
void outs(int port, ushort value)
void outl(int port, ulong value)
void insb(int port, void *address, int count)
void inss(int port, void *address, int count)
void insl(int port, void *address, int count)
void outsb(int port, void *address, int count)
void outss(int port, void *address, int count)
void outsl(int port, void *address, int count)
Inb , ins and inl apply the corresponding hardware instruction to fetch the next byte, short or long from the I/O port . Outb , outs and outl output a value to the I/O port .
The remaining functions transfer count bytes, shorts, or longs using programmed I/O between a memory address and port . Functions ins x copy values into memory; functions outs x copy values from memory. The count is in elements, not bytes.