/
clang
/
musl
Обзор
Документация
Войти
/
clang
/
musl
Код
Вики
Пакеты
0
Релизы
0
Аналитика
master
src/network/ether.c
58 строк
1 KB
Rich Felker
add stubs for additional legacy ether.h functions
01 июл 2013, 21:50
01 июл 2013, 21:50
fbcd820
Код
Авторство
О чём код?
#include <stdlib.h> #include <netinet/ether.h> #include <stdio.h> struct ether_addr *ether_aton_r (const char *x, struct ether_addr *p_a) { struct ether_addr a; char *y; for (int ii = 0; ii < 6; ii++) { unsigned long int n; if (ii != 0) { if (x[0] != ':') return 0; /* bad format */ else x++; } n = strtoul (x, &y, 16); x = y; if (n > 0xFF) return 0; /* bad byte */ a.ether_addr_octet[ii] = n; } if (x[0] != 0) return 0; /* bad format */ *p_a = a; return p_a; } struct ether_addr *ether_aton (const char *x) { static struct ether_addr a; return ether_aton_r (x, &a); } char *ether_ntoa_r (const struct ether_addr *p_a, char *x) { char *y; y = x; for (int ii = 0; ii < 6; ii++) { x += sprintf (x, ii == 0 ? "%.2X" : ":%.2X", p_a->ether_addr_octet[ii]); } return y; } char *ether_ntoa (const struct ether_addr *p_a) { static char x[18]; return ether_ntoa_r (p_a, x); } int ether_line(const char *l, struct ether_addr *e, char *hostname) { return -1; } int ether_ntohost(char *hostname, const struct ether_addr *e) { return -1; } int ether_hostton(const char *hostname, struct ether_addr *e) { return -1; }