FreeCalypso > hg > fc-tourmaline
view cdg-hybrid/cdginc/m_rr_com.h @ 275:79cfefc1e2b4
audio mode load: gracefully handle mode files of wrong AEC version
Unfortunately our change of enabling L1_NEW_AEC (which is necessary
in order to bring our Calypso ARM fw into match with the underlying
DSP reality) brings along a change in the audio mode file binary
format and file size - all those new tunable AEC parameters do need
to be stored somewhere, after all. But we already have existing
mode files in the old format, and setting AEC config to garbage when
loading old audio modes (which is what would happen without the
present change) is not an appealing proposition.
The solution implemented in the present change is as follows: the
audio mode loading code checks the file size, and if it differs
from the active version of T_AUDIO_MODE, the T_AUDIO_AEC_CFG structure
is cleared - set to the default (disabled AEC) for the compiled type
of AEC. We got lucky in that this varying T_AUDIO_AEC_CFG structure
sits at the end of T_AUDIO_MODE!
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 30 Jul 2021 02:55:48 +0000 |
parents | 35f7a1dc9f7d |
children |
line wrap: on
line source
/* +--------------------------------------------------------------------------+ | PROJECT : PROTOCOL STACK | | FILE : m_rr_com.h | | SOURCE : "msg\rr_com.mdf" | | LastModified : "2004-01-16" | | IdAndVersion : "8010.606.02.008" | | SrcFileTime : "Wed Nov 28 10:20:42 2007" | | Generated by CCDGEN_2.5.5A on Fri Oct 14 21:41:52 2016 | | !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!! | +--------------------------------------------------------------------------+ */ /* PRAGMAS * PREFIX : NONE * COMPATIBILITY_DEFINES : NO (require PREFIX) * ALWAYS_ENUM_IN_VAL_FILE: NO * ENABLE_GROUP: NO * CAPITALIZE_TYPENAME: NO * CCDNAME: RR_COM */ #ifndef M_RR_COM_H #define M_RR_COM_H #define CDG_ENTER__M_RR_COM_H #define CDG_ENTER__FILENAME _M_RR_COM_H #define CDG_ENTER__M_RR_COM_H__FILE_TYPE CDGINC #define CDG_ENTER__M_RR_COM_H__LAST_MODIFIED _2004_01_16 #define CDG_ENTER__M_RR_COM_H__ID_AND_VERSION _8010_606_02_008 #define CDG_ENTER__M_RR_COM_H__SRC_FILE_TIME _Wed_Nov_28_10_20_42_2007 #include "CDG_ENTER.h" #undef CDG_ENTER__M_RR_COM_H #undef CDG_ENTER__FILENAME #include "m_rr_com.val" #ifndef __T_a5_bits__ #define __T_a5_bits__ /* * A5 bits * CCDGEN:WriteStruct_Count==1 */ typedef struct { U8 a5_1; /*< 0: 1> A5/1; Encryption algorithm A5/1. Note inverse logic for the A5/1 encryption algorithm between classmark 1 and 2 on the one hand (available=0 or not=1) and radio access capability on the other hand (available=1 or not=0). */ U8 a5_2; /*< 1: 1> A5/2; Encryption algorithm A5/2 available (1) or not (0) */ U8 a5_3; /*< 2: 1> A5/3; Encryption algorithm A5/3 available (1) or not (0) */ U8 a5_4; /*< 3: 1> A5/4; Encryption algorithm A5/4 available (1) or not (0) */ U8 a5_5; /*< 4: 1> A5/5; Encryption algorithm A5/5 available (1) or not (0) */ U8 a5_6; /*< 5: 1> A5/6; Encryption algorithm A5/6 available (1) or not (0) */ U8 a5_7; /*< 6: 1> A5/7; Encryption algorithm A5/7 available (1) or not (0) */ U8 _align0; /*< 7: 1> alignment */ } T_a5_bits; #endif // STRUCT-FF: REL99 // #ifndef __T_acc_tech_req__ // #define __T_acc_tech_req__ // // Access Technologies Request // CCDGEN:WriteStruct_Count==2 // // typedef struct // { // U8 v_acc_tech_typ; /*< 0: 1> valid-flag */ // U8 c_acc_tech_typ; /*< 1: 1> counter */ // U8 acc_tech_typ[MAX_NUM_ACC_TYPE]; /*< 2: 16> Access Technology Type */ // U8 _align0; /*< 18: 1> alignment */ // U8 _align1; /*< 19: 1> alignment */ // } T_acc_tech_req; // #endif // // STRUCT-FF: REL99 // #ifndef __T_add_acc_tech_elem__ // #define __T_add_acc_tech_elem__ // // Additonal Access Technologies Element // CCDGEN:WriteStruct_Count==3 // // typedef struct // { // U8 acc_tech_typ; /*< 0: 1> Access Technology Type */ // U8 pow_class; /*< 1: 1> RF Power Capability */ // U8 pow_8psk_cap; /*< 2: 1> 8-PSK Power Capability */ // U8 _align0; /*< 3: 1> alignment */ // } T_add_acc_tech_elem; // #endif // // STRUCT-FF: REL99 // #ifndef __T_add_acc_tech__ // #define __T_add_acc_tech__ // // Additonal Access Technologies // CCDGEN:WriteStruct_Count==4 // // typedef struct // { // U8 v_add_acc_tech_elem; /*< 0: 0> valid-flag */ // // U8 c_add_acc_tech_elem; /*< 0: 0> counter */ // // T_add_acc_tech_elem add_acc_tech_elem[MAX_ADD_RA_CAP]; /*< 0: 0> Additonal Access Technologies Element */ // } T_add_acc_tech; // #endif // // STRUCT-FF: REL99 // #ifndef __T_bsic_struct__ // #define __T_bsic_struct__ // // BSIC Structure // CCDGEN:WriteStruct_Count==5 // // typedef struct // { // ELEM-FF: REL99 // U8 freq_scroll; /*< 0: 0> Frequency Scrolling */ // U8 bsic; /*< 0: 1> BSIC */ // U8 _align0; /*< 1: 1> alignment */ // U8 _align1; /*< 2: 1> alignment */ // U8 _align2; /*< 3: 1> alignment */ // } T_bsic_struct; // #endif // // STRUCT-FF: REL99 // #ifndef __T_gprs_bsic__ // #define __T_gprs_bsic__ // // GPRS BSIC Description // CCDGEN:WriteStruct_Count==6 // // typedef struct // { // U8 v_ba_start_bsic; /*< 0: 1> valid-flag */ // U8 ba_start_bsic; /*< 1: 1> BA Index Start BSIC */ // U8 bsic; /*< 2: 1> BSIC */ // ELEM-FF: REL99 // U8 rem_bsic; /*< 0: 0> Number Remaining BSIC */ // U8 c_bsic_struct; /*< 0: 0> counter */ // // T_bsic_struct bsic_struct[MAX_BSIC]; /*< 0: 0> BSIC Structure */ // U8 _align0; /*< 3: 1> alignment */ // } T_gprs_bsic; // #endif // #ifndef __T_mob_class_1__ #define __T_mob_class_1__ /* * Mobile Station Classmark 1 * CCDGEN:WriteStruct_Count==7 */ typedef struct { U8 rev_lev; /*< 0: 1> Revision Level */ U8 es_ind; /*< 1: 1> Early Classmark Sending; 'controlled early classmark sending' option is implemented (1) or not (0) in the MS */ U8 a5_1; /*< 2: 1> A5/1; Encryption algorithm A5/1. Note inverse logic for the A5/1 encryption algorithm between classmark 1 and 2 on the one hand (available=0 or not=1) and radio access capability on the other hand (available=1 or not=0). */ U8 rf_pow_cap; /*< 3: 1> RF power capability */ } T_mob_class_1; #endif #ifndef __T_mob_class_2__ #define __T_mob_class_2__ /* * Mobile Station Classmark 2 * CCDGEN:WriteStruct_Count==8 */ typedef struct { U8 rev_lev; /*< 0: 1> Revision Level */ U8 es_ind; /*< 1: 1> Early Classmark Sending; 'controlled early classmark sending' option is implemented (1) or not (0) in the MS */ U8 a5_1; /*< 2: 1> A5/1; Encryption algorithm A5/1. Note inverse logic for the A5/1 encryption algorithm between classmark 1 and 2 on the one hand (available=0 or not=1) and radio access capability on the other hand (available=1 or not=0). */ U8 rf_pow_cap; /*< 3: 1> RF power capability */ U8 ps; /*< 4: 1> Pseudo Synchronisation capability; Pseudo synchronisation capabilty is present (1) or not (0) */ U8 ss_screen; /*< 5: 1> SS Screening Indicator */ U8 mt_pp_sms; /*< 6: 1> Short Message capability; MS does supports (1) MT point to point SMS or not (0) */ U8 vbs; /*< 7: 1> Voice Broadcast Service; VBS capability and notification wanted (1) or not (0) */ U8 vgcs; /*< 8: 1> Voice Group Call Service; VGCS capability and notification wanted (1) or not (0) */ U8 egsm; /*< 9: 1> Frequency capability */ U8 class3; /*< 10: 1> Classmark 3; The MS supports options that are indicated in classmark 3 (1) or it does not support any classmark 3 options (0) */ U8 lcsva; /*< 11: 1> LCSVA capability; LCS value added location request notification supported (1) or not (0) */ U8 ucs2_treat; /*< 12: 1> UCS2 treatment */ U8 solsa; /*< 13: 1> SoLSA Supported; MS does supports SoLSA (1) or not (0) */ U8 cmsp; /*< 14: 1> CMSP Supported; MS does supports (1) CM service Prompt (network initiated MO CM connection request) or not (0) */ U8 a5_3; /*< 15: 1> A5/3; Encryption algorithm A5/3 available (1) or not (0) */ U8 a5_2; /*< 16: 1> A5/2; Encryption algorithm A5/2 available (1) or not (0) */ U8 _align0; /*< 17: 1> alignment */ U8 _align1; /*< 18: 1> alignment */ U8 _align2; /*< 19: 1> alignment */ } T_mob_class_2; #endif #ifndef __T_dtm_ms__ #define __T_dtm_ms__ /* * DTM Multislot Structure * CCDGEN:WriteStruct_Count==9 */ typedef struct { U8 dtm_g_ms_class; /*< 0: 1> DTM GPRS Multi Slot Sub-Class */ U8 mac_support; /*< 1: 1> MAC Mode support; MS does supports dynamice and fixed allocation (1) or only exclusive allocation (0) */ U8 v_dtm_e_ms_class; /*< 2: 1> valid-flag */ U8 dtm_e_ms_class; /*< 3: 1> DTM EGPRS Multi Slot Sub-Class; only if the MS supports EGPRS DTM */ } T_dtm_ms; #endif // STRUCT-FF: TI_PS_FF_REL99_AND_ABOVE // #ifndef __T_dtm_high_ms__ // #define __T_dtm_high_ms__ // // DTM High Multislot Structure // CCDGEN:WriteStruct_Count==10 // // typedef struct // { // U8 dtm_g_high_ms_class; /*< 0: 0> DTM GPRS High Multi Slot Sub-Class */ // U8 offset_required; /*< 0: 0> Offset required */ // U8 v_dtm_e_high_ms_class; /*< 0: 1> valid-flag */ // U8 dtm_e_high_ms_class; /*< 1: 1> DTM EGPRS High Multi Slot Sub-Class; only if the MS supports EGPRS DTM */ // U8 _align0; /*< 2: 1> alignment */ // U8 _align1; /*< 3: 1> alignment */ // } T_dtm_high_ms; // #endif // #ifndef __T_egde_struct__ #define __T_egde_struct__ /* * EGDE Structure * CCDGEN:WriteStruct_Count==11 */ typedef struct { U8 mod; /*< 0: 1> Modulation Capability; MS does supports 8-PSK modulation for uplink and downlink (1) or only for downlink (0) in addition to GSMK */ U8 v_egde_pow1; /*< 1: 1> valid-flag */ U8 egde_pow1; /*< 2: 1> EGDE RF Power Capability 1 */ U8 v_egde_pow2; /*< 3: 1> valid-flag */ U8 egde_pow2; /*< 4: 1> EGDE RF Power Capability 2 */ U8 _align0; /*< 5: 1> alignment */ U8 _align1; /*< 6: 1> alignment */ U8 _align2; /*< 7: 1> alignment */ } T_egde_struct; #endif // STRUCT-FF: REL99 // #ifndef __T_gprs_rep_prio__ // #define __T_gprs_rep_prio__ // // GPRS REPORT PRIORITY Description // CCDGEN:WriteStruct_Count==12 // // typedef struct // { // ELEM-FF: REL99 // U8 num_cells; /*< 0: 0> Number of Cells */ // ELEM-FF: REL99 // U8 c_rep_priority; /*< 0: 0> counter */ // // U8 rep_priority[MAX_NNC]; /*< 0: 0> Reporting Priority */ // } T_gprs_rep_prio; // #endif // #ifndef __T_gsm400_struct__ #define __T_gsm400_struct__ /* * GSM 400 Bands Supported Structure * CCDGEN:WriteStruct_Count==13 */ typedef struct { U8 gsm400_supp; /*< 0: 1> GSM 400 Bands Supported */ U8 gsm400_cap; /*< 1: 1> GSM 400 Associated Radio Capability */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ } T_gsm400_struct; #endif // STRUCT-FF: TI_PS_FF_REL99_AND_ABOVE // #ifndef __T_t_gsm400_struct__ // #define __T_t_gsm400_struct__ // // GSM 400 Bands Supported Structure // CCDGEN:WriteStruct_Count==14 // // typedef struct // { // U8 t_gsm400_supp; /*< 0: 0> T-GSM 400 Bands Supported */ // U8 t_gsm400_cap; /*< 0: 0> T-GSM 400 Associated Radio Capability */ // } T_t_gsm400_struct; // #endif // #ifndef __T_measurement__ #define __T_measurement__ /* * Measurement Capability * CCDGEN:WriteStruct_Count==15 */ typedef struct { U8 sms_val; /*< 0: 1> Switch-Measure-Switch-Value */ U8 sm_val; /*< 1: 1> Switch-Measure-Value */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ } T_measurement; #endif #ifndef __T_pos_method__ #define __T_pos_method__ /* * MS Positioning Method * CCDGEN:WriteStruct_Count==16 */ typedef struct { U8 assist_eotd; /*< 0: 1> MS assisted E-OTD; MS does supports assisted E-OTD (1) or not (0) */ U8 based_eotd; /*< 1: 1> MS based E-OTD; MS does supports based E-OTD (1) or not (0) */ U8 assist_gps; /*< 2: 1> MS assisted GPS; MS does supports assisted GPS (1) or not (0) */ U8 based_gps; /*< 3: 1> MS based GPS; MS does supports based GPS (1) or not (0) */ U8 conv_gps; /*< 4: 1> MS conventional GPS; MS does supports conventional GPS (1) or not (0) */ U8 _align0; /*< 5: 1> alignment */ U8 _align1; /*< 6: 1> alignment */ U8 _align2; /*< 7: 1> alignment */ } T_pos_method; #endif #ifndef __T_pow_class4__ #define __T_pow_class4__ /* * RF Power Capability (4 bits); Power Class of GSM 400, GSM 850, GSM 900, DCS 1800, PCS 1900 * CCDGEN:WriteStruct_Count==17 */ typedef struct { U8 pow_class; /*< 0: 1> RF Power Capability */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_pow_class4; #endif // STRUCT-FF: REL99 // #ifndef __T_dtm_struct__ // #define __T_dtm_struct__ // // DTM (E-)GPRS Multislot Sub-Class and MAC Mode Support // CCDGEN:WriteStruct_Count==18 // // typedef struct // { // U8 dtm_g_ms_class; /*< 0: 1> DTM GPRS Multi Slot Sub-Class */ // U8 mac_support; /*< 1: 1> MAC Mode support; MS does supports dynamice and fixed allocation (1) or only exclusive allocation (0) */ // U8 v_dtm_e_ms_class; /*< 2: 1> valid-flag */ // U8 dtm_e_ms_class; /*< 3: 1> DTM EGPRS Multi Slot Sub-Class; only if the MS supports EGPRS DTM */ // } T_dtm_struct; // #endif // // STRUCT-FF: REL99 // #ifndef __T_egprs_struct__ // #define __T_egprs_struct__ // // GPRS Multislot Class and Extended Dynamic Allocation Capability // CCDGEN:WriteStruct_Count==19 // // typedef struct // { // U8 egprs_ms_class; /*< 0: 1> EGPRS Multi Slot Class */ // U8 egprs_eda; /*< 1: 1> EGPRS Extended Dynamic Allocation Capability; MS does supports dynamice and fixed allocation (1) or only exclusive allocation (0) */ // U8 _align0; /*< 2: 1> alignment */ // U8 _align1; /*< 3: 1> alignment */ // } T_egprs_struct; // #endif // #ifndef __T_gprs_struct__ #define __T_gprs_struct__ /* * GPRS Multislot Class and Extended Dynamic Allocation Capability * CCDGEN:WriteStruct_Count==20 */ typedef struct { U8 gprs_ms_class; /*< 0: 1> GPRS Multi Slot Class */ U8 gprs_eda; /*< 1: 1> GPRS Extended Dynamic Allocation Capability; MS does supports dynamice and fixed allocation (1) or only exclusive allocation (0) */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ } T_gprs_struct; #endif #ifndef __T_rf_ms__ #define __T_rf_ms__ /* * MS RF Multi Slot Capability * CCDGEN:WriteStruct_Count==21 */ typedef struct { U8 gsm_ms_class; /*< 0: 1> GSM Multi Slot Class */ U8 edge_ms_class; /*< 1: 1> EDGE Multi Slot Class */ U8 hscsd_ms_class; /*< 2: 1> HSCSD Multi Slot Class */ U8 gprs_ms_class; /*< 3: 1> GPRS Multi Slot Class */ U8 dtm_g; /*< 4: 1> DTM GPRS Multi Slot Capability; GPRS MS does supports dual transfer mode (DTM) */ U8 dtm_g_ms_class; /*< 5: 1> DTM GPRS Multi Slot Sub-Class */ U8 ecsd_ms_class; /*< 6: 1> ECSD Multi Slot Class */ U8 egprs_ms_class; /*< 7: 1> EGPRS Multi Slot Class */ U8 dtm_e; /*< 8: 1> DTM EGPRS Multi Slot Capability; EGPRS MS does supports dual transfer mode (DTM) */ U8 dtm_e_ms_class; /*< 9: 1> DTM EGPRS Multi Slot Sub-Class; only if the MS supports EGPRS DTM */ U8 _align0; /*< 10: 1> alignment */ U8 _align1; /*< 11: 1> alignment */ } T_rf_ms; #endif // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_rtds6__ // #define __T_rtds6__ // // Real Time Difference Structure 6 Bit // CCDGEN:WriteStruct_Count==22 // // typedef struct // { // U8 v_rtd6; /*< 0: 1> valid-flag */ // U8 c_rtd6; /*< 1: 1> counter */ // U8 rtd6[MAXRTD6]; /*< 2: 8> Real Time Difference 6 Bit */ // U8 _align0; /*< 10: 1> alignment */ // U8 _align1; /*< 11: 1> alignment */ // } T_rtds6; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // // Real Time Difference Structure 6 Bit // CCDGEN:WriteStruct_Count==23 // // // #ifndef __T_rtds6_add__ // #define __T_rtds6_add__ // // typedef T_rtds6 T_rtds6_add; // #endif // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_rtdd6__ // #define __T_rtdd6__ // // Real Time Difference Description 6 Bit // CCDGEN:WriteStruct_Count==24 // // typedef struct // { // U8 v_ba_start_rtd; /*< 0: 1> valid-flag */ // U8 ba_start_rtd; /*< 1: 1> BA Index Start RTD */ // T_rtds6 rtds6; /*< 0: 0> Real Time Difference Structure 6 Bit */ // U8 v_rtds6_add; /*< 2: 1> valid-flag */ // // U8 c_rtds6_add; /*< 3: 1> counter */ // // T_rtds6_add rtds6_add[MAXRTDS6]; /*< 4:240> Real Time Difference Structure 6 Bit */ // } T_rtdd6; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_rtds12__ // #define __T_rtds12__ // // Real Time Difference Structure 12 Bit // CCDGEN:WriteStruct_Count==25 // // typedef struct // { // U8 v_rtd12; /*< 0: 1> valid-flag */ // U8 c_rtd12; /*< 1: 1> counter */ // U16 rtd12[MAXRTD12]; /*< 2: 12> Real Time Difference 12 Bit */ // U8 _align0; /*< 14: 1> alignment */ // U8 _align1; /*< 15: 1> alignment */ // } T_rtds12; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // // Real Time Difference Structure 12 Bit // CCDGEN:WriteStruct_Count==26 // // // #ifndef __T_rtds12_add__ // #define __T_rtds12_add__ // // typedef T_rtds12 T_rtds12_add; // #endif // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_rtdd12__ // #define __T_rtdd12__ // // Real Time Difference Description 12 Bit // CCDGEN:WriteStruct_Count==27 // // typedef struct // { // U8 v_ba_start_rtd; /*< 0: 1> valid-flag */ // U8 ba_start_rtd; /*< 1: 1> BA Index Start RTD */ // T_rtds12 rtds12; /*< 0: 0> Real Time Difference Structure 12 Bit */ // U8 v_rtds12_add; /*< 2: 1> valid-flag */ // // U8 c_rtds12_add; /*< 3: 1> counter */ // // T_rtds12_add rtds12_add[MAXRTDS12]; /*< 4:160> Real Time Difference Structure 12 Bit */ // } T_rtdd12; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_rtdd__ // #define __T_rtdd__ // // GPRS Real Time Difference Description // CCDGEN:WriteStruct_Count==28 // // typedef struct // { // U8 v_rtdd6; /*< 0: 0> valid-flag */ // // T_rtdd6 rtdd6; /*< 0: 0> Real Time Difference Description 6 Bit */ // U8 v_rtdd12; /*< 0: 0> valid-flag */ // // T_rtdd12 rtdd12; /*< 0: 0> Real Time Difference Description 12 Bit */ // } T_rtdd; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_report_900__ // #define __T_report_900__ // // Reporting 900 // CCDGEN:WriteStruct_Count==29 // // typedef struct // { // U8 rep_offset_900; /*< 0: 1> 900 reporting offset */ // U8 th_rep_900; /*< 1: 1> 900 reporting threshold */ // U8 _align0; /*< 2: 1> alignment */ // U8 _align1; /*< 3: 1> alignment */ // } T_report_900; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_report_1800__ // #define __T_report_1800__ // // Reporting 1800 // CCDGEN:WriteStruct_Count==30 // // typedef struct // { // U8 rep_offset_1800; /*< 0: 1> 1800 reporting offset */ // U8 th_rep_1800; /*< 1: 1> 1800 reporting threshold */ // U8 _align0; /*< 2: 1> alignment */ // U8 _align1; /*< 3: 1> alignment */ // } T_report_1800; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_report_400__ // #define __T_report_400__ // // Reporting 400 // CCDGEN:WriteStruct_Count==31 // // typedef struct // { // U8 rep_offset_400; /*< 0: 1> 400 reporting offset */ // U8 th_rep_400; /*< 1: 1> 400 reporting threshold */ // U8 _align0; /*< 2: 1> alignment */ // U8 _align1; /*< 3: 1> alignment */ // } T_report_400; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_report_1900__ // #define __T_report_1900__ // // Reporting 1900 // CCDGEN:WriteStruct_Count==32 // // typedef struct // { // U8 rep_offset_1900; /*< 0: 1> 1900 reporting offset */ // U8 th_rep_1900; /*< 0: 0> 1900 reporting threshold */ // U8 _align0; /*< 1: 1> alignment */ // U8 _align1; /*< 2: 1> alignment */ // U8 _align2; /*< 3: 1> alignment */ // } T_report_1900; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_report_850__ // #define __T_report_850__ // // Reporting 850 // CCDGEN:WriteStruct_Count==33 // // typedef struct // { // U8 rep_offset_850; /*< 0: 1> 850 reporting offset */ // U8 th_rep_850; /*< 1: 1> 850 reporting threshold */ // U8 _align0; /*< 2: 1> alignment */ // U8 _align1; /*< 3: 1> alignment */ // } T_report_850; // #endif // #ifndef __T_sms_sm_value__ #define __T_sms_sm_value__ /* * MS Measurement Capability * CCDGEN:WriteStruct_Count==34 */ typedef struct { U8 sms_val; /*< 0: 1> Switch-Measure-Switch-Value */ U8 sm_val; /*< 1: 1> Switch-Measure-Value */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ } T_sms_sm_value; #endif #ifndef __T_ms_struct__ #define __T_ms_struct__ /* * Multislot Capability Struct * CCDGEN:WriteStruct_Count==35 */ typedef struct { U8 v_hscsd_ms_class; /*< 0: 1> valid-flag */ U8 hscsd_ms_class; /*< 1: 1> HSCSD Multi Slot Class */ U8 _align0; /*< 2: 1> alignment */ U8 v_gprs_struct; /*< 3: 1> valid-flag */ T_gprs_struct gprs_struct; /*< 4: 4> GPRS Multislot Class and Extended Dynamic Allocation Capability */ U8 _align1; /*< 8: 1> alignment */ U8 _align2; /*< 9: 1> alignment */ U8 _align3; /*< 10: 1> alignment */ U8 v_sms_sm_value; /*< 11: 1> valid-flag */ T_sms_sm_value sms_sm_value; /*< 12: 4> MS Measurement Capability */ // ELEM-FF: REL99 // U8 v_ecsd_ms_class; /*< 16: 1> valid-flag */ // U8 ecsd_ms_class; /*< 0: 0> ECSD Multi Slot Class */ // ELEM-FF: REL99 // U8 v_egprs_struct; /*< 0: 0> valid-flag */ // // T_egprs_struct egprs_struct; /*< 0: 0> GPRS Multislot Class and Extended Dynamic Allocation Capability */ // ELEM-FF: REL99 // U8 v_dtm_struct; /*< 0: 0> valid-flag */ // // T_dtm_struct dtm_struct; /*< 0: 0> DTM (E-)GPRS Multislot Sub-Class and MAC Mode Support */ } T_ms_struct; #endif #ifndef __T_acc_cap__ #define __T_acc_cap__ /* * Access capabilities * CCDGEN:WriteStruct_Count==36 */ typedef struct { U8 pow_class; /*< 0: 1> RF Power Capability */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 v_a5_bits; /*< 3: 1> valid-flag */ T_a5_bits a5_bits; /*< 4: 8> A5 bits */ U8 es_ind; /*< 12: 1> Early Classmark Sending; 'controlled early classmark sending' option is implemented (1) or not (0) in the MS */ U8 ps; /*< 13: 1> Pseudo Synchronisation capability; Pseudo synchronisation capabilty is present (1) or not (0) */ U8 vgcs; /*< 14: 1> Voice Group Call Service; VGCS capability and notification wanted (1) or not (0) */ U8 vbs; /*< 15: 1> Voice Broadcast Service; VBS capability and notification wanted (1) or not (0) */ U8 _align2; /*< 16: 1> alignment */ U8 _align3; /*< 17: 1> alignment */ U8 _align4; /*< 18: 1> alignment */ U8 v_ms_struct; /*< 19: 1> valid-flag */ T_ms_struct ms_struct; /*< 20: 16> Multislot Capability Struct */ // ELEM-FF: REL99 // U8 v_pow_8psk_cap; /*< 36: 1> valid-flag */ // U8 pow_8psk_cap; /*< 0: 0> 8-PSK Power Capability */ // ELEM-FF: REL99 // U8 compact; /*< 0: 0> COMPACT Interference Measurement Capability; COMPACT Interference Measurement Capability is implemented (1) or not (0) */ // ELEM-FF: REL99 // U8 rev99; /*< 0: 0> Revision Level */ // ELEM-FF: REL99 // U8 umts_fdd; /*< 0: 0> UMTS FDD Radio Access Technology; MS does supports UMTS FDD (1) or not (0) */ // ELEM-FF: REL99 // U8 umts_tdd; /*< 0: 0> UMTS 3.84 Mcps TDD Radio Access Technology; MS does supports UMTS TDD (1) or not (0) */ // ELEM-FF: REL99 // U8 cdma2000; /*< 0: 0> CDMA 2000 Radio Access Technology; MS does supports CDMA 2000 (1) or not (0) */ } T_acc_cap; #endif // STRUCT-FF: !REL99 #ifndef __T_ra_cap2__ #define __T_ra_cap2__ /* * RAC structure for R97 * CCDGEN:WriteStruct_Count==37 */ typedef struct { U8 acc_tech_typ; /*< 0: 1> Access Technology Type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_acc_cap acc_cap; /*< 4: 36> Access capabilities */ } T_ra_cap2; #endif // STRUCT-FF: REL99 // #ifndef __T_ra_cap_values__ // #define __T_ra_cap_values__ // // Actual MS RA capability value part // CCDGEN:WriteStruct_Count==38 // // typedef struct // { // U8 acc_tech_typ; /*< 0: 1> Access Technology Type */ // U8 _align0; /*< 1: 1> alignment */ // U8 _align1; /*< 2: 1> alignment */ // U8 v_acc_cap; /*< 3: 1> valid-flag */ // // T_acc_cap acc_cap; /*< 4: 36> Access capabilities */ // U8 v_add_acc_tech; /*< 0: 0> valid-flag */ // // T_add_acc_tech add_acc_tech; /*< 0: 0> Additonal Access Technologies */ // } T_ra_cap_values; // #endif // // STRUCT-FF: REL99 // #ifndef __T_ra_cap_r__ // #define __T_ra_cap_r__ // // Recursive MS RA capability value part // CCDGEN:WriteStruct_Count==39 // // typedef struct // { // T_ra_cap_values ra_cap_values; /*< 0: 0> Actual MS RA capability value part */ // } T_ra_cap_r; // #endif // #ifndef __T_ra_cap__ #define __T_ra_cap__ /* * MS RA capability value part * CCDGEN:WriteStruct_Count==40 */ typedef struct { // ELEM-FF: REL99 // T_ra_cap_values ra_cap_values; /*< 0: 0> Actual MS RA capability value part */ // ELEM-FF: REL99 // U8 v_ra_cap_r; /*< 0: 0> valid-flag */ // // U8 c_ra_cap_r; /*< 0: 0> counter */ // // T_ra_cap_r ra_cap_r[MAX_ADD_RA_CAP]; /*< 0: 0> Recursive MS RA capability value part */ // ELEM-FF: !REL99 U8 acc_tech_typ; /*< 0: 1> Access Technology Type */ // ELEM-FF: !REL99 U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_acc_cap acc_cap; /*< 4: 36> Access capabilities */ // ELEM-FF: !REL99 U8 flag_ra_cap2; /*< 40: 1> Valid flag for MS RA capability value part II; Second part of MS RA capability is available (1) or not (1) */ // ELEM-FF: !REL99 U8 _align3; /*< 41: 1> alignment */ U8 _align4; /*< 42: 1> alignment */ U8 v_ra_cap2; /*< 43: 1> valid-flag */ T_ra_cap2 ra_cap2; /*< 44: 40> RAC structure for R97 */ } T_ra_cap; #endif #ifndef __T_rf_power__ #define __T_rf_power__ /* * MS RF Power Classes * CCDGEN:WriteStruct_Count==41 */ typedef struct { T_pow_class4 pow_class4[5]; /*< 0: 20> RF Power Capability (4 bits); Power Class of GSM 400, GSM 850, GSM 900, DCS 1800, PCS 1900 */ U8 egde_pow1; /*< 20: 1> EGDE RF Power Capability 1 */ U8 egde_pow2; /*< 21: 1> EGDE RF Power Capability 2 */ U8 _align0; /*< 22: 1> alignment */ U8 _align1; /*< 23: 1> alignment */ } T_rf_power; #endif #ifndef __T_rf_cap__ #define __T_rf_cap__ /* * MS RF Capability * CCDGEN:WriteStruct_Count==42 */ typedef struct { U8 setbands; /*< 0: 1> Set Frequency Bands; bitmask of set frequency bands */ U8 bands; /*< 1: 1> Supported Frequency Bands; bitmask of all available frequency bands */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ T_rf_power rf_power; /*< 4: 24> MS RF Power Classes */ T_rf_ms rf_ms; /*< 28: 12> MS RF Multi Slot Capability */ U8 es_ind; /*< 40: 1> Early Classmark Sending; 'controlled early classmark sending' option is implemented (1) or not (0) in the MS */ U8 ps; /*< 41: 1> Pseudo Synchronisation capability; Pseudo synchronisation capabilty is present (1) or not (0) */ U8 mt_pp_sms; /*< 42: 1> Short Message capability; MS does supports (1) MT point to point SMS or not (0) */ U8 lcsva; /*< 43: 1> LCSVA capability; LCS value added location request notification supported (1) or not (0) */ U8 solsa; /*< 44: 1> SoLSA Supported; MS does supports SoLSA (1) or not (0) */ U8 cmsp; /*< 45: 1> CMSP Supported; MS does supports (1) CM service Prompt (network initiated MO CM connection request) or not (0) */ U8 mod; /*< 46: 1> Modulation Capability; MS does supports 8-PSK modulation for uplink and downlink (1) or only for downlink (0) in addition to GSMK */ U8 mac_support; /*< 47: 1> MAC Mode support; MS does supports dynamice and fixed allocation (1) or only exclusive allocation (0) */ U8 meas; /*< 48: 1> Measurement Capability; Indicates whether the IE contains any value about the measurement capabilities or not */ U8 ext_meas; /*< 49: 1> Extended Measurement Capability; MS does supports 'extended measurements`(1) or not (0) */ U8 compact; /*< 50: 1> COMPACT Interference Measurement Capability; COMPACT Interference Measurement Capability is implemented (1) or not (0) */ U8 vbs; /*< 51: 1> Voice Broadcast Service; VBS capability and notification wanted (1) or not (0) */ U8 vgcs; /*< 52: 1> Voice Group Call Service; VGCS capability and notification wanted (1) or not (0) */ U8 ucs2_treat; /*< 53: 1> UCS2 treatment */ U8 ss_screen; /*< 54: 1> SS Screening Indicator */ U8 sms_val; /*< 55: 1> Switch-Measure-Switch-Value */ U8 sm_val; /*< 56: 1> Switch-Measure-Value */ U8 _align2; /*< 57: 1> alignment */ U8 _align3; /*< 58: 1> alignment */ U8 _align4; /*< 59: 1> alignment */ T_a5_bits a5_bits; /*< 60: 8> A5 bits */ U8 assist_eotd; /*< 68: 1> MS assisted E-OTD; MS does supports assisted E-OTD (1) or not (0) */ U8 based_eotd; /*< 69: 1> MS based E-OTD; MS does supports based E-OTD (1) or not (0) */ U8 assist_gps; /*< 70: 1> MS assisted GPS; MS does supports assisted GPS (1) or not (0) */ U8 based_gps; /*< 71: 1> MS based GPS; MS does supports based GPS (1) or not (0) */ U8 conv_gps; /*< 72: 1> MS conventional GPS; MS does supports conventional GPS (1) or not (0) */ U8 gprs_eda; /*< 73: 1> GPRS Extended Dynamic Allocation Capability; MS does supports dynamice and fixed allocation (1) or only exclusive allocation (0) */ U8 egprs_eda; /*< 74: 1> EGPRS Extended Dynamic Allocation Capability; MS does supports dynamice and fixed allocation (1) or only exclusive allocation (0) */ U8 _align5; /*< 75: 1> alignment */ } T_rf_cap; #endif #ifndef __T_pan_struct__ #define __T_pan_struct__ /* * PAN Structure * CCDGEN:WriteStruct_Count==43 */ typedef struct { U8 dec; /*< 0: 1> PAN_DEC */ U8 inc; /*< 1: 1> PAN_INC */ U8 pmax; /*< 2: 1> PAN_MAX */ U8 _align0; /*< 3: 1> alignment */ } T_pan_struct; #endif // STRUCT-FF: REL99 // #ifndef __T_ccn_support_description__ // #define __T_ccn_support_description__ // // ccn support description towards all neighbour // CCDGEN:WriteStruct_Count==44 // // typedef struct // { // U8 num_cells; /*< 0: 1> Number of Cells */ // U8 c_ccn_support; /*< 0: 0> counter */ // // U8 ccn_support[BIT7_MAX]; /*< 0: 0> CCN is supported towards the corresponding cell */ // U8 _align0; /*< 1: 1> alignment */ // U8 _align1; /*< 2: 1> alignment */ // U8 _align2; /*< 3: 1> alignment */ // } T_ccn_support_description; // #endif // // STRUCT-FF: REL99 OR TI_PS_FF_REL99_AND_ABOVE // #ifndef __T_ext_dtm_ms__ // #define __T_ext_dtm_ms__ // // Extended DTM Multislot Structure // CCDGEN:WriteStruct_Count==45 // // typedef struct // { // U8 ext_dtm_g_ms_class; /*< 0: 0> Extended DTM GPRS Multi Slot Sub-Class */ // U8 ext_dtm_e_ms_class; /*< 0: 0> Extended DTM EGPRS Multi Slot Sub-Class */ // } T_ext_dtm_ms; // #endif // #ifndef __T_mob_class_3__ #define __T_mob_class_3__ /* * Mobile Station Classmark 3 * CCDGEN:WriteStruct_Count==46 */ typedef struct { U8 mb_value; /*< 0: 1> Multiband Support */ U8 a5_7; /*< 1: 1> A5/7; Encryption algorithm A5/7 available (1) or not (0) */ U8 a5_6; /*< 2: 1> A5/6; Encryption algorithm A5/6 available (1) or not (0) */ U8 a5_5; /*< 3: 1> A5/5; Encryption algorithm A5/5 available (1) or not (0) */ U8 a5_4; /*< 4: 1> A5/4; Encryption algorithm A5/4 available (1) or not (0) */ U8 v_radio_cap_2; /*< 5: 1> valid-flag */ U8 radio_cap_2; /*< 6: 1> Associated Radio Capability 2 */ U8 v_radio_cap_1; /*< 7: 1> valid-flag */ U8 radio_cap_1; /*< 8: 1> Associated Radio Capability 1 */ U8 v_rgsm_class; /*< 9: 1> valid-flag */ U8 rgsm_class; /*< 10: 1> R Support (R-GSM Class) */ U8 v_ms_class; /*< 11: 1> valid-flag */ U8 ms_class; /*< 12: 1> Multi Slot Class */ U8 ucs2_treat; /*< 13: 1> UCS2 treatment */ U8 ext_meas; /*< 14: 1> Extended Measurement Capability; MS does supports 'extended measurements`(1) or not (0) */ U8 v_measurement; /*< 15: 1> valid-flag */ T_measurement measurement; /*< 16: 4> Measurement Capability */ U8 _align0; /*< 20: 1> alignment */ U8 _align1; /*< 21: 1> alignment */ U8 _align2; /*< 22: 1> alignment */ U8 v_pos_method; /*< 23: 1> valid-flag */ T_pos_method pos_method; /*< 24: 8> MS Positioning Method */ U8 v_edge_ms_class; /*< 32: 1> valid-flag */ U8 edge_ms_class; /*< 33: 1> EDGE Multi Slot Class */ U8 _align3; /*< 34: 1> alignment */ U8 v_egde_struct; /*< 35: 1> valid-flag */ T_egde_struct egde_struct; /*< 36: 8> EGDE Structure */ U8 _align4; /*< 44: 1> alignment */ U8 _align5; /*< 45: 1> alignment */ U8 _align6; /*< 46: 1> alignment */ U8 v_gsm400_struct; /*< 47: 1> valid-flag */ T_gsm400_struct gsm400_struct; /*< 48: 4> GSM 400 Bands Supported Structure */ U8 v_gsm850_cap; /*< 52: 1> valid-flag */ U8 gsm850_cap; /*< 53: 1> GSM 850 Associated Radio Capability */ U8 v_pcs1900_cap; /*< 54: 1> valid-flag */ U8 pcs1900_cap; /*< 55: 1> PCS 1900 Associated Radio Cap. */ U8 umts_fdd; /*< 56: 1> UMTS FDD Radio Access Technology; MS does supports UMTS FDD (1) or not (0) */ U8 umts_tdd; /*< 57: 1> UMTS 3.84 Mcps TDD Radio Access Technology; MS does supports UMTS TDD (1) or not (0) */ U8 cdma2000; /*< 58: 1> CDMA 2000 Radio Access Technology; MS does supports CDMA 2000 (1) or not (0) */ U8 v_dtm_ms; /*< 59: 1> valid-flag */ T_dtm_ms dtm_ms; /*< 60: 4> DTM Multislot Structure */ U8 v_single_band; /*< 64: 1> valid-flag */ U8 single_band; /*< 65: 1> Single GSM Band Support */ U8 v_gsm700_cap; /*< 66: 1> valid-flag */ U8 gsm700_cap; /*< 67: 1> GSM 700 Associated Radio Capability */ // VAR-FF: REL99 OR TI_PS_FF_REL99_AND_ABOVE // U8 umts_tdd_128; /*< 0: 0> UMTS 1.28 Mcps TDD Radio Access Technology; MS does supports UMTS TDD (1) or not (0) */ // VAR-FF: REL99 OR TI_PS_FF_REL99_AND_ABOVE // U8 geran_feat_pack_1; /*< 0: 0> Network Support for GERAN Feature 1 Package */ // STRUCT-FF: REL99 OR TI_PS_FF_REL99_AND_ABOVE // U8 v_ext_dtm_ms; /*< 0: 0> valid-flag */ // // T_ext_dtm_ms ext_dtm_ms; /*< 0: 0> Extended DTM Multislot Structure */ // VAR-FF: TI_PS_FF_REL99_AND_ABOVE // U8 v_high_ms_cap; /*< 68: 1> valid-flag */ // U8 high_ms_cap; /*< 0: 0> High Multislot Capability */ // VAR-FF: TI_PS_FF_REL99_AND_ABOVE // U8 v_geran_iu_mod_cap; /*< 68: 1> valid-flag */ // U8 geran_iu_mod_cap; /*< 0: 0> GERAN Iu Mode Capabilities */ // VAR-FF: TI_PS_FF_REL99_AND_ABOVE // U8 geran_feat_pack_2; /*< 0: 0> GERAN Feature Package 2 */ // VAR-FF: TI_PS_FF_REL99_AND_ABOVE // U8 gmsk_ms_pwr_prof; /*< 0: 0> GMSK Multislot Power Profile */ // VAR-FF: TI_PS_FF_REL99_AND_ABOVE // U8 psk8_ms_pwr_prof; /*< 0: 0> 8-PSK Multislot Power Profile */ // STRUCT-FF: TI_PS_FF_REL99_AND_ABOVE // U8 v_t_gsm400_struct; /*< 0: 0> valid-flag */ // // T_t_gsm400_struct t_gsm400_struct; /*< 0: 0> GSM 400 Bands Supported Structure */ // VAR-FF: TI_PS_FF_REL99_AND_ABOVE // U8 v_t_gsm900_cap; /*< 68: 1> valid-flag */ // U8 t_gsm900_cap; /*< 0: 0> T-GSM 400 Associated Radio Capability */ // VAR-FF: TI_PS_FF_REL99_AND_ABOVE // U8 dl_adv_rx_per; /*< 0: 0> Downlink Advanced Receiver Performance */ // VAR-FF: TI_PS_FF_REL99_AND_ABOVE // U8 dtm_enhance_cap; /*< 0: 0> DTM Enhancements Capability */ // STRUCT-FF: TI_PS_FF_REL99_AND_ABOVE // U8 v_dtm_high_ms; /*< 0: 0> valid-flag */ // // T_dtm_high_ms dtm_high_ms; /*< 0: 0> DTM High Multislot Structure */ // VAR-FF: TI_PS_FF_REL99_AND_ABOVE // U8 rep_acch_cap; /*< 0: 0> Indicates whether the MS supports Repeated SACCH and Repeated FACCH */ } T_mob_class_3; #endif // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_tdd_ci_struct__ // #define __T_tdd_ci_struct__ // // TDD Neighbour cell information // CCDGEN:WriteStruct_Count==47 // // typedef struct // { // U8 tdd_indic0; /*< 0: 0> TDD_Indic0 */ // U8 _align0; /*< 0: 1> alignment */ // U8 c_tdd_ncell_data; /*< 0: 0> counter */ // // U16 tdd_ncell_data[MAX_TDD_CELLS]; /*< 0: 0> bits 1-7 are the Cell Parameter, bit 8 is the Sync Case and bit 9 is the Diversity bit. */ // U8 _align1; /*< 1: 1> alignment */ // U8 _align2; /*< 2: 1> alignment */ // U8 _align3; /*< 3: 1> alignment */ // } T_tdd_ci_struct; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_fdd_ci_struct__ // #define __T_fdd_ci_struct__ // // FDD Neighbour cell information // CCDGEN:WriteStruct_Count==48 // // typedef struct // { // U8 fdd_indic0; /*< 0: 0> FDD_Indic0 */ // U8 _align0; /*< 0: 1> alignment */ // U8 c_fdd_ncell_data; /*< 0: 0> counter */ // // U16 fdd_ncell_data[MAX_FDD_CELLS]; /*< 0: 0> bits 1-9 are the Scrambling Code and bit 10 is the corresponding Diversity Parameter */ // U8 _align1; /*< 1: 1> alignment */ // U8 _align2; /*< 2: 1> alignment */ // U8 _align3; /*< 3: 1> alignment */ // } T_fdd_ci_struct; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_rep_u_tdd_cells__ // #define __T_rep_u_tdd_cells__ // // Repeated UTRAN TDD Neighbour cells // CCDGEN:WriteStruct_Count==49 // // typedef struct // { // U8 flag; /*< 0: 1> Flag */ // U8 v_tdd_arfcn; /*< 1: 1> valid-flag */ // U16 tdd_arfcn; /*< 0: 0> TDD_ARFCN */ // U8 v_tdd_arfcn_index; /*< 1: 1> valid-flag */ // U8 tdd_arfcn_index; /*< 0: 0> TDD ARFCN index */ // T_tdd_ci_struct tdd_ci_struct; /*< 0: 0> TDD Neighbour cell information */ // U8 _align0; /*< 1: 1> alignment */ // U8 _align1; /*< 2: 1> alignment */ // U8 _align2; /*< 3: 1> alignment */ // } T_rep_u_tdd_cells; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_rep_u_fdd_cells__ // #define __T_rep_u_fdd_cells__ // // Repeated UTRAN FDD Neighbour cells // CCDGEN:WriteStruct_Count==50 // // typedef struct // { // U8 flag; /*< 0: 1> Flag */ // U8 v_fdd_arfcn; /*< 1: 1> valid-flag */ // U16 fdd_arfcn; /*< 0: 0> FDD_ARFCN */ // U8 v_fdd_arfcn_index; /*< 1: 1> valid-flag */ // U8 fdd_arfcn_index; /*< 0: 0> FDD ARFCN index */ // T_fdd_ci_struct fdd_ci_struct; /*< 0: 0> FDD Neighbour cell information */ // U8 _align0; /*< 1: 1> alignment */ // U8 _align1; /*< 2: 1> alignment */ // U8 _align2; /*< 3: 1> alignment */ // } T_rep_u_fdd_cells; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_utran_tdd__ // #define __T_utran_tdd__ // // UTRAN TDD description // CCDGEN:WriteStruct_Count==51 // // typedef struct // { // U8 v_bw_tdd; /*< 0: 1> valid-flag */ // U8 bw_tdd; /*< 0: 0> Bandwidth TDD */ // U8 v_rep_u_tdd_cells; /*< 0: 0> valid-flag */ // // U8 c_rep_u_tdd_cells; /*< 0: 0> counter */ // // T_rep_u_tdd_cells rep_u_tdd_cells[MAX_TDD]; /*< 0: 0> Repeated UTRAN TDD Neighbour cells */ // } T_utran_tdd; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_utran_fdd__ // #define __T_utran_fdd__ // // UTRAN FDD description // CCDGEN:WriteStruct_Count==52 // // typedef struct // { // U8 v_bw_fdd; /*< 0: 1> valid-flag */ // U8 bw_fdd; /*< 0: 0> Bandwidth FDD */ // U8 v_rep_u_fdd_cells; /*< 0: 0> valid-flag */ // // U8 c_rep_u_fdd_cells; /*< 0: 0> counter */ // // T_rep_u_fdd_cells rep_u_fdd_cells[MAX_FDD]; /*< 0: 0> Repeated UTRAN FDD Neighbour cells */ // } T_utran_fdd; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_threeg_cells__ // #define __T_threeg_cells__ // // 3G Neighbour Cell Description // CCDGEN:WriteStruct_Count==53 // // typedef struct // { // U8 v_index_start_3g; /*< 0: 1> valid-flag */ // U8 index_start_3g; /*< 0: 0> Index Start 3G */ // U8 v_abs_index_emr; /*< 0: 1> valid-flag */ // U8 abs_index_emr; /*< 0: 0> Absolute Index start EMR */ // U8 v_utran_fdd; /*< 0: 0> valid-flag */ // // T_utran_fdd utran_fdd; /*< 0: 0> UTRAN FDD description */ // U8 v_utran_tdd; /*< 0: 0> valid-flag */ // // T_utran_tdd utran_tdd; /*< 0: 0> UTRAN TDD description */ // } T_threeg_cells; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_cd2k_str_000__ // #define __T_cd2k_str_000__ // // Structured Element // CCDGEN:WriteStruct_Count==54 // // typedef struct // { // U8 td_mode; /*< 0: 1> TD_MODE */ // U8 td_power_level; /*< 1: 1> TD_POWER_LEVEL */ // U8 _align0; /*< 2: 1> alignment */ // U8 _align1; /*< 3: 1> alignment */ // } T_cd2k_str_000; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_cd2k_str_001__ // #define __T_cd2k_str_001__ // // Structured Element // CCDGEN:WriteStruct_Count==55 // // typedef struct // { // U8 qof; /*< 0: 1> QOF */ // U8 walsh_len_a; /*< 1: 1> WALSH_LEN_A */ // U8 aux_pilot_walsh; /*< 2: 1> AUX_PILOT_WALSH */ // U8 _align0; /*< 3: 1> alignment */ // } T_cd2k_str_001; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_cd2k_str_010__ // #define __T_cd2k_str_010__ // // Structured Element // CCDGEN:WriteStruct_Count==56 // // typedef struct // { // U8 qof; /*< 0: 1> QOF */ // U8 walsh_len_b; /*< 1: 1> WALSH_LEN_B */ // U8 aux_td_walsh; /*< 2: 1> AUX_TD_WALSH */ // U8 aux_td_power_level; /*< 3: 1> AUX_TD_POWER_LEVEL */ // U8 td_mode; /*< 4: 1> TD_MODE */ // U8 _align0; /*< 5: 1> alignment */ // U8 _align1; /*< 6: 1> alignment */ // U8 _align2; /*< 7: 1> alignment */ // } T_cd2k_str_010; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_cd2k_str_011__ // #define __T_cd2k_str_011__ // // Structured Element // CCDGEN:WriteStruct_Count==57 // // typedef struct // { // U8 sr3_prim_pilot; /*< 0: 1> SR3_PRIM_PILOT */ // U8 sr3_pilot_power1; /*< 1: 1> SR3_PILOT_POWER1 */ // U8 sr3_pilot_power2; /*< 2: 1> SR3_PILOT_POWER2 */ // U8 _align0; /*< 3: 1> alignment */ // } T_cd2k_str_011; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_cd2k_str_110_1__ // #define __T_cd2k_str_110_1__ // // Structured Element // CCDGEN:WriteStruct_Count==58 // // typedef struct // { // U8 qof1; /*< 0: 1> QOF1 */ // U8 walsh_length1; /*< 1: 1> WALSH_LENGTH1 */ // U8 aux_pilot_walsh1; /*< 2: 1> AUX_PILOT_WALSH1 */ // U8 _align0; /*< 3: 1> alignment */ // } T_cd2k_str_110_1; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_cd2k_str_110_2__ // #define __T_cd2k_str_110_2__ // // Structured Element // CCDGEN:WriteStruct_Count==59 // // typedef struct // { // U8 qof2; /*< 0: 1> QOF2 */ // U8 walsh_length2; /*< 1: 1> WALSH_LENGTH2 */ // U8 aux_pilot_walsh2; /*< 2: 1> AUX_PILOT_WALSH2 */ // U8 _align0; /*< 3: 1> alignment */ // } T_cd2k_str_110_2; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_cd2k_str_110__ // #define __T_cd2k_str_110__ // // Structured Element // CCDGEN:WriteStruct_Count==60 // // typedef struct // { // T_cd2k_str_011 cd2k_str_011; /*< 0: 0> Structured Element */ // U8 qof; /*< 0: 1> QOF */ // U8 walsh_len_c; /*< 1: 1> WALSH_LEN_C */ // U8 aux_walsh_len; /*< 2: 1> AUX_WALSH_LEN */ // T_cd2k_str_110_1 cd2k_str_110_1; /*< 0: 0> Structured Element */ // T_cd2k_str_110_2 cd2k_str_110_2; /*< 0: 0> Structured Element */ // U8 _align0; /*< 3: 1> alignment */ // } T_cd2k_str_110; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_cd2k_str_all__ // #define __T_cd2k_str_all__ // // Structured Element // CCDGEN:WriteStruct_Count==61 // // typedef struct // { // U8 flag_3bit; /*< 0: 1> FLAG 3 bits */ // U8 v_cd2k_str_000; /*< 0: 0> valid-flag */ // // T_cd2k_str_000 cd2k_str_000; /*< 0: 0> Structured Element */ // U8 v_cd2k_str_001; /*< 0: 0> valid-flag */ // // T_cd2k_str_001 cd2k_str_001; /*< 0: 0> Structured Element */ // U8 v_cd2k_str_010; /*< 0: 0> valid-flag */ // // T_cd2k_str_010 cd2k_str_010; /*< 0: 0> Structured Element */ // U8 v_cd2k_str_011; /*< 0: 0> valid-flag */ // // T_cd2k_str_011 cd2k_str_011; /*< 0: 0> Structured Element */ // U8 v_cd2k_str_110; /*< 0: 0> valid-flag */ // // T_cd2k_str_110 cd2k_str_110; /*< 0: 0> Structured Element */ // U8 _align0; /*< 1: 1> alignment */ // U8 _align1; /*< 2: 1> alignment */ // U8 _align2; /*< 3: 1> alignment */ // } T_cd2k_str_all; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_cd2k_cell_str__ // #define __T_cd2k_cell_str__ // // Structured Element // CCDGEN:WriteStruct_Count==62 // // typedef struct // { // U16 pilot_PN_offset; /*< 0: 2> Pilot PN offset */ // U8 v_cd2k_str_all; /*< 0: 0> valid-flag */ // // T_cd2k_str_all cd2k_str_all; /*< 0: 0> Structured Element */ // U8 _align0; /*< 2: 1> alignment */ // U8 _align1; /*< 3: 1> alignment */ // } T_cd2k_cell_str; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_cdma2000_cell_desc__ // #define __T_cdma2000_cell_desc__ // // CDMA2000 neighbour cell description structure // CCDGEN:WriteStruct_Count==63 // // typedef struct // { // U8 cdma2000_frequency_band; /*< 0: 1> cdma2000 frequency band */ // U8 _align0; /*< 1: 1> alignment */ // U16 cdma2000_frequency; /*< 2: 2> cdma2000 frequency */ // U8 number_cdma2000_cells; /*< 4: 1> number_cdma2000_cells */ // U8 c_cd2k_cell_str; /*< 0: 0> counter */ // // T_cd2k_cell_str cd2k_cell_str[MAX_CDMA2K_NEIGH_CELLS]; /*< 0: 0> Structured Element */ // U8 _align1; /*< 5: 1> alignment */ // U8 _align2; /*< 6: 1> alignment */ // U8 _align3; /*< 7: 1> alignment */ // } T_cdma2000_cell_desc; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_fdd_report__ // #define __T_fdd_report__ // // FDD Reporting // CCDGEN:WriteStruct_Count==64 // // typedef struct // { // U8 fdd_rep_offset; /*< 0: 0> FDD Reporting Offset */ // U8 fdd_rep_thres; /*< 0: 0> FDD Reporting Threshold */ // } T_fdd_report; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_tdd_rep__ // #define __T_tdd_rep__ // // TDD Reporting // CCDGEN:WriteStruct_Count==65 // // typedef struct // { // U8 tdd_rep_offset; /*< 0: 0> TDD Reporting Offset */ // U8 tdd_rep_thres; /*< 0: 0> TDD Reporting Threshold */ // } T_tdd_rep; // #endif // // STRUCT-FF: REL99 AND ( TI_PS_FF_EMR OR TI_PS_FF_RTD ) // #ifndef __T_cdma2000_rep__ // #define __T_cdma2000_rep__ // // Structured Element // CCDGEN:WriteStruct_Count==66 // // typedef struct // { // U8 cdma2000_rep_offset; /*< 0: 0> CDMA2000 Reporting Offset */ // U8 cdma2000_rep_thres; /*< 0: 0> CDMA2000 Reporting Threshold */ // } T_cdma2000_rep; // #endif // // STRUCT-FF: REL99 // #ifndef __T_egprs_pck_ch_req_bep_per__ // #define __T_egprs_pck_ch_req_bep_per__ // // EGPRS packet channel and BEP period structure // CCDGEN:WriteStruct_Count==67 // // typedef struct // { // U8 egprs_packet_channel_request; /*< 0: 1> EGPRS packet channel request message sent */ // U8 bep_period; /*< 1: 1> BEP Period */ // U8 _align0; /*< 2: 1> alignment */ // U8 _align1; /*< 3: 1> alignment */ // } T_egprs_pck_ch_req_bep_per; // #endif // // STRUCT-FF: REL99 // #ifndef __T_gprs_ext_info__ // #define __T_gprs_ext_info__ // // GPRS cell options Extension Information // CCDGEN:WriteStruct_Count==68 // // typedef struct // { // U8 flag; /*< 0: 1> Flag */ // U8 v_egprs_pck_ch_req_bep_per; /*< 0: 0> valid-flag */ // // T_egprs_pck_ch_req_bep_per egprs_pck_ch_req_bep_per; /*< 0: 0> EGPRS packet channel and BEP period structure */ // U8 v_pfc_feature_mode; /*< 1: 1> valid-flag */ // U8 pfc_feature_mode; /*< 2: 1> PFC feature support by the N/W */ // U8 v_dtm_support; /*< 3: 1> valid-flag */ // U8 dtm_support; /*< 4: 1> DTM support by the cell */ // U8 v_bss_paging_coord; /*< 5: 1> valid-flag */ // U8 bss_paging_coord; /*< 6: 1> BSS paging co-ordination */ // U8 v_ccn_active; /*< 7: 1> valid-flag */ // U8 ccn_active; /*< 8: 1> Indicates NACC support by rel 4 network */ // U8 v_nw_ext_ul_tbf; /*< 9: 1> valid-flag */ // U8 nw_ext_ul_tbf; /*< 10: 1> Indicates Extended UL TBF support by rel 4 network */ // U8 _align0; /*< 11: 1> alignment */ // } T_gprs_ext_info; // #endif // #ifndef __T_gprs_ext_bits__ #define __T_gprs_ext_bits__ /* * GPRS cell options extensions Bits IE * CCDGEN:WriteStruct_Count==69 */ typedef struct { // ELEM-FF: REL99 // U8 ext_len; /*< 0: 0> Extension Length */ // ELEM-FF: REL99 // T_gprs_ext_info gprs_ext_info; /*< 0: 0> BIT STRING: GPRS cell options Extension Information */ // ELEM-FF: !REL99 U8 ext_len; /*< 0: 1> Extension Length */ // ELEM-FF: !REL99 U8 c_spare_ext; /*< 1: 1> counter */ U8 spare_ext[64]; /*< 2: 64> Spare bits(s) */ U8 _align0; /*< 66: 1> alignment */ U8 _align1; /*< 67: 1> alignment */ } T_gprs_ext_bits; #endif #ifndef __T_gprs_cell_opt__ #define __T_gprs_cell_opt__ /* * GPRS Cell Options * CCDGEN:WriteStruct_Count==70 */ typedef struct { U8 nmo; /*< 0: 1> NMO */ U8 t3168; /*< 1: 1> T3168 */ U8 t3192; /*< 2: 1> T3192 */ U8 drx_t_max; /*< 3: 1> DRX_TIMER_MAX */ U8 ab_type; /*< 4: 1> Access Burst Type */ U8 ctrl_ack_type; /*< 5: 1> CONTROL_ACK_TYPE */ U8 bs_cv_max; /*< 6: 1> BS_CV_MAX */ U8 v_pan_struct; /*< 7: 1> valid-flag */ T_pan_struct pan_struct; /*< 8: 4> PAN Structure */ U8 _align0; /*< 12: 1> alignment */ U8 _align1; /*< 13: 1> alignment */ U8 _align2; /*< 14: 1> alignment */ U8 v_gprs_ext_bits; /*< 15: 1> valid-flag */ T_gprs_ext_bits gprs_ext_bits; /*< 16: 68> GPRS cell options extensions Bits IE */ } T_gprs_cell_opt; #endif /* * End of substructure section, begin of message definition section */ #ifndef __T_MS_RF_CAPABILITY__ #define __T_MS_RF_CAPABILITY__ /* * * CCDGEN:WriteStruct_Count==71 */ typedef struct { U8 msg_type; /*< 0: 1> Message Type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_rf_cap rf_cap; /*< 4: 76> MS RF Capability */ } T_MS_RF_CAPABILITY; #endif #include "CDG_LEAVE.h" #endif