aboutsummaryrefslogtreecommitdiffstats
path: root/gethwaddr.c
blob: ceac2cdfbf0d5f31957f26896e340abfecea1005 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
#include <sys/ioctl.h>
#include <sys/types.h>    
#include <sys/socket.h>
#include <net/if.h>
#include <string.h>

int main(int argc, char *argv[]) {
	int s;
	struct ifreq ifr;

	s = socket(PF_INET, SOCK_DGRAM, 0);
	memset(&ifr, 0x00, sizeof(ifr));
	strcpy(ifr.ifr_name, "eth0");
	ioctl(s, SIOCGIFHWADDR, &ifr);
	close(s);

	unsigned char mac_address[6];
	sprintf(mac_address, "%.2X%.2X%.2X%.2X%.2X%.2X",
			(unsigned char) ifr.ifr_hwaddr.sa_data[0],
			(unsigned char) ifr.ifr_hwaddr.sa_data[1],
			(unsigned char) ifr.ifr_hwaddr.sa_data[2],
			(unsigned char) ifr.ifr_hwaddr.sa_data[3],
			(unsigned char) ifr.ifr_hwaddr.sa_data[4],
			(unsigned char) ifr.ifr_hwaddr.sa_data[5]);
	printf("%s", mac_address);

}
n class='decoration'>v1.1Jonathan McCrohan1-10/+18 2012-03-05Rearrange syslog output to read 8N1 rather than N81Jonathan McCrohan1-2/+2 2012-03-05Refactor codeJonathan McCrohan2-6/+4 2012-03-05Add syslog loggingJonathan McCrohan1-24/+57 2012-03-04Remove unused #define statementsJonathan McCrohan1-3/+0 2012-02-20Prune archive after 3 monthsJonathan McCrohan3-0/+7 2012-02-20Update documentationJonathan McCrohan1-3/+5 2012-02-20Add PHP to make installJonathan McCrohan1-0/+3 2012-02-20Update MakefileJonathan McCrohan1-0/+17 2012-02-20Move interval.txt to src/Jonathan McCrohan2-1/+1 2012-02-19Remove debug/testing files.Jonathan McCrohan50-4742/+0 2012-02-15Archive files after upload.Jonathan McCrohan1-0/+2 2012-02-12Fix typo in README.Jonathan McCrohan1-1/+1 2012-02-12Add ftp upload function + add documentation.Jonathan McCrohan5-3/+151 2012-01-10Handle 32bit signed overflow.Jonathan McCrohan1-1/+6 2012-01-10Update README.Jonathan McCrohan1-1/+3