view cdg211/cdginc/m_rr_com.h @ 605:07d0dc4431f4

bootloader.s: same MEMIF fix as in int.s plus DPLL BYPASS fix Both MEMIF and DPLL settings are now the same between int.s and bootloader.s assembly code paths. Previously bootloader.s was setting DPLL BYPASS /2 mode, which persisted until _INT_Initialize code with the bootloader body omitted, or was changed to /1 in the hardware init function in the bootloader.lib:start.obj module.
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 17 Jun 2019 18:40:32 +0000
parents 56abf6cf8a0b
children
line wrap: on
line source

/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : m_rr_com.h                                                     |
| SOURCE  : "__out__\g23m_dfile\msg\rr_com.mdf"                            |
| LastModified : "2002-11-18"                                              |
| IdAndVersion : "8443.250.02.008"                                         |
| SrcFileTime  : "Mon Nov 24 15:49:38 2003"                                |
| Generated by CCDGEN_2.5.5 on Fri Jun 08 13:59:14 2007                    |
|           !!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
 */


#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 _2002_11_18
#define CDG_ENTER__M_RR_COM_H__ID_AND_VERSION _8443_250_02_008

#define CDG_ENTER__M_RR_COM_H__SRC_FILE_TIME _Mon_Nov_24_15_49_38_2003

#include "CDG_ENTER.h"

#undef CDG_ENTER__M_RR_COM_H

#undef CDG_ENTER__FILENAME


#include "m_rr_com.val"

#ifndef __T_mob_class_1__
#define __T_mob_class_1__
/*
 * Mobile Station Classmark 1
 * CCDGEN:WriteStruct_Count==1
 */
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==2
 */
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_gsm400_struct__
#define __T_gsm400_struct__
/*
 * GSM 400 Bands Supported Structure
 * CCDGEN:WriteStruct_Count==3
 */
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

#ifndef __T_measurement__
#define __T_measurement__
/*
 * Measurement Capability
 * CCDGEN:WriteStruct_Count==4
 */
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==5
 */
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_egde_struct__
#define __T_egde_struct__
/*
 * EGDE Structure
 * CCDGEN:WriteStruct_Count==6
 */
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

#ifndef __T_dtm_ms__
#define __T_dtm_ms__
/*
 * DTM Multislot Structure
 * CCDGEN:WriteStruct_Count==7
 */
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

#ifndef __T_mob_class_3__
#define __T_mob_class_3__
/*
 * Mobile Station Classmark 3
 * CCDGEN:WriteStruct_Count==8
 */
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 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                        _align7;                  /*< 66:  1> alignment                                          */
  U8                        _align8;                  /*< 67:  1> alignment                                          */
} T_mob_class_3;
#endif

#ifndef __T_a5_bits__
#define __T_a5_bits__
/*
 * A5 bits
 * CCDGEN:WriteStruct_Count==9
 */
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

#ifndef __T_sms_sm_value__
#define __T_sms_sm_value__
/*
 * MS Measurement Capability
 * CCDGEN:WriteStruct_Count==10
 */
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_gprs_struct__
#define __T_gprs_struct__
/*
 * GPRS Multislot Class and Extended Dynamic Allocation Capability
 * CCDGEN:WriteStruct_Count==11
 */
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_ms_struct__
#define __T_ms_struct__
/*
 * Multislot Capability Struct
 * CCDGEN:WriteStruct_Count==12
 */
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                          */
} T_ms_struct;
#endif

#ifndef __T_acc_cap__
#define __T_acc_cap__
/*
 * Access capabilities
 * CCDGEN:WriteStruct_Count==13
 */
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                        */
} T_acc_cap;
#endif

#ifndef __T_ra_cap2__
#define __T_ra_cap2__
/*
 * MS RA capability value part
 * CCDGEN:WriteStruct_Count==14
 */
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

#ifndef __T_ra_cap__
#define __T_ra_cap__
/*
 * MS RA capability value part
 * CCDGEN:WriteStruct_Count==15
 */
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                                */
  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) */
  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> MS RA capability value part                        */
} T_ra_cap;
#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==16
 */
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

#ifndef __T_rf_power__
#define __T_rf_power__
/*
 * MS RF Power Classes
 * CCDGEN:WriteStruct_Count==17
 */
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_ms__
#define __T_rf_ms__
/*
 * MS RF Multi Slot Capability
 * CCDGEN:WriteStruct_Count==18
 */
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

#ifndef __T_rf_cap__
#define __T_rf_cap__
/*
 * MS RF Capability
 * CCDGEN:WriteStruct_Count==19
 */
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


/*
 * End of substructure section, begin of message definition section
 */

#ifndef __T_MS_RF_CAPABILITY__
#define __T_MS_RF_CAPABILITY__
/*
 * 
 * CCDGEN:WriteStruct_Count==20
 */
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