天嵌二次封装库使用手册  V2.1.2
lib_network.h
浏览该文件的文档.
1 
7 #ifndef LINUX_LIBV2_SOURCE_NETWORK_LIB_NETWORK_H_
8 #define LINUX_LIBV2_SOURCE_NETWORK_LIB_NETWORK_H_
9 
10 // Copyright 2024
11 
12 #define MAC_SIZE 18
13 #define IP_SIZE 16
14 #define BUFSIZE 1500
15 #define DATA_LEN 56
16 #define ETHER_ADDR_LEN 6
17 #define UP 1
18 #define DOWN 0
19 
20 static char dns_file_path[] = "/etc/resolv.conf\0";
21 #ifdef __cplusplus
22 #define NETWORK_API extern "C"
23 #else
24 #define NETWORK_API
25 #endif
26 
38  NETWORK_API int get_ip_by_domain(const char *trgtadd, char *ip, int size);
39 
51  NETWORK_API int get_ip(const char *dev, char *ip, int size);
58  NETWORK_API int get_ip_info(const char *const device, char *ip);
59 
71  NETWORK_API int get_netmask(const char *dev, char *mask, int size);
72 
84  NETWORK_API int get_gateway(const char *dev, char *gway, int size);
85 
97  NETWORK_API int get_mac(const char *dev, char *mac, int size);
98 
109  NETWORK_API int get_dns(char *dns1, int size1, char *dns2, int size2);
110 
117  NETWORK_API int check_ping(const char *target, unsigned int timeout_ms);
118 
126  NETWORK_API int check_ping2(const char *iface, const char *target, unsigned int timeout_ms);
127 
133  NETWORK_API int detect_eth_cable(const char *ifname);
134 
142  NETWORK_API int SetIfAddr(const char *ifname, char *Ipaddr, char *mask);
143 
150  NETWORK_API int set_mac_addr(const char *ifname, char *mac);
151 
158  NETWORK_API int set_gateway(const char *ifname, char *gateway);
159 
168  NETWORK_API int set_dns(const char *dns1, const char *dns2);
169 
176  NETWORK_API int if_updown(const char *ifname, int flag);
177 
184  NETWORK_API int ether_atoe(const char *a, unsigned char *e);
185 
192  NETWORK_API char *ether_etoa(const unsigned char *e, char *a);
197  NETWORK_API void udhcpc(const char *net_interface);
198 
199  NETWORK_API int getIpToIn(char *dev, struct sockaddr_in *sin);
200 
201 #endif
NETWORK_API int get_ip(const char *dev, char *ip, int size)
获取指定网卡设备的ip地址
NETWORK_API int check_ping2(const char *iface, const char *target, unsigned int timeout_ms)
网络检测函数,类似于ping命令(指定端口)
NETWORK_API int check_ping(const char *target, unsigned int timeout_ms)
网络检测函数,类似于ping命令
NETWORK_API int set_mac_addr(const char *ifname, char *mac)
设置网卡MAC地址
NETWORK_API int get_netmask(const char *dev, char *mask, int size)
获取指定网卡设备的子网掩码
NETWORK_API int if_updown(const char *ifname, int flag)
打开关闭网卡
NETWORK_API int get_ip_by_domain(const char *trgtadd, char *ip, int size)
根据域名获取默认网卡设备的ip地址
NETWORK_API int get_ip_info(const char *const device, char *ip)
获取指定网卡设备的ip地址
NETWORK_API int get_dns(char *dns1, int size1, char *dns2, int size2)
获取本机指定的DNS服务器地址
NETWORK_API int SetIfAddr(const char *ifname, char *Ipaddr, char *mask)
设置网卡IP地址 子网掩码 网关等信息
NETWORK_API int ether_atoe(const char *a, unsigned char *e)
将以太网地址串表示转换为二进制数据
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 get_mac(const char *dev, char *mac, int size)
获取指定网卡设备的mac地址
NETWORK_API int getIpToIn(char *dev, struct sockaddr_in *sin)
NETWORK_API int get_gateway(const char *dev, char *gway, int size)
获取指定网卡设备的网关
#define NETWORK_API
Definition: lib_network.h:24
NETWORK_API void udhcpc(const char *net_interface)
用udhcpc获取ip地址
NETWORK_API int detect_eth_cable(const char *ifname)
网卡状态检测
NETWORK_API char * ether_etoa(const unsigned char *e, char *a)
将以太网地址二进制数据转换为字符串表示形式