📄 em_struct.h
字号:
kal_bool is_dsf; //timeout value for the DSF or RLF
} rr_em_radio_link_counter_info_struct; //This shall be used in IDLE and DEDI state
typedef struct
{
kal_uint8 rr_state; //current RR state 1: IDLE, 2: ACCESS, 3: PKT_TRANSFER 4: DEDICATED
kal_uint16 serving_arfcn; //serving cell ARFCN
kal_uint8 serving_bsic; //serving cell BSIC
kal_uint8 serv_gprs_supported; //serving cell support GPRS or not
kal_int16 serv_rla_in_quarter_dbm; /*rssi level for serving cell (BCCH
in IDLE-state) & (TCH in DEDI-state) & (PDTCH in TRANSFER-state) */
kal_bool is_serv_BCCH_rla_valid; /*To indicate if the serv_BCCH rssi is valid*/
kal_int16 serv_BCCH_rla_in_dedi_state; /*rssi level for serving cell (BCCH) in DEDI-State*/
kal_uint8 quality; //serving cell -TCH measured quality
/* 2003-0919, add new C31/C32 cvalue information for GPRS service */
kal_bool gprs_pbcch_present; // To indicate if the current cell supports GPRS & PBCCH is present
/* 2003-0919, add new C31/C32 cvalue information for GPRS service */
kal_bool gprs_c31_c32_enable; // To indicate if the current mode is GPRS_PMO_MODE or GPRS_PCCCH_MODE
kal_int16 c31[32]; //C31 value for the neighbor cell
kal_int16 c1_serv_cell; //C1 value for the serving cell
kal_int16 c2_serv_cell; /* if gprs_c31_c32_enable is false, this field is shown as c2_value for serv_cell
if gprs_c31_c32_enable is true, this field is shown as c32_value for serv_cell */
kal_int16 c31_serv_cell; /* if gprs_c31_c32_enable is false, this field is ignore
if gprs_c31_c32_enable is true, this field shall be shown in based on report c31_value*/
kal_uint8 num_of_carriers; //number of carriers in the BA list
kal_uint16 nc_arfcn[32]; //ARFCN value in the BA list(The list will be sorted by the RSSI level)
kal_int16 rla_in_quarter_dbm[32]; //rssi level for each carrier
kal_uint8 nc_info_status[32]; /*Bit0 = 0: "nc_bsic","frame_offset","ebit_offset" is invalid
Bit0 = 1: "nc_bsic","frame_offset","ebit_offset" is valid
Bit1 = 0: "c1","c2" is invalid
Bit1 = 1: "c1","c2" is valid
Bit2 = 0: "gprs_status" is invalid
Bit2 = 1: "gprs_status" is valid */
kal_uint8 nc_bsic[32]; //neighbor cell BSIC
kal_int32 frame_offset[32]; //frame offset for each carrier
kal_int32 ebit_offset[32]; //ebit offset for each carrier
kal_int16 c1[32]; //C1 value for the neighbor cell
kal_int16 c2[32]; /* if gprs_c31_c32_enable is false, this field is shown as c2_value for nbr_cell
if gprs_c31_c32_enable is true, this field is shown as c32_value for nbr_cell */
//kal_uint8 nbr_gprs_supported[32]; //0: not supported, 1: supported
kal_uint8 multiband_report; //MULTIBAND_REPORT value
kal_uint8 timing_advance; //Timing advance, range is 0 - 63
kal_uint8 rxqual_sub; //rx quality (sub), range is 0 - 7
kal_uint8 rxqual_full; //RX quality (full), range is 0 - 7
#ifdef __AMR_SUPPORT__
kal_bool amr_info_valid;
kal_uint8 cmr_cmc_cmiu_cmid;
kal_uint8 c_i;
kal_uint16 icm;
kal_uint16 acs;
#endif /* __AMR_SUPPORT__ */
} rr_em_measurement_report_info_struct; //This shall be used in IDLE and DEDI state;
typedef struct
{
kal_uint8 msg_type; /*receives msg type from network in Dedi-State
0: Assignment Command
1: Channel Release
2: Additional Assignment
3: Classmark Enquiry
4: Ciphering Mode Command
5: Configure Change Command
6: Handover Command
7: Frequency Redefinition
8: Channel Mode Modify
9: Cell Selection Indicator*/
} rr_em_control_msg_info_struct;
/* CC structure */
typedef struct
{
kal_uint8 cause; //channel sync cause
kal_uint8 channel_type; //channel type
kal_uint8 channel_mode; //channel mode
} cc_em_channel_info_struct;
typedef struct
{
kal_uint8 call_id; //call id
kal_uint8 ti; //transaction identifier
kal_uint8 state; //call state
kal_uint8 aux_state; //auxiliary state
kal_uint8 pi; //progress indicator
kal_uint16 cause; //call disconnect cause
kal_uint8 cause_location; //cause originating locatioin
} cc_em_call_info_struct;
/* CB structure */
typedef struct
{
kal_uint16 sn; //serial number
kal_uint16 mi; //message identifier
kal_uint8 dcs; //data code scheme
kal_uint8 page; //current number of this page
kal_uint8 pages; //total number of pages
} cb_em_info_struct;
/* SS structure */
typedef struct
{
kal_uint8 ss_state; //ciss state
kal_uint8 ti; //transaction identifier
kal_uint8 call_id; //call id
kal_uint8 invoke_id; //invoke id
kal_uint8 num_invoke; //number of active invokes
kal_uint8 op_code; //operation code
kal_uint8 ss_code; //supplementary service code
kal_uint8 bs_code; //basic service code
} ss_em_info_struct;
/* MM structure */
typedef struct
{
kal_uint8 t3212_val; //T3212 timer value
kal_uint8 att_flag; //ATT flag
kal_uint8 mm_cause; //MM Reject cause, if any
kal_uint8 mm_state; //MM State
kal_uint8 mcc[3]; //MCC
kal_uint8 mnc[3]; //MNC
kal_uint8 loc[2]; //registered LAC
kal_uint8 rac; //registered RAC
kal_uint8 tmsi[4]; //TMSI, if valid
} mm_em_info_struct;
/* UEM structure */
typedef struct
{
kal_int32 adc_value; //battery ADC value
kal_uint8 battery_level; //battery level
kal_uint8 battery_status; //battery status: battery_status_enum
} uem_em_battery_info;
typedef struct
{
kal_uint8 flc_buffer_type; // reference to gprs_flc_buffer_enum
kal_uint8 pool_active; // true or false
kal_uint8 percentage_upp_thre; //percentage of upper threshold
kal_uint8 percentage_low_thre; // percentage of lower threshold
kal_uint32 total_size; // total size of pol
kal_uint32 curr_occ; // current occupied
kal_uint16 hit_upp_thre_counts; // upper threshold hit counter
kal_uint16 hit_low_thre_counts; // lower threshold hit counter
} flc_em_pool_status_struct;
extern kal_bool flc_em_get_pool_staus(kal_uint8 poolid,
flc_em_pool_status_struct *status);
/* The rr_em_tbf_status_struct is updated whenever TBF is established/reallocated or released. */
typedef struct
{
kal_uint8 tbf_mode; // GPRS or EGPRS TBF mode
/* UL TBF info */
kal_uint8 ul_tbf_status; // access/active/inactive
kal_uint8 ul_rel_cause; // if applicable
kal_uint8 ul_ts_allocation; // timeslot allocation
kal_uint8 ul_rlc_mode; // RLC ACK / UNACK mode
kal_uint8 ul_mac_mode; // Dynamic allocation / Extended dynamic allocation / Fixed allocation
/* new created fields */
kal_uint16 number_rlc_octect; // RLC requested octect/byte number
kal_uint8 ul_tfi;
kal_uint8 ul_granularity;
kal_uint8 ul_usf;
kal_uint8 ul_tai;
kal_uint16 ul_tqi;
kal_uint16 ul_window_size; // GPRS: 64, EGPRS 64 ~1024
/* DL TBF info */
kal_uint8 dl_tbf_status; // active/inactive/release pending
kal_uint8 dl_rel_cause; // if applicable
kal_uint8 dl_ts_allocation; // Ttimeslot allocation
kal_uint8 dl_rlc_mode; // RLC ACK / UNACK mode
kal_uint8 dl_mac_mode; // Dynamic allocation / Extended dynamic allocation / Fixed allocation
/* new created fields */
kal_uint8 dl_tfi;
kal_uint8 dl_tai;
kal_uint16 dl_window_size; // GPRS: 64, EGPRS 64 ~1024
#ifdef __EGPRS_MODE__
kal_uint8 dl_out_of_memory; // EGPRS IR out of memory indication
#endif /* __EGPRS_MODE__ */
}rr_em_tbf_status_struct;
/* The new rr_em_blk_info_struct is updated every N (configurable?) block period during TBF.
N should be adjusted to suitable/smooth display rate. */
typedef struct
{
/* UL TBF info */
kal_uint8 ul_coding_scheme;
kal_uint8 ul_cv;
kal_uint8 ul_tlli;
kal_uint16 ul_bsn1;
#ifdef __EGPRS_MODE__
kal_uint16 ul_bsn2;
kal_uint8 ul_cps;
kal_uint8 ul_rsb;
kal_uint8 ul_spb;
#endif /* __EGPRS_MODE__ */
/* DL TBF info */
kal_uint8 dl_c_value_in_rx_level; /* for both GPRS/EGPRS C value (channel quality) */
kal_uint8 dl_rxqual; /* for GPRS RX QUAL (channel quality) */
kal_uint8 dl_sign_var; /* for GPRS signal variance (channel quality) */
kal_uint8 dl_coding_scheme;
kal_uint8 dl_fbi;
kal_uint16 dl_bsn1;
#ifdef __EGPRS_MODE__
kal_uint16 dl_bsn2;
kal_uint8 dl_cps;
kal_uint8 dl_gmsk_mean_bep_lev; /* for EGPRS GMSK mean BEP level (channel quality). valid: 0 ~ 31. invalid: 255 */
kal_uint8 dl_8psk_mean_bep_lev; /* for EGPRS 8PSK mean BEP level (channel quality) . valid: 0 ~ 31. invalid: 255 */
kal_uint8 dl_tn_mean_bep_lev[8]; /* for EGPRS Timeslot Number mean BEP level (channel quality). valid: 0 ~ 31. invalid: 255 */
#endif /* __EGPRS_MODE__ */
kal_uint8 dl_tn_interference_lev[8]; /* for GPRS/EGPRS Timeslot Number interference (channel quality). valid: 0 ~ 15. invalid: 255 */
}rr_em_blk_info_struct;
typedef struct
{
kal_uint32 t3192; // in msec
kal_uint32 t3168; // in msec
kal_uint8 rp; // radio priority
kal_uint8 gprs_support; //GPRS channel request support(0 support,1 not support)
kal_uint8 egprs_support;
kal_uint8 sgsn_r; //PS domain is R99 or R98(0 R98,1 R99)
kal_uint8 pfc_support; //packet flow context support(0 support,1 not support)
kal_uint8 epcr_support; //EGPRS channel request support(0 support,1 not support)
kal_uint8 bep_period; //BEP period
}rr_em_gprs_general_info_struct;
typedef struct
{
kal_uint32 num_pkt_txed; // number of packets transferred
kal_uint32 num_pkt_rxed; // number of packets received.
kal_uint32 num_octets_txed; // number of octets transferred
kal_uint32 num_octets_rxed; // number of octets received.
}tcm_em_pdp_info_struct;
typedef struct
{
kal_uint8 nsapi; // NSAPI
kal_uint8 pdp_context_status; // active/inactive
kal_uint8 rej_cause; // if applicable
kal_uint8 reliability_class; // reliabillity class of QoS
kal_uint8 rp; //radio priority
} sm_em_pdp_info_struct;
typedef struct{
sm_em_pdp_info_struct pdp[2];
} sm_em_info_struct;
typedef struct
{
kal_uint16 ready_timer; // Ready timer value in SECONDS.
kal_uint16 rau_timer; // Periodical Routing Area Updating timer value in deci-hours
kal_uint8 ms_state; // MS_NULL_STATE = 0,
// MS_READY_STATE,
// MS_STANDBY_STATE,
// MS_FORCED_TO_STANDBY_STATE
}gmm_em_info_struct;
typedef struct
{
kal_uint32 num_checksum_error;
kal_uint32 requested_ip;
kal_uint32 negotiated_ip;
kal_uint32 requested_dns;
kal_uint32 negotiated_dns;
} ppp_em_info_struct;
typedef struct
{
kal_uint32 num_reasm_failure;
} sndcp_em_info_struct;
typedef struct
{
kal_uint32 num_fcs_error;
} llc_em_info_struct;
typedef struct
{
kal_uint8 is_higher_pri_plmn_srch; /* indicate that if the higher priority PLMN search is performing */
kal_uint8 hp_timeout_timer; /* higher priority PLMN search timer (6 mins per unit) */
kal_uint8 hp_count_down_timer; /* higher priority PLMN search count down timer (6 mins per unit) */
kal_uint8 rplmn[6]; /* RPLMN */
kal_uint8 eq_plmn[5][6]; /* 1~5 equivalent PLMNs (6 digits for each PLMN ID) */
kal_uint8 forbid_plmn[4][6]; /* 1~4 forbidden PLMNs (6 digits for each PLMN ID) */
} mmrr_plmn_info_struct;
/*Byron: 2006/08/06: Add for SI2q information*/
typedef struct
{
kal_bool present;
kal_uint8 no_of_instance;
kal_bool emr_report;
kal_bool pemr_report;
kal_bool umts_parameter_exist;
} rr_em_si2q_info_struct;
/*Byron: 2006/08/06: Add for measurement information*/
typedef struct
{
kal_bool present;
kal_uint8 no_of_instance;
kal_bool emr_report;
kal_bool umts_parameter_exist;
} rr_em_mi_info_struct;
#endif /* ~_EM_STRUCT_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -