view cdg-hybrid/cdginc/m_rr_com.h @ 268:f2e52cab0a73

abb_inth.c: check all interrupt causes, not just one The original code used if - else if - else if etc constructs, thus the first detected interrupt was the only one handled. However, Iota ITSTATREG is a clear-on-read register, thus if we only handle the first detected interrupt and skip checking the others, then the other interrupts will be lost, if more than one interrupt happened to occur in one ABB interrupt handling cycle - a form of rare race condition. Change the code to check all interrupts that were read in this cycle.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 13 Jun 2021 18:17:53 +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