prot_etharp.h

ARP protocol definitions.

Defines

ETHARP_HWADDR_LEN
IPADDR_WORDALIGNED_COPY_TO_IP4_ADDR_T(dest, src)

MEMCPY-like copying of IP addresses where addresses are known to be 16-bit-aligned if the port is correctly configured (so a port could define this to copying 2 u16_t’s) - no NULL-pointer-checking needed.

IPADDR_WORDALIGNED_COPY_FROM_IP4_ADDR_T(dest, src)

MEMCPY-like copying of IP addresses where addresses are known to be 16-bit-aligned if the port is correctly configured (so a port could define this to copying 2 u16_t’s) - no NULL-pointer-checking needed.

SIZEOF_ETHARP_HDR

Enums

enum etharp_opcode

Values:

enumerator ARP_REQUEST
enumerator ARP_REPLY

Variables

PACK_STRUCT_BEGIN struct ip4_addr_wordaligned PACK_STRUCT_STRUCT
struct ip4_addr_wordaligned
#include <prot_etharp.h>

struct ip4_addr_wordaligned is used in the definition of the ARP packet format in order to support compilers that don’t have structure packing.

Public Functions

PACK_STRUCT_FIELD (u16_t addrw[2])
struct etharp_hdr
#include <prot_etharp.h>

the ARP message, see RFC 826 (“Packet format”)

Public Functions

PACK_STRUCT_FIELD (u16_t hwtype)
PACK_STRUCT_FIELD (u16_t proto)
PACK_STRUCT_FLD_8 (u8_t hwlen)
PACK_STRUCT_FLD_8 (u8_t protolen)
PACK_STRUCT_FIELD (u16_t opcode)
PACK_STRUCT_FLD_S (struct eth_addr shwaddr)
PACK_STRUCT_FLD_S (struct ip4_addr_wordaligned sipaddr)
PACK_STRUCT_FLD_S (struct eth_addr dhwaddr)
PACK_STRUCT_FLD_S (struct ip4_addr_wordaligned dipaddr)