29 #include <arpa/inet.h> 34 int util_parse_ipv4(
const char *s, uint32_t *ip)
36 if (inet_pton(AF_INET, s, ip) != 1) {
43 int util_parse_mac(
const char *s, uint64_t *mac)
50 if (strlen(s) != 17 || s[2] !=
':' || s[5] !=
':' ||
51 s[8] !=
':' || s[11] !=
':' || s[14] !=
':')
55 memcpy(buf, s,
sizeof(buf));
58 buf[2] = buf[5] = buf[8] = buf[11] = buf[14] = 0;
61 for (i = 5; i >= 0; i--) {
62 if (!isxdigit(buf[3 * i]) || !isxdigit(buf[3 * i + 1])) {
65 x = strtoul(&buf[3 * i], NULL, 16);
73 void util_dump_mem(
const void *mem,
size_t len)
75 const uint8_t *b = mem;
77 for (i = 0; i < len; i++) {
78 fprintf(stderr,
"%02x ", b[i]);
80 fprintf(stderr,
"\n");