]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/ColdFire_MCF51CN128_CodeWarrior/Sources/eth.h
Update version number in readiness for V10.3.0 release. Sync SVN with reviewed releas...
[freertos] / FreeRTOS / Demo / ColdFire_MCF51CN128_CodeWarrior / Sources / eth.h
1 /*! \r
2  * \file    eth.h\r
3  * \brief   Definitinos for Ethernet Frames\r
4  * \version $Revision: 1.2 $\r
5  * \author  Michael Norman\r
6  */\r
7 \r
8 #ifndef _ETH_H\r
9 #define _ETH_H\r
10 \r
11 /*******************************************************************/\r
12 \r
13 /* Ethernet standard lengths in bytes*/\r
14 #define ETH_ADDR_LEN    (6)\r
15 #define ETH_TYPE_LEN    (2)\r
16 #define ETH_CRC_LEN     (4)\r
17 #define ETH_MAX_DATA    (1500)\r
18 #define ETH_MIN_DATA    (46)\r
19 #define ETH_HDR_LEN     (ETH_ADDR_LEN * 2 + ETH_TYPE_LEN)\r
20 \r
21 /* Defined Ethernet Frame Types */\r
22 #define ETH_FRM_IP      (0x0800)\r
23 #define ETH_FRM_ARP     (0x0806)\r
24 #define ETH_FRM_RARP    (0x8035)\r
25 #define ETH_FRM_TEST    (0xA5A5)\r
26 \r
27 /* Maximum and Minimum Ethernet Frame Sizes */\r
28 #define ETH_MAX_FRM     (ETH_HDR_LEN + ETH_MAX_DATA + ETH_CRC_LEN)\r
29 #define ETH_MIN_FRM     (ETH_HDR_LEN + ETH_MIN_DATA + ETH_CRC_LEN)\r
30 #define ETH_MTU         (ETH_HDR_LEN + ETH_MAX_DATA)\r
31 \r
32 /* Ethernet Addresses */\r
33 typedef unsigned char ETH_ADDR[ETH_ADDR_LEN];\r
34 \r
35 /* 16-bit Ethernet Frame Type, ie. Protocol */\r
36 typedef unsigned short ETH_FRM_TYPE;\r
37 \r
38 /* Ethernet Frame Header definition */\r
39 typedef struct\r
40 {\r
41     ETH_ADDR     dest;\r
42     ETH_ADDR     src;\r
43     ETH_FRM_TYPE type;\r
44 } ETH_HDR;\r
45 \r
46 /* Ethernet Frame definition */\r
47 typedef struct\r
48 {\r
49     ETH_HDR head;\r
50     unsigned char*  data;\r
51 } ETH_FRAME;\r
52 \r
53 /*******************************************************************/\r
54 \r
55 #endif  /* _ETH_H */\r