📄 jigb_wlan_mac_bb.pr.c
字号:
Stathandle global_load_handle ; /* Handle for global WLAN load statistic. */
Stathandle global_dropped_data_handle ; /* Handle for global dropped higher layer data statistic. */
Stathandle global_mac_delay_handle ; /* Handle for global media access delay statistic. */
Stathandle ctrl_traffic_rcvd_handle_inbits ; /* Control Traffic (Rts,Cts or Ack) received by the station in bits */
Stathandle ctrl_traffic_sent_handle_inbits ; /* Control Traffic (Rts,Cts or Ack) sent by the station in bits */
Stathandle ctrl_traffic_rcvd_handle ; /* Control Traffic (Rts,Cts or Ack) received by the station in packets */
Stathandle ctrl_traffic_sent_handle ; /* Control Traffic (Rts,Cts or Ack) sent by the station */
Stathandle data_traffic_rcvd_handle_inbits ; /* Data Traffic received by the station in bits */
Stathandle data_traffic_sent_handle_inbits ; /* Data Traffic sent by the station in bits */
Stathandle data_traffic_rcvd_handle ; /* Data Traffic received by the station */
Stathandle data_traffic_sent_handle ; /* Data Traffic sent by the station */
double sifs_time ; /* Read the SIFS time from the model attributes */
double slot_time ; /* Read the Slot time from the model attributes */
int cw_min ; /* Read the minimum contention window size from the model attribute. */
int cw_max ; /* Read the maximum contention window size from the model attribute. */
double difs_time ; /* DIFS interval is used by the stations to transmit data frames. */
double plcp_overhead_control ; /* Delay in seconds to transmit PLCP Preamble and PLCP Header at lowest */
/* mandatory data rate of the physical layer for WLAN control frames. */
double plcp_overhead_data ; /* Delay in seconds to transmit PLCP Preamble and PLCP Header for WLAN */
/* data frames. */
Stathandle channel_reserv_handle ; /* Statistic for network allocation vector */
Stathandle retrans_handle ; /* Keep track of the number of retransmissions before the packet was */
/* successfully transmitted. */
Stathandle throughput_handle ; /* Keep track of the number of data bits sent to the higher layer. */
Stathandle ap_conn_handle ; /* Statistic handle for recording AP connectivity of the MAC. */
int long_retry_limit ; /* This is the retry limit for the frames which are greater than or equal to */
/* Rts threshold. */
int short_retry_limit ; /* This is the retry limit for the frames which are less than or equal to */
/* Rts threshold. */
int long_retry_count ; /* Incremented when an ACK is not received for a data frame in spite of a */
/* successful RTS/CTS frame exchange. */
int short_retry_count ; /* Incremented when a CTS is not received for a transmitted RTS, or when an */
/* ACK is not received for a data frame that is transmitted without any */
/* RTS/CTS frame exchange. */
WlanT_Mac_Frame_Type last_frametx_type ; /* This frame keeps track of the last transmitted frame that needs */
/* a frame response (like Cts or Ack). This is actually used when */
/* there is a need for retransmission. */
Evhandle deference_evh ; /* Event handle that keeps track of the self interrupt due to Deference. */
Evhandle backoff_elapsed_evh ; /* Event handle that keeps track of the self interrupt due to backoff. */
Evhandle frame_timeout_evh ; /* Event handle that keeps track of the self interrupt due to frame timeout */
/* when the station is waiting for a response. */
double eifs_time ; /* EIFS duration which is used when the station receives an erroneous frame */
/* */
int i_strm ; /* Keeping track of incoming packet stream from the lower layer. */
Boolean wlan_trace_active ; /* Debugging/trace flag for all activities in this MAC. */
OpT_Packet_Id pkt_in_service ; /* Store packet id of the data packet in service. */
Stathandle bits_load_handle ; /* Reporting the packet size arrived from higher layer. */
int ap_flag ; /* Flag to read the attribute which indicates whether */
/* the station has Access point functional or not. */
Boolean bss_flag ; /* Flag to check whether the network is configured for BSS or IBSS. */
int ap_mac_address ; /* The MAC address of the access point. */
int hld_max_size ; /* This variable maintains the maximum size of the higher layer */
/* data buffer as specified by the user. */
double max_receive_lifetime ; /* Maximum time after the initial reception of the fragmented MSDU */
/* after which further attempts to reassemble the MSDU will be terminated. */
int accept_large_packets ; /* Flag to accept packets larger than MAXMSDU size. */
WlanT_Phy_Char_Code phy_char_flag ; /* This variable stores the physical layer characteristic type information. */
WlanT_Phy_Char_Code ap_phy_char_flag ; /* The physical layer technology of the access point of our BSS. It */
/* can be different then our since STAs operating with DSSS and ERP */
/* can coexist in the same BSS. */
WlanT_Phy_Type phy_type ; /* Type of the 802.11 standard that specifies the physical layer */
/* technology used by this MAC. Frequency hopping and infra-red */
/* technologies are referred as 802.11b technologies. */
OpT_Packet_Size total_hlpk_size ; /* Maintaining total size of the packets in higher layer queue. */
Stathandle drop_packet_handle ; /* Keep track of the dropped packet by the higher layer queue due */
/* to the overflow of the buffer. */
Stathandle drop_packet_handle_inbits ; /* Keep track of the dropped packet by the higher layer queue due */
/* to the overflow of the buffer. */
Log_Handle drop_pkt_log_handle ; /* Logging information if the packet is dropped due to higher layer */
/* queue overflow. */
Log_Handle config_log_handle ; /* Simulation log handle for configuration related messages. */
int drop_pkt_entry_log_flag ; /* This is to make sure that the entry is written only once. */
int packet_size ; /* The full size of the packet that is currently handled. */
double receive_time ; /* The arrival time of the packet that is currently handled. */
Ici* llc_iciptr ; /* Sending ici to the bridge queue with final destination address. */
double rx_power_threshold ; /* Receiver power threshold for valid WLAN packets. */
int bss_id ; /* When BSS_ID attribute is being used , this variable identifies */
/* the BSS to which a node belongs. Otherwise, each subnet defines */
/* a BSS, and this state variable just retains its default value, */
/* which is -1. */
/* CHANGED: BSS now stores the subnet object ID as the BSS ID */
int pcf_retry_count ; /* Incremented each time when a PCF frame was unsuccessful in transmission */
int poll_fail_count ; /* This variable counts the number of times a poll is sent, and */
/* receives no response. */
int max_poll_fails ; /* The variable determines the maximum number of failed polls */
/* allowed before a station is skipped in sequence */
List* cfpd_list_ptr ; /* Higher layer data arrival queue or list for CFP */
int pcf_queue_offset ; /* Used in storing fragmentation threshold attribute */
double beacon_int ; /* Beacon Interval in seconds */
Sbhandle pcf_frag_buffer_ptr ; /* PCF Fragmentation buffer used to store transmit packet fragments */
Packet * wlan_pcf_transmit_frame_copy_ptr ; /* Make separate copy of pcf transmit frames before transmission */
int pcf_num_fragments ; /* Number of data fragments that need to be transmitted */
/* for each pcf data frame received from higher layer */
OpT_Packet_Size pcf_remainder_size ; /* Size of the last PCF data fragment */
int* polling_list ; /* This structure is used to maintain the polling list for the PCF */
/* */
int poll_list_size ; /* This variable contains the size of the polling list */
int poll_index ; /* This is the index into the polling list indicating the STA */
/* currently being polled. */
double pifs_time ; /* PIFS interval is used by the stations during CFP */
Evhandle beacon_evh ; /* Event handle that keeps track of self interrupt for Beacon transmit time. */
Evhandle cfp_end_evh ; /* Event handle that keeps track of self interrupt for end of CFP. */
OpT_Packet_Id pcf_pkt_in_service ; /* Store packet id of the data packet in service. */
int pcf_flag ; /* Flag to read the attribute which indicates whether */
/* the station has PCF functional or not. */
Boolean active_pc ; /* The variable indicates the presence of an active PC in the BSS */
int cfp_prd ; /* This variable contain the number of beacon periods between */
/* Contention free periods */
int cfp_offset ; /* This variable is used to track the "phase" of the cfp */
/* occurence relative to time =0. It indicates the number */
/* of beacon periods the first cfp is offset from time=0. */
double cfp_length ; /* This variable contains the default length in seconds of the */
/* CFP assuming the CFP starts at the TTBT. */
Boolean ap_relay ; /* This variable determines if station to station traffic in */
/* the presence of an AP is relayed through the AP, or sent */
/* between stations directly */
OpT_Packet_Size packet_size_dcf ; /* The full size of the DCF packet that is currently handled. */
OpT_Packet_Size packet_size_pcf ; /* The full size of the PCF packet that is currently handled. */
double receive_time_dcf ; /* The arrival time of the packet that is currently handled by the DCF. */
double receive_time_pcf ; /* The arrival time of the packet that is currently handled by the PCF. */
Boolean cfp_ap_medium_control ; /* Indicates the CFP during which AP controls the medium. */
int pcf_network ; /* Number of PCF enabled nodes in the network. */
int beacon_eff_mode ; /* Turn off beacons in non-PC APs */
int channel_count ; /* The number of operating WLAN radio channels, which */
/* depends on the physical layer technology (i.e. 802.11a */
/* or 802.11/11b). */
int channel_num ; /* The number of the channel that is currently being used. */
double first_chan_min_freq ; /* The minimum frequency of the first one of the operating */
/* WLAN radio channels (in MHz). */
double channel_bandwidth ; /* The bandwidth of the operating WLAN radio channels in */
/* MHz. */
double channel_spacing ; /* The spacing between two operating WLAN radio channels in */
/* MHz. */
int eval_bss_id ; /* BSS ID of the BSS under evaluation. */
WlanT_Roam_State_Info* roam_state_ptr ; /* Roaming related information. */
WlanT_Rx_State_Info* rx_state_info_ptr ; /* Receiver channel state information. */
double ap_connectivity_check_interval ; /* Time interval for periodic check on the connectivity from AP */
double ap_connectivity_check_time ; /* Time value indicating the next sim time to check the AP connectivity */
Evhandle ap_connectivity_check_evhndl ; /* Event handle for the periodic AP connectivity check */
WlanT_AP_Position_Info* conn_ap_pos_info_ptr ; /* Position information for the connected AP. */
WlanT_Sta_Mapping_Info* my_sta_info_ptr ; /* Station information containing duplicate information. */
WlanT_Bss_Mapping_Info* my_bss_info_ptr ; /* Handle to the information record of the current BSS */
/* including the list of STAs that belong to that BSS. */
PrgT_Mutex* mapping_info_mutex ; /* Mutex used to serialize calling prg_mapping functions, which */
/* read/write global WLAN information, under multi-threaded */
/* execution with multiple CPUs. */
int tipo ; /* Indica el tipo de estaci髇 (Real, Normal y Recolectora) */
double tinicial ; /* Variable para el c醠culo de la longitud del BlackBurst */
double tobs ; /* Tiempo de espera tras enviar un BlackBurst */
Evhandle tobs_evh ; /* Manejador para la interrupci髇 de la espera Tobs */
Evhandle tsch_evh ; /* Manejador para la interrupci髇 de la espera Tsch */
Boolean espera_tsch ; /* Variable que permite a una real esperar un paquete */
WlanT_Mac_Frame_Type ultima_trama_enviada ; /* Variable que indica el tipo de la 鷏tima trama enviada */
WlanT_Mac_Frame_Type tipo_paquete_recibido ; /* Variable que indica el tipo de la 鷏tima trama recibida */
double tsch_actual ; /* Variable que indica el tiempo de programaci髇 del tsch */
double tpkt ; /* Variable que indica el tiempo de duraci髇 de un paquete */
Boolean debo_hacer_eifs ; /* Bandera que indica si una real debe realizar una espera EIFS */
double tsch ; /* Variable que indica el pr髕imo acceso en el futuro */
int tipo_trafico ; /* Variable que indica el tipo de tr醘ico enviado por una estaci髇 */
double paquete_enviado ; /* Variable para el c醠culo de la estad韘tica de tramas enviadas */
Boolean mas_fragmentos ; /* Variable que indica si hay m醩 fragmentos para enviar */
int num_fragmentos ; /* Variable que indica el n鷐ero de fragmentos a enviar */
double tiempo_total_libre ; /* Variable usada en la estad韘tica de tiempo libre del canal */
double t_inicial_libre ; /* Variable usada en la estad韘tica de tiempo libre del canal */
double tiempo_total_ocupado ; /* Variable usada en la estad韘tica de tiempo ocupado del canal */
double t_inicial_ocupado ; /* Variable usada en la estad韘tica de tiempo ocupado del canal */
double tiempo_total_colision ; /* Variable usada en la estad韘tica de colisiones del canal */
Boolean colision ; /* Variable usada en la estad韘tica de colisiones del c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -