天嵌二次封装库使用手册  V2.1.2
tq_network.h 文件参考
#include "libhardware.h"
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

宏定义

#define NETWORK_API
 

函数

NETWORK_API int tq_get_ip_by_domain (const char *trgtadd, char *ip, int size)
 根据域名获取默认网卡设备的ip地址 更多...
 
NETWORK_API int tq_get_ip (const char *dev, char *ip, int size)
 获取指定网卡设备的ip地址 更多...
 
NETWORK_API int tq_get_ip_info (char const *device, char *ip)
 获取指定网卡设备的ip地址 更多...
 
NETWORK_API int tq_get_netmask (const char *dev, char *mask, int size)
 获取指定网卡设备的子网掩码 更多...
 
NETWORK_API int tq_get_gateway (const char *dev, char *gway, int size)
 获取指定网卡设备的网关 更多...
 
NETWORK_API int tq_get_mac (const char *dev, char *mac, int size)
 获取指定网卡设备的mac地址 更多...
 
NETWORK_API int tq_get_dns (char *dns1, int size1, char *dns2, int size2)
 获取本机指定的DNS服务器地址 更多...
 
NETWORK_API int tq_check_ping (const char *target, unsigned int timeout_ms)
 网络检测函数,类似于ping命令 更多...
 
NETWORK_API int tq_check_ping2 (const char *iface, const char *target, unsigned int timeout_ms)
 网络检测函数,类似于ping命令(指定端口) 更多...
 
NETWORK_API int tq_detect_eth_cable (const char *ifname)
 网卡状态检测 更多...
 
NETWORK_API int tq_SetIfAddr (const char *ifname, const char *Ipaddr, char *mask)
 设置网卡IP地址 子网掩码 网关等信息 更多...
 
NETWORK_API int tq_set_mac_addr (const char *ifname, const char *mac)
 设置网卡MAC地址 更多...
 
NETWORK_API int tq_set_gateway (const char *ifname, char *gateway)
 设置网卡IP地址 子网掩码 网关等信息 更多...
 
NETWORK_API int tq_set_dns (const char *dns1, const char *dns2)
 设置本机DNS服务器地址,DNS地址如114.114.114.114 更多...
 
NETWORK_API int tq_if_updown (const char *ifname, int flag)
 打开关闭网卡 更多...
 
NETWORK_API int tq_ether_atoe (const char *a, unsigned char *e)
 将以太网地址串表示转换为二进制数据 更多...
 
NETWORK_API char * tq_ether_etoa (const unsigned char *e, char *a)
 将以太网地址二进制数据转换为字符串表示形式 更多...
 
NETWORK_API void tq_udhcpc (const char *net_interface)
 用udhcpc获取ip地址 更多...
 

详细描述

日期
2024-12-09

在文件 tq_network.h 中定义.

宏定义说明

#define NETWORK_API

在文件 tq_network.h17 行定义.

函数说明

NETWORK_API int tq_check_ping ( const char *  target,
unsigned int  timeout_ms 
)

网络检测函数,类似于ping命令

参数
target目标地址域名或者ip
timeout_ms检测超时(毫秒);ps:用于获取网络的返回信息(参考ping命令的返回信息),详见结构体struct ping_struct该参数也可以不传入,设置为NULL即可。如: check_ping(&target,timeout_ms,NULL);
返回
int 成功返回大于0,超时返回等于0,失败返回-1。不受ps参数影响
NETWORK_API int tq_check_ping2 ( const char *  iface,
const char *  target,
unsigned int  timeout_ms 
)

网络检测函数,类似于ping命令(指定端口)

参数
iface网口名称,如“eth0”
target目标地址域名或者 ip
timeout_ms检测超时(毫秒)
返回
int 成功返回大于0,超时返回等于0,失败返回-1。
NETWORK_API int tq_detect_eth_cable ( const char *  ifname)

网卡状态检测

参数
ifname网卡名称,例:eth0、wlan0
返回
int up返回true(1), down返回false(0)
NETWORK_API int tq_ether_atoe ( const char *  a,
unsigned char *  e 
)

将以太网地址串表示转换为二进制数据

参数
a字符串形式为xx:xx:xx:xx:xx:xx
e二进制数据
返回
int 如果转换成功则为TRUE,否则为FALSE
NETWORK_API char* tq_ether_etoa ( const unsigned char *  e,
char *  a 
)

将以太网地址二进制数据转换为字符串表示形式

参数
e二进制数据
a字符串形式为xx:xx:xx:xx:xx:xx
返回
char* 成功返回指向a的指针
NETWORK_API int tq_get_dns ( char *  dns1,
int  size1,
char *  dns2,
int  size2 
)

获取本机指定的DNS服务器地址

参数
dns1DNS1地址缓存区
size1DNS1地址缓存区长度
dns2DNS2地址缓存区
size1DNS2地址缓存区长度
返回
若返回0则成功。返回-2则是因为DNS缓存区长度不足,需要的最小长度为16。

DNS缓存区传入函数前需要先初始化。

NETWORK_API int tq_get_gateway ( const char *  dev,
char *  gway,
int  size 
)

获取指定网卡设备的网关

参数
dev网卡设备名
gway获取后的网关填充位置
size传入gway的大小
返回
int 成功返回填充gway的长度, >0 成功,填充gway的长度, =0 没有找到设备节点, -1 失败,无该设备节点, -2 形参gway的空间长度不够,需要的最小长度见返回gway的首字节
NETWORK_API int tq_get_ip ( const char *  dev,
char *  ip,
int  size 
)

获取指定网卡设备的ip地址

参数
dev网卡设备名
ip获取后的ip填充位置
size传入ip的大小
返回
int 成功返回填充ip的长度, >0 成功,填充ip的长度, =0 没有找到设备节点, -1 失败,无该设备节点, -2 形参ip的空间长度不够,需要的最小长度见返回ip的首字节
NETWORK_API int tq_get_ip_by_domain ( const char *  trgtadd,
char *  ip,
int  size 
)

根据域名获取默认网卡设备的ip地址

参数
trgtadd域名
ip获取后的ip填充位置
size传入ip的大小
返回
int 成功返回填充ip的长度, >0 成功,填充ip的长度, =0 没有找到设备节点, -1 失败,无该设备节点, -2 形参ip的空间长度不够,需要的最小长度见返回ip的首字节
NETWORK_API int tq_get_ip_info ( char const *  device,
char *  ip 
)

获取指定网卡设备的ip地址

参数
dev网卡设备名
ip获取后的ip填充位置,接口不创建大小,需要外部创建内存空间
返回
若返回0则成功。返回-1则失败.
NETWORK_API int tq_get_mac ( const char *  dev,
char *  mac,
int  size 
)

获取指定网卡设备的mac地址

参数
dev网卡设备名
mac获取后的mac填充位置
size传入mac的大小
返回
int 成功返回填充mac的长度, >0 成功,填充mac的长度, =0 没有找到设备节点, -1 失败,无该设备节点, -2 形参mac的空间长度不够,需要的最小长度见返回mac的首字节
NETWORK_API int tq_get_netmask ( const char *  dev,
char *  mask,
int  size 
)

获取指定网卡设备的子网掩码

参数
dev网卡设备名
mask获取后的子网掩码填充位置
size传入mask的大小
返回
int 成功返回填充mask的长度, >0 成功,填充mask的长度, =0 没有找到设备节点, -1 失败,无该设备节点, -2 形参mask的空间长度不够,需要的最小长度见返回mask的首字节
NETWORK_API int tq_if_updown ( const char *  ifname,
int  flag 
)

打开关闭网卡

参数
ifname网卡名称,例:eth0、wlan0
flag网卡状态,0:关闭网卡,1:打开网卡
返回
int 成功返回大于等于0,失败返回小于0
NETWORK_API int tq_set_dns ( const char *  dns1,
const char *  dns2 
)

设置本机DNS服务器地址,DNS地址如114.114.114.114

参数
dns1DNS1服务器地址
dns2DNS2服务器地址
返回
int 若成功则返回非负整数。

设置DNS地址实际是对/etc/resolv.conf文件进行读写,在写入DNS地址前会将文件截断为零长度。

NETWORK_API int tq_set_gateway ( const char *  ifname,
char *  gateway 
)

设置网卡IP地址 子网掩码 网关等信息

参数
ifname网卡名称,例:eth0、wlan0
gateway网关地址,例:192.168.1.2
返回
int 成功返回等于0,失败返回小于0
NETWORK_API int tq_set_mac_addr ( const char *  ifname,
const char *  mac 
)

设置网卡MAC地址

参数
ifname网卡名称,例:eth0、wlan0
macMAC地址,注意:mac地址参数为binary data数据,使用ether_etoa转换成标准的MAC地址字符串格式
返回
int 成功返回大于等于0,失败返回小于0
NETWORK_API int tq_SetIfAddr ( const char *  ifname,
const char *  Ipaddr,
char *  mask 
)

设置网卡IP地址 子网掩码 网关等信息

参数
ifname网卡名称,例:eth0、wlan0
IpaddrIP地址,例:192.168.1.96
mask子网掩码,例:255.255.255.0
返回
int 成功返回等于0,失败返回小于0
NETWORK_API void tq_udhcpc ( const char *  net_interface)

用udhcpc获取ip地址

参数
net_interface设备节点名称,如"wlan0"