string CMY_SysInfo::GetNicInfo(void)
{
string strNicInfo = "";
unsigned char szMacAddr[6]={0};
MY_SOCKET sock;
struct sockaddr_in sin;
struct ifreq ifr;
struct ifconf ifc;
CMY_Socket mySocket;
mySocket.Init(AF_INET, SOCK_DGRAM, mySocket.MY_IPPROTO_IP);
sock = mySocket.GetSocket();
if (sock == -1) {
printf("%s line:%d socket error",__func__,__LINE__);
return strNicInfo;
}
//取网卡基本数据
memset(&ifc,0,sizeof(struct ifconf));
//第一次发SIOCGIFCONF,ifc_buf为0,先取数据长度
if (ioctl(sock, SIOCGIFCONF, &ifc) == -1) {
printf("%s line:%d ioctl SIOCGIFCONF (error:%d)%s",__func__,__LINE__,errno,strerror(errno));
return strNicInfo;
}
//根据取到长度
{
string strNicInfo = "";
unsigned char szMacAddr[6]={0};
MY_SOCKET sock;
struct sockaddr_in sin;
struct ifreq ifr;
struct ifconf ifc;
CMY_Socket mySocket;
mySocket.Init(AF_INET, SOCK_DGRAM, mySocket.MY_IPPROTO_IP);
sock = mySocket.GetSocket();
if (sock == -1) {
printf("%s line:%d socket error",__func__,__LINE__);
return strNicInfo;
}
//取网卡基本数据
memset(&ifc,0,sizeof(struct ifconf));
//第一次发SIOCGIFCONF,ifc_buf为0,先取数据长度
if (ioctl(sock, SIOCGIFCONF, &ifc) == -1) {
printf("%s line:%d ioctl SIOCGIFCONF (error:%d)%s",__func__,__LINE__,errno,strerror(errno));
return strNicInfo;
}
//根据取到长度