CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): app (불편사항)
날 짜 (Date): 2002년 11월  8일 금요일 오후 01시 09분 08초
제 목(Title): Re: MAC 어드레스 얻기


저는 이렇게 사용하는데 이것이 portable한지는 모르겠고-_-

char *GetMacAddress(char *device)
{
    int i;
    char *hwaddr = NULL;
    struct ifreq ifr;
    int skfd = socket(AF_INET, SOCK_STREAM, 0);

    strcpy(ifr.ifr_name, device);

    if(ioctl(skfd, SIOCGIFHWADDR, &ifr) < 0) {
        printf("Error\n");
        close(skfd);
        return null;
    }

    hwaddr = ifr.ifr_hwaddr.sa_data;
    hwaddr = pr_ether(hwaddr);
    close(skfd);
    return hwaddr;
}

char *pr_ether(unsigned char *ptr)
{
    snprintf(buff, sizeof(buff), "%02X:%02X:%02X:%02X:%02X:%02X",
         (ptr[0] & 0377), (ptr[1] & 0377), (ptr[2] & 0377),
         (ptr[3] & 0377), (ptr[4] & 0377), (ptr[5] & 0377)
    );
    return (buff);
}


--박찬희
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.