diff options
Diffstat (limited to 'debian/grub-extras/disabled/gpxe/src/include/gpxe/arp.h')
-rw-r--r-- | debian/grub-extras/disabled/gpxe/src/include/gpxe/arp.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/debian/grub-extras/disabled/gpxe/src/include/gpxe/arp.h b/debian/grub-extras/disabled/gpxe/src/include/gpxe/arp.h new file mode 100644 index 0000000..0623d35 --- /dev/null +++ b/debian/grub-extras/disabled/gpxe/src/include/gpxe/arp.h @@ -0,0 +1,46 @@ +#ifndef _GPXE_ARP_H +#define _GPXE_ARP_H + +/** @file + * + * Address Resolution Protocol + * + */ + +FILE_LICENCE ( GPL2_OR_LATER ); + +#include <gpxe/tables.h> + +struct net_device; +struct net_protocol; + +/** A network-layer protocol that relies upon ARP */ +struct arp_net_protocol { + /** Network-layer protocol */ + struct net_protocol *net_protocol; + /** Check existence of address + * + * @v netdev Network device + * @v net_addr Network-layer address + * @ret rc Return status code + */ + int ( * check ) ( struct net_device *netdev, + const void *net_addr ); +}; + +/** ARP protocol table */ +#define ARP_NET_PROTOCOLS \ + __table ( struct arp_net_protocol, "arp_net_protocols" ) + +/** Declare an ARP protocol */ +#define __arp_net_protocol __table_entry ( ARP_NET_PROTOCOLS, 01 ) + +extern struct net_protocol arp_protocol; + +extern int arp_resolve ( struct net_device *netdev, + struct net_protocol *net_protocol, + const void *dest_net_addr, + const void *source_net_addr, + void *dest_ll_addr ); + +#endif /* _GPXE_ARP_H */ |