1 #ifndef _IF_ARP_H 2 #define _IF_ARP_H 3 4 #include "types.h" 5 6 #define ARP_REQUEST 1 7 #define ARP_REPLY 2 8 9 #ifndef MAX_ARP_RETRIES 10 #define MAX_ARP_RETRIES 20 11 #endif 12 13 /* 14 * A pity sipaddr and tipaddr are not longword aligned or we could use 15 * in_addr. No, I don't want to use #pragma packed. 16 */ 17 struct arprequest { 18 uint16_t hwtype; 19 uint16_t protocol; 20 uint8_t hwlen; 21 uint8_t protolen; 22 uint16_t opcode; 23 uint8_t shwaddr[6]; 24 uint8_t sipaddr[4]; 25 uint8_t thwaddr[6]; 26 uint8_t tipaddr[4]; 27 }; 28 29 #endif /* _IF_ARP_H */ 30