www.ghoon.net
강지훈 ::
Rss feed
Home
Tag
MediaLog
LocationLog
Guestbook
Admin
Write
Category
분류 전체보기
(14)
Development
(3)
DirectFB
(0)
cURL
(1)
Anything
(1)
Useful Tips
(0)
Notice
Tag
메소드포인터
Total
6,551
Today
10
Y-day
4
티스토리 가입하기
calendar
«
2012/02
»
일
월
화
수
목
금
토
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
29
Search
Recent Post
Win32 SYSTEMTIME, F...
IPhone Explorer 죽...
Linux shell 용 merg...
VIM에서 현재 Line,...
내 vimrc setting..
Recent Comment
저도 같은 증상...
헐헐
2011
좋은 정보 잘...
꾸로gguro
2010
Recent Trackback
Archive
2011/08
(1)
2011/06
(1)
2011/01
(1)
2010/06
(1)
2010/03
(1)
My Link
fomuon's blog.
hoyeol's blog.
Development
2008/11/10 09:43
[Linux C API]mac address가져오기.
#include
#include
#include
#include
#include
#include
/** * Gets mac address with specified interface name. * * @param szInfName [in] interface name. * @param szMAC [out] retrieved mac address. * @param nLen [out] size of mac address string. * @return 0 is success, otherwise failure. * * @author Kang, Ji-Hoon (kang@ghoon.com) * @date 2008-11-07 */ int getMacAddr(const char* szInfName, char* szMac, int* nLen) { char* mac_addr = NULL; struct ifreq ifrq; int fd = socket(AF_INET, SOCK_DGRAM, 0); struct sockaddr *sa = NULL; memset(&ifrq, 0, sizeof(ifrq)); strcpy(ifrq.ifr_name , szInfName); if (ioctl(fd, SIOCGIFHWADDR, &ifrq) < 0) { close(fd); fprintf(stderr, "%s:%d> ERROR getMacAddr", __FILE__, __LINE__); return 1; } sa = &(ifrq.ifr_hwaddr); mac_addr = (char*) ether_ntoa((struct ether_addr*) sa->sa_data ); if (mac_addr == NULL) { return 1; } memset(szMac, 0, sizeof(szMac)); sprintf(szMac, "%s", mac_addr); *nLen = strlen(szMac); close(fd); return 0; } int main(int argc, char** argv) { char sMacAddr[64] = {0,}; int nLength = 0; if (getMacAddr(sMacAddr, &nLength) != 0) { return 1; } printf("MacAddr : %s\nString length : %d\n", sMacAddr, nLength); return 0; }
posted by
강지훈
Trackback
0
:
Comment
0
Trackback :
http://www.ghoon.net/trackback/9
<
PREV
NEXT
>
1
...
8
9
10
11
12
13
14