www.ghoon.net
Home
Tag
MediaLog
LocationLog
Guestbook
Admin
Write
강지훈
카테고리
분류 전체보기
(15)
DesingPattern
(0)
Linux
(5)
DirectFB
(1)
dbus
(0)
cURL
(1)
Anytalk
(2)
태그목록
fb0
iGoogle
framebuffer
우분투글꼴
메소드포인터
가젯
공지사항
최근에 올라온 글
VIM에서 현재 Line, Column...
내 vimrc setting..
Alticast tru2way EPGs.
간단한 가변인자 샘플코드.
Eclipse에서 괄호 짝 찾아...
최근에 달린 댓글
좋은 정보 잘 봤어요. 구글에...
꾸로gguro
06/04
최근에 받은 트랙백
링크
fomuon's blog.
hoyeol's blog.
글 보관함
2010/06
(1)
2010/03
(1)
2009/05
(1)
2009/01
(1)
2008/12
(2)
Yesterday
5
Today
1
Total
3,768
가입하기
RSS FEED
달력
11
2008
이전
다음
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
30
'2008/11/10'에 해당되는 글 1건
2008/11/10
[Linux C API]mac address가져오기.
[Linux C API]mac address가져오기.
Linux
2008/11/10 09:43
#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
강지훈
트랙백
0
|
댓글
0
Trackback :
http://www.ghoon.net/trackback/9
이전
1
다음