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;  	}  } |