diff options
Diffstat (limited to 'net/net.c')
-rw-r--r-- | net/net.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -215,7 +215,9 @@ volatile uchar *NetRxPackets[PKTBUFSRX]; /* Current RX packet handler */ static rxhand_f *packetHandler; +#ifdef CONFIG_CMD_TFTPPUT static rxhand_icmp_f *packet_icmp_handler; /* Current ICMP rx handler */ +#endif /* Current timeout handler */ static thand_f *timeHandler; /* Time base value */ @@ -576,9 +578,11 @@ restart: } done: +#ifdef CONFIG_CMD_TFTPPUT /* Clear out the handlers */ NetSetHandler(NULL); net_set_icmp_handler(NULL); +#endif return ret; } @@ -653,10 +657,12 @@ NetSetHandler(rxhand_f *f) packetHandler = f; } +#ifdef CONFIG_CMD_TFTPPUT void net_set_icmp_handler(rxhand_icmp_f *f) { packet_icmp_handler = f; } +#endif void NetSetTimeout(ulong iv, thand_f *f) @@ -1397,10 +1403,12 @@ static void receive_icmp(IP_t *ip, int len, IPaddr_t src_ip, Ethernet_t *et) break; #endif default: +#ifdef CONFIG_CMD_TFTPPUT if (packet_icmp_handler) packet_icmp_handler(icmph->type, icmph->code, ntohs(ip->udp_dst), src_ip, ntohs(ip->udp_src), icmph->un.data, ntohs(ip->udp_len)); +#endif break; } } |