⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmc_context.h

📁 最新MTK手机软件源码
💻 H
📖 第 1 页 / 共 4 页
字号:
                                       if has happened reached 5sec.*/

  kal_uint8   C2_resel_counter;	      /* The coutner is to count the C2 reselection (C2_nbr>C2_serv)
                                       if has happened reached 5sec. */


  kal_uint16  C1_arfcn;	             /*jack: new add, When the C1_criteria
                                       is set and last 5sec, the C1_arfcn will
                                       be the candidate for the C1 reselection.*/
  kal_uint16  C2_arfcn;	              /* the C2_arfcn_1 is the backup candidate for monitoring another 
                                        * candidate in case of C2 reselection.*/

  /* 2004-01-27, define extra backup cell_reselection candidate, either "1" or "2" */
                                        
  kal_bool    is_C2_criteria_1;	      /* The flag is set when one of the top
                                       SIX neighbor cells' C2 value meets the
                                       requirement of C2 triggering reselection
                                       according to the Spec. of 05.08. */                                        
                                       
  kal_uint8   C2_resel_counter_1;	   /* The couter is to count the C2 reselection for another monitored
                                        * nbr_cell (C2_nbr>C2_serv) if has reached 5sec. duration */
  kal_uint16  C2_arfcn_1;	            /* the C2_arfcn_1 is the backup candidate for monitoring another 
                                        * candidate in case of C2 reselection.*/


  kal_bool    is_CRH_invalid;          /*jack: new add, When set to TRUE,
                                       the C2 calculation shall ignore the
                                       parameter of CRH*/

  rmc_old_cell_struct old_cell_struct;
  kal_uint8 new_balist_rcvd;

  /*jack: comment it */
  #if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
  #endif

  /* Si Monitoring timer */
  /* Measurement Timers */
   kal_bool is_emo_timer_running;
   stack_timer_struct emo_timer;  /* EMO timer (10 sec) */

  /* CS call */

  kal_bool SI3_needed;                      /*Jack: The flag is used to check whether the SI3 info
                                             * is needed to be acquired, ex: after H.O.  */

  kal_bool is_sys_info_for_handover_set;     /* Flag added to check if sys
                                               info is needed to send
                                               MM after handover is complete
                                               (Note: normally, when all SI
                                               required are received completely,
                                               RMC will send a SYS_INFO to MM,
                                               i.e., after receiving PSI2 (if PBCCH present),
                                               SI13 (if PBCCH not present).*/
  backup_cell_alloc_struct backup_cell_alloc; /*For backup the cell allocation struct
                                           from common_struct_ptr ->
                                           cell_alloc_struct.*/

  kal_uint8 is_first_meas;           /*The flag is set when the connection of L2
                                     has completed, i.e., gets a  inidication from
                                     LAPDM. For the first time received measurement
                                     report from the dedicated state, the measurement
                                     report to network is not allowed.*/

  kal_uint8    num_nbcch_sent;      /* 03-21-2003:  keep the number of current
                                       nbcch issued to L1 */
  kal_uint16   monitor_nbcch[SIX];   /* 03-21-2003:  the struct stores the current NBCCH
                                   information issued to L1*/

  BSIC_struct first_monitor_bsic;   /* jack:  the struct stores the monitored bsic
                                   information issued*/
  BSIC_struct second_monitor_bsic; /* jack:  the struct stores the monitored bsic
                                   information issued*/
  /*RMC_MODE_ENUM  rr_mode; */    /* jack: the rr_mode is major to inform MPAL the measurement
                           report period shall follow GSM or GPRS mode depends on
                           whether received PMO/PCCO or not */

   /* Vincent 030611: while RR receives serv_meas_ind, it will send
    * power_level_ind into MMI for display. But while TBF is established,
    * L1 will send the serv_meas_ind every 1 sec. In order not to generate
    * too much loading into MMI, send the power_level_ind every 5 seconds
    * as the same in idle state */
   kal_uint8  serv_meas_ind_count;

   kal_uint8  power_level_ind_period; /*for customer configurable period to
                          refresh the display of MMI power level indicator*/
   /*2003-09-13 for customize */
   kal_uint8  curr_serv_meas_pwr; /*stores the current measured serv_cell_power level 0~31 */

   /* Henry 040716 add : when GMMAS_SIM_INFO_RESET_REQ receives in ACCESS state, we have 
      different handler "before and after"RR_MPAL_DEDICATED_CHANNEL_CONNECT_REQ sent to
      MPAL. "Before": we should stop RACH. "After": we should release RR connection when
      LAPDM established. */
   kal_bool   sim_info_reset_after_L1_conn_in_access_state;/* Set this field when GMMAS_SIM_INFO_RESET_REQ
   received after RR_MPAL_DEDICATED_CHANNEL_CONNECT_REQ sent in access state and reset it after
   L1 disconnected. */

/********************************************************************
 *      CSRR_CONTEXT start :

 ********************************************************************/
  /* state Variables */
  kal_uint8 is_target_cell_chosen;  /* after getting new set of SI for the
                                     * target cell, if the cell is found to be
                                     * suitable & GPRS supported, this flag is
                                     * RR_SET */
   rla_struct *target_cell_rla_ptr;  /* Austin added for PCCO */
   rmpc_cell_desc_struct target_cell;
   rmpc_cell_desc_struct old_cell;
 /*RMC_SUB_STATE_ENUM csrr_sub_state; */  /* csrr sub state for dedicated
                                           procedures */
  /* Channels allocated Information */
  kal_bool is_sapi3established; /* SAPI3 established or not */
  kal_bool is_sapi3conn_pend;   /* Sapi3 conn pending flag */
  kal_bool is_sapi0conn_pend;   /* Sapi3 conn pending flag */
  kal_bool gprs_resume_flag;    /* Gprs Resume flag from n/w */

  /* channel information */
  kal_uint8 chan_needed;        /* channel needed for paging */
  kal_uint8 csrr_send_var;      /* send state Variable */
  kal_uint8 is_acs_repeated;    /* channel request repeated */
  kal_uint8 sms_chan_type;      /* channel type for SMS */
  /* Claire del : use reject_rcvd instead */
  /*kal_uint8 is_ecall_repeated;*/  /* emergency call repeated */

  kal_uint8 is_tch_loop_closed; /* flag for TCH closed state */
  kal_uint8 loop_type;          /* to store loop-back type */
  kal_uint8 loop_mech;          /* to store loop-back mechanism */

  /* Timers used in CSRR */
  kal_bool is_t3122_running;
  stack_timer_struct T3122;      /* IA  reject timer  */

  kal_bool is_t3126_running;
  stack_timer_struct T3126;      /* max channel requests sent timer */

  kal_bool is_re_est_timer_running;
  stack_timer_struct re_est_timer;       /* timer for call reest */

  peer_buff_struct *cm_service_ptr;     /* CM SERVICE Request */
  peer_buff_struct *sms_pdu_ptr;        /* SMS PDU */

  disconnect_request_state discon_req_state;
  kal_uint8 resume_mac_req;
  kal_uint8 moving_to_new_ch;   /* Flag indicates  moving to new channel
                                   on reception of assignment command */
  kal_uint8 go_to_old_ch;       /* Flag indicates connecting back to
                                   old channel on failure assignment
                                   procedure. */

  kal_bool imeisv_reqd;
  kal_bool cipher_cmd_recvd;    /* Flag indicating whether a cipher
                                   mode cmd was received in this
                                   instance of RR connection */
  kal_bool is_call_re_est;      /* Flag indicates call re-establishment
                                   is going on */
  kal_bool is_re_est_send;      /* Flag indicates whether
                                   MSG_ID_GMMAS_SIG_RE_EST_IND, which
                                   indicates successful cell
                                   re-selection is sent to MM or not. */
  multi_slot_para_struct multi_slot_para;    /* common context
						information between
                                   assignment procedure and handover
                                   procedure */
  multi_slot_para_struct backup_multi_slot_para; /* Back up of assignment
					        context information to be
						used in case
                                           of handover failure. */
#ifdef __AMR_SUPPORT__                                           
  rr_mpal_amr_req_struct *amr_decode_buf;
#ifdef __EM_MODE__
  /* brwang, 051029, [AMR engineering mode info.] */
  rr_mpal_amr_req_struct em_amr_para_info;
#endif
#endif /* __AMR_SUPPORT__ */                                           

  kal_uint8 freq_out_of_band;
  kal_uint8 no_rx_time_slots;
  kal_uint8 no_tx_time_slots;

  /* Claire : Move from rr_context_struct */
  kal_uint8 ie_count;
  kal_uint8 freq_list_bt_decoded;
  kal_uint8 freq_list_at_decoded;
  kal_bool is_page_pending;

  kal_bool is_rel_sent_to_lapdm; /* Indicate whether RR has released ladpm */
  kal_bool is_disconnect_sent_to_mpal; /* Indicate whether RR has disconnected L1 */

   /* Vincent 031017: for Finland IOT */
   /* Henry 030505 add, LA has changed, and SI1 or SI3 not received
    * so we can not tell MM LA is changed( MM LU will be rejected by RR) */    
   // kal_bool is_sys_ind_pending;

  /* Claire 031009 change : Solve mpal_gsm_ul_func.c ln 278 */
  kal_bool is_dedi_conn_req_sent_to_mpal; /* Set to 1 if RMC has sent RR_MPAL_
              *  DEDICATED_CHANNEL_CONNECT_REQ to MPAL and hasn't receive CNF yet*/

   /* Vincent 030920: in order to prohibit some actin while TBF is pending but not started:
    * i) CB
    * ii) EXT measurement
    * iii) abnormal reselection */
   TBF_EST_STATUS_ENUM tbf_status;  /* if rmc is in PKT_TFR_STATE when resel is
                                 * triggered, set this flag. It indicates
 				                     * that MAC is in transfer state */

   /* Austin 031006: indicate the status of waiting for BSIC_SYNC_CNF during abnormal reselection  */
   kal_bool is_bsic_sync_on_going;
   kal_uint16 stored_control_msg_length;
   /* interplmn HO */
   kal_bool is_interplmn_ho;
   la_identification_struct la_id;

#ifdef __GPRS_MODE__
/*****************************************************************************
 * GPRS part  (Vincent add)
 *****************************************************************************/
   res_req_cause pkt_access_cause; /* Packet Access cause */
   /* Vincent 030711: the flag will be set while tbf is established for rlc test mode, and disable
    * cell reselection by checking the flag. The flag is reset while tbf is released */

   kal_bool cell_chng_order_resel; /* flag indicating CellChangeOrder msg
                                    * triggered CellReselection */
   kal_bool rr_cell_change_order_flag; /* Indicates if a NC cell change Order
                                        * is recvd or not */

   mac_state_enum old_cell_mac_state;   /* TO find the state of MAC in the old cell */

   kal_uint8 is_target_cell_synced;  /* (vincent add) PCCO case: for telling
                                      * the si reading is issued by monitor
                                      * serving BCCH or nbr BCCH req */

   /* Already in Pkt_Access_Var struct */
   /**
    * Exce 030827:
    * Use static allocated memory. Besides, a valid flag is needed to indicate whether
    * stored RES_REQ is valid
    */
   mac_rmpc_pkt_access_req_struct stored_res_req; /* for MAC */
   kal_bool is_stored_res_req_valid;

   kal_bool is_ul_asgn_recvd;
   kal_uint8 tbf_asgn_type;
   rmc_tbf_params_struct tbf_params;

   /* set this field as KAL_FALSE when either cellChangeFailure message has
    * been sent to MAC or to network when getting uplinkassignment of Single
    * Block */
   kal_bool is_cell_change_fail_msg_valid;
   pkt_cell_change_failure_msg pkt_cell_change_fail_msg;

   /* reselection related */
   /* RR cell Change Order */
   /* Vincent 030709: new timer check flags */
   kal_bool is_t3134_running;
   stack_timer_struct T3134;   /* reselection related *//* RR cell Change Order */

   kal_bool is_tma_timer_running;
   stack_timer_struct tma_timer; /* Two message assignment timer */

   kal_bool is_t3142_running;
   stack_timer_struct T3142; /* packet reject timer  */

   kal_bool is_t3146_running;
   stack_timer_struct T3146; /* max channel requests sent timer */

   kal_uint8  nw_ctrl_order_change; /* the flag is set when the network control order has changed*/

   /* Austin 031015: indicate rmpc is in second phase of two phase access or single block for
    * sending measurement report or PCCO failure */
   /* Vincent 040207 change the name */
   kal_bool is_single_blk_phase_in_progress;

#ifdef __ERICSSON_LAB_TESING__
   /* Austin 031106: for displaying received BA(GPRS) up to 64 neighbor cells in Ericsson's lab */
   kal_uint16 gprs_ba_list[64];
#endif /* end of __ERICSSON_LAB_TESING__ */

/*****************************************************************************
 * GPRS P-channel part  (added by Austin)
 *****************************************************************************/
   kal_bool is_pbcch_present;  /* the flag is set when pbcch is present in the serving cell */
   kal_bool is_pbcch_on_ccch_started;  /* the flag is set when serving cell pbcch monitoring on CCCH is started */
   kal_bool is_ncell_pbcch_started;  /* the flag is set when neighbor PBCCH reading is started */
   kal_bool is_resel_with_serv_monitor;  /* The falg is set when serv_cell monitoring is used for getting target cell
                                          * (p)si in cell reselection state (1. pcco 2. mac timer timeout) */
                                         /* Austin add (TBCK: the places to reset */

   /* Lanslo 20060913: for Columbia DL TMA for PDP ACT ACCEPT */
   kal_uint8 IA_rest_oct_bytes;                                
   /* eo Lanslo 20060913 */ 

#ifdef __EGPRS_MODE__
   rach_req_type_enum rach_req_type; /* Indicate whether CHANNEL REQUEST or 
                                      EGPRS PACKET CHANNEL REQUEST is used 
                                      to do packet access*/
/* Lanslo 20060410 */
ext_ra_struct extended_RA_in_IAR[4];                                
/* eo Lanslo 20060410 */                                      
#endif

#endif /* end of __GPRS_MODE__ */

/* Engineering Mode */
 ch_connect_ctrl_params_struct ch_desc;
 kal_bool is_valid_cbch;
 /* Henry add 040303, bug fix for GPRS CB procedure: GPRS use neighbor read SI4 */
 ch_connect_ctrl_params_struct target_ch_desc; 
 kal_bool is_valid_target_cbch;
#ifdef __CB__
/********************************************************************
 *      CB_CONTEXT start here :
 ********************************************************************/
  kal_uint8 cbch_state;               /* CB_STATE_ON/CB_STATE_OFF */
  kal_uint8 cbch_req;                 /* CBCH_START/CBCH_STOP */
  //kal_bool is_valid_cbch;
  kal_bool config_req_sent;
//  kal_bool is_valid_cbch_but_not_sent;
//  kal_bool monitor_ccch;
  kal_uint8 drx_mode[2];              /* CB_NO_DRX_MODE/CB_FIRST_DRX_MODE/
                                         CB_SECOND_DRX_MODE */
  kal_uint8 current_expect_block[2];  /* The current expected block number of
                                         each page, also used to refer to the
                                         offset of cbMsgPageContent[] */
  kal_uint8 page_data[2][CB_PAGE_SIZE]; /* To keep the current
                                         received CB message content */
  kal_uint8 msg_type1[2];             /* CB_CB_MESSAGE/CB_SCHEDULE_MESSAGE */
  kal_uint8 msg_type2[2];             /* CB_DWNLD/CB_DISPLAY */
  cb_mi_struct mi;
  cb_dcs_struct dcs;
  cb_received_history_struct rx_history;
  cb_schedule_data_struct schedule_data[2]; /* for Normal/Extended */
  kal_bool is_row_of_ch_des_valid;
  kal_uint8 row_of_ch_des[4];
  kal_bool is_row_of_ma_valid;
  kal_uint8 row_of_ma[6];
  kal_bool is_cbch_config_changed;
  kal_bool is_all_language_on;
  /* 031213 Henry, bug fix for multi-page CB */
  cbs_language_enum stored_lang_type;/*This is to store the lang_type of page1,
  because page2, page3, ... do not provide char1, char2, char3 to decode lang_type
  when coding group1, see ETSI03.38 */

  /*Byron: 2005/12/14: When the MS receives shedule CB for the first time, the MS should not use this schedule CB.
                                    Because the schedule CB message may say the CB message are all repeated, the MS may miss
                                    to receive the CB message if we use it for the first time.
                                    When the MS receives second schedule CB, the MS can use this schedule CB after then.*/
  scb_enum schedule_cb_status;
#endif

  kal_uint16 end_of_rmc_cntx;
}
rmc_context_struct;

#endif /* _RMC_CONTEXT_H  */


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -