FreeCalypso > hg > fc-magnetite
view cdg3/sap/mphc.pdf @ 516:1ed9de6c90bd
src/g23m-gsm/sms/sms_for.c: bogus malloc removed
The new error handling code that was not present in TCS211 blob version
contains a malloc call that is bogus for 3 reasons:
1) The memory allocation in question is not needed in the first place;
2) libc malloc is used instead of one of the firmware's proper ways;
3) The memory allocation is made inside a function and then never freed,
i.e., a memory leak.
This bug was caught in gcc-built FreeCalypso fw projects (Citrine
and Selenite) because our gcc environment does not allow any use of
libc malloc (any reference to malloc produces a link failure),
but this code from TCS3.2 is wrong even for Magnetite: if this code
path is executed repeatedly over a long time, the many small allocations
made by this malloc call without a subsequent free will eventually
exhaust the malloc heap provided by the TMS470 environment, malloc will
start returning NULL, and the bogus code will treat it as an error.
Because the memory allocation in question is not needed at all,
the fix entails simply removing it.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 22 Jul 2018 06:04:49 +0000 |
parents | c15047b3d00d |
children |
line wrap: on
line source
;******************************************************************************** ;*** File : mphc.pdf ;*** Creation : Wed Mar 11 09:58:30 CST 2009 ;*** XSLT Processor : Apache Software Foundation / http://xml.apache.org/xalan-j / supports XSLT-Ver: 1 ;*** Copyright : (c) Texas Instruments AG, Berlin Germany 2002 ;******************************************************************************** ;*** Document Type : Service Access Point Specification ;*** Document Name : mphc ;*** Document No. : 10.10.10.011 ;*** Document Date : 2003-04-03 ;*** Document Status: BEING_PROCESSED ;*** Document Author: MSB ;******************************************************************************** PRAGMA SRC_FILE_TIME "Thu Nov 29 09:49:44 2007" PRAGMA LAST_MODIFIED "2003-04-03" PRAGMA ID_AND_VERSION "10.10.10.011" CONST BA_LIST_SIZE 33 ; CONST MAX_NCELL_EOTD_L1 12 ; CONST MAX_NCELL 6 ; number of neighbour cells in measurement reports CONST MAX_CARRIERS 548 ; CONST BCCH_LIST_SIZE 32 ; CONST MAX_MEAS_VALUES 8 ; CONST MAX_L2_FRAME_SIZE 23 ; CONST MAX_MA_CARRIER 64 ; CONST MAX_SCHED_SIZE 10 ; CONST ADC_LIST_SIZE 5 ; CONST MAX_KC_STRING_SIZE 16 ; CONST NB_MAX_GSM_BANDS 12 %TI_PS_FF_QUAD_BAND_SUPPORT% ; number of maximum GSM bands VALTAB VAL_bs_pa_mfrms VAL 2 "2 Multiframe Periods" VAL 3 "3 Multiframe Periods" VAL 4 "4 Multiframe Periods" VAL 5 "5 Multiframe Periods" VAL 6 "6 Multiframe Periods" VAL 7 "7 Multiframe Periods" VAL 8 "8 Multiframe Periods" VAL 9 "9 Multiframe Periods" VALTAB VAL_bcch_combined VAL 0 COMB_CCCH_NOT_COMB "CCCH not combined with SDCCH" VAL 1 COMB_CCCH_COMB "CCCH combined with SDCCH" VALTAB VAL_ccch_group VAL 0 CCCH_GROUP_TS0 "equal to timeslot 0" VAL 1 CCCH_GROUP_TS2 "equal to timeslot 2" VAL 2 CCCH_GROUP_TS4 "equal to timeslot 4" VAL 3 CCCH_GROUP_TS6 "equal to timeslot 6" VALTAB VAL_page_block_index VAL 0 - 8 "for non-combined" VAL 0 - 2 "for combined" VALTAB VAL_page_mode VAL 0 PGM_NORMAL "Use normal paging" VAL 1 PGM_EXTENDED "Use extended paging" VAL 2 PGM_REORG "use reorganise paging" VALTAB VAL_modulus VAL 1 - 65536 "valid range for modulus" VAL 0 - 65535 "valid range for relative position" VALTAB VAL_radio_freq VAL 1 - 124 "Layer 1 Encoded Frequency" VAL 1 - 174 "Layer 1 Encoded Frequency" VAL 512 - 810 "Layer 1 Encoded Frequency" VAL 811 - 885 "Layer 1 Encoded Frequency" VAL 1 - 498 "Layer 1 Encoded Frequency" VAL 1 - 548 "Layer 1 Encoded Frequency" VAL 128 - 251 "Layer 1 Encoded Frequency" VAL 1 - 424 "Layer 1 Encoded Frequency" VALTAB VAL_l2_channel %!TI_DUAL_MODE% VAL 1 L2_CHANNEL_SACCH "SACCH block" VAL 2 L2_CHANNEL_SDCCH "SDCCH block" VAL 3 L2_CHANNEL_FACCH_H "FACCH halfrate block" VAL 4 L2_CHANNEL_FACCH_F "FACCH fullrate block" VAL 5 L2_CHANNEL_CCCH "CCCH block" VAL 6 L2_CHANNEL_NBCCH "normal BCCH block" VAL 7 L2_CHANNEL_PCH "PCH block" VAL 8 L2_CHANNEL_EPCH "extended PCH block" VAL 9 L2_CHANNEL_CBCH "CBCH block" VAL 10 L2_CHANNEL_EBCCH "extended BCCH" VALTAB VAL_error_flag VAL 0 VALID_BLOCK "valid block received" VAL 1 INVALID_BLOCK "invalid block received" VALTAB VAL_tc VAL 0 - 7 "valid range" VALTAB VAL_fn_offset VAL 0 - 2715647 "valid range" VALTAB VAL_time_alignment VAL 0 - 4999 "valid range" VALTAB VAL_timing_validity VAL 0 TV_INVALID_TIMING_INFO "timing info shall not be used, do full FB and SB detection" VAL 1 TV_APPROX_TIMING_INFO "timing info may be used, do full FB and SB detection" VAL 2 TV_VALID_TIMING_INFO "read SB based based on timing info (only for ncell)" VAL 3 TV_RTD_TIMING_INFO %REL99 AND TI_PS_FF_RTD% "Timing information is based on Real Time Difference information provided by the network for synchronized and non synchronized neighbor cell. Layer 1 shall carry out a full FB and SB detect but may delay the opening of the receive window based upon the fn_offset, time_alignment infor-mation supplied and the margin time due to un-known of exact OTD of the neighbor cell." VALTAB VAL_search_mode VAL 0 SM_WIDE_MODE "wideband capture and open-loop afc algorithm" VAL 1 SM_NARROW_MODE "narrowband capture and open-loop afc algorithm" VALTAB VAL_bsic VAL 0 - 63 "base station identification code" VALTAB VAL_tsc VAL 0 - 7 "type of sequence code" VALTAB VAL_bcch_blocks_required VAL 1 SI_NBLOCK_0 "TC 0 normal" VAL 2 SI_NBLOCK_1 "TC 1 normal" VAL 4 SI_NBLOCK_2 "TC 2 normal" VAL 8 SI_NBLOCK_3 "TC 3 normal" VAL 16 SI_NBLOCK_4 "TC 4 normal" VAL 32 SI_NBLOCK_5 "TC 5 normal" VAL 64 SI_NBLOCK_6 "TC 6 normal" VAL 128 SI_NBLOCK_7 "TC 7 normal" VAL 256 SI_EBLOCK_0 "TC 0 extended" VAL 512 SI_EBLOCK_1 "TC 1 extended" VAL 1024 SI_EBLOCK_2 "TC 2 extended" VAL 2048 SI_EBLOCK_3 "TC 3 extended" VAL 4096 SI_EBLOCK_4 "TC 4 extended" VAL 8192 SI_EBLOCK_5 "TC 5 extended" VAL 16384 SI_EBLOCK_6 "TC 6 extended" VAL 32768 SI_EBLOCK_7 "TC 7 extended" VAL 0x0002 NCELL_BCCH_SI_2 "PLMN Search" VAL 0x00CC NCELL_BCCH_SI_3_4 "Ncell BCCH" VAL 0x00CE NCELL_BCCH_SI_2_3_4 "PLMN Search" VAL 0x8844 NCELL_BCCH_SI_3_7_8 "Ncell BCCH" VALTAB VAL_channel_type VAL 1 CH_TCH_F "TCH/F" VAL 2 CH_TCH_H "TCH/H" VAL 3 CH_SDCCH_4 "SDCCH/4" VAL 4 CH_SDCCH_8 "SDCCH/8" VALTAB VAL_timeslot_no VAL 0 - 7 "timeslot number 0-7" VALTAB VAL_h VAL 0 NO_HOPPING "no hopping" VAL 1 HOPPING "hopping" VALTAB VAL_hsn VAL 0 - 63 "hopping sequence number" VALTAB VAL_maio VAL 0 - 63 "mobile allocation index offset" VALTAB VAL_cbch_select VAL 1 CBCH_READ_EXT "read extended CBCH" VAL 0 CBCH_READ_NORM "read normal CBCH" VALTAB VAL_schedule_length VAL 1 - 49 "length of the schedule period in blocks" VAL 0 CBCH_NO_SCHED "no scheduling provided" VALTAB VAL_tb_bitmap VAL 1 CBCH_NORM_BLOCK2 "norm block 2" VAL 2 CBCH_NORM_BLOCK3 "norm block 3" VAL 4 CBCH_NORM_BLOCK4 "norm block 4" VAL 8 CBCH_EXT_BLOCK2 "ext block 2" VAL 16 CBCH_EXT_BLOCK3 "ext block 3" VAL 32 CBCH_EXT_BLOCK4 "ext block 4" VAL 7 CBCH_NORM_BLOCK234 "request all blocks" VAL 56 CBCH_EXT_BLOCK234 "all ext blocks" VALTAB VAL_normal_cbch VAL 0 CBCH_DONT_STOP "dont stop cbch" VAL 1 CBCH_STOP "stop cbch" VALTAB VAL_txpwr VAL 0 - 31 "Coded as the binary representation of the power control level as defined in GSM 05.05 section 4.1 and is in the range 0 - 31." VALTAB VAL_powerclass_gsm VAL 1 POW_CLASS_1 "Class 1" VAL 2 POW_CLASS_2 "Class 2" VAL 3 POW_CLASS_3 "Class 3" VAL 4 POW_CLASS_4 "Class 4" VAL 5 POW_CLASS_5 "Class 5" VALTAB VAL_dtx_allowed VAL 0 DTX_NOTALLOWED "DTX is not allowed" VAL 1 DTX_ALLOWED "DTX is allowed" VALTAB VAL_pwrc VAL 0 PWRC_NOT_SET "PWRC is not set" VAL 1 PWRC_SET "PWRC is set" VALTAB VAL_channel_mode VAL 0 CM_SIGNALLING_ONLY "signalling only" VAL 1 CM_TCH_FS "TCH full rate speech" VAL 2 CM_TCH_HS "TCH half rate speech" VAL 3 CM_TCH_96 "TCH data 9600" VAL 4 CM_TCH_F_48 "TCH data full rate 4800" VAL 5 CM_TCH_H_48 "TCH data half rate 4800" VAL 6 CM_TCH_F_24 "TCH data full rate 2400" VAL 7 CM_TCH_H_24 "TCH data half rate 2400" VAL 8 CM_TCH_EFR "TCH" VAL 9 CM_TCH_144 "TCH" VAL 10 CM_TCH_AHS "TCH AMR half rate" VAL 11 CM_TCH_AFS "TCH AMR full rate" VALTAB VAL_cipher_mode VAL 0 CI_NO_CIPHERING "ciphering off" VAL 1 CI_CIPHERING "ciphering on" VALTAB VAL_a5_algorithm VAL 0 A5_1 "A5/1 algorithm" VAL 1 A5_2 "A5/2 algorithm" VAL 2 A5_3 "A5/3 algorithm" VAL 3 A5_4 "A5/4 algorithm" VAL 4 A5_5 "A5/5 algorithm" VAL 5 A5_6 "A5/6 algorithm" VAL 6 A5_7 "A5/7 algorithm" VALTAB VAL_cause VAL 0 HO_COMPLETE "success" VAL 1 HO_TIMEOUT "timeout" VAL 2 HO_SYNC_FAIL %REL99 AND FF_BHO% "BSIC error: Synchronization failure or BSIC mismatch (blind HO)" VALTAB VAL_nci VAL 0 HO_TA_OUT_IGNORED "timing advance out of range is ignored" VAL 1 HO_TA_OUT_NOT_IGNORED "timing advance out of range is not ignored" VALTAB VAL_timing_advance_valid VAL 0 HO_TA_NOT_VALID "timing advance information is not valid" VAL 1 HO_TA_VALID "timing advance information is valid" VALTAB VAL_dtx_used VAL 0 DTX_NOT_USED "DTX was not used" VAL 1 DTX_USED "DTX was used" VALTAB VAL_meas_valid VAL 0 MEAS_ARE_NOT_VALID "measurement values are not valid" VAL 1 MEAS_ARE_VALID "measurement values are valid" VALTAB VAL_bcch_freq VAL 1 - 124 "Layer 1 Encoded Frequency" VAL 1 - 174 "Layer 1 Encoded Frequency" VAL 512 - 810 "Layer 1 Encoded Frequency" VAL 512 - 885 "Layer 1 Encoded Frequency" VAL 1 - 498 "Layer 1 Encoded Frequency" VAL 1 - 548 "Layer 1 Encoded Frequency" VALTAB VAL_sub_channel VAL 0 - 3 "SDCCH/4" VAL 0 - 7 "SDCCH/8" VAL 0 - 1 "TCH/H" VAL 0 SUB_CH_0 "sub channel 0" VAL 1 SUB_CH_1 "sub channel 1" VALTAB VAL_frame_erasure VAL 0 TCH_LOOP_A "TCH loop A" VAL 1 TCH_LOOP_B "TCH loop B" VAL 2 TCH_LOOP_C "TCH loop C" VAL 3 TCH_LOOP_D "TCH loop D" VAL 4 TCH_LOOP_E "TCH loop E" VAL 5 TCH_LOOP_F "TCH loop F" VAL 6 TCH_LOOP_I "TCH loop I" VALTAB VAL_tested_device VAL 0 DAI_NO_TEST "no test" VAL 1 DAI_S_DEC "speech decoder" VAL 2 DAI_S_COD "speech coder" VAL 4 DAI_ACOUSTIC "acoustic tests" VALTAB VAL_sleep_mode VAL 0 NO_SLEEP "no sleep mode" VAL 1 SMALL_SLEEP "small sleep mode" VAL 2 BIG_SLEEP "big sleep mode" VAL 3 DEEP_SLEEP "deep sleep mode" VAL 4 ALL_SLEEP "all sleep modes" VALTAB VAL_Clocks VAL 1 CL_ARMIO "ARMIO_CLK" VAL 2 CL_RIFR "RIF_CLKR" VAL 4 CL_RIFX "RIF_CLKX" VAL 16 CL_RIF13 "RIF_CLK13" VAL 32 CL_NCLK "UWIRE_CLK" VAL 64 CL_SIM "SIM_CLK" VAL 128 CL_TSP "TSP_CLK" VAL 256 CL_TIMER "TIMER_CLK" VAL 512 CL_TPU "TPU_CLK" VAL 1024 CL_UART "UART_CLK" VAL 2048 CL_SW_CLOCK "SWITCH_IRQ_CLK" VALTAB VAL_sb_flag VAL 0 NO_SB_FOUND "synchron burst not found (fn_offset, time_alignment and bsic are not valid)" VAL 1 SB_FOUND "synchron burst found (fn_offset, time_alignment and bsic are valid" VALTAB VAL_gprs_prio VAL 0 GPRS_PRIO_TOP "Higher than serving cell" VAL 1 GPRS_PRIO_HIGH "Higher than normal ncell bcch reading" VAL 2 GPRS_PRIO_NORM "Normal" VALTAB VAL_radio_band_config VAL 1 STD_900 "GSM 900" VAL 2 STD_EGSM "extended GSM" VAL 3 STD_1900 "PCS 1900" VAL 4 STD_1800 "DCS 1800" VAL 5 STD_DUAL "GSM 900 / DCS 1800" VAL 6 STD_DUAL_EGSM "extended GSM / DCS 1800" VAL 7 STD_850 "GSM 850" VAL 8 STD_DUAL_US "GSM 850 / PCS 1900" VALTAB VAL_initial_codec_mode VAL 0 CODEC_MODE_1 "lowest codec mode" VAL 1 CODEC_MODE_2 "second lowest mode" VAL 2 CODEC_MODE_3 "third lowest mode" VAL 3 CODEC_MODE_4 "highest mode" VALTAB VAL_eodt_data_valid VAL 0 EOTD_NOT_PRES "EOTD data not present" VAL 1 EOTD_PRES "EOTD data present" VALTAB VAL_eotd VAL 0 NC_MON "neighbour cell monitoring" VAL 1 EOTD_MON "EOTD monitoring" VALTAB VAL_mode VAL 0 MODE_IDLE "idle" VAL 1 MODE_DEDIC "dedicated or packet transfer" VALTAB VAL_handover_type %REL99 AND FF_BHO% VAL 0 HOT_REGULAR %REL99 AND FF_BHO% "regular handover (time difference information provided)" VAL 1 HOT_BLIND %REL99 AND FF_BHO% "blind handover (cell not synchronized)" VAL 255 HOT_NONE %REL99 AND FF_BHO% "Invalid handover type" VALTAB VAL_radio_band %TI_PS_FF_QUAD_BAND_SUPPORT% VAL 0 RADIO_BAND_PGSM900 %TI_PS_FF_QUAD_BAND_SUPPORT% "PGSM 900" VAL 1 RADIO_BAND_GSM850 %TI_PS_FF_QUAD_BAND_SUPPORT% "GSM 850" VAL 2 RADIO_BAND_PCS1900 %TI_PS_FF_QUAD_BAND_SUPPORT% "PCS 1900" VAL 3 RADIO_BAND_DCS1800 %TI_PS_FF_QUAD_BAND_SUPPORT% "DCS 1800" VAL 4 RADIO_BAND_GSM750 %TI_PS_FF_QUAD_BAND_SUPPORT% "GSM 750" VAL 5 RADIO_BAND_GSM480 %TI_PS_FF_QUAD_BAND_SUPPORT% "GSM 480" VAL 6 RADIO_BAND_GSM450 %TI_PS_FF_QUAD_BAND_SUPPORT% "GSM 450" VAL 7 RADIO_BAND_T_GSM380 %TI_PS_FF_QUAD_BAND_SUPPORT% "T GSM 380" VAL 8 RADIO_BAND_T_GSM410 %TI_PS_FF_QUAD_BAND_SUPPORT% "T GSM 410" VAL 9 RADIO_BAND_T_GSM900 %TI_PS_FF_QUAD_BAND_SUPPORT% "T GSM 900" VAL 10 RADIO_BAND_EGSM900 %TI_PS_FF_QUAD_BAND_SUPPORT% "EGSM 900" VAL 11 RADIO_BAND_RGSM900 %TI_PS_FF_QUAD_BAND_SUPPORT% "RGSM 900" VAR param "dummy parameter" B VAR bs_pa_mfrms "Multiframe Period" B VAL @p_mphc - VAL_bs_pa_mfrms@ VAR bs_ag_blks_res "Blocks reserved for AGCH" B VAR bcch_combined "combined BCCH flag" B VAL @p_mphc - VAL_bcch_combined@ VAR ccch_group "CCCH group" B VAL @p_mphc - VAL_ccch_group@ VAR page_group "paging group" B VAR page_block_index "page block index" B VAL @p_mphc - VAL_page_block_index@ VAR page_mode "paging mode" B VAL @p_mphc - VAL_page_mode@ VAR schedule_array_size "number of channel numbers" B VAR modulus "modulo part" S VAL @p_mphc - VAL_modulus@ VAR relative_position "relative part" S VAR radio_freq "channel number" S VAL @p_mphc - VAL_radio_freq@ VAR l2_channel "layer 2 channel type" B VAL @p_mphc - VAL_l2_channel@ VAR error_flag "error cause" B VAL @p_mphc - VAL_error_flag@ VAR content "frame content" B VAR tc "multiframe number modulo 8" B VAL @p_mphc - VAL_tc@ VAR fn "frame number" L VAR fn_offset "frame offset" L VAL @p_mphc - VAL_fn_offset@ VAR time_alignment "Difference in quarter bits between the first bit in a frame of the serving cell and the first bit in the next frame of the non-serving cell. Validity of time_alignment dependent upon timing_validity indication. (0 - 4999)" L VAL @p_mphc - VAL_time_alignment@ VAR time_alignmnt "Difference in quarter bits between serving and handover destination cell (0 to 5000)" L VAL @p_mphc - VAL_time_alignment@ VAR timing_validity "timing validity" B VAL @p_mphc - VAL_timing_validity@ VAR search_mode "search mode" B VAL @p_mphc - VAL_search_mode@ VAR bsic "base station identification code" B VAL @p_mphc - VAL_bsic@ VAR radio_freq_array_size "Number of entries in the radio_freq_array within a stop request. When 6 (maximum number of requests to be served in parallel) are provided the message is interpreted as a complete process stop request." B VAR nbr_of_carriers "The number of cell carriers measured during the PCH block" B VAR num_of_chans "Number of valid carrier numbers contained in the BA list (chan_number) array (1 to 33)" B VAR rf_chan_cnt "number of channels in the mobile allocation list or number of bcch in the list" S VAR radio_freq_array "channel list" S VAR tsc "training sequence code" B VAL @p_mphc - VAL_tsc@ VAR bcch_blocks_required "sys info bitmap" S VAL @p_mphc - VAL_bcch_blocks_required@ VAR rxlev "The accumulated result of a power measurements. The signal strength units used are based on those described in GSM 05.08 (ETS 300 911) section 8.1.4. The measurements continue above 63 and below 0" B VAR s_rxlev "The serving cell received power level (average of the 4 PCH bursts read during the particular PCH block)." B VAR ba_id "band allocation identification" B VAR qual_acc_idle "accumulated rxqual meas. on different channels in Idle mode - error bits" L VAR qual_nbr_meas_idle "accumulated rxqual meas. on different channels in Idle mode - total number of bits decoded" L VAR next_radio_freq_measured "channel index" B VAR channel_type "SDCCH channel type" B VAL @p_mphc - VAL_channel_type@ VAR timeslot_no "timeslot number" B VAL @p_mphc - VAL_timeslot_no@ VAR h "hopping" B VAL @p_mphc - VAL_h@ VAR maio "mobile allocation index offset" B VAL @p_mphc - VAL_maio@ VAR hsn "hopping sequence number" B VAL @p_mphc - VAL_hsn@ VAR cbch_select "which cbch channel to read" B VAL @p_mphc - VAL_cbch_select@ VAR schedule_length "length of schedule period" B VAL @p_mphc - VAL_schedule_length@ VAR first_blocks_0 "Bitmap defining a set of blocks to be read during the schedule period. The bits represent the blocks as follows: bit MSB=31 -> block=32; bit LSB=0 -> block=1." L VAR first_blocks_1 "Bitmap defining a set of blocks to be read during the schedule period. The bits represent the blocks as follows: bit MSB=15 -> block=48; bit LSB=0 -> block=33." S VAR tb_bitmap "blocks to read" B VAL @p_mphc - VAL_tb_bitmap@ VAR normal_cbch "normal cbch" B VAL @p_mphc - VAL_normal_cbch@ VAR extended_cbch "extended cbch" B VAR txpwr "Indicates the power level which the mobile should use for transmission ." B VAL @p_mphc - VAL_txpwr@ VAR txpwr_used "TX power level currently used by L1 (For TEST MOBILE only)." B VAR rand "TDMA frames before sending RACH burst" B VAR channel_request "content of channel request message" B VAR powerclass_gsm "GSM power class of the MS." B VAL @p_mphc - VAL_powerclass_gsm@ VAR powerclass_dcs "DCS power class of the MS." B VAR timing_advance "timing advance" B VAR t1 "N32; named n32 in S922.doc" B VAR t3 "N51; named n51 in S922.doc" B VAR t2 "N26; named n26 in S922.doc" B VAR start_time_present "start time present" B VAR maio_bef_sti "MAIO used before starting time" B VAR dtx_allowed "DTX allowed" B VAL @p_mphc - VAL_dtx_allowed@ VAR pwrc "power control indicator" B VAL @p_mphc - VAL_pwrc@ VAR channel_mode "channel mode" B VAL @p_mphc - VAL_channel_mode@ VAR channel_mode_1 "channel mode" B VAR channel_mode_2 "channel mode" B VAR cipher_mode "cipher mode" B VAL @p_mphc - VAL_cipher_mode@ VAR a5_algorithm "A5 algorithm" B VAL @p_mphc - VAL_a5_algorithm@ VAR A "Kc values" B VAR ncc "national colour code" B VAR bcc "base station colour code" B VAR bcch_carrier "BCCH carrier" S VAR ho_acc "handover access" B VAR report_time_diff "time difference" B VAR cause "handover success" B VAL @p_mphc - VAL_cause@ VAR nci "normal cell indication" B VAL @p_mphc - VAL_nci@ VAR timing_advance_valid "timing advance information valid flag" B VAL @p_mphc - VAL_timing_advance_valid@ VAR dtx_used "DTX used flag" B VAL @p_mphc - VAL_dtx_used@ VAR meas_valid "measurement valid flag" B VAL @p_mphc - VAL_meas_valid@ VAR rxlev_full_acc "rxlevel full serving cell accumulated" S VAR rxlev_sub_acc "rxlevel sub serving cell accumulated" S VAR rxlev_full_nbr_meas "number of rxlevel full serving cell samples" B VAR rxlev_sub_nbr_meas "number of rxlevel sub serving cell samples" B VAR rxqual_full_acc_errors "rxqual full serving cell bit errors" S VAR rxqual_sub_acc_errors "rxlevel sub serving cell bit errors" S VAR rxqual_full_nbr_bits "number of examined bits for rxqual full serving cell" S VAR rxqual_sub_nbr_bits "number of examined bits for rxqual sub serving cell" S VAR no_of_ncells_meas "number of neighbour cell results" B VAR bcch_freq "channel number" S VAL @p_mphc - VAL_bcch_freq@ VAR rxlev_acc "accumulated rx level" S VAR rxlev_nbr_meas "nbr of rxlevel samples" B VAR sub_channel "sub channel" B VAL @p_mphc - VAL_sub_channel@ VAR frame_erasure "TCH loop type" B VAL @p_mphc - VAL_frame_erasure@ VAR tested_device "DAI test device" B VAL @p_mphc - VAL_tested_device@ VAR sleep_mode "sleep mode" B VAL @p_mphc - VAL_sleep_mode@ VAR Clocks "clock modules" S VAL @p_mphc - VAL_Clocks@ VAR sb_flag "Flag indicating whether synchronisation channel was read correctly or not" B VAL @p_mphc - VAL_sb_flag@ VAR shared_ptr "Pointer" L VAR adc_results "result" S VAR gprs_prio "Gprs priority" B VAL @p_mphc - VAL_gprs_prio@ VAR ccch_lev "Power strength level" B VAR radio_band_config "Bitmap of frequency bands" B VAL @p_mphc - VAL_radio_band_config@ VAR noise_suppression_control_bit "noise suppression control bit" B VAR initial_codec_mode_indicator "initial code mode indicator" B VAR initial_codec_mode "initial code mode" B VAL @p_mphc - VAL_initial_codec_mode@ VAR active_codec_set "active codec set" B VAR threshold "threshold" B VAR hysteresis "hysteresis" B VAR a_eotd_crosscor "Cross correlation" T VAR d_eotd_first "Delay to first correlation" T VAR d_eotd_max "Delay to maximum correlation" T VAR eodt_data_valid "EOTD data present" B VAL @p_mphc - VAL_eodt_data_valid@ VAR eotd "EOTD or neighbour cell monitoring" B VAL @p_mphc - VAL_eotd@ VAR list_size "1 up to 12 neighbour cells" B VAR mode "idle or dedicated mode" B VAL @p_mphc - VAL_mode@ VAR neigh_id "reserved" B VAR attempt "reserved" B VAR pm "reserved" L VAR toa "reserved" L VAR angle "reserved" L VAR snr "reserved" L VAR fn_sb_neigh "reserved" L VAR fn_in_sb "reserved" L VAR toa_correction "reserved" L VAR delta_fn "reserved" L VAR delta_qbit "reserved" L VAR facch_dl_count "reserved" B VAR facch_ul_count "reserved" B VAR d_eotd_nrj "sum of amplitudes" L VAR time_tag "Time tag" L VAR dsp_code_version "Version number of the DSP code" S VAR dsp_checksum "Checksum of DSP code" S VAR dsp_patch_version "Version number of the DSP patch code" S VAR mcu_alr_version "Version number of the MCU ALR code" S VAR mcu_gprs_version "Version number of the MCU GPRS code" S VAR mcu_tm_version "Version number of the Testmode" S VAR handover_type %REL99 AND FF_BHO% "handover type" B VAL @p_mphc - VAL_handover_type@ VAR rxlev_val_acc %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% "RXLEV accumuated on SACCH for EMR" T VAR rxlev_val_nbr_meas %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% "Number of rxlev_val measurements taken on serving cell" B VAR mean_bep_block_acc %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% "Accumulated value of Mean Bit Error Probability of a block taken over a reporting period." L VAR cv_bep_block_acc %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% "Accumulated value of coefficient of variation of BEP of a block taken over a reporting period." S VAR mean_bep_block_num %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% "Number of block used to accumulate the MEAN_BEPblock" S VAR cv_bep_block_num %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% "Number of block used to accumulate the CV_BEPblock" S VAR nbr_rcvd_blocks %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% "Number of correctly decoded block during a reporting period." B VAR radio_band %TI_PS_FF_QUAD_BAND_SUPPORT% "Radio Bands Supported" B VAR power_class %TI_PS_FF_QUAD_BAND_SUPPORT% "Power Class associated with each radio band" B COMP schedule_array "positional info" { modulus ; modulo part relative_position ; relative part } COMP l2_frame "layer 2 frame" { content [MAX_L2_FRAME_SIZE] ; frame content } COMP chan_list "channel list" { radio_freq [BA_LIST_SIZE] ; channel number } COMP result "measurement results" { radio_freq ; channel number rxlev ; rx level } COMP rf_channel "channel choice" { maio ; mobile allocation index offset hsn ; hopping sequence number } COMP chan_sel "channel selector" { h ; hopping rf_channel ; channel choice } COMP cbch_desc "CBCH channel description" { chan_sel ; channel selector channel_type ; SDCCH channel type sub_channel ; sub channel timeslot_no ; timeslot number tsc ; training sequence code } TYPEDEF COMP cbch_desc channel_desc "channel description" TYPEDEF COMP cbch_desc channel_desc_1 "channel description" TYPEDEF COMP cbch_desc channel_desc_2 "channel description" TYPEDEF COMP cbch_desc channel_desc_1_bef_sti "channel description before starting time" TYPEDEF COMP cbch_desc channel_desc_2_bef_sti "channel description before starting time" COMP rf_chan_no "channel list" { radio_freq [MAX_MA_CARRIER] ; channel number } COMP cbch_freq_list "CBCH frequency list" { rf_chan_cnt ; no of hopping channels rf_chan_no ; hopping channels } TYPEDEF COMP cbch_freq_list frequency_list "frequency list" TYPEDEF COMP cbch_freq_list frequency_list_bef_sti "frequency list before starting time" COMP start_time "starting time" { t1 ; N32; named n32 in S922.doc t3 ; N51; named n51 in S922.doc t2 ; N26; named n26 in S922.doc } COMP starting_time "starting time" { start_time_present ; start time present start_time ; starting time } COMP new_ciph_param "Cipher Key Kc" { A [MAX_KC_STRING_SIZE] ; Kc values } TYPEDEF COMP new_ciph_param cipher_key "encryption key" COMP cell_description "cell description" { ncc ; national colour code bcc ; base station colour code bcch_carrier ; BCCH carrier } COMP handover_command "Handover Command" { cell_description ; cell description channel_desc_1 ; channel description 1 channel_mode_1 ; channel mode 1 starting_time ; starting time ho_acc ; handover access txpwr ; handover power report_time_diff ; report time difference frequency_list ; frequency list channel_desc_2 ; channel description 2 channel_mode_2 ; channel mode 2 frequency_list_bef_sti ; frequency list before starting time channel_desc_1_bef_sti ; channel description 1 before starting time channel_desc_2_bef_sti ; channel description 2 before starting time cipher_mode ; cipher mode a5_algorithm ; A5 algorithm } COMP res_list "neighbour cell measurement results" { bcch_freq ; channel number rxlev_acc ; accumulated rx level rxlev_nbr_meas ; nbr of rxlevel samples } COMP ncell_meas "neighbour cell measurement results" { res_list [BA_LIST_SIZE] ; neighbour cell results } COMP chan_number "channel list" { radio_freq [BCCH_LIST_SIZE] ; channel number } COMP bcch_allocation "BCCH allocation" { rf_chan_cnt ; number of channels chan_number ; channel list } COMP amr_configuration "Parameters for AMR" { noise_suppression_control_bit ; noise suppression control bit initial_codec_mode_indicator ; initial code mode indicator initial_codec_mode ; initial code mode active_codec_set ; active codec set threshold [3] ; threshold hysteresis [3] ; hysteresis } COMP ncell_list "Parameters of a neighbour cell" { radio_freq ; channel number fn_offset ; frame offset time_alignment ; time alignment timing_validity ; timing validity } COMP RADIO_FRAME %!TI_DUAL_MODE% "Layer 2 frame" { content AS A [MAX_L2_FRAME_SIZE] ; Primitive structure element item } COMP multiband_power_class %TI_PS_FF_QUAD_BAND_SUPPORT% "Power Class information for multiple bands" { radio_band ; Radio Band power_class ; Power Class } ; MPHC_NETWORK_SYNC_REQ 0x000F ; MPHC_NETWORK_SYNC_IND 0x0010 ; MPHC_STOP_NETWORK_SYNC_REQ 0x0011 ; MPHC_STOP_NETWORK_SYNC_CON 0x0012 ; MPHC_START_CCCH_REQ 0x0015 ; MPHC_STOP_CCCH_REQ 0x0016 ; MPHC_STOP_CCCH_CON 0x0017 ; MPHC_SCELL_NBCCH_REQ 0x0018 ; MPHC_SCELL_EBCCH_REQ 0x0019 ; MPHC_STOP_SCELL_BCCH_REQ 0x001A ; MPHC_STOP_SCELL_BCCH_CON 0x001B ; MPHC_DATA_IND 0x0032 ; MPHC_NCELL_SYNC_REQ 0x0020 ; MPHC_NCELL_LIST_SYNC_REQ 0x007A ; MPHC_NCELL_SYNC_IND 0x0021 ; MPHC_STOP_NCELL_SYNC_REQ 0x0022 ; MPHC_STOP_NCELL_SYNC_CON 0x0023 ; MPHC_NCELL_BCCH_REQ 0x001C ; MPHC_NCELL_BCCH_IND 0x001D ; MPHC_STOP_NCELL_BCCH_REQ 0x001E ; MPHC_STOP_NCELL_BCCH_CON 0x001F ; MPHC_RXLEV_PERIODIC_REQ 0x0024 ; MPHC_RXLEV_PERIODIC_IND 0x0025 ; MPHC_STOP_RXLEV_PERIODIC_REQ 0x0026 ; MPHC_STOP_RXLEV_PERIODIC_CON 0x0027 ; MPHC_RXLEV_REQ 0x000B ; MPHC_RXLEV_IND 0x000C ; MPHC_STOP_RXLEV_REQ 0x000D ; MPHC_STOP_RXLEV_CON 0x000E ; MPHC_CONFIG_CBCH_REQ 0x0028 ; MPHC_CBCH_SCHEDULE_REQ 0x0029 ; MPHC_CBCH_INFO_REQ 0x002B ; MPHC_CBCH_UPDATE_REQ 0x002A ; MPHC_STOP_CBCH_REQ 0x002C ; MPHC_STOP_CBCH_CON 0x002D ; MPHC_NEW_SCELL_REQ 0x0013 ; MPHC_NEW_SCELL_CON 0x0014 ; MPHC_RA_REQ 0x002E ; MPHC_RA_CON 0x002F ; MPHC_STOP_RA_REQ 0x0030 ; MPHC_STOP_RA_CON 0x0031 ; MPHC_IMMED_ASSIGN_REQ 0x0033 ; MPHC_IMMED_ASSIGN_CON 0x003F ; MPHC_CHANNEL_ASSIGN_REQ 0x0034 ; MPHC_CHANNEL_ASSIGN_CON 0x003C ; MPHC_ASYNC_HO_REQ 0x0035 ; MPHC_ASYNC_HO_CON 0x003B ; MPHC_HANDOVER_FINISHED 0x0044 ; MPHC_SYNC_HO_REQ 0x0036 ; MPHC_SYNC_HO_CON 0x0042 ; MPHC_TA_FAIL_IND 0x0043 ; MPHC_PRE_SYNC_HO_REQ 0x0037 ; MPHC_PRE_SYNC_HO_CON 0x0040 ; MPHC_HANDOVER_FAIL_REQ 0x0047 ; MPHC_HANDOVER_FAIL_CON 0x003E ; MPHC_CHANGE_FREQUENCY 0x0045 ; MPHC_CHANGE_FREQUENCY_CON 0x003A ; MPHC_CHANNEL_MODE_MODIFY_REQ 0x0046 ; MPHC_CHANNEL_MODE_MODIFY_CON 0x003D ; MPHC_SET_CIPHERING_REQ 0x0048 ; MPHC_SET_CIPHERING_CON 0x0041 ; MPHC_MEAS_REPORT 0x0049 ; MPHC_UPDATE_BA_LIST 0x004A ; MPHC_STOP_DEDICATED_REQ 0x0039 ; MPHC_NCELL_FB_SB_READ 0x004B ; MPHC_NCELL_SB_READ 0x004C ; OML1_CLOSE_TCH_LOOP_REQ 0x0061 ; OML1_CLOSE_TCH_LOOP_CON 0x0065 ; OML1_OPEN_TCH_LOOP_REQ 0x0062 ; OML1_OPEN_TCH_LOOP_CON 0x0066 ; OML1_START_DAI_TEST_REQ 0x0063 ; OML1_START_DAI_TEST_CON 0x0067 ; OML1_STOP_DAI_TEST_REQ 0x0064 ; OML1_STOP_DAI_TEST_CON 0x0068 ; TST_SLEEP_REQ 0x0004 ; MPHC_ADC_IND 0x0069 ; MPHC_INIT_L1_REQ 0x0072 ; MPHC_INIT_L1_CON 0x0073 ; MPHC_DEACTIVATE_REQ 0x006E ; TST_TEST_HW_REQ 0x0001 ; TST_TEST_HW_CON 0x0002 ; PH_DATA_IND 0x006D ; MPHC_STOP_DEDICATED_CON 0x0080 PRIM MPHC_NETWORK_SYNC_REQ 0x000F { radio_freq ; channel number fn_offset ; frame offset time_alignment ; time alignment timing_validity ; timing validity search_mode ; search mode } PRIM MPHC_NETWORK_SYNC_IND 0x0010 { radio_freq ; channel number sb_flag ; valid flag fn_offset ; frame offset time_alignment ; time alignment bsic ; base station identity code } PRIM MPHC_STOP_NETWORK_SYNC_REQ 0x0011 { param ; dummy parameter } PRIM MPHC_STOP_NETWORK_SYNC_CON 0x0012 { param ; dummy parameter } PRIM MPHC_START_CCCH_REQ 0x0015 { bs_pa_mfrms ; Multiframe period bs_ag_blks_res ; BS AG BLOCKS reserved bcch_combined ; BCCH combined ccch_group ; CCCH group page_group ; paging group page_block_index ; page block index page_mode ; page mode } PRIM MPHC_STOP_CCCH_REQ 0x0016 { param ; dummy parameter } PRIM MPHC_STOP_CCCH_CON 0x0017 { param ; dummy parameter } PRIM MPHC_SCELL_NBCCH_REQ 0x0018 { schedule_array_size ; number of elements in schedule array schedule_array [MAX_SCHED_SIZE] ; schedule array } PRIM MPHC_SCELL_EBCCH_REQ 0x0019 { schedule_array_size ; number of elements in schedule array schedule_array [MAX_SCHED_SIZE] ; schedule array } PRIM MPHC_STOP_SCELL_BCCH_REQ 0x001A { param ; dummy parameter } PRIM MPHC_STOP_SCELL_BCCH_CON 0x001B { param ; dummy parameter } PRIM MPHC_DATA_IND 0x0032 { radio_freq ; channel number l2_channel ; layer 2 channel type error_flag ; error cause l2_frame ; layer 2 frame tc ; multiframe number ccch_lev ; CCCH Level fn ; frame number } PRIM MPHC_NCELL_SYNC_REQ 0x0020 { radio_freq ; channel number fn_offset ; frame offset time_alignment ; time alignment timing_validity ; timing validity } PRIM MPHC_NCELL_LIST_SYNC_REQ 0x007A { eotd ; EOTD monitoring list_size ; List Size ncell_list [MAX_NCELL_EOTD_L1] ; Neighbour Cell List } PRIM MPHC_NCELL_SYNC_IND 0x0021 { radio_freq ; channel number sb_flag ; valid flag fn_offset ; frame offset time_alignment ; time alignment bsic ; base station identity code neigh_id ; Reserved attempt ; Reserved pm ; Reserved toa ; Reserved angle ; Reserved snr ; Reserved eodt_data_valid ; EOTD Data valid mode ; Mode d_eotd_first ; Delay to first correlation d_eotd_max ; Delay to maximum correlation d_eotd_nrj ; Sum of Amplitudes a_eotd_crosscor [18] ; Cross correlation time_tag ; Time tag fn_sb_neigh ; Reserved fn_in_sb ; Reserved toa_correction ; Reserved delta_fn ; Reserved delta_qbit ; Reserved } PRIM MPHC_STOP_NCELL_SYNC_REQ 0x0022 { radio_freq_array_size ; number of channels radio_freq_array [MAX_NCELL_EOTD_L1] ; channel list } PRIM MPHC_STOP_NCELL_SYNC_CON 0x0023 { param ; dummy parameter } PRIM MPHC_NCELL_BCCH_REQ 0x001C { radio_freq ; channel number fn_offset ; frame offset time_alignment ; time alignment tsc ; training sequence code bcch_blocks_required ; sys info bitmap gprs_prio ; GPRS Priority } PRIM MPHC_NCELL_BCCH_IND 0x001D { radio_freq ; channel number l2_channel ; layer 2 channel type error_flag ; error cause l2_frame ; layer 2 frame tc ; multiframe number fn ; frame number } PRIM MPHC_STOP_NCELL_BCCH_REQ 0x001E { radio_freq_array_size ; number of channels radio_freq_array [6] ; channel list } PRIM MPHC_STOP_NCELL_BCCH_CON 0x001F { param ; dummy parameter } PRIM MPHC_RXLEV_PERIODIC_REQ 0x0024 { chan_list ; channel list num_of_chans ; number of channels ba_id ; band ID next_radio_freq_measured ; next channel } PRIM MPHC_RXLEV_PERIODIC_IND 0x0025 { result [MAX_MEAS_VALUES] ; measurement results nbr_of_carriers ; number of channels s_rxlev ; serving cell rxlev ba_id ; band ID qual_acc_idle ; Primitive Item qual_nbr_meas_idle ; Primitive Item } PRIM MPHC_STOP_RXLEV_PERIODIC_REQ 0x0026 { param ; dummy parameter } PRIM MPHC_STOP_RXLEV_PERIODIC_CON 0x0027 { param ; dummy parameter } PRIM MPHC_RXLEV_REQ 0x000B { shared_ptr ; pointer to measurements } PRIM MPHC_RXLEV_IND 0x000C { shared_ptr ; pointer to measurements } PRIM MPHC_STOP_RXLEV_REQ 0x000D { param ; dummy parameter } PRIM MPHC_STOP_RXLEV_CON 0x000E { param ; dummy parameter } PRIM MPHC_CONFIG_CBCH_REQ 0x0028 { cbch_desc ; CBCH channel description cbch_freq_list ; Frequency list } PRIM MPHC_CBCH_SCHEDULE_REQ 0x0029 { cbch_select ; extended cbch flag schedule_length ; length of schedule period first_blocks_0 ; block bitmap first_blocks_1 ; block bitmap cont. } PRIM MPHC_CBCH_INFO_REQ 0x002B { tb_bitmap ; block bitmap } PRIM MPHC_CBCH_UPDATE_REQ 0x002A { cbch_select ; extended cbch flag first_blocks_0 ; block bitmap first_blocks_1 ; block bitmap cont. } PRIM MPHC_STOP_CBCH_REQ 0x002C { normal_cbch ; normal cbch extended_cbch ; extended cbch } PRIM MPHC_STOP_CBCH_CON 0x002D { param ; dummy parameter } PRIM MPHC_NEW_SCELL_REQ 0x0013 { radio_freq ; channel number fn_offset ; frame offset time_alignment ; time alignment tsc ; training sequence code } PRIM MPHC_NEW_SCELL_CON 0x0014 { param ; dummy parameter } PRIM MPHC_RA_REQ 0x002E { txpwr ; Power level rand ; Delay channel_request ; channel request powerclass_gsm %!TI_PS_FF_QUAD_BAND_SUPPORT% ; GSM power class powerclass_dcs %!TI_PS_FF_QUAD_BAND_SUPPORT% ; DCS power class } PRIM MPHC_RA_CON 0x002F { fn ; frame number channel_request ; channel request } PRIM MPHC_STOP_RA_REQ 0x0030 { param ; dummy parameter } PRIM MPHC_STOP_RA_CON 0x0031 { param ; dummy parameter } PRIM MPHC_IMMED_ASSIGN_REQ 0x0033 { channel_desc ; channel description timing_advance ; timing advance frequency_list ; frequency list starting_time ; starting time frequency_list_bef_sti ; frequency list before starting time maio_bef_sti ; Maio before starting time dtx_allowed ; DTX allowed bcch_allocation ; BCCH allocation ba_id ; band indicator pwrc ; power control indicator } PRIM MPHC_IMMED_ASSIGN_CON 0x003F { param ; dummy parameter } PRIM MPHC_CHANNEL_ASSIGN_REQ 0x0034 { channel_desc_1 ; channel description 1 channel_mode_1 ; channel mode 1 txpwr ; TX power frequency_list ; frequency list starting_time ; starting time channel_desc_2 ; channel description 2 channel_mode_2 ; channel mode 2 frequency_list_bef_sti ; frequency list before starting time channel_desc_1_bef_sti ; channel description 1 before starting time channel_desc_2_bef_sti ; channel description 2 before starting time cipher_mode ; cipher mode a5_algorithm ; A5 algorithm cipher_key ; encryption key dtx_allowed ; DTX allowed flag amr_configuration ; AMR configuration } PRIM MPHC_CHANNEL_ASSIGN_CON 0x003C { param ; dummy parameter } PRIM MPHC_ASYNC_HO_REQ 0x0035 { handover_command ; handover parameter fn_offset ; frame offset time_alignmnt ; time alignment cipher_key ; encryption key amr_configuration ; AMR configuration handover_type %REL99 AND FF_BHO% ; handover type } PRIM MPHC_ASYNC_HO_CON 0x003B { param ; dummy parameter } PRIM MPHC_HANDOVER_FINISHED 0x0044 { cause ; success indication fn_offset %REL99 AND FF_BHO% ; Valid for BHO only time_alignment %REL99 AND FF_BHO% ; Valid for BHO only } PRIM MPHC_SYNC_HO_REQ 0x0036 { handover_command ; handover parameter fn_offset ; frame offset time_alignmnt ; time alignment cipher_key ; encryption key nci ; normal cell indication amr_configuration ; AMR configuration handover_type %REL99 AND FF_BHO% ; Handover type } PRIM MPHC_SYNC_HO_CON 0x0042 { param ; dummy parameter } PRIM MPHC_TA_FAIL_IND 0x0043 { param ; dummy parameter } PRIM MPHC_PRE_SYNC_HO_REQ 0x0037 { handover_command ; handover parameter fn_offset ; frame offset time_alignmnt ; time alignment cipher_key ; encryption key nci ; normal cell indication timing_advance_valid ; timing advance valid timing_advance ; timing advance amr_configuration ; AMR configuration handover_type %REL99 AND FF_BHO% ; Handover type } PRIM MPHC_PRE_SYNC_HO_CON 0x0040 { param ; dummy parameter } PRIM MPHC_HANDOVER_FAIL_REQ 0x0047 { param ; dummy parameter } PRIM MPHC_HANDOVER_FAIL_CON 0x003E { param ; dummy parameter } PRIM MPHC_CHANGE_FREQUENCY 0x0045 { channel_desc ; channel description frequency_list ; frequency list starting_time ; starting time } PRIM MPHC_CHANGE_FREQUENCY_CON 0x003A { param ; dummy parameter } PRIM MPHC_CHANNEL_MODE_MODIFY_REQ 0x0046 { sub_channel ; change sub channel; The parameter defines the sub channel for halfrate operation channel_mode ; channel mode amr_configuration ; AMR configuration } PRIM MPHC_CHANNEL_MODE_MODIFY_CON 0x003D { param ; dummy parameter } PRIM MPHC_SET_CIPHERING_REQ 0x0048 { cipher_mode ; cipher mode a5_algorithm ; A5 algorithm new_ciph_param ; ciphering key } PRIM MPHC_SET_CIPHERING_CON 0x0041 { param ; dummy parameter } PRIM MPHC_MEAS_REPORT 0x0049 { dtx_used ; DTX used meas_valid ; measurements valid rxlev_full_acc ; rxlev full serving cell rxlev_full_nbr_meas ; number of full serving cell samples rxlev_sub_acc ; rxlev sub serving cell rxlev_sub_nbr_meas ; number of sub serving cell samples rxqual_full_acc_errors ; rxqual full serving cell rxqual_full_nbr_bits ; number of full serving cell samples rxqual_sub_acc_errors ; rxqual sub serving cell rxqual_sub_nbr_bits ; number of sub serving cell samples no_of_ncells_meas ; number of neighbour cells ncell_meas ; neighbour cell measurement values ba_id ; band indication timing_advance ; timing advance txpwr_used ; txpwr used rxlev_val_acc %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% ; Accumulated RXLEVEL_VAL measurements rxlev_val_nbr_meas %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% ; Number of rxlev_val measurements taken on serving cell mean_bep_block_acc %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% ; Accumulated value of Mean BEP of a block cv_bep_block_acc %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% ; Accumulated value of coefficient of variation of BEP mean_bep_block_num %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% ; Number of block used to accumulate the MEAN_BEP cv_bep_block_num %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% ; Number of block used to accumulate the CV_BEP nbr_rcvd_blocks %REL99 AND (TI_PS_FF_EMR OR TI_PS_FF_RTD)% ; Number of correctly decoded block during a reporting period. facch_dl_count ; FACCH downlink count facch_ul_count ; FACCH uplink count } PRIM MPHC_UPDATE_BA_LIST 0x004A { num_of_chans ; number of channels chan_list ; channel list pwrc ; power control indicator dtx_allowed ; DTX allowed ba_id ; band indication } PRIM MPHC_STOP_DEDICATED_REQ 0x0039 { param ; dummy parameter } PRIM MPHC_NCELL_FB_SB_READ 0x004B { radio_freq ; channel number } PRIM MPHC_NCELL_SB_READ 0x004C { sb_flag ; SB flag radio_freq ; channel number bsic ; base station identification code fn_offset ; frame offset time_alignmnt ; time alignment } PRIM OML1_CLOSE_TCH_LOOP_REQ 0x0061 { sub_channel ; loop sub channel; The parameter defines the sub channel for halfrate operation frame_erasure ; frame erasure } PRIM OML1_CLOSE_TCH_LOOP_CON 0x0065 { param ; dummy parameter } PRIM OML1_OPEN_TCH_LOOP_REQ 0x0062 { param ; dummy parameter } PRIM OML1_OPEN_TCH_LOOP_CON 0x0066 { param ; dummy parameter } PRIM OML1_START_DAI_TEST_REQ 0x0063 { tested_device ; tested device } PRIM OML1_START_DAI_TEST_CON 0x0067 { param ; dummy parameter } PRIM OML1_STOP_DAI_TEST_REQ 0x0064 { param ; dummy parameter } PRIM OML1_STOP_DAI_TEST_CON 0x0068 { param ; dummy parameter } PRIM TST_SLEEP_REQ 0x0004 { sleep_mode ; sleep mode Clocks ; clocks } PRIM MPHC_ADC_IND 0x0069 { adc_results [9] ; adc results } PRIM MPHC_INIT_L1_REQ 0x0072 { radio_band_config %!TI_PS_FF_QUAD_BAND_SUPPORT% ; radio band configuration param %TI_PS_FF_QUAD_BAND_SUPPORT% ; Dummy Parameter } PRIM MPHC_INIT_L1_CON 0x0073 { param %!TI_PS_FF_QUAD_BAND_SUPPORT% ; dummy parameter multiband_power_class [NB_MAX_GSM_BANDS] %TI_PS_FF_QUAD_BAND_SUPPORT% ; Bands Supported and respective power class } PRIM MPHC_DEACTIVATE_REQ 0x006E { param ; dummy parameter } PRIM TST_TEST_HW_REQ 0x0001 { param ; dummy parameter } PRIM TST_TEST_HW_CON 0x0002 { dsp_code_version ; Version number of the DSP code dsp_checksum ; Checksum of DSP code dsp_patch_version ; Version number of the DSP patch code mcu_alr_version ; Version number of the MCU ALR code mcu_gprs_version ; Version number of the MCU GPRS code mcu_tm_version ; Version number of the Testmode } PRIM PH_DATA_IND 0x006D { radio_freq AS rf_chan_num ; Channel (radio_freq) that block was read on l2_channel AS l2_channel_type ; Indicates the MF51 block type read (enum type), maps to l1s msg signal code error_flag AS error_cause ; Indicates if l2_frame data is invalid RADIO_FRAME AS l2_frame ; Layer 2 frame bsic ; Base station identification code tc ; multiframe number modulo 8 } PRIM MPHC_STOP_DEDICATED_CON 0x0080 { param ; dummy }