Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | Related Pages

Consts80211.h

00001 #include <NicControlType.h>
00002 
00003 #ifndef CONSTANTS_802_11
00004 #define CONSTANTS_802_11
00005 
00006 enum ControlTypes_802_11 {
00007     NOTHING = NicControlType::NOTHING,
00008     TRANSMISSION_OVER = NicControlType::TRANSMISSION_OVER,
00009     PACKET_DROPPED = NicControlType::PACKET_DROPPED, 
00010     BITERROR,       //the phy has recognized a bit error in the packet
00011     COLLISION       //packet lost due to collision
00012 };
00013 
00015 enum frameType_802_11 {
00016 
00017   //between MAC layers of two nodes
00018   RTS = COLLISION + 1, // request to send
00019   CTS,                 // clear to send
00020   ACK,                 // acknowledgement
00021   DATA,
00022   BROADCAST
00023 };
00024 
00026 const double BITRATES_80211[] = {
00027     1000000,
00028     2000000,
00029     5500000,
00030     11000000
00031 };
00032 
00033 
00041 const double RED_PHY_HEADER_DURATION = 0.000020;
00042 
00044 const double PHY_HEADER_LENGTH=192;
00046 const double HEADER_WITHOUT_PREAMBLE=48;
00048 const double BITRATE_HEADER=1E+6;
00050 const double BANDWIDTH=20E+6;
00051 
00052 const int MAC_GENERATOR = 5;
00053 
00056 const double LENGTH_RTS = 160;
00057 const double LENGTH_CTS = 112;
00058 const double LENGTH_ACK = 112;
00060 const int MAC80211_HEADER_LENGTH = 272;
00061 
00062 //time slot ST, short interframe space SIFS, distributed interframe
00063 //space DIFS, and extended interframe space EIFS
00067 const double ST = 20E-6;
00071 const double SIFS = 10E-6;
00075 const double DIFS = 2*ST + SIFS;
00079 const double EIFS = SIFS + DIFS +  (PHY_HEADER_LENGTH + LENGTH_ACK)/BITRATE_HEADER;
00080 
00085 const unsigned LONG_RETRY_LIMIT = 4;
00086 
00091 const unsigned SHORT_RETRY_LIMIT = 7;
00092 
00096 const unsigned CW_MIN = 31;
00097 
00099 const unsigned CW_MAX = 1023;
00100 
00101 #endif
00102 

Generated on Fri Jan 12 08:29:32 2007 for Mobility Framework by  doxygen 1.4.4