using ifaddr_message_container = sys::netlink_container< sys::ifaddr_message_header >Netlink container for interface address messages.
enum ifaddr_message_type: u16Interface address message types.
enum ifaddr_attribute: u32Interface address attributes.
enum netlink_message_type: u16Netlink message types.
enum netlink_message_flags: u16Netlink message flags.
enum socket_address_family: sa_family_typeSocket address families.
template <class Ch, class Tr = std::char_traits<Ch>, class Size = u32> class sys::basic_bstream
Input/output stream that reads/writes everything in binary format with network byte order.
template <class Addr> class sys::interface_addressNetwork interface address.
class sys::interface_address_iteratorIterator for interface addresses of the computer.
class sys::ipv4_addressIPv4 address class.
class sys::ipv4_socket_addressIPv4 socket address wrapper.
class sys::ipv6_addressIPv6 address class.
class sys::ipv6_socket_addressIPv4 socket address wrapper.
template <class T> class sys::netlink_attribute_iteratorIterator for netlink message attributes.
template <class T> class sys::netlink_message_iteratorIterator for netlink multipart messages.
class sys::netlink_header
Netlink message header.
A wrapper around nlmsghdr system type (see netlink(7)).
template <class A> class sys::rtattributes
Netlink route attributes.
A wrapper around
rtattr system type (see rtnetlink(7)).
class sys::ifaddr_message
Netlink interaface address message.
A wrapper around ifaddrmsg system type (see rtnetlink(7)).
class sys::ifaddr_message_header
Netlink interface address message header.
A wrapper around nlmsghdr for ifaddrmsg netlink messages (see rtnetlink(7)).
template <class T> class sys::netlink_containerContainer for netlink messages.
class sys::socket
Socket wrapper.
class sys::socket_address
Socket address wrapper.
This class wraps all socket address types. Socket address is retrieved with sockaddr method and its length with sockaddrlen method.
template <class Address> class sys::subnet_iteratorIterator, that traverses IP addresses in a subnetwork.
class sys::unix_socket_addressIPv4 socket address wrapper.
template <class Address> struct sys::ipaddr_traitsIP-address generic functions.
struct sys::streambuf_traits< socket >Stream buffer traits for socket.
template <class T, class Ch = char> union sys::bytes
Container, that uses object binary representation as its contents.
template <class T> make_bytes(T rhs) -> constexpr bytes< T >
Construct byte sequence from object rhs.
byte_swap(unsigned __int128 x) -> unsigned __int128Specialisation for built-in 16-byte unsigned integer.
byte_swap(u128 x) -> u128Specialisation for 16-byte unsigned integer.
byte_swap< u64 >(u64 n) -> constexpr u64Specialisation for 8-byte unsigned integer.
byte_swap< u32 >(u32 n) -> constexpr u32Specialisation for 4-byte unsigned integer.
byte_swap< u16 >(u16 n) -> constexpr u16Specialisation for 2-byte unsigned integer.
byte_swap< u8 >(u8 n) -> constexpr u8Specialisation for 1-byte unsigned integer.
template <class T> byte_swap(T n) -> T
Byte-swapping function.
template <class T> to_host_format(T n) -> constexpr T
Converts binary representation of n in network byte order to native byte order if needed.
template <class T> to_network_format(T n) -> constexpr T
Converts binary representation of n in native byte order to network byte order if needed.
is_network_byte_order() -> constexpr boolReturns true if this archiecture uses network byte order (little-endian). Compile-time constant expression.
template <class T> bit_count(T value) -> unsigned int
Count the number of bits that are set in value.