arp_final.c:16:0: warning: "IFNAMSIZ" redefined
#define IFNAMSIZ 16
^
In file included from arp_final.c:7:0:
/usr/include/net/if.h:129:0: note: this is the location of the previous definition
# define IFNAMSIZ IF_NAMESIZE
^
arp_final.c:68:8: error: redefinition of ‘struct ifreq’
struct ifreq {
^
In file included from arp_final.c:7:0:
/usr/include/net/if.h:126:8: note: originally defined here
struct ifreq
^
arp_final.c:69:10: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘.’ token
char ifr_name[IFNAMSIZ];
^
arp_final.c: In function ‘if_nametoindex’:
arp_final.c:125:16: error: ‘struct ifreq’ has no member named ‘ifr_ifrn’
strncpy(ifr.ifr_name, ifname, IFNAMSIZ - 1);
^
arp_final.c:134:15: error: ‘struct ifreq’ has no member named ‘ifr_ifru’
return ifr.ifr_ifru.ifru_metric;
^
arp_final.c: In function ‘get_local_mac’:
arp_final.c:146:16: error: ‘struct ifreq’ has no member named ‘ifr_ifrn’
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
^
arp_final.c:153:20: error: ‘struct ifreq’ has no member named ‘ifr_ifru’
memcpy(mac, ifr.ifr_ifru.ifru_hwaddr.sa_data, MAC_LENGTH);
^
arp_final.c: In function ‘get_local_ip’:
arp_final.c:166:16: error: ‘struct ifreq’ has no member named ‘ifr_ifrn’
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
^
arp_final.c:173:57: error: ‘struct ifreq’ has no member named ‘ifr_ifru’
struct sockaddr_in *sin = (struct sockaddr_in *)&ifr.ifr_ifru.ifru_addr;
^
arp_final.c: In function ‘build_arp_packet’:
arp_final.c:191:25: error: ‘ETH_P_IP’ undeclared (first use in this function)
arp->ar_pro = htons(ETH_P_IP);
^
arp_final.c:191:25: note: each undeclared identifier is reported only once for each function it appears in
arp_final.c: In function ‘send_arp’:
arp_final.c:230:12: error: variable ‘dest’ has initializer but incomplete type
struct sockaddr_ll dest = {
^
arp_final.c:231:9: error: unknown field ‘sll_family’ specified in initializer
.sll_family = AF_PACKET,
^
arp_final.c:232:9: error: unknown field ‘sll_protocol’ specified in initializer
.sll_protocol = htons(ETH_P_ARP),
^
arp_final.c:232:25: warning: excess elements in struct initializer
.sll_protocol = htons(ETH_P_ARP),
^
arp_final.c:232:25: note: (near initialization for ‘dest’)
arp_final.c:233:9: error: unknown field ‘sll_ifindex’ specified in initializer
.sll_ifindex = if_nametoindex(ifname),
^
arp_final.c:233:24: warning: excess elements in struct initializer
.sll_ifindex = if_nametoindex(ifname),
^
arp_final.c:233:24: note: (near initialization for ‘dest’)
arp_final.c:234:9: error: unknown field ‘sll_halen’ specified in initializer
.sll_halen = ETH_ALEN,
^
arp_final.c:24:18: warning: excess elements in struct initializer
#define ETH_ALEN 6
^
arp_final.c:234:22: note: in expansion of macro ‘ETH_ALEN’
.sll_halen = ETH_ALEN,
^
arp_final.c:24:18: note: (near initialization for ‘dest’)
#define ETH_ALEN 6
^
arp_final.c:234:22: note: in expansion of macro ‘ETH_ALEN’
.sll_halen = ETH_ALEN,
^
arp_final.c:235:9: error: unknown field ‘sll_addr’ specified in initializer
.sll_addr = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF} // 广播地址
^
arp_final.c:235:21: error: extra brace group at end of initializer
.sll_addr = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF} // 广播地址
^
arp_final.c:235:21: note: (near initialization for ‘dest’)
arp_final.c:235:21: warning: excess elements in struct initializer
arp_final.c:235:21: note: (near initialization for ‘dest’)
arp_final.c:230:24: error: storage size of ‘dest’ isn’t known
struct sockaddr_ll dest = {
^
arp_final.c: In function ‘find_or_create_node’:
arp_final.c:275:5: warning: implicit declaration of function ‘list_for_each’ [-Wimplicit-function-declaration]
list_for_each(pos, &arp_result_head) {
^
arp_final.c:275:42: error: expected ‘;’ before ‘{’ token
list_for_each(pos, &arp_result_head) {
^
arp_final.c: In function ‘cleanup_thread’:
arp_final.c:373:9: warning: implicit declaration of function ‘list_for_each_safe’ [-Wimplicit-function-declaration]
list_for_each_safe(pos, next, &arp_result_head) {
^
arp_final.c:373:57: error: expected ‘;’ before ‘{’ token
list_for_each_safe(pos, next, &arp_result_head) {
^
arp_final.c: In function ‘print_arp_table’:
arp_final.c:403:42: error: expected ‘;’ before ‘{’ token
list_for_each(pos, &arp_result_head) {
报错如上
最新发布