Namespaces | Typedefs | Functions
portio_x64.h File Reference

Go to the source code of this file.

Namespaces

 x64
 
 x64::portio
 

Typedefs

using x64::portio::port_addr_type = uint16_t
 
using x64::portio::port_8bit_type = uint8_t
 
using x64::portio::port_16bit_type = uint16_t
 
using x64::portio::port_32bit_type = uint32_t
 
using x64::portio::integer_pointer = uintptr_t
 
using x64::portio::size_type = uint32_t
 

Functions

uint8_t __inb (uint16_t port) noexcept
 
uint16_t __inw (uint16_t port) noexcept
 
uint32_t __ind (uint16_t port) noexcept
 
void __insb (uint16_t port, uint64_t m8) noexcept
 
void __insw (uint16_t port, uint64_t m16) noexcept
 
void __insd (uint16_t port, uint64_t m32) noexcept
 
void __insbrep (uint16_t port, uint64_t m8, uint32_t count) noexcept
 
void __inswrep (uint16_t port, uint64_t m16, uint32_t count) noexcept
 
void __insdrep (uint16_t port, uint64_t m32, uint32_t count) noexcept
 
void __outb (uint16_t port, uint8_t val) noexcept
 
void __outw (uint16_t port, uint16_t val) noexcept
 
void __outd (uint16_t port, uint32_t val) noexcept
 
void __outsb (uint16_t port, uint64_t m8) noexcept
 
void __outsw (uint16_t port, uint64_t m16) noexcept
 
void __outsd (uint16_t port, uint64_t m32) noexcept
 
void __outsbrep (uint16_t port, uint64_t m8, uint32_t count) noexcept
 
void __outswrep (uint16_t port, uint64_t m16, uint32_t count) noexcept
 
void __outsdrep (uint16_t port, uint64_t m32, uint32_t count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::inb (P port) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::inw (P port) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::ind (P port) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insb (P port, integer_pointer m8) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insw (P port, integer_pointer m16) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insd (P port, integer_pointer m32) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insb (P port, void *m8) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insw (P port, void *m16) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insd (P port, void *m32) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insbrep (P port, integer_pointer m8, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::inswrep (P port, integer_pointer m16, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insdrep (P port, integer_pointer m32, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insbrep (P port, void *m8, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::inswrep (P port, void *m16, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insdrep (P port, void *m32, size_type count) noexcept
 
template<class P , class T , class = typename std::enable_if<std::is_integral<P>::value>::type, class = typename std::enable_if<std::is_integral<T>::value>::type>
void x64::portio::outb (P port, T val) noexcept
 
template<class P , class T , class = typename std::enable_if<std::is_integral<P>::value>::type, class = typename std::enable_if<std::is_integral<T>::value>::type>
void x64::portio::outw (P port, T val) noexcept
 
template<class P , class T , class = typename std::enable_if<std::is_integral<P>::value>::type, class = typename std::enable_if<std::is_integral<T>::value>::type>
void x64::portio::outd (P port, T val) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsb (P port, integer_pointer m8) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsw (P port, integer_pointer m16) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsd (P port, integer_pointer m32) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsb (P port, void *m8) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsw (P port, void *m16) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsd (P port, void *m32) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsbrep (P port, integer_pointer m8, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outswrep (P port, integer_pointer m16, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsdrep (P port, integer_pointer m32, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsbrep (P port, void *m8, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outswrep (P port, void *m16, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsdrep (P port, void *m32, size_type count) noexcept
 

Function Documentation

◆ __inb()

uint8_t __inb ( uint16_t  port)
noexcept

Definition at line 37 of file test_portio_x64.cpp.

◆ __inw()

uint16_t __inw ( uint16_t  port)
noexcept

Definition at line 41 of file test_portio_x64.cpp.

◆ __ind()

uint32_t __ind ( uint16_t  port)
noexcept

Definition at line 45 of file test_portio_x64.cpp.

◆ __insb()

void __insb ( uint16_t  port,
uint64_t  m8 
)
noexcept

Definition at line 49 of file test_portio_x64.cpp.

◆ __insw()

void __insw ( uint16_t  port,
uint64_t  m16 
)
noexcept

Definition at line 53 of file test_portio_x64.cpp.

◆ __insd()

void __insd ( uint16_t  port,
uint64_t  m32 
)
noexcept

Definition at line 57 of file test_portio_x64.cpp.

◆ __insbrep()

void __insbrep ( uint16_t  port,
uint64_t  m8,
uint32_t  count 
)
noexcept

Definition at line 61 of file test_portio_x64.cpp.

◆ __inswrep()

void __inswrep ( uint16_t  port,
uint64_t  m16,
uint32_t  count 
)
noexcept

Definition at line 65 of file test_portio_x64.cpp.

◆ __insdrep()

void __insdrep ( uint16_t  port,
uint64_t  m32,
uint32_t  count 
)
noexcept

Definition at line 69 of file test_portio_x64.cpp.

◆ __outb()

void __outb ( uint16_t  port,
uint8_t  val 
)
noexcept

Definition at line 73 of file test_portio_x64.cpp.

◆ __outw()

void __outw ( uint16_t  port,
uint16_t  val 
)
noexcept

Definition at line 77 of file test_portio_x64.cpp.

◆ __outd()

void __outd ( uint16_t  port,
uint32_t  val 
)
noexcept

Definition at line 81 of file test_portio_x64.cpp.

◆ __outsb()

void __outsb ( uint16_t  port,
uint64_t  m8 
)
noexcept

Definition at line 85 of file test_portio_x64.cpp.

◆ __outsw()

void __outsw ( uint16_t  port,
uint64_t  m16 
)
noexcept

Definition at line 89 of file test_portio_x64.cpp.

◆ __outsd()

void __outsd ( uint16_t  port,
uint64_t  m32 
)
noexcept

Definition at line 93 of file test_portio_x64.cpp.

◆ __outsbrep()

void __outsbrep ( uint16_t  port,
uint64_t  m8,
uint32_t  count 
)
noexcept

Definition at line 97 of file test_portio_x64.cpp.

◆ __outswrep()

void __outswrep ( uint16_t  port,
uint64_t  m16,
uint32_t  count 
)
noexcept

Definition at line 101 of file test_portio_x64.cpp.

◆ __outsdrep()

void __outsdrep ( uint16_t  port,
uint64_t  m32,
uint32_t  count 
)
noexcept

Definition at line 105 of file test_portio_x64.cpp.