src/devices/wifi/wifi-default-parameters.h
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Mon, 15 Oct 2007 16:47:53 +0200
changeset 1964 041240a915f8
child 2004 59eb6fb7b722
permissions -rw-r--r--
build and link
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     1
#ifndef WIFI_DEFAULT_PARAMETERS_H
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
#define WIFI_DEFAULT_PARAMETERS_H
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
#include <stdint.h>
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     5
#include "ns3/nstime.h"
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
#include "ssid.h"
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     7
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
namespace ns3 {
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     9
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    10
namespace WifiDefaultParameters {
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    11
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    12
enum PhyStandard {
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    13
  PHY_STANDARD_80211a,
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    14
};
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    15
enum RateControlAlgorithm {
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    16
  CONSTANT_RATE,
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    17
  ARF,
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    18
  AARF,
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    19
  IDEAL
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    20
};
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    21
enum PhyModeParameter {
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    22
  MODE_6MB = 6000000,
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    23
  MODE_9MB = 9000000,
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    24
  MODE_12MB = 12000000,
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    25
  MODE_18MB = 18000000,
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    26
  MODE_24MB = 24000000,
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    27
  MODE_36MB = 36000000,
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    28
  MODE_48MB = 48000000,
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    29
  MODE_54MB = 54000000
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    30
};
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    31
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    32
uint32_t GetMaxSsrc (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    33
uint32_t GetMaxSlrc (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    34
uint32_t GetRtsCtsThreshold (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    35
uint32_t GetFragmentationThreshold (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    36
Time GetApBeaconInterval (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    37
enum PhyStandard GetPhyStandard (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    38
enum RateControlAlgorithm GetRateControlAlgorithm (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    39
enum PhyModeParameter GetConstantDataRate (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    40
enum PhyModeParameter GetConstantCtlRate (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
double GetIdealRateControlBer (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    42
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    43
double GetPhyEnergyDetectionThresholdDbm (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    44
double GetPhyRxNoiseDb (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    45
double GetPhyTxPowerBaseDbm (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    46
double GetPhyTxPowerEndDbm (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    47
uint32_t GetPhyTxPowerLevels (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    48
double GetPhyTxGainDbm (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    49
double GetPhyRxGainDbm (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    50
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    51
Ssid GetSsid (void);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    52
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    53
} // namespace WifiDefaultParameters
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    54
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    55
} // namespace ns3
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    56
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    57
#endif /* WIFI_DEFAULT_PARAMETERS_H */