31#if defined (PACKET_ASSEMBLY) || defined (PACKET_DECODING)
35#if defined (PACKET_ASSEMBLY)
46 if (to && to -> hlen == 7)
47 memcpy (eh.ether_dhost, &to -> hbuf [1],
48 sizeof eh.ether_dhost);
50 memset (eh.ether_dhost, 0xff, sizeof (eh.ether_dhost));
51 if (interface -> hw_address.hlen - 1 == sizeof (eh.ether_shost))
52 memcpy (eh.ether_shost, &interface -> hw_address.hbuf [1],
53 sizeof (eh.ether_shost));
55 memset (eh.ether_shost, 0x00, sizeof (eh.ether_shost));
81 memcpy (&from -> hbuf [1], eh.ether_shost, sizeof (eh.ether_shost));
82 from -> hbuf [0] = ARPHRD_ETHER;
83 from -> hlen = (
sizeof eh.ether_shost) + 1;
ssize_t decode_ethernet_header(struct interface_info *, unsigned char *, unsigned, struct hardware *)
void assemble_ethernet_header(struct interface_info *, unsigned char *, unsigned *, struct hardware *)
#define ETHER_HEADER_SIZE