FreeRTOS
[armadillo_firmware.git] / FreeRTOS / Common / ethernet / lwIP_130 / contrib / port / FreeRTOS / ColdFire / eth.h
blob6b0b664b1ea8e54858ce604fed83afa7b8e084bf
1 /*!
2 * \file eth.h
3 * \brief Definitinos for Ethernet Frames
4 * \version $Revision: 1.2 $
5 * \author Michael Norman
6 */
8 #ifndef _ETH_H
9 #define _ETH_H
11 /*******************************************************************/
13 /* Ethernet standard lengths in bytes*/
14 #define ETH_ADDR_LEN (6)
15 #define ETH_TYPE_LEN (2)
16 #define ETH_CRC_LEN (4)
17 #define ETH_MAX_DATA (1500)
18 #define ETH_MIN_DATA (46)
19 #define ETH_HDR_LEN (ETH_ADDR_LEN * 2 + ETH_TYPE_LEN)
21 /* Defined Ethernet Frame Types */
22 #define ETH_FRM_IP (0x0800)
23 #define ETH_FRM_ARP (0x0806)
24 #define ETH_FRM_RARP (0x8035)
25 #define ETH_FRM_TEST (0xA5A5)
27 /* Maximum and Minimum Ethernet Frame Sizes */
28 #define ETH_MAX_FRM (ETH_HDR_LEN + ETH_MAX_DATA + ETH_CRC_LEN)
29 #define ETH_MIN_FRM (ETH_HDR_LEN + ETH_MIN_DATA + ETH_CRC_LEN)
30 #define ETH_MTU (ETH_HDR_LEN + ETH_MAX_DATA)
32 /* Ethernet Addresses */
33 typedef uint8 ETH_ADDR[ETH_ADDR_LEN];
35 /* 16-bit Ethernet Frame Type, ie. Protocol */
36 typedef uint16 ETH_FRM_TYPE;
38 /* Ethernet Frame Header definition */
39 typedef struct
41 ETH_ADDR dest;
42 ETH_ADDR src;
43 ETH_FRM_TYPE type;
44 } ETH_HDR;
46 /* Ethernet Frame definition */
47 typedef struct
49 ETH_HDR head;
50 uint8* data;
51 } ETH_FRAME;
53 /*******************************************************************/
55 #endif /* _ETH_H */