From 40d56f96b907f8afb717a5d33fd72bee0f6ad1fb Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 18 Aug 2014 19:03:40 +0200 Subject: osmocore: Add function osmo_macaddr_parse() to parse ETH MAC address --- src/macaddr.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/macaddr.c (limited to 'src/macaddr.c') diff --git a/src/macaddr.c b/src/macaddr.c new file mode 100644 index 00000000..1181dfe5 --- /dev/null +++ b/src/macaddr.c @@ -0,0 +1,25 @@ +#include +#include +#include + + +int osmo_macaddr_parse(uint8_t *out, const char *in) +{ + /* 00:00:00:00:00:00 */ + char tmp[18]; + char *tok; + unsigned int i = 0; + + if (strlen(in) < 17) + return -1; + + strncpy(tmp, in, sizeof(tmp)-1); + tmp[sizeof(tmp)-1] = '\0'; + + for (tok = strtok(tmp, ":"); tok && (i < 6); tok = strtok(NULL, ":")) { + unsigned long ul = strtoul(tok, NULL, 16); + out[i++] = ul & 0xff; + } + + return 0; +} -- cgit v1.2.3