在linux上使用c ++获取物理媒体类型的以太网适配器

时间:2011-05-02 06:26:45

标签: media ethernet

我正在使用此代码获取有关以太网适配器的一些信息。

for(i = 0; i < nInterfaces; i++)
    {
        struct ifreq *item = &ifr[i];

        if(ioctl(sck, SIOCGIFFLAGS, &ifr[i]) >= 0)
        {
            if (!(ifr[i].ifr_flags & IFF_LOOPBACK))
            {
                printf("Name : %s\n", item->ifr_name);
                printf("Media : %s\n", (ifr->ifr_flags)&IFF_UP ? "Up" : "Down");
                printf("Bandwidth : %d\n", item->ifr_bandwidth);
            }
        }
    }

如何确定adatper的媒体类型?例如无线,蓝牙,以太网(802.3)等?

PRASHANT

1 个答案:

答案 0 :(得分:0)

如果我们相信此网站:http://linux.about.com/library/cmd/blcmdl7_netdevice.htm,则ifr_flags成员中有一个名为IFF_PORTSEL的值,即“能够通过ifmap选择媒体类型。”。