mn_net_types.hpp File Reference
#include "lwip/err.h"
#include "lwip/sockets.h"

Go to the source code of this file.

Namespaces

 mn
 
 mn::net
 

Macros

#define UDPLITE_SEND_CSCOV   0x01
 
#define UDPLITE_RECV_CSCOV   0x02
 
#define SERVICE_PROVIDES_TOS(tos)   (mn::net::service_provides) ((tos) & mn::net::service_provides::tos_mask)
 

Enumerations

enum class  mn::net::address_family { mn::net::Unspecified = AF_UNSPEC , mn::net::inet_v4 = AF_INET , mn::net::inet_v6 = AF_INET6 }
 Defines socket address types for creating. More...
 
enum class  mn::net::protocol_type : int {
  mn::net::unspec = IPPROTO_IP , mn::net::icmp = IPPROTO_ICMP , mn::net::tcp = IPPROTO_TCP , mn::net::udp = IPPROTO_UDP ,
  mn::net::udp_lite = IPPROTO_UDPLITE , mn::net::raw = IPPROTO_RAW
}
 Defines socket protoco types for creating. More...
 
enum class  mn::net::socket_type : int { mn::net::stream = SOCK_STREAM , mn::net::dgram = SOCK_DGRAM , mn::net::raw = SOCK_RAW }
 Defines socket socket types for creating. More...
 
enum class  mn::net::socket_flags : int {
  mn::net::none = 0x00 , mn::net::out_of_band = MSG_OOB , mn::net::peek = MSG_PEEK , mn::net::wait_all = MSG_WAITALL ,
  mn::net::non_blocking = MSG_DONTWAIT , mn::net::more = MSG_MORE , mn::net::no_signal = MSG_NOSIGNAL
}
 Specifies socket send and receive behaviors. More...
 
enum class  mn::net::socket_shutdown_type : uint8_t { mn::net::read = SHUT_RD , mn::net::write = SHUT_WR , mn::net::rw = SHUT_RDWR }
 Commands for lwip_shutdown. More...
 
enum class  mn::net::socket_option_level : int {
  mn::net::socket = SOL_SOCKET , mn::net::ip = IPPROTO_IP , mn::net::tcp = (int)protocol_type::tcp , mn::net::udp = (int)protocol_type::udp ,
  mn::net::udp_lite = (int)protocol_type::udp_lite
}
 Items for socket option levels for the mn_socket::set_options and mn_socket::get_options. More...
 
enum class  mn::net::socket_option_name : int {
  mn::net::debug = SO_DEBUG , mn::net::acceptconn = SO_ACCEPTCONN , mn::net::dont_route = SO_DONTROUTE , mn::net::use_loopback = SO_USELOOPBACK ,
  mn::net::linger = SO_LINGER , mn::net::nolinger = SO_DONTLINGER , mn::net::oob_inline = SO_OOBINLINE , mn::net::reuse_port = SO_REUSEPORT ,
  mn::net::reuse_addr = SO_REUSEADDR , mn::net::sendbuffer = SO_SNDBUF , mn::net::recivebuffer = SO_RCVBUF , mn::net::send_lowat = SO_SNDLOWAT ,
  mn::net::recive_lowat = SO_RCVLOWAT , mn::net::send_timeout = SO_SNDTIMEO , mn::net::recive_timeout = SO_RCVTIMEO , mn::net::error = SO_ERROR ,
  mn::net::get_type = SO_TYPE , mn::net::commected_timeout = SO_CONTIMEO , mn::net::no_check = SO_NO_CHECK , mn::net::bind_device = SO_BINDTODEVICE ,
  mn::net::broadcast = SO_BROADCAST , mn::net::keepalive = SO_KEEPALIVE , mn::net::tos = IP_TOS , mn::net::ttl = IP_TTL
}
 Items for socket option name for the mn_socket::set_options and mn_socket::get_options. More...
 
enum  mn::net::service_provides {
  mn::net::tos_mask = IPTOS_TOS_MASK , mn::net::low_delay = IPTOS_LOWDELAY , mn::net::through_put = IPTOS_THROUGHPUT , mn::net::reliability = IPTOS_RELIABILITY ,
  mn::net::low_cost = IPTOS_LOWCOST , mn::net::min_cost = IPTOS_MINCOST
}
 
enum class  mn::net::ioctl_request_type { mn::net::available = FIONREAD , mn::net::non_blocking = FIONBIO }
 Commands for ioctlsocket(), taken from the BSD file fcntl.h. lwip_ioctl only supports FIONREAD and FIONBIO, for now. More...
 

Macro Definition Documentation

◆ SERVICE_PROVIDES_TOS

#define SERVICE_PROVIDES_TOS (   tos)    (mn::net::service_provides) ((tos) & mn::net::service_provides::tos_mask)

◆ UDPLITE_RECV_CSCOV

#define UDPLITE_RECV_CSCOV   0x02

◆ UDPLITE_SEND_CSCOV

#define UDPLITE_SEND_CSCOV   0x01