#define MAC_ADDR_LEN 6
extern int getLocalMacAddr(const u_char *interfaceName,char *mac){
int sockFd = 0;
struct ifreq ifr;
if(NULL == interfaceName){
printf("Invalid argument");
return -1;
}
if(NULL == mac){
printf("Invalid argument");
return -1;
}
strncpy(ifr.ifr_name, interfaceName, sizeof(ifr.ifr_name));
if ((sockFd = socket(PF_INET, SOCK_STREAM, 0)) == -1){
printf("open socket fail.");
return -1;
}
if (ioctl(sockFd, SIOCGIFHWADDR, &ifr) == -1){
printf("get mac address fail.");
return -1;
}
memcpy(mac,(u_char *)ifr.ifr_hwaddr.sa_data,MAC_ADDR_LEN);
return 0;
}
分享到:
相关推荐
C语言获取mac地址和IP地址的源代码,Linux系统下面。
适用于linux环境的C语言程序,获取网卡MAC地址,附详细操作说明,两种方式写成的程序,都能达到所需功能,测试可用。
使用C语言获取CPU生产商信息、序列号及MAC地址,内附IP地址获得方法(程序注释内)
使用C语言获取windows操作系统的MAC列表,已实测可以运行
Linux和Windows下使用C语言获取各种硬件信息,包括CPU序列号、硬盘序列号、网卡信息(包括网卡名字、IP地址、MAC地址、网卡是否插入网线等)。
基于Linux系统分析计算机C语言编程技巧.pdf
Linux操作系统下C语言编程入门Linux操作系统下C语言编程入门Linux操作系统下C语言编程入门
Linux操作系统下C语言编程入门,是初学者的必备佳品。
Linux系统下使用C语言实现进程借助共享内存实现通信
linux系统下的c语言单词值计算linux系统下的c语言单词值计算linux系统下的c语言单词值计算
文件可直接编译运行,亲测可有效获取本机IP地址。
C语言模拟实现Linux文件系统 1、在内存中开辟一块空间来模拟文件系统的运行,不读写硬盘。 2、面向单用户、单任务,不考虑并发,不考虑文件属主、组等概念。 3、程序开始后,初始化并接收用户输入。若输入”enter”...
Linux操作系统下C语言编程入门,介绍在LINUX 下进行C 语言编程所需要的基础知识
linux操作系统下c语言编程入门,基础知识、进程介绍、文件操作、时间概念、信号处理、消息管理、线程操作、网络管理
Linux操作系统下C语言编程入门.doc Linux操作系统下C语言编程入门.doc Linux操作系统下C语言编程入门.doc
Linux内核注释(强烈推荐) Linux操作系统下C语言编程入门 Linux基础入门
Windows下用C语言获取进程CPU使用率,内存使用,IO情况。 可以准确的获取当前进程的CPU使用率。