util-lib: add ether_addr_from_string()

This isn't quite symmetrical to in_addr_from_string() because it also returns
an offset indicating how much of the string was consumed by the matched
pattern.  This offset reporting is needed for either of the following use
cases:

 * verifying the lack of trailing garbage after such an address
 * parsing subsequent data from the same string
This commit is contained in:
Daniel Kahn Gillmor
2016-05-17 16:55:20 -04:00
parent 1a7906ae91
commit dd4d201ab1
2 changed files with 71 additions and 0 deletions
+2
View File
@@ -35,3 +35,5 @@ bool ether_addr_equal(const struct ether_addr *a, const struct ether_addr *b);
static inline bool ether_addr_is_null(const struct ether_addr *addr) {
return ether_addr_equal(addr, &ETHER_ADDR_NULL);
}
int ether_addr_from_string(const char *s, struct ether_addr *ret, size_t *offset);