blob: a288d618b6849a329a919d0d768f0ab142a46ace [file] [log] [blame]
Joe Hershbergerd280d3f2012-05-23 07:58:01 +00001/*
2 * Copied from Linux Monitor (LiMon) - Networking.
3 *
4 * Copyright 1994 - 2000 Neil Russell.
5 * (See License)
6 * Copyright 2000 Roland Borde
7 * Copyright 2000 Paolo Scaffardi
8 * Copyright 2000-2002 Wolfgang Denk, wd@denx.de
Wolfgang Denk2ea91032014-09-30 10:44:01 +02009 * SPDX-License-Identifier: GPL-2.0
Joe Hershbergerd280d3f2012-05-23 07:58:01 +000010 */
11
12#ifndef __ARP_H__
13#define __ARP_H__
14
15#include <common.h>
16
Joe Hershberger049a95a2015-04-08 01:41:01 -050017extern struct in_addr net_arp_wait_packet_ip;
Joe Hershbergerd280d3f2012-05-23 07:58:01 +000018/* MAC address of waiting packet's destination */
Joe Hershberger85d25e02015-04-08 01:41:08 -050019extern uchar *arp_wait_packet_ethaddr;
20extern int arp_wait_tx_packet_size;
21extern ulong arp_wait_timer_start;
22extern int arp_wait_try;
Joe Hershbergerd280d3f2012-05-23 07:58:01 +000023
Joe Hershberger85d25e02015-04-08 01:41:08 -050024void arp_init(void);
25void arp_request(void);
Joe Hershberger049a95a2015-04-08 01:41:01 -050026void arp_raw_request(struct in_addr source_ip, const uchar *targetEther,
27 struct in_addr target_ip);
Stefan BrĂ¼ns45b47732015-08-30 17:46:54 +020028int arp_timeout_check(void);
Joe Hershberger85d25e02015-04-08 01:41:08 -050029void arp_receive(struct ethernet_hdr *et, struct ip_udp_hdr *ip, int len);
Joe Hershbergerd280d3f2012-05-23 07:58:01 +000030
31#endif /* __ARP_H__ */