1f739fcd8STom Rini /* SPDX-License-Identifier: GPL-2.0 */ 2d280d3f4SJoe Hershberger /* 3d280d3f4SJoe Hershberger * Copied from Linux Monitor (LiMon) - Networking. 4d280d3f4SJoe Hershberger * 5d280d3f4SJoe Hershberger * Copyright 1994 - 2000 Neil Russell. 6d280d3f4SJoe Hershberger * (See License) 7d280d3f4SJoe Hershberger * Copyright 2000 Roland Borde 8d280d3f4SJoe Hershberger * Copyright 2000 Paolo Scaffardi 9d280d3f4SJoe Hershberger * Copyright 2000-2002 Wolfgang Denk, wd@denx.de 10d280d3f4SJoe Hershberger */ 11d280d3f4SJoe Hershberger 12d280d3f4SJoe Hershberger #ifndef __ARP_H__ 13d280d3f4SJoe Hershberger #define __ARP_H__ 14d280d3f4SJoe Hershberger 15d280d3f4SJoe Hershberger #include <common.h> 16d280d3f4SJoe Hershberger 17049a95a7SJoe Hershberger extern struct in_addr net_arp_wait_packet_ip; 18d280d3f4SJoe Hershberger /* MAC address of waiting packet's destination */ 1985d25e0eSJoe Hershberger extern uchar *arp_wait_packet_ethaddr; 2085d25e0eSJoe Hershberger extern int arp_wait_tx_packet_size; 2185d25e0eSJoe Hershberger extern ulong arp_wait_timer_start; 2285d25e0eSJoe Hershberger extern int arp_wait_try; 23*ac3f26ccSJoe Hershberger extern uchar *arp_tx_packet; 24d280d3f4SJoe Hershberger 2585d25e0eSJoe Hershberger void arp_init(void); 2685d25e0eSJoe Hershberger void arp_request(void); 27049a95a7SJoe Hershberger void arp_raw_request(struct in_addr source_ip, const uchar *targetEther, 28049a95a7SJoe Hershberger struct in_addr target_ip); 2945b47734SStefan Brüns int arp_timeout_check(void); 3085d25e0eSJoe Hershberger void arp_receive(struct ethernet_hdr *et, struct ip_udp_hdr *ip, int len); 31d280d3f4SJoe Hershberger 32d280d3f4SJoe Hershberger #endif /* __ARP_H__ */ 33