Ruslan Pisarev | 03a4389 | 2010-03-20 16:29:01 +0200 | [diff] [blame] | 1 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
Pavel Machek | 66101de | 2008-10-01 14:36:56 +0200 | [diff] [blame] | 2 | // MAC_Structures.h |
| 3 | // |
| 4 | // This file contains the definitions and data structures used by SW-MAC. |
| 5 | // |
| 6 | // Revision Histoy |
| 7 | //================= |
| 8 | // 0.1 2002 UN00 |
| 9 | // 0.2 20021004 PD43 CCLiu6 |
| 10 | // 20021018 PD43 CCLiu6 |
| 11 | // Add enum_TxRate type |
| 12 | // Modify enum_STAState type |
| 13 | // 0.3 20021023 PE23 CYLiu update MAC session struct |
| 14 | // 20021108 |
| 15 | // 20021122 PD43 Austin |
| 16 | // Deleted some unused. |
| 17 | // 20021129 PD43 Austin |
| 18 | // 20030617 increase the 802.11g definition |
Ruslan Pisarev | 03a4389 | 2010-03-20 16:29:01 +0200 | [diff] [blame] | 19 | //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ |
Pavel Machek | 66101de | 2008-10-01 14:36:56 +0200 | [diff] [blame] | 20 | |
| 21 | #ifndef _MAC_Structures_H_ |
| 22 | #define _MAC_Structures_H_ |
| 23 | |
Pavel Machek | 66101de | 2008-10-01 14:36:56 +0200 | [diff] [blame] | 24 | #define MAC_ADDR_LENGTH 6 |
Pavel Machek | 66101de | 2008-10-01 14:36:56 +0200 | [diff] [blame] | 25 | |
Ruslan Pisarev | 03a4389 | 2010-03-20 16:29:01 +0200 | [diff] [blame] | 26 | /* ======================================================== |
Pavel Machek | 66101de | 2008-10-01 14:36:56 +0200 | [diff] [blame] | 27 | // 802.11 Frame define |
Ruslan Pisarev | 03a4389 | 2010-03-20 16:29:01 +0200 | [diff] [blame] | 28 | //----- */ |
Pavel Machek | 66101de | 2008-10-01 14:36:56 +0200 | [diff] [blame] | 29 | #define DOT_11_MAC_HEADER_SIZE 24 |
| 30 | #define DOT_11_SNAP_SIZE 6 |
| 31 | #define DOT_11_DURATION_OFFSET 2 |
Adam Latham | 07bbf35 | 2010-05-21 06:22:09 +0100 | [diff] [blame] | 32 | /* Sequence control offset */ |
| 33 | #define DOT_11_SEQUENCE_OFFSET 22 |
| 34 | /* The start offset of 802.11 Frame// */ |
| 35 | #define DOT_11_TYPE_OFFSET 30 |
Pavel Machek | 66101de | 2008-10-01 14:36:56 +0200 | [diff] [blame] | 36 | #define DOT_11_DATA_OFFSET 24 |
| 37 | #define DOT_11_DA_OFFSET 4 |
Pavel Machek | 66101de | 2008-10-01 14:36:56 +0200 | [diff] [blame] | 38 | |
Pavel Machek | 66101de | 2008-10-01 14:36:56 +0200 | [diff] [blame] | 39 | #define MAX_ETHERNET_PACKET_SIZE 1514 |
| 40 | |
Ruslan Pisarev | 03a4389 | 2010-03-20 16:29:01 +0200 | [diff] [blame] | 41 | /* ----- management : Type of Bits (2, 3) and Subtype of Bits (4, 5, 6, 7) */ |
Pavel Machek | 66101de | 2008-10-01 14:36:56 +0200 | [diff] [blame] | 42 | #define MAC_SUBTYPE_MNGMNT_ASSOC_REQUEST 0x00 |
| 43 | #define MAC_SUBTYPE_MNGMNT_ASSOC_RESPONSE 0x10 |
| 44 | #define MAC_SUBTYPE_MNGMNT_REASSOC_REQUEST 0x20 |
| 45 | #define MAC_SUBTYPE_MNGMNT_REASSOC_RESPONSE 0x30 |
| 46 | #define MAC_SUBTYPE_MNGMNT_PROBE_REQUEST 0x40 |
| 47 | #define MAC_SUBTYPE_MNGMNT_PROBE_RESPONSE 0x50 |
| 48 | #define MAC_SUBTYPE_MNGMNT_BEACON 0x80 |
| 49 | #define MAC_SUBTYPE_MNGMNT_ATIM 0x90 |
| 50 | #define MAC_SUBTYPE_MNGMNT_DISASSOCIATION 0xA0 |
| 51 | #define MAC_SUBTYPE_MNGMNT_AUTHENTICATION 0xB0 |
| 52 | #define MAC_SUBTYPE_MNGMNT_DEAUTHENTICATION 0xC0 |
| 53 | |
Pavel Machek | 66101de | 2008-10-01 14:36:56 +0200 | [diff] [blame] | 54 | #define RATE_AUTO 0 |
| 55 | #define RATE_1M 2 |
| 56 | #define RATE_2M 4 |
| 57 | #define RATE_5dot5M 11 |
| 58 | #define RATE_6M 12 |
| 59 | #define RATE_9M 18 |
| 60 | #define RATE_11M 22 |
| 61 | #define RATE_12M 24 |
| 62 | #define RATE_18M 36 |
| 63 | #define RATE_22M 44 |
| 64 | #define RATE_24M 48 |
| 65 | #define RATE_33M 66 |
| 66 | #define RATE_36M 72 |
| 67 | #define RATE_48M 96 |
| 68 | #define RATE_54M 108 |
| 69 | #define RATE_MAX 255 |
| 70 | |
Ruslan Pisarev | 03a4389 | 2010-03-20 16:29:01 +0200 | [diff] [blame] | 71 | #endif /* _MAC_Structure_H_ */ |