A Discrete-Event Network Simulator
API
wifi-standards.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2007 INRIA
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
19  */
20 
21 #ifndef WIFI_STANDARD_H
22 #define WIFI_STANDARD_H
23 
24 #include <map>
25 #include "wifi-phy-band.h"
26 
27 namespace ns3 {
28 
34 {
69 };
70 
78 inline std::ostream& operator<< (std::ostream& os, WifiPhyStandard standard)
79 {
80  switch (standard)
81  {
83  return (os << "802.11a");
85  return (os << "802.11b");
87  return (os << "802.11g");
89  return (os << "802.11p");
91  return (os << "802.11a-holland");
93  return (os << "802.11n");
95  return (os << "802.11ac");
97  return (os << "802.11ax");
99  default:
100  return (os << "UNSPECIFIED");
101  }
102 }
103 
109 {
114 };
115 
123 inline std::ostream& operator<< (std::ostream& os, WifiMacStandard standard)
124 {
125  switch (standard)
126  {
128  return (os << "802.11");
130  return (os << "802.11n");
132  return (os << "802.11ac");
134  return (os << "802.11ax");
135  default:
136  return (os << "UNSPECIFIED");
137  }
138 }
139 
145 {
157 };
158 
166 inline std::ostream& operator<< (std::ostream& os, WifiStandard standard)
167 {
168  switch (standard)
169  {
171  return (os << "802.11a");
173  return (os << "802.11b");
175  return (os << "802.11g");
177  return (os << "802.11p");
179  return (os << "802.11a-holland");
181  return (os << "802.11n-2.4GHz");
183  return (os << "802.11n-5GHz");
185  return (os << "802.11ac");
187  return (os << "802.11ax-2.4GHz");
189  return (os << "802.11ax-5GHz");
190  default:
191  return (os << "UNSPECIFIED");
192  }
193 }
194 
199 {
203 };
204 
208 const std::map<WifiStandard, WifiStandardInfo> wifiStandards =
209 {
221 };
222 
223 } //namespace ns3
224 
225 #endif /* WIFI_STANDARD_H */
ERP-OFDM PHY (Clause 19, Section 19.5)
OFDM PHY for the 5 GHz band (Clause 17 with 5 MHz channel bandwidth)
HT PHY for the 5 GHz band (clause 20)
OFDM PHY for the 5 GHz band (Clause 17 with 10 MHz channel bandwidth)
HT PHY for the 2.4 GHz band (clause 20)
The 5 GHz band.
Definition: wifi-phy-band.h:35
WifiPhyStandard phyStandard
const std::map< WifiStandard, WifiStandardInfo > wifiStandards
map a given standard configured by the user to the corresponding WifiStandardInfo ...
WifiPhyStandard
Identifies the PHY specification that a Wifi device is configured to use.
OFDM PHY (Clause 17 - amendment for 10 MHz and 5 MHz channels)
This is intended to be the configuration used in this paper: Gavin Holland, Nitin Vaidya and Paramvir...
WifiMacStandard
Identifies the MAC specification that a Wifi device is configured to use.
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output
Definition: angles.cc:42
OFDM PHY (Clause 17)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
WifiStandard
Identifies the allowed configurations that a Wifi device is configured to use.
DSSS PHY (Clause 15) and HR/DSSS PHY (Clause 18)
The 2.4 GHz band.
Definition: wifi-phy-band.h:33
hold PHY and MAC information based on the selected standard.
WifiMacStandard macStandard
WifiPhyBand
Identifies the PHY band.
Definition: wifi-phy-band.h:30
The 6 GHz band.
Definition: wifi-phy-band.h:37