Typedefs | Functions
x64::portio Namespace Reference

Typedefs

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

Functions

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto inb (P port) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto inw (P port) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto ind (P port) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto insb (P port, integer_pointer m8) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto insw (P port, integer_pointer m16) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto insd (P port, integer_pointer m32) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto insb (P port, void *m8) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto insw (P port, void *m16) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto insd (P port, void *m32) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto 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 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 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 insbrep (P port, void *m8, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto inswrep (P port, void *m16, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto 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 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 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 outd (P port, T val) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void outsb (P port, integer_pointer m8) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void outsw (P port, integer_pointer m16) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void outsd (P port, integer_pointer m32) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void outsb (P port, void *m8) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void outsw (P port, void *m16) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void outsd (P port, void *m32) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void 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 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 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 outsbrep (P port, void *m8, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void outswrep (P port, void *m16, size_type count) noexcept
 
template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void outsdrep (P port, void *m32, size_type count) noexcept
 

Typedef Documentation

◆ port_addr_type

using x64::portio::port_addr_type = typedef uint16_t

Definition at line 57 of file portio_x64.h.

◆ port_8bit_type

using x64::portio::port_8bit_type = typedef uint8_t

Definition at line 58 of file portio_x64.h.

◆ port_16bit_type

using x64::portio::port_16bit_type = typedef uint16_t

Definition at line 59 of file portio_x64.h.

◆ port_32bit_type

using x64::portio::port_32bit_type = typedef uint32_t

Definition at line 60 of file portio_x64.h.

◆ integer_pointer

using x64::portio::integer_pointer = typedef uintptr_t

Definition at line 61 of file portio_x64.h.

◆ size_type

using x64::portio::size_type = typedef uint32_t

Definition at line 62 of file portio_x64.h.

Function Documentation

◆ inb()

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::inb ( port)
noexcept

Definition at line 65 of file portio_x64.h.

◆ inw()

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::inw ( port)
noexcept

Definition at line 68 of file portio_x64.h.

◆ ind()

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::ind ( port)
noexcept

Definition at line 71 of file portio_x64.h.

◆ insb() [1/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insb ( port,
integer_pointer  m8 
)
noexcept

Definition at line 74 of file portio_x64.h.

◆ insw() [1/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insw ( port,
integer_pointer  m16 
)
noexcept

Definition at line 77 of file portio_x64.h.

◆ insd() [1/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insd ( port,
integer_pointer  m32 
)
noexcept

Definition at line 80 of file portio_x64.h.

◆ insb() [2/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insb ( port,
void *  m8 
)
noexcept

Definition at line 83 of file portio_x64.h.

◆ insw() [2/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insw ( port,
void *  m16 
)
noexcept

Definition at line 86 of file portio_x64.h.

◆ insd() [2/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insd ( port,
void *  m32 
)
noexcept

Definition at line 89 of file portio_x64.h.

◆ insbrep() [1/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insbrep ( port,
integer_pointer  m8,
size_type  count 
)
noexcept

Definition at line 92 of file portio_x64.h.

◆ inswrep() [1/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::inswrep ( port,
integer_pointer  m16,
size_type  count 
)
noexcept

Definition at line 95 of file portio_x64.h.

◆ insdrep() [1/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insdrep ( port,
integer_pointer  m32,
size_type  count 
)
noexcept

Definition at line 98 of file portio_x64.h.

◆ insbrep() [2/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insbrep ( port,
void *  m8,
size_type  count 
)
noexcept

Definition at line 101 of file portio_x64.h.

◆ inswrep() [2/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::inswrep ( port,
void *  m16,
size_type  count 
)
noexcept

Definition at line 104 of file portio_x64.h.

◆ insdrep() [2/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
auto x64::portio::insdrep ( port,
void *  m32,
size_type  count 
)
noexcept

Definition at line 107 of file portio_x64.h.

◆ outb()

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 ( port,
val 
)
noexcept

Definition at line 112 of file portio_x64.h.

◆ outw()

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 ( port,
val 
)
noexcept

Definition at line 117 of file portio_x64.h.

◆ outd()

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 ( port,
val 
)
noexcept

Definition at line 122 of file portio_x64.h.

◆ outsb() [1/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsb ( port,
integer_pointer  m8 
)
noexcept

Definition at line 125 of file portio_x64.h.

◆ outsw() [1/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsw ( port,
integer_pointer  m16 
)
noexcept

Definition at line 128 of file portio_x64.h.

◆ outsd() [1/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsd ( port,
integer_pointer  m32 
)
noexcept

Definition at line 131 of file portio_x64.h.

◆ outsb() [2/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsb ( port,
void *  m8 
)
noexcept

Definition at line 134 of file portio_x64.h.

◆ outsw() [2/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsw ( port,
void *  m16 
)
noexcept

Definition at line 137 of file portio_x64.h.

◆ outsd() [2/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsd ( port,
void *  m32 
)
noexcept

Definition at line 140 of file portio_x64.h.

◆ outsbrep() [1/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsbrep ( port,
integer_pointer  m8,
size_type  count 
)
noexcept

Definition at line 143 of file portio_x64.h.

◆ outswrep() [1/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outswrep ( port,
integer_pointer  m16,
size_type  count 
)
noexcept

Definition at line 146 of file portio_x64.h.

◆ outsdrep() [1/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsdrep ( port,
integer_pointer  m32,
size_type  count 
)
noexcept

Definition at line 149 of file portio_x64.h.

◆ outsbrep() [2/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsbrep ( port,
void *  m8,
size_type  count 
)
noexcept

Definition at line 152 of file portio_x64.h.

◆ outswrep() [2/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outswrep ( port,
void *  m16,
size_type  count 
)
noexcept

Definition at line 155 of file portio_x64.h.

◆ outsdrep() [2/2]

template<class P , class = typename std::enable_if<std::is_integral<P>::value>::type>
void x64::portio::outsdrep ( port,
void *  m32,
size_type  count 
)
noexcept

Definition at line 158 of file portio_x64.h.