#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; }