NetSim Source Code Help
Loading...
Searching...
No Matches
IEEE802_11.h File Reference
#include "IEEE802_11_enum.h"
#include "IEEE802_11_EDCAF.h"
Include dependency graph for IEEE802_11.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  stru_802_11_Metrics
 
struct  stru_802_11_Mac_Var
 
struct  stru_propagation_info_for_list
 

Macros

#define CONTRL_FRAME_RATE_11B   1
 Control frame data rate for IEEE 802.11b in Mbps. More...
 
#define CONTRL_FRAME_RATE_11A_AND_G   6
 Control frame data rate for IEEE 802.11a/g in Mbps. More...
 
#define CONTRL_FRAME_RATE_11P   3
 Control frame data rate for IEEE 802.11p in Mbps. More...
 
#define IEEE802_11_MEDIUM_ACCESS_PROTOCOL_DEFAULT   _strdup("DCF")
 
#define IEEE802_11_CURR_MAC   IEEE802_11_MAC(pstruEventDetails->nDeviceId,pstruEventDetails->nInterfaceId)
 
#define isDCF(mac)   (mac->mediumAccessProtocol == DCF)
 
#define isEDCAF(mac)   (mac->mediumAccessProtocol == EDCAF)
 
#define PPROPAGATION_INFO_ALLOC()   (struct stru_propagation_info_for_list*)list_alloc(sizeof(struct stru_propagation_info_for_list),offsetof(struct stru_propagation_info_for_list,ele))
 
#define PPROPAGATION_INFO_ADD(info, e)   (LIST_ADD_LAST(&(info),(e)))
 
#define PPROPAGATION_INFO_NEXT(entity)   (LIST_NEXT(entity))
 
#define PPROPAGATION_INFO_REMOVE(ls, mem)   (LIST_FREE((void**)(ls),(mem)))
 
#define isSTAIdle(macVar, phyVar)   (macVar->currMacState == IEEE802_11_MACSTATE_MAC_IDLE && phyVar->radio.radioState == RX_ON_IDLE)
 
#define isCurrSTAIdle   isSTAIdle(IEEE802_11_CURR_MAC,IEEE802_11_CURR_PHY)
 
#define isSTAIdlebyId(devid, ifid)   isSTAIdle(IEEE802_11_MAC(devid,ifid),IEEE802_11_PHY(devid,ifid))
 
#define isCurrSTAMediumIdle()   (isMediumIdle(pstruEventDetails->nDeviceId, pstruEventDetails->nInterfaceId))
 

Typedefs

typedef struct stru_802_11_Metrics IEEE802_11_METRICS
 
typedef struct stru_802_11_MetricsPIEEE802_11_METRICS
 
typedef struct stru_802_11_Mac_Var IEEE802_MAC_VAR
 
typedef struct stru_802_11_Mac_VarPIEEE802_11_MAC_VAR
 
typedef struct stru_propagation_info_for_list propagation_info_for_list
 
typedef struct stru_propagation_info_for_listptrpropagation_info_for_list
 

Enumerations

enum  IEEE802_11_BSS_TYPE { INFRASTRUCTURE , INDEPENDENT , MESH , ANY_BSS }
 Page 2341 Enumerated types used in Mac and MLME service primitives. More...
 
enum  IEEE802_11_PROTOCOL {
  IEEE_802_11a = 1 , IEEE_802_11b , IEEE_802_11g , IEEE_802_11p ,
  IEEE_802_11n , IEEE_802_11e , IEEE_802_11ac
}
 Enumeration for WLAN PHY protocols. More...
 
enum  IEEE802_11_CCAMODE {
  ED_ONLY =1 , CS_ONLY , ED_and_CS , CS_WITH_TIMER ,
  HR_CS_and_ED
}
 page-1534 16.4.8.5 CCA, and 17.4.8.5 CCA IEEE802.11-2012 More...
 
enum  enum_802_11_FrameControl_Type { MANAGEMENT = 0x0 , CONTROL = 0x1 , DATA = 0x2 , RESERVED = 0x3 }
 Page-382 of IEEE Std 802.11-2012 Table 8-1—Valid type and subtype combinations. More...
 
enum  enum_802_11_Management_Frame_SubType {
  AssociationRequest = 0x0 , AssociationResponse = 0x1 , ReassociationRequest = 0x2 , ReassociationResponse = 0x3 ,
  ProbeRequest = 0x4 , ProbeResponse = 0x5 , TimingAdvertisement = 0x6 , Reserved_1 = 0x7 ,
  Beacon = 0x8 , ATIM = 0x9 , Disassociation = 0xA , Authentication = 0xB ,
  Deauthentication = 0xC , Action = 0xD , ActionNoAck = 0xE , Reserved_2 = 0xF
}
 Page-382 of IEEE Std 802.11-2012 Table 8-1—Valid type and subtype combinations. More...
 
enum  enum_802_11_Control_Frame_SubType {
  Reserved = 0x0 , ControlWrapper = 0x7 , BlockAckRequest , BlockAck ,
  PS_Poll , RTS , CTS , ACK ,
  CF_End , CF_End_Plus_CF_Ack
}
 Page-383 of IEEE Std 802.11-2012 Table 8-1—Valid type and subtype combinations. More...
 
enum  enum_802_11_Data_Frame_SubType {
  Data =0x0 , Data_Plus_CFAck , Data_Plus_CFPoll , Data_Plus_CFAck_Plus_CFPoll ,
  noData , CF_Ack , CF_Poll , CFAck_Plus_CFPoll ,
  QoS_Data , QoSData_Plus_CFAck , QoSData_Plus_CFPoll , QoSData_Plus_CFAck_Plus_CFPoll ,
  QoS_Null , Reserved_4 , QoS_CFPoll , QoS_CFAck_Plus_CFPoll
}
 Page-383 of IEEE Std 802.11-2012 Table 8-1—Valid type and subtype combinations. More...
 
enum  IEEE802_11_MAC_STATE {
  IEEE802_11_MACSTATE_MAC_IDLE = 0 , IEEE802_11_MACSTATE_WF_NAV , IEEE802_11_MACSTATE_Wait_DIFS , IEEE802_11_MACSTATE_Wait_AIFS ,
  IEEE802_11_MACSTATE_BACKING_OFF , IEEE802_11_MACSTATE_TXing_MPDU , IEEE802_11_MACSTATE_Txing_BroadCast , IEEE802_11_MACSTATE_TXing_ACK ,
  IEEE802_11_MACSTATE_TXing_RTS , IEEE802_11_MACSTATE_TXing_CTS , IEEE802_11_MACSTATE_Wait_DATA , IEEE802_11_MACSTATE_Wait_CTS ,
  IEEE802_11_MACSTATE_Wait_ACK , IEEE802_11_MACSTATE_Wait_BlockACK , IEEE802_11_MACSTATE_OFF , IEEE802_11_MACSTATE_LAST
}
 Enumeration for 802.11 MAC states. More...
 
enum  IEEE802_11_RATE_ADAPTATION { RATEADAPTATION_DISABLE , RATEADAPTATION_MINSTREL , RATEADAPTATION_GENERIC , RATEADAPTATION_FIXED }
 
enum  IEEE802_11_MEDIUM_ACCESS_PROTOCOL { DCF , EDCAF }
 

Functions

int fn_NetSim_IEEE802_11_PropagationInit ()
 
int fn_NetSim_IEEE802_11_FreePropagationInfo ()
 
PPROPAGATION_INFO find_propagation_info (NETSIM_ID t, NETSIM_ID ti, NETSIM_ID r, NETSIM_ID ri)
 
void fn_NetSim_802_11_MeshBSS_UpdateReceiver (NetSim_PACKET *packet)
 
bool isPacketforsameMeshBSS (PIEEE802_11_MAC_VAR mac, NetSim_PACKET *packet)
 
void fn_NetSim_802_11_InfrastructureBSS_UpdateReceiver (NetSim_PACKET *packet)
 
bool isPacketforsameInfrastructureBSS (PIEEE802_11_MAC_VAR mac, NetSim_PACKET *packet)
 
bool isMacTransmittingState (PIEEE802_11_MAC_VAR mac)
 
bool isMacReceivingState (PIEEE802_11_MAC_VAR mac)
 
bool isMacIdle (PIEEE802_11_MAC_VAR mac)
 
void IEEE802_11_Change_Mac_State (PIEEE802_11_MAC_VAR mac, IEEE802_11_MAC_STATE state)
 
void fn_NetSim_IEE802_11_MacReInit (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
 
void fn_NetSim_IEEE802_11_Timer ()
 
void fn_NetSim_IEEE802_11_MacOut ()
 
int fn_NetSim_IEEE802_11_MacIn ()
 
double calculate_nav (NETSIM_ID d, NETSIM_ID i, NetSim_PACKET *packet)
 
void fn_NetSim_IEEE802_11_SendToPhy ()
 
int fn_NetSim_IEEE802_11_CSMACA_Init ()
 
bool fn_NetSim_IEEE802_11_CSMACA_CS ()
 
int fn_NetSim_IEEE802_11_CSMACA_CheckNAV ()
 
void fn_NetSim_IEEE802_11_CSMACA_DIFSEnd ()
 
void ieee802_11_csmaca_difs_failed (PIEEE802_11_MAC_VAR mac)
 
void fn_NetSim_IEEE802_11_CSMACA_AIFSEnd ()
 
void ieee802_11_csmaca_aifs_failed (PIEEE802_11_MAC_VAR mac)
 
void fn_NetSim_IEEE802_11_CSMACA_ProcessAck ()
 
void fn_NetSim_IEEE802_11_CSMACA_IncreaseCW (PIEEE802_11_MAC_VAR mac)
 
bool fn_NetSim_IEEE802_11_CSMACA_CheckRetryLimit (PIEEE802_11_MAC_VAR mac, UINT frameLength)
 
void fn_NetSim_IEEE802_11_CSMACA_ProcessBlockAck ()
 
void fn_NetSim_IEEE802_11_CSMA_AckTimeOut ()
 
int fn_NetSim_IEEE802_11_CSMACA_SendBlockACK ()
 
int fn_NetSim_IEEE802_11_CSMACA_SendACK ()
 
bool fn_NetSim_IEEE802_11_CSMACA_Backoff ()
 
void ieee802_11_csmaca_pause_backoff (PIEEE802_11_MAC_VAR mac)
 
void fn_NetSim_IEEE802_11_CSMACA_AddAckTimeOut (NetSim_PACKET *packet, NETSIM_ID devId, NETSIM_ID devIf)
 
void fn_NetSim_IEEE802_11_CSMA_UpdateNAV (NETSIM_ID d, NETSIM_ID in, NetSim_PACKET *packet)
 
bool isIEEE802_11_CtrlPacket (NetSim_PACKET *packet)
 
double getAckSize (void *phy)
 
double getCTSSize ()
 
double getRTSSize ()
 
double getMacOverhead (void *phy, double size)
 
double calculate_CTS_duration (NETSIM_ID d, NETSIM_ID i, double rtsduration)
 
bool is_more_fragment_coming (NetSim_PACKET *packet)
 
bool is_first_packet (NetSim_PACKET *packet)
 
NetSim_PACKETfn_NetSim_IEEE802_11_CreateRTSPacket (NetSim_PACKET *data, double duration)
 
NetSim_PACKETfn_NetSim_IEEE802_11_CreateCTSPacket (NetSim_PACKET *data)
 
NetSim_PACKETfn_NetSim_IEEE802_11_CreateAckPacket (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NetSim_PACKET *data, double time)
 
NetSim_PACKETfn_NetSim_IEEE802_11_CreateBlockAckPacket (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NetSim_PACKET *data, double time)
 
void fn_NetSim_IEEE802_11_Add_MAC_Header (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NetSim_PACKET *pstruPacket, unsigned int i)
 
void set_blockack_bitmap (NetSim_PACKET *ackPacket, NetSim_PACKET *packet)
 
void fn_NetSim_Process_CtrlPacket ()
 
void ieee802_11_free_hdr (NetSim_PACKET *packet)
 
void ieee802_11_hdr_copy (NetSim_PACKET *src, NetSim_PACKET *dest)
 
void fn_NetSim_IEEE802_11_RTS_CTS_Init ()
 
void fn_NetSim_IEEE802_11_RTS_CTS_CTSTimeOut ()
 
void fn_NetSim_IEEE802_11_RTS_CTS_ProcessRTS ()
 
void fn_NetSim_IEEE802_11_RTS_CTS_ProcessCTS ()
 
void fn_NetSim_IEEE802_11_RTS_CTS_SendCTS ()
 
void fn_NetSim_IEEE802_11_RTS_CTS_AddCTSTimeOut (NetSim_PACKET *packet, NETSIM_ID devId, NETSIM_ID devIf)
 
void Generic_Rate_adaptation_init (NETSIM_ID nDevId, NETSIM_ID nifid)
 
void free_rate_adaptation_data (void *phy)
 
void packet_recv_notify (NETSIM_ID devid, NETSIM_ID ifid, NETSIM_ID rcvid)
 
void packet_drop_notify (NETSIM_ID devid, NETSIM_ID ifid, NETSIM_ID rcvid)
 
unsigned int get_rate_index (NETSIM_ID devid, NETSIM_ID ifid, NETSIM_ID rcvid)
 
int fn_NetSim_IEEE802_11_FreePacket (NetSim_PACKET *pstruPacket)
 
int fn_NetSim_IEEE802_11_Finish_F ()
 
void InitMinstrel (NETSIM_ID nDevId, NETSIM_ID nifid)
 
void Minstrel_Init (NETSIM_ID nDevId, NETSIM_ID nifid)
 
void Ht_InitMinstrel (NETSIM_ID nDevId, NETSIM_ID nifid)
 
void DoReportDataFailed (NETSIM_ID dev, NETSIM_ID ifid, NETSIM_ID recv)
 
void DoReportDataOk (NETSIM_ID dev, NETSIM_ID ifid, NETSIM_ID recv)
 
void DoReportFinalDataFailed (NETSIM_ID dev, NETSIM_ID ifid, NETSIM_ID recv)
 
BOOL DoNeedDataRetransmission (NETSIM_ID dev, NETSIM_ID ifid, NETSIM_ID recv)
 
UINT get_minstrel_rate_index (NETSIM_ID dev, NETSIM_ID ifid, NETSIM_ID recv)
 
void FreeMinstrel (NETSIM_ID nDevId, NETSIM_ID nifid)
 
void DoReportAmpduStatus (NETSIM_ID devid, NETSIM_ID ifid, NETSIM_ID recvid, UINT success, UINT failed)
 
BOOL Ht_DoNeedDataRetransmission (NETSIM_ID devid, NETSIM_ID ifid, NETSIM_ID recvid)
 
BOOL Minstrel_DoNeedDataSend (NETSIM_ID nDevId, NETSIM_ID nifid, NETSIM_ID recvid)
 
void Minstrel_ReportDataFailed (NETSIM_ID nDevId, NETSIM_ID nifid, NETSIM_ID recvid)
 
void Minstrel_ReportFinalDataFailed (NETSIM_ID nDevId, NETSIM_ID nifid, NETSIM_ID recvid)
 
struct stru_802_11_Phy_Parameters_HT getTxRate (NETSIM_ID devid, NETSIM_ID ifid, NETSIM_ID recvid)
 
void HT_Minstrel_Free (NETSIM_ID nDevId, NETSIM_ID nifid)
 
PIEEE802_11_MAC_VAR IEEE802_11_MAC (NETSIM_ID ndeviceId, NETSIM_ID nInterfaceId)
 
void SET_IEEE802_11_MAC (NETSIM_ID ndeviceId, NETSIM_ID nInterfaceId, PIEEE802_11_MAC_VAR mac)
 
bool isIEEE802_11_Configure (NETSIM_ID ndeviceId, NETSIM_ID nInterfaceId)
 
bool validate_processing_time (double time, NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
 
NetSim_PACKETget_from_queue (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, UINT nPacketRequire, UINT *nPacketCount)
 
NETSIM_ID add_to_queue (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NetSim_PACKET *packet)
 
void readd_to_queue (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NetSim_PACKET *packet)
 
bool isPacketInQueue (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
 
void medium_change_callbackHandler (NETSIM_ID d, NETSIM_ID in, bool status, NetSim_PACKET *)
 
bool medium_isRadioIdleHandler (NETSIM_ID d, NETSIM_ID in)
 
bool medium_isTransmitterBusyHandler (NETSIM_ID d, NETSIM_ID in)
 
double medium_getRxPowerHandler (NETSIM_ID tx, NETSIM_ID txif, NETSIM_ID rx, NETSIM_ID rxif, double time)
 
void packetSentNotify (NETSIM_ID d, NETSIM_ID in, NetSim_PACKET *packet)
 
bool isIEEE802_11_log ()
 
void print_ieee802_11_log (char *format,...)
 
bool isieee802_11_Backoff_log ()
 
void print_ieee802_11_Backoff_log (char *format,...)
 
NETSIM_ID get_send_interface_id (NetSim_PACKET *packet)
 
NETSIM_ID get_recv_interface_id (NetSim_PACKET *packet)
 
void ieee802_11_edcaf_set_txop_time (PIEEE802_11_MAC_VAR mac, double currTime)
 
void ieee802_11_edcaf_unset_txop_time (PIEEE802_11_MAC_VAR mac)
 
bool ieee802_11_edcaf_is_txop_timer_set (PIEEE802_11_MAC_VAR mac, double currTime)
 

Variables

static char strIEEE802_11_MAC_STATE [IEEE802_11_MACSTATE_LAST][48]
 

Macro Definition Documentation

◆ CONTRL_FRAME_RATE_11A_AND_G

#define CONTRL_FRAME_RATE_11A_AND_G   6

Control frame data rate for IEEE 802.11a/g in Mbps.

Definition at line 50 of file IEEE802_11.h.

◆ CONTRL_FRAME_RATE_11B

#define CONTRL_FRAME_RATE_11B   1

Control frame data rate for IEEE 802.11b in Mbps.

Definition at line 49 of file IEEE802_11.h.

◆ CONTRL_FRAME_RATE_11P

#define CONTRL_FRAME_RATE_11P   3

Control frame data rate for IEEE 802.11p in Mbps.

Definition at line 51 of file IEEE802_11.h.

◆ IEEE802_11_CURR_MAC

#define IEEE802_11_CURR_MAC   IEEE802_11_MAC(pstruEventDetails->nDeviceId,pstruEventDetails->nInterfaceId)

Definition at line 285 of file IEEE802_11.h.

◆ IEEE802_11_MEDIUM_ACCESS_PROTOCOL_DEFAULT

#define IEEE802_11_MEDIUM_ACCESS_PROTOCOL_DEFAULT   _strdup("DCF")

Definition at line 204 of file IEEE802_11.h.

◆ isCurrSTAIdle

#define isCurrSTAIdle   isSTAIdle(IEEE802_11_CURR_MAC,IEEE802_11_CURR_PHY)

Definition at line 310 of file IEEE802_11.h.

◆ isCurrSTAMediumIdle

#define isCurrSTAMediumIdle ( )    (isMediumIdle(pstruEventDetails->nDeviceId, pstruEventDetails->nInterfaceId))

Definition at line 312 of file IEEE802_11.h.

◆ isDCF

#define isDCF (   mac)    (mac->mediumAccessProtocol == DCF)

Definition at line 286 of file IEEE802_11.h.

◆ isEDCAF

#define isEDCAF (   mac)    (mac->mediumAccessProtocol == EDCAF)

Definition at line 287 of file IEEE802_11.h.

◆ isSTAIdle

#define isSTAIdle (   macVar,
  phyVar 
)    (macVar->currMacState == IEEE802_11_MACSTATE_MAC_IDLE && phyVar->radio.radioState == RX_ON_IDLE)

Definition at line 309 of file IEEE802_11.h.

◆ isSTAIdlebyId

#define isSTAIdlebyId (   devid,
  ifid 
)    isSTAIdle(IEEE802_11_MAC(devid,ifid),IEEE802_11_PHY(devid,ifid))

Definition at line 311 of file IEEE802_11.h.

◆ PPROPAGATION_INFO_ADD

#define PPROPAGATION_INFO_ADD (   info,
 
)    (LIST_ADD_LAST(&(info),(e)))

Definition at line 300 of file IEEE802_11.h.

◆ PPROPAGATION_INFO_ALLOC

#define PPROPAGATION_INFO_ALLOC ( )    (struct stru_propagation_info_for_list*)list_alloc(sizeof(struct stru_propagation_info_for_list),offsetof(struct stru_propagation_info_for_list,ele))

Definition at line 299 of file IEEE802_11.h.

◆ PPROPAGATION_INFO_NEXT

#define PPROPAGATION_INFO_NEXT (   entity)    (LIST_NEXT(entity))

Definition at line 301 of file IEEE802_11.h.

◆ PPROPAGATION_INFO_REMOVE

#define PPROPAGATION_INFO_REMOVE (   ls,
  mem 
)    (LIST_FREE((void**)(ls),(mem)))

Definition at line 302 of file IEEE802_11.h.

Typedef Documentation

◆ IEEE802_11_METRICS

Structure for metrics

◆ IEEE802_MAC_VAR

◆ PIEEE802_11_MAC_VAR

◆ PIEEE802_11_METRICS

◆ propagation_info_for_list

◆ ptrpropagation_info_for_list

Enumeration Type Documentation

◆ enum_802_11_Control_Frame_SubType

Page-383 of IEEE Std 802.11-2012 Table 8-1—Valid type and subtype combinations.

Enumerator
Reserved 
ControlWrapper 
BlockAckRequest 
BlockAck 
PS_Poll 
RTS 
CTS 
ACK 
CF_End 
CF_End_Plus_CF_Ack 

Definition at line 116 of file IEEE802_11.h.

◆ enum_802_11_Data_Frame_SubType

Page-383 of IEEE Std 802.11-2012 Table 8-1—Valid type and subtype combinations.

Enumerator
Data 
Data_Plus_CFAck 
Data_Plus_CFPoll 
Data_Plus_CFAck_Plus_CFPoll 
noData 
CF_Ack 
CF_Poll 
CFAck_Plus_CFPoll 
QoS_Data 
QoSData_Plus_CFAck 
QoSData_Plus_CFPoll 
QoSData_Plus_CFAck_Plus_CFPoll 
QoS_Null 
Reserved_4 
QoS_CFPoll 
QoS_CFAck_Plus_CFPoll 

Definition at line 131 of file IEEE802_11.h.

◆ enum_802_11_FrameControl_Type

Page-382 of IEEE Std 802.11-2012 Table 8-1—Valid type and subtype combinations.

Enumerator
MANAGEMENT 
CONTROL 
DATA 
RESERVED 

Definition at line 86 of file IEEE802_11.h.

◆ enum_802_11_Management_Frame_SubType

Page-382 of IEEE Std 802.11-2012 Table 8-1—Valid type and subtype combinations.

Enumerator
AssociationRequest 
AssociationResponse 
ReassociationRequest 
ReassociationResponse 
ProbeRequest 
ProbeResponse 
TimingAdvertisement 
Reserved_1 
Beacon 
ATIM 
Disassociation 
Authentication 
Deauthentication 
Action 
ActionNoAck 
Reserved_2 

Definition at line 95 of file IEEE802_11.h.

◆ IEEE802_11_BSS_TYPE

Page 2341 Enumerated types used in Mac and MLME service primitives.

Enumerator
INFRASTRUCTURE 
INDEPENDENT 
MESH 
ANY_BSS 

Definition at line 55 of file IEEE802_11.h.

◆ IEEE802_11_CCAMODE

page-1534 16.4.8.5 CCA, and 17.4.8.5 CCA IEEE802.11-2012

Enumerator
ED_ONLY 
CS_ONLY 
ED_and_CS 
CS_WITH_TIMER 
HR_CS_and_ED 

Definition at line 76 of file IEEE802_11.h.

◆ IEEE802_11_MAC_STATE

Enumeration for 802.11 MAC states.

Enumerator
IEEE802_11_MACSTATE_MAC_IDLE 
IEEE802_11_MACSTATE_WF_NAV 
IEEE802_11_MACSTATE_Wait_DIFS 
IEEE802_11_MACSTATE_Wait_AIFS 
IEEE802_11_MACSTATE_BACKING_OFF 
IEEE802_11_MACSTATE_TXing_MPDU 
IEEE802_11_MACSTATE_Txing_BroadCast 
IEEE802_11_MACSTATE_TXing_ACK 
IEEE802_11_MACSTATE_TXing_RTS 
IEEE802_11_MACSTATE_TXing_CTS 
IEEE802_11_MACSTATE_Wait_DATA 
IEEE802_11_MACSTATE_Wait_CTS 
IEEE802_11_MACSTATE_Wait_ACK 
IEEE802_11_MACSTATE_Wait_BlockACK 
IEEE802_11_MACSTATE_OFF 
IEEE802_11_MACSTATE_LAST 

Definition at line 152 of file IEEE802_11.h.

◆ IEEE802_11_MEDIUM_ACCESS_PROTOCOL

Enumerator
DCF 
EDCAF 

Definition at line 199 of file IEEE802_11.h.

◆ IEEE802_11_PROTOCOL

Enumeration for WLAN PHY protocols.

Enumerator
IEEE_802_11a 
IEEE_802_11b 
IEEE_802_11g 
IEEE_802_11p 
IEEE_802_11n 
IEEE_802_11e 
IEEE_802_11ac 

Definition at line 64 of file IEEE802_11.h.

◆ IEEE802_11_RATE_ADAPTATION

Enumerator
RATEADAPTATION_DISABLE 
RATEADAPTATION_MINSTREL 
RATEADAPTATION_GENERIC 
RATEADAPTATION_FIXED 

Definition at line 191 of file IEEE802_11.h.

Function Documentation

◆ add_to_queue()

NETSIM_ID add_to_queue ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId,
NetSim_PACKET packet 
)

Definition at line 190 of file IEEE1609_interface.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculate_CTS_duration()

double calculate_CTS_duration ( NETSIM_ID  d,
NETSIM_ID  i,
double  rtsduration 
)

Definition at line 68 of file RTS_CTS.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculate_nav()

double calculate_nav ( NETSIM_ID  d,
NETSIM_ID  i,
NetSim_PACKET packet 
)

Definition at line 479 of file IEEE802_11_Mac.c.

Here is the call graph for this function:

◆ DoNeedDataRetransmission()

BOOL DoNeedDataRetransmission ( NETSIM_ID  dev,
NETSIM_ID  ifid,
NETSIM_ID  recv 
)

Definition at line 688 of file Minstrel.c.

Here is the call graph for this function:

◆ DoReportAmpduStatus()

void DoReportAmpduStatus ( NETSIM_ID  devid,
NETSIM_ID  ifid,
NETSIM_ID  recvid,
UINT  success,
UINT  failed 
)

Definition at line 210 of file Minstrel_ht.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DoReportDataFailed()

void DoReportDataFailed ( NETSIM_ID  dev,
NETSIM_ID  ifid,
NETSIM_ID  recv 
)

Definition at line 326 of file Minstrel.c.

Here is the call graph for this function:

◆ DoReportDataOk()

void DoReportDataOk ( NETSIM_ID  dev,
NETSIM_ID  ifid,
NETSIM_ID  recv 
)

Definition at line 310 of file Minstrel.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DoReportFinalDataFailed()

void DoReportFinalDataFailed ( NETSIM_ID  dev,
NETSIM_ID  ifid,
NETSIM_ID  recv 
)

Definition at line 674 of file Minstrel.c.

Here is the call graph for this function:

◆ find_propagation_info()

PPROPAGATION_INFO find_propagation_info ( NETSIM_ID  t,
NETSIM_ID  ti,
NETSIM_ID  r,
NETSIM_ID  ri 
)

Definition at line 75 of file Component 1/Part 3/IEEE802_11/PropagationModel.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_802_11_InfrastructureBSS_UpdateReceiver()

void fn_NetSim_802_11_InfrastructureBSS_UpdateReceiver ( NetSim_PACKET packet)

Definition at line 92 of file InfrastructureBSS.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_802_11_MeshBSS_UpdateReceiver()

void fn_NetSim_802_11_MeshBSS_UpdateReceiver ( NetSim_PACKET packet)

Definition at line 48 of file MeshBSS.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEE802_11_MacReInit()

void fn_NetSim_IEE802_11_MacReInit ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId 
)

Definition at line 458 of file IEEE802_11_Mac.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_Add_MAC_Header()

void fn_NetSim_IEEE802_11_Add_MAC_Header ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId,
NetSim_PACKET pstruPacket,
unsigned int  i 
)

Definition at line 229 of file IEEE802_11_MacFrame.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CreateAckPacket()

NetSim_PACKET * fn_NetSim_IEEE802_11_CreateAckPacket ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId,
NetSim_PACKET data,
double  time 
)

Definition at line 306 of file IEEE802_11_MacFrame.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CreateBlockAckPacket()

NetSim_PACKET * fn_NetSim_IEEE802_11_CreateBlockAckPacket ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId,
NetSim_PACKET data,
double  time 
)

Definition at line 371 of file IEEE802_11_MacFrame.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CreateCTSPacket()

NetSim_PACKET * fn_NetSim_IEEE802_11_CreateCTSPacket ( NetSim_PACKET data)

Definition at line 540 of file IEEE802_11_MacFrame.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CreateRTSPacket()

NetSim_PACKET * fn_NetSim_IEEE802_11_CreateRTSPacket ( NetSim_PACKET data,
double  duration 
)

Definition at line 471 of file IEEE802_11_MacFrame.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMA_AckTimeOut()

void fn_NetSim_IEEE802_11_CSMA_AckTimeOut ( )

Definition at line 584 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMA_UpdateNAV()

void fn_NetSim_IEEE802_11_CSMA_UpdateNAV ( NETSIM_ID  d,
NETSIM_ID  in,
NetSim_PACKET packet 
)

Definition at line 721 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMACA_AddAckTimeOut()

void fn_NetSim_IEEE802_11_CSMACA_AddAckTimeOut ( NetSim_PACKET packet,
NETSIM_ID  devId,
NETSIM_ID  devIf 
)

Definition at line 546 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMACA_AIFSEnd()

void fn_NetSim_IEEE802_11_CSMACA_AIFSEnd ( )

Definition at line 203 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMACA_Backoff()

bool fn_NetSim_IEEE802_11_CSMACA_Backoff ( )

Definition at line 282 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMACA_CheckNAV()

int fn_NetSim_IEEE802_11_CSMACA_CheckNAV ( )
This function called when CHECK_NAV subevent triggered. It is called if the Medium
is IDLE and a packet in the Access buffer to transmit.
If NAV <=0 then change the state to Wait_DIFS and add DIFS_END subevent.
If NAV > 0 then change the state to WF_NAV and add NAV_END subevent.
static struct stru_802_11_Phy_Parameters_HT a

Definition at line 131 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMACA_CheckRetryLimit()

bool fn_NetSim_IEEE802_11_CSMACA_CheckRetryLimit ( PIEEE802_11_MAC_VAR  mac,
UINT  frameLength 
)

This function invoke the retry limit checking. If active frame retry count is less than active frame retry limit, then set move flag as one to allow the frame retransmission. Otherwise, set move flag as zero to drop the active frame

Definition at line 646 of file CSMACA.c.

Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMACA_CS()

bool fn_NetSim_IEEE802_11_CSMACA_CS ( )

Definition at line 118 of file CSMACA.c.

Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMACA_DIFSEnd()

void fn_NetSim_IEEE802_11_CSMACA_DIFSEnd ( )
When the buffer has packet to transmit, the MAC LAYER sense the Medium. If it is IDLE,
then it will wait for DCF Inter Frame Space (DIFS) time before start transmission.
At the end of DIFS time check the Medium. If Medium is IDLE, then change the State
to BACKING_OFF, call the function to start back off. If Medium is BUSY, then change
the state to IDLE.
static bool before(UINT32 seq1, UINT32 seq2)
Definition: CUBIC.c:215
@ DCF
Definition: IEEE802_11.h:201

Definition at line 185 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMACA_IncreaseCW()

void fn_NetSim_IEEE802_11_CSMACA_IncreaseCW ( PIEEE802_11_MAC_VAR  mac)
This function is used to expand the CW.
else if CWcurrent >= CWmax, then CWcurrent is set to CWmax the Maximum CW.
else CWcurrent = (nCWcurrent * 2) + 1.

Definition at line 671 of file CSMACA.c.

Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMACA_Init()

int fn_NetSim_IEEE802_11_CSMACA_Init ( )

Definition at line 48 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMACA_ProcessAck()

void fn_NetSim_IEEE802_11_CSMACA_ProcessAck ( )

Definition at line 391 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMACA_ProcessBlockAck()

void fn_NetSim_IEEE802_11_CSMACA_ProcessBlockAck ( )

Definition at line 448 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMACA_SendACK()

int fn_NetSim_IEEE802_11_CSMACA_SendACK ( )

This function is called to create and send an Ack after receiving the DATA from the destination or from the AP

Definition at line 369 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CSMACA_SendBlockACK()

int fn_NetSim_IEEE802_11_CSMACA_SendBlockACK ( )

This function is called to create and send an Ack after receiving the DATA from the destination or from the AP

Definition at line 680 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_Finish_F()

int fn_NetSim_IEEE802_11_Finish_F ( )
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_FreePacket()

int fn_NetSim_IEEE802_11_FreePacket ( NetSim_PACKET pstruPacket)

This function is called by NetworkStack.dll, to free the WLAN protocol pstruMacData->Packet_MACProtocol.

Definition at line 94 of file IEEE802_11.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_FreePropagationInfo()

int fn_NetSim_IEEE802_11_FreePropagationInfo ( )

Definition at line 117 of file Component 1/Part 3/IEEE802_11/PropagationModel.c.

Here is the call graph for this function:

◆ fn_NetSim_IEEE802_11_MacIn()

int fn_NetSim_IEEE802_11_MacIn ( )

Definition at line 98 of file IEEE802_11_Mac.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_MacOut()

void fn_NetSim_IEEE802_11_MacOut ( )

Definition at line 34 of file IEEE802_11_Mac.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_PropagationInit()

int fn_NetSim_IEEE802_11_PropagationInit ( )

Definition at line 93 of file Component 1/Part 3/IEEE802_11/PropagationModel.c.

Here is the call graph for this function:

◆ fn_NetSim_IEEE802_11_RTS_CTS_AddCTSTimeOut()

void fn_NetSim_IEEE802_11_RTS_CTS_AddCTSTimeOut ( NetSim_PACKET packet,
NETSIM_ID  devId,
NETSIM_ID  devIf 
)

Definition at line 153 of file RTS_CTS.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_RTS_CTS_CTSTimeOut()

void fn_NetSim_IEEE802_11_RTS_CTS_CTSTimeOut ( )

Definition at line 191 of file RTS_CTS.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_RTS_CTS_Init()

void fn_NetSim_IEEE802_11_RTS_CTS_Init ( )

Definition at line 98 of file RTS_CTS.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_RTS_CTS_ProcessCTS()

void fn_NetSim_IEEE802_11_RTS_CTS_ProcessCTS ( )

Definition at line 219 of file RTS_CTS.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_RTS_CTS_ProcessRTS()

void fn_NetSim_IEEE802_11_RTS_CTS_ProcessRTS ( )

Definition at line 118 of file RTS_CTS.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_RTS_CTS_SendCTS()

void fn_NetSim_IEEE802_11_RTS_CTS_SendCTS ( )

Definition at line 129 of file RTS_CTS.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_SendToPhy()

void fn_NetSim_IEEE802_11_SendToPhy ( )

Definition at line 332 of file IEEE802_11_Mac.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_Timer()

void fn_NetSim_IEEE802_11_Timer ( )

Definition at line 152 of file IEEE802_11.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_Process_CtrlPacket()

void fn_NetSim_Process_CtrlPacket ( )

Definition at line 448 of file IEEE802_11_MacFrame.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ free_rate_adaptation_data()

void free_rate_adaptation_data ( void *  phy)

◆ FreeMinstrel()

void FreeMinstrel ( NETSIM_ID  nDevId,
NETSIM_ID  nifid 
)

Definition at line 738 of file Minstrel.c.

Here is the call graph for this function:

◆ Generic_Rate_adaptation_init()

void Generic_Rate_adaptation_init ( NETSIM_ID  nDevId,
NETSIM_ID  nifid 
)

Definition at line 102 of file Generic_RateAdaptation.c.

Here is the call graph for this function:

◆ get_from_queue()

NetSim_PACKET * get_from_queue ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId,
UINT  nPacketRequire,
UINT nPacketCount 
)

Definition at line 271 of file IEEE1609_interface.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_minstrel_rate_index()

UINT get_minstrel_rate_index ( NETSIM_ID  dev,
NETSIM_ID  ifid,
NETSIM_ID  recv 
)

Definition at line 768 of file Minstrel.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_rate_index()

unsigned int get_rate_index ( NETSIM_ID  devid,
NETSIM_ID  ifid,
NETSIM_ID  rcvid 
)

Definition at line 149 of file Generic_RateAdaptation.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_recv_interface_id()

NETSIM_ID get_recv_interface_id ( NetSim_PACKET packet)

Definition at line 649 of file IEEE802_11_MacFrame.c.

◆ get_send_interface_id()

NETSIM_ID get_send_interface_id ( NetSim_PACKET packet)

Definition at line 640 of file IEEE802_11_MacFrame.c.

Here is the caller graph for this function:

◆ getAckSize()

double getAckSize ( void *  phy)
Here is the caller graph for this function:

◆ getCTSSize()

double getCTSSize ( )

Definition at line 41 of file IEEE802_11_MacFrame.c.

Here is the caller graph for this function:

◆ getMacOverhead()

double getMacOverhead ( void *  phy,
double  size 
)
Here is the caller graph for this function:

◆ getRTSSize()

double getRTSSize ( )

Definition at line 46 of file IEEE802_11_MacFrame.c.

Here is the caller graph for this function:

◆ getTxRate()

struct stru_802_11_Phy_Parameters_HT getTxRate ( NETSIM_ID  devid,
NETSIM_ID  ifid,
NETSIM_ID  recvid 
)

Definition at line 762 of file Minstrel_ht.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Ht_DoNeedDataRetransmission()

BOOL Ht_DoNeedDataRetransmission ( NETSIM_ID  devid,
NETSIM_ID  ifid,
NETSIM_ID  recvid 
)

Definition at line 702 of file Minstrel_ht.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Ht_InitMinstrel()

void Ht_InitMinstrel ( NETSIM_ID  nDevId,
NETSIM_ID  nifid 
)

Definition at line 40 of file Minstrel_ht.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HT_Minstrel_Free()

void HT_Minstrel_Free ( NETSIM_ID  nDevId,
NETSIM_ID  nifid 
)

Definition at line 780 of file Minstrel_ht.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IEEE802_11_Change_Mac_State()

void IEEE802_11_Change_Mac_State ( PIEEE802_11_MAC_VAR  mac,
IEEE802_11_MAC_STATE  state 
)

Definition at line 240 of file IEEE802_11_Mac.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee802_11_csmaca_aifs_failed()

void ieee802_11_csmaca_aifs_failed ( PIEEE802_11_MAC_VAR  mac)

Definition at line 170 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee802_11_csmaca_difs_failed()

void ieee802_11_csmaca_difs_failed ( PIEEE802_11_MAC_VAR  mac)

Definition at line 164 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee802_11_csmaca_pause_backoff()

void ieee802_11_csmaca_pause_backoff ( PIEEE802_11_MAC_VAR  mac)

Definition at line 359 of file CSMACA.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee802_11_edcaf_is_txop_timer_set()

bool ieee802_11_edcaf_is_txop_timer_set ( PIEEE802_11_MAC_VAR  mac,
double  currTime 
)

Definition at line 250 of file IEEE802_11_EDCAF.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee802_11_edcaf_set_txop_time()

void ieee802_11_edcaf_set_txop_time ( PIEEE802_11_MAC_VAR  mac,
double  currTime 
)

Definition at line 235 of file IEEE802_11_EDCAF.c.

Here is the caller graph for this function:

◆ ieee802_11_edcaf_unset_txop_time()

void ieee802_11_edcaf_unset_txop_time ( PIEEE802_11_MAC_VAR  mac)

Definition at line 243 of file IEEE802_11_EDCAF.c.

Here is the caller graph for this function:

◆ ieee802_11_free_hdr()

void ieee802_11_free_hdr ( NetSim_PACKET packet)

Definition at line 134 of file IEEE802_11_MacFrame.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee802_11_hdr_copy()

void ieee802_11_hdr_copy ( NetSim_PACKET src,
NetSim_PACKET dest 
)

Definition at line 199 of file IEEE802_11_MacFrame.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IEEE802_11_MAC()

PIEEE802_11_MAC_VAR IEEE802_11_MAC ( NETSIM_ID  ndeviceId,
NETSIM_ID  nInterfaceId 
)

Definition at line 52 of file IEEE1609_interface.c.

Here is the caller graph for this function:

◆ InitMinstrel()

void InitMinstrel ( NETSIM_ID  nDevId,
NETSIM_ID  nifid 
)

Definition at line 175 of file Minstrel.c.

Here is the call graph for this function:

◆ is_first_packet()

bool is_first_packet ( NetSim_PACKET packet)

Definition at line 626 of file IEEE802_11_MacFrame.c.

Here is the caller graph for this function:

◆ is_more_fragment_coming()

bool is_more_fragment_coming ( NetSim_PACKET packet)

Definition at line 619 of file IEEE802_11_MacFrame.c.

Here is the caller graph for this function:

◆ isieee802_11_Backoff_log()

bool isieee802_11_Backoff_log ( )

Definition at line 178 of file IEEE802_11.c.

◆ isIEEE802_11_Configure()

bool isIEEE802_11_Configure ( NETSIM_ID  ndeviceId,
NETSIM_ID  nInterfaceId 
)

Definition at line 154 of file IEEE1609_interface.c.

Here is the caller graph for this function:

◆ isIEEE802_11_CtrlPacket()

bool isIEEE802_11_CtrlPacket ( NetSim_PACKET packet)

Definition at line 440 of file IEEE802_11_MacFrame.c.

Here is the caller graph for this function:

◆ isIEEE802_11_log()

bool isIEEE802_11_log ( )

Definition at line 169 of file IEEE802_11.c.

◆ isMacIdle()

bool isMacIdle ( PIEEE802_11_MAC_VAR  mac)

Definition at line 321 of file IEEE802_11_Mac.c.

◆ isMacReceivingState()

bool isMacReceivingState ( PIEEE802_11_MAC_VAR  mac)

Definition at line 311 of file IEEE802_11_Mac.c.

◆ isMacTransmittingState()

bool isMacTransmittingState ( PIEEE802_11_MAC_VAR  mac)

Definition at line 300 of file IEEE802_11_Mac.c.

Here is the caller graph for this function:

◆ isPacketforsameInfrastructureBSS()

bool isPacketforsameInfrastructureBSS ( PIEEE802_11_MAC_VAR  mac,
NetSim_PACKET packet 
)

Definition at line 111 of file InfrastructureBSS.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isPacketforsameMeshBSS()

bool isPacketforsameMeshBSS ( PIEEE802_11_MAC_VAR  mac,
NetSim_PACKET packet 
)

Definition at line 62 of file MeshBSS.c.

Here is the caller graph for this function:

◆ isPacketInQueue()

bool isPacketInQueue ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId 
)

Definition at line 216 of file IEEE1609_interface.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ medium_change_callbackHandler()

void medium_change_callbackHandler ( NETSIM_ID  d,
NETSIM_ID  in,
bool  status,
NetSim_PACKET  
)

◆ medium_getRxPowerHandler()

double medium_getRxPowerHandler ( NETSIM_ID  tx,
NETSIM_ID  txif,
NETSIM_ID  rx,
NETSIM_ID  rxif,
double  time 
)

◆ medium_isRadioIdleHandler()

bool medium_isRadioIdleHandler ( NETSIM_ID  d,
NETSIM_ID  in 
)

◆ medium_isTransmitterBusyHandler()

bool medium_isTransmitterBusyHandler ( NETSIM_ID  d,
NETSIM_ID  in 
)

◆ Minstrel_DoNeedDataSend()

BOOL Minstrel_DoNeedDataSend ( NETSIM_ID  nDevId,
NETSIM_ID  nifid,
NETSIM_ID  recvid 
)

Definition at line 99 of file Minstrel.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Minstrel_Init()

void Minstrel_Init ( NETSIM_ID  nDevId,
NETSIM_ID  nifid 
)

Definition at line 80 of file Minstrel.c.

Here is the call graph for this function:

◆ Minstrel_ReportDataFailed()

void Minstrel_ReportDataFailed ( NETSIM_ID  nDevId,
NETSIM_ID  nifid,
NETSIM_ID  recvid 
)

Definition at line 119 of file Minstrel.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Minstrel_ReportFinalDataFailed()

void Minstrel_ReportFinalDataFailed ( NETSIM_ID  nDevId,
NETSIM_ID  nifid,
NETSIM_ID  recvid 
)

Definition at line 147 of file Minstrel.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ packet_drop_notify()

void packet_drop_notify ( NETSIM_ID  devid,
NETSIM_ID  ifid,
NETSIM_ID  rcvid 
)

Definition at line 118 of file Generic_RateAdaptation.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ packet_recv_notify()

void packet_recv_notify ( NETSIM_ID  devid,
NETSIM_ID  ifid,
NETSIM_ID  rcvid 
)

Definition at line 134 of file Generic_RateAdaptation.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ packetSentNotify()

void packetSentNotify ( NETSIM_ID  d,
NETSIM_ID  in,
NetSim_PACKET packet 
)

◆ print_ieee802_11_Backoff_log()

void print_ieee802_11_Backoff_log ( char *  format,
  ... 
)
Here is the caller graph for this function:

◆ print_ieee802_11_log()

void print_ieee802_11_log ( char *  format,
  ... 
)
Here is the caller graph for this function:

◆ readd_to_queue()

void readd_to_queue ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId,
NetSim_PACKET packet 
)

Definition at line 317 of file IEEE1609_interface.c.

Here is the call graph for this function:

◆ set_blockack_bitmap()

void set_blockack_bitmap ( NetSim_PACKET ackPacket,
NetSim_PACKET packet 
)

Definition at line 611 of file IEEE802_11_MacFrame.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SET_IEEE802_11_MAC()

void SET_IEEE802_11_MAC ( NETSIM_ID  ndeviceId,
NETSIM_ID  nInterfaceId,
PIEEE802_11_MAC_VAR  mac 
)

Definition at line 122 of file IEEE1609_interface.c.

Here is the caller graph for this function:

◆ validate_processing_time()

bool validate_processing_time ( double  time,
NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId 
)

Definition at line 377 of file IEEE1609_interface.c.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ strIEEE802_11_MAC_STATE

char strIEEE802_11_MAC_STATE[IEEE802_11_MACSTATE_LAST][48]
static
Initial value:
=
{
"MAC_IDLE",
"WAIT_FOR_NAV",
"WAIT_FOR_DIFS",
"WAIT_FOR_AIFS",
"BACKING_OFF",
"TRANSMITTING_MPDU",
"TRANSMITTING_BROADCAST",
"TRANSMITTING_ACK",
"TRANSMITTING_RTS",
"TRANSMITTING_CTS",
"WAIT_FOR_DATA",
"WAIT_FOR_CTS",
"WAIT_FOR_ACK",
"WAIT_FOR_BLOCKACK",
"OFF"
"LAST"
}

Definition at line 171 of file IEEE802_11.h.