8 Star 29 Fork 21

10km / common_source_cpp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
if_utilits_c.h 3.12 KB
一键复制 编辑 原始数据 按行查看 历史
#ifndef COMMON_SOURCE_CPP_IF_UTILITS_C_H
#define COMMON_SOURCE_CPP_IF_UTILITS_C_H
#include <stddef.h>
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
/************************************************************************/
/* 网卡工具 */
/************************************************************************/
//************************************
// 返回设备网卡IP地址字符串(.分割十进制)
// @param const char * ifname 指定网卡名称,为空则返回第一个找到网卡设备的数据
// @param char* ipbuf [out] ip地址输出缓冲区
// @param size_t ipbufsz 输出缓冲区长度
// @param bool debugLog 是否输出调试信息
// @return bool 调用成返回true
//************************************
bool ifu_get_ip_address(const char* ifname, char *ipbuf,size_t ipbufsz, bool debugLog);
//************************************
// 返回设备网卡MAC地址字符串(12字节HEX格式)
// @param const char * ifname 指定网卡名称,为空则返回第一个找到网卡设备的数据
// @param char * macbuf [out] 网卡MAC地址输出缓冲区
// @param size_t macbufsz 输出缓冲区长度
// @param bool debugLog 是否输出调试信息
// @return bool 调用成返回true
//************************************
bool ifu_get_mac_address(const char* ifname, char *macbuf, size_t macbufsz, bool debugLog);
//************************************
// 根据MAC地址(HEX字符串)查找对应的网卡
// @param const char * input_mac MAC地址(HEX字符串)
// @param char * ifname [out] 如果找到的匹配MAC地址网卡设备,则返回网卡设备名称,such as 'wlan0','eth0',没找到则返回空字符串
// @param size_t ifsz 输出缓冲区长度
// @param char * foundnics [out] 以 '$ifname0/$mac0,$ifname1/$mac1'格式返回找到的所有网卡设备,没有则返回空字符串、
// @param size_t nicbufsz 输出缓冲区长度
// @param bool debugLog 是否输出调试信息
// @return bool 找到匹配MAC地址的网卡返回true,否则返回false
//************************************
bool ifu_find_nic_by_mac(const char* input_mac, char * ifname,size_t ifsz, char * foundnics,size_t nicbufsz, bool debugLog);
//************************************
// 检查输入的mac是否与本机的设备MAC地址匹配,以参见 find_nic_by_mac
// @param const char * mac HEX格式的MAC地址,such as '0A-00-27-00-00-16' or 'D0:17:C2:D0:3F:AA' or '0a0027000018'
// @param bool debugFlag 是否输出调试信息
// @param char * errmsg [out] 输出错误信息
// @param size_t errbufsz 错误输出缓冲区长度
// @return bool 如果本机找到匹配指定MAC地址的网卡设备返回true
//************************************
bool ifu_check_mac_matched(const char*mac, bool debugFlag, char *errmsg, size_t errbufsz);
#ifdef __cplusplus
}
#endif
#endif /** COMMON_SOURCE_CPP_IF_UTILITS_C_H */
C++
1
https://gitee.com/l0km/common_source_cpp.git
git@gitee.com:l0km/common_source_cpp.git
l0km
common_source_cpp
common_source_cpp
master

搜索帮助