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));
64 #ifdef PACKET_DECODING 77 #ifdef USERLAND_FILTER 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;
#define ETHER_HEADER_SIZE
void assemble_ethernet_header(struct interface_info *, unsigned char *, unsigned *, struct hardware *)
ssize_t decode_ethernet_header(struct interface_info *, unsigned char *, unsigned, struct hardware *)