diff options
Diffstat (limited to 'stmhal/modnetwork.c')
-rw-r--r-- | stmhal/modnetwork.c | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/stmhal/modnetwork.c b/stmhal/modnetwork.c index 4163783e2..86bf7379b 100644 --- a/stmhal/modnetwork.c +++ b/stmhal/modnetwork.c @@ -90,65 +90,3 @@ const mp_obj_module_t mp_module_network = { .name = MP_QSTR_network, .globals = (mp_obj_dict_t*)&mp_module_network_globals, }; - -/******************************************************************************/ -// Miscellaneous helpers - -void mod_network_convert_ipv4_endianness(uint8_t *ip) { - uint8_t ip0 = ip[0]; ip[0] = ip[3]; ip[3] = ip0; - uint8_t ip1 = ip[1]; ip[1] = ip[2]; ip[2] = ip1; -} - -// Takes an address of the form '192.168.0.1' and converts it to network format -// in out_ip (big endian, so the 192 is the first byte). -void mod_network_parse_ipv4_addr(mp_obj_t addr_in, uint8_t *out_ip) { - mp_uint_t addr_len; - const char *addr_str = mp_obj_str_get_data(addr_in, &addr_len); - if (addr_len == 0) { - // special case of no address given - memset(out_ip, 0, MOD_NETWORK_IPADDR_BUF_SIZE); - return; - } - const char *s = addr_str; - const char *s_top = addr_str + addr_len; - for (mp_uint_t i = 0;; i++) { - mp_uint_t val = 0; - for (; s < s_top && *s != '.'; s++) { - val = val * 10 + *s - '0'; - } - out_ip[i] = val; - if (i == 3 && s == s_top) { - return; - } else if (i < 3 && s < s_top && *s == '.') { - s++; - } else { - nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "invalid IP address")); - } - } -} - -// Takes an address of the form ('192.168.0.1', 8080), returns the port and -// puts IP in out_ip (which must take at least IPADDR_BUF_SIZE bytes). -mp_uint_t mod_network_parse_inet_addr(mp_obj_t addr_in, uint8_t *out_ip) { - mp_obj_t *addr_items; - mp_obj_get_array_fixed_n(addr_in, 2, &addr_items); - mod_network_parse_ipv4_addr(addr_items[0], out_ip); - return mp_obj_get_int(addr_items[1]); -} - -// Takes an array with a raw IPv4 address and returns something like '192.168.0.1'. -mp_obj_t mod_network_format_ipv4_addr(uint8_t *ip) { - char ip_str[16]; - mp_uint_t ip_len = snprintf(ip_str, 16, "%u.%u.%u.%u", ip[0], ip[1], ip[2], ip[3]); - return mp_obj_new_str(ip_str, ip_len, false); -} - -// Takes an array with a raw IP address, and a port, and returns a net-address -// tuple such as ('192.168.0.1', 8080). -mp_obj_t mod_network_format_inet_addr(uint8_t *ip, mp_uint_t port) { - mp_obj_t tuple[2] = { - tuple[0] = mod_network_format_ipv4_addr(ip), - tuple[1] = mp_obj_new_int(port), - }; - return mp_obj_new_tuple(2, tuple); -} |