blob: 76c63c74d50c6947273c9f48c44df50dc45a1dd9 [file] [log] [blame]
Ruslan Pisarev03a43892010-03-20 16:29:01 +02001/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Pavel Machek66101de2008-10-01 14:36:56 +02002// 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 Pisarev03a43892010-03-20 16:29:01 +020019//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
Pavel Machek66101de2008-10-01 14:36:56 +020020
21#ifndef _MAC_Structures_H_
22#define _MAC_Structures_H_
23
Pavel Machek66101de2008-10-01 14:36:56 +020024#define MAC_ADDR_LENGTH 6
Pavel Machek66101de2008-10-01 14:36:56 +020025
Ruslan Pisarev03a43892010-03-20 16:29:01 +020026/* ========================================================
Pavel Machek66101de2008-10-01 14:36:56 +020027// 802.11 Frame define
Ruslan Pisarev03a43892010-03-20 16:29:01 +020028//----- */
Pavel Machek66101de2008-10-01 14:36:56 +020029#define DOT_11_MAC_HEADER_SIZE 24
30#define DOT_11_SNAP_SIZE 6
31#define DOT_11_DURATION_OFFSET 2
Adam Latham07bbf352010-05-21 06:22:09 +010032/* 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 Machek66101de2008-10-01 14:36:56 +020036#define DOT_11_DATA_OFFSET 24
37#define DOT_11_DA_OFFSET 4
Pavel Machek66101de2008-10-01 14:36:56 +020038
Pavel Machek66101de2008-10-01 14:36:56 +020039#define MAX_ETHERNET_PACKET_SIZE 1514
40
Ruslan Pisarev03a43892010-03-20 16:29:01 +020041/* ----- management : Type of Bits (2, 3) and Subtype of Bits (4, 5, 6, 7) */
Pavel Machek66101de2008-10-01 14:36:56 +020042#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 Machek66101de2008-10-01 14:36:56 +020054#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 Pisarev03a43892010-03-20 16:29:01 +020071#endif /* _MAC_Structure_H_ */