#include <stdlib.h> | |
#include <stdio.h> | |
#include <parlib.h> | |
#include <unistd.h> | |
#include <signal.h> | |
#include <nixip.h> | |
#include <sys/types.h> | |
#include <sys/stat.h> | |
#include <fcntl.h> | |
int | |
myetheraddr(uint8_t *to, char *dev) | |
{ | |
int n, fd; | |
char buf[256]; | |
if(*dev == '/') | |
sprintf(buf, "%s/addr", dev); | |
else | |
sprintf(buf, "/net/%s/addr", dev); | |
fd = open(buf, O_RDONLY); | |
if(fd < 0) | |
return -1; | |
n = read(fd, buf, sizeof buf -1 ); | |
close(fd); | |
if(n <= 0) | |
return -1; | |
buf[n] = 0; | |
parseether(to, buf); | |
return 0; | |
} |