天嵌二次封装库使用手册
V2.1.2
|
宏定义 | |
#define | MAC_SIZE 18 |
MAC地址的大小 更多... | |
#define | IP_SIZE 16 |
IP地址的大小 更多... | |
#define | BUFSIZE 1500 |
各种缓冲区的长度 更多... | |
#define | DATA_LEN 56 |
ICMP回显请求的长度 更多... | |
#define | ETHER_ADDR_LEN 6 |
Ethernet地址长度 更多... | |
#define | UP 1 |
打开网卡标志 更多... | |
#define | DOWN 0 |
关闭网卡标志 更多... | |
#define | NETWORK_API |
函数 | |
NETWORK_API int | get_ip_by_domain (const char *trgtadd, char *ip, int size) |
根据域名获取默认网卡设备的ip地址 更多... | |
NETWORK_API int | get_ip (const char *dev, char *ip, int size) |
获取指定网卡设备的ip地址 更多... | |
NETWORK_API int | get_ip_info (const char *const device, char *ip) |
获取指定网卡设备的ip地址 更多... | |
NETWORK_API int | get_netmask (const char *dev, char *mask, int size) |
获取指定网卡设备的子网掩码 更多... | |
NETWORK_API int | get_gateway (const char *dev, char *gway, int size) |
获取指定网卡设备的网关 更多... | |
NETWORK_API int | get_mac (const char *dev, char *mac, int size) |
获取指定网卡设备的mac地址 更多... | |
NETWORK_API int | get_dns (char *dns1, int size1, char *dns2, int size2) |
获取本机指定的DNS服务器地址 更多... | |
NETWORK_API int | check_ping (const char *target, unsigned int timeout_ms) |
网络检测函数,类似于ping命令 更多... | |
NETWORK_API int | check_ping2 (const char *iface, const char *target, unsigned int timeout_ms) |
网络检测函数,类似于ping命令(指定端口) 更多... | |
NETWORK_API int | detect_eth_cable (const char *ifname) |
网卡状态检测 更多... | |
NETWORK_API int | SetIfAddr (const char *ifname, char *Ipaddr, char *mask) |
设置网卡IP地址 子网掩码 网关等信息 更多... | |
NETWORK_API int | set_mac_addr (const char *ifname, char *mac) |
设置网卡MAC地址 更多... | |
NETWORK_API int | set_gateway (const char *ifname, char *gateway) |
设置网卡IP地址 子网掩码 网关等信息 更多... | |
NETWORK_API int | set_dns (const char *dns1, const char *dns2) |
设置本机DNS服务器地址,DNS地址如114.114.114.114 更多... | |
NETWORK_API int | if_updown (const char *ifname, int flag) |
打开关闭网卡 更多... | |
NETWORK_API int | ether_atoe (const char *a, unsigned char *e) |
将以太网地址串表示转换为二进制数据 更多... | |
NETWORK_API char * | ether_etoa (const unsigned char *e, char *a) |
将以太网地址二进制数据转换为字符串表示形式 更多... | |
NETWORK_API void | udhcpc (const char *net_interface) |
用udhcpc获取ip地址 更多... | |
NETWORK_API int | getIpToIn (char *dev, struct sockaddr_in *sin) |
#define BUFSIZE 1500 |
各种缓冲区的长度
在文件 lib_network.h 第 14 行定义.
#define DATA_LEN 56 |
ICMP回显请求的长度
在文件 lib_network.h 第 15 行定义.
#define DOWN 0 |
关闭网卡标志
在文件 lib_network.h 第 18 行定义.
#define ETHER_ADDR_LEN 6 |
Ethernet地址长度
在文件 lib_network.h 第 16 行定义.
#define IP_SIZE 16 |
IP地址的大小
在文件 lib_network.h 第 13 行定义.
#define MAC_SIZE 18 |
MAC地址的大小
在文件 lib_network.h 第 12 行定义.
#define NETWORK_API |
在文件 lib_network.h 第 24 行定义.
#define UP 1 |
打开网卡标志
在文件 lib_network.h 第 17 行定义.
NETWORK_API int 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); |
NETWORK_API int check_ping2 | ( | const char * | iface, |
const char * | target, | ||
unsigned int | timeout_ms | ||
) |
网络检测函数,类似于ping命令(指定端口)
iface | 网口名称,如“eth0” |
target | 目标地址域名或者 ip |
timeout_ms | 检测超时(毫秒) |
NETWORK_API int detect_eth_cable | ( | const char * | ifname | ) |
网卡状态检测
ifname | 网卡名称,例:eth0、wlan0 |
NETWORK_API int ether_atoe | ( | const char * | a, |
unsigned char * | e | ||
) |
将以太网地址串表示转换为二进制数据
a | 字符串形式为xx:xx:xx:xx:xx:xx |
e | 二进制数据 |
NETWORK_API char* ether_etoa | ( | const unsigned char * | e, |
char * | a | ||
) |
将以太网地址二进制数据转换为字符串表示形式
e | 二进制数据 |
a | 字符串形式为xx:xx:xx:xx:xx:xx |
NETWORK_API int get_dns | ( | char * | dns1, |
int | size1, | ||
char * | dns2, | ||
int | size2 | ||
) |
获取本机指定的DNS服务器地址
dns1 | DNS1地址缓存区 |
size1 | DNS1地址缓存区长度 |
dns2 | DNS2地址缓存区 |
size1 | DNS2地址缓存区长度 |
DNS缓存区传入函数前需要先初始化。
NETWORK_API int get_gateway | ( | const char * | dev, |
char * | gway, | ||
int | size | ||
) |
获取指定网卡设备的网关
dev | 网卡设备名 |
gway | 获取后的网关填充位置 |
size | 传入gway的大小 |
NETWORK_API int get_ip | ( | const char * | dev, |
char * | ip, | ||
int | size | ||
) |
获取指定网卡设备的ip地址
dev | 网卡设备名 |
ip | 获取后的ip填充位置 |
size | 传入ip的大小 |
NETWORK_API int get_ip_by_domain | ( | const char * | trgtadd, |
char * | ip, | ||
int | size | ||
) |
根据域名获取默认网卡设备的ip地址
trgtadd | 域名 |
ip | 获取后的ip填充位置 |
size | 传入ip的大小 |
NETWORK_API int get_ip_info | ( | const char *const | device, |
char * | ip | ||
) |
获取指定网卡设备的ip地址
dev | 网卡设备名 |
ip | 获取后的ip填充位置,接口不创建大小,需要外部创建内存空间 |
NETWORK_API int get_mac | ( | const char * | dev, |
char * | mac, | ||
int | size | ||
) |
获取指定网卡设备的mac地址
dev | 网卡设备名 |
mac | 获取后的mac填充位置 |
size | 传入mac的大小 |
NETWORK_API int get_netmask | ( | const char * | dev, |
char * | mask, | ||
int | size | ||
) |
获取指定网卡设备的子网掩码
dev | 网卡设备名 |
mask | 获取后的子网掩码填充位置 |
size | 传入mask的大小 |
NETWORK_API int getIpToIn | ( | char * | dev, |
struct sockaddr_in * | sin | ||
) |
NETWORK_API int if_updown | ( | const char * | ifname, |
int | flag | ||
) |
打开关闭网卡
ifname | 网卡名称,例:eth0、wlan0 |
flag | 网卡状态,0:关闭网卡,1:打开网卡 |
NETWORK_API int set_dns | ( | const char * | dns1, |
const char * | dns2 | ||
) |
设置本机DNS服务器地址,DNS地址如114.114.114.114
dns1 | DNS1服务器地址 |
dns2 | DNS2服务器地址 |
设置DNS地址实际是对/etc/resolv.conf文件进行读写,在写入DNS地址前会将文件截断为零长度。
NETWORK_API int set_gateway | ( | const char * | ifname, |
char * | gateway | ||
) |
设置网卡IP地址 子网掩码 网关等信息
ifname | 网卡名称,例:eth0、wlan0 |
gateway | 网关地址,例:192.168.1.2 |
NETWORK_API int set_mac_addr | ( | const char * | ifname, |
char * | mac | ||
) |
设置网卡MAC地址
ifname | 网卡名称,例:eth0、wlan0 |
mac | MAC地址,注意:mac地址参数为binary data数据,使用ether_etoa转换成标准的MAC地址字符串格式 |
NETWORK_API int SetIfAddr | ( | const char * | ifname, |
char * | Ipaddr, | ||
char * | mask | ||
) |
设置网卡IP地址 子网掩码 网关等信息
ifname | 网卡名称,例:eth0、wlan0 |
Ipaddr | IP地址,例:192.168.1.96 |
mask | 子网掩码,例:255.255.255.0 |
NETWORK_API void udhcpc | ( | const char * | net_interface | ) |
用udhcpc获取ip地址
net_interface | 设备节点名称,如"wlan0" |